From 1e34d9fcc6c2a5b3d2300eb0f227d567328086d0 Mon Sep 17 00:00:00 2001 From: theo Date: Mon, 18 May 2020 16:20:01 -0700 Subject: [PATCH] split assemblies --- Makefile | 9 +- asm/code.s | 310648 +---------------------------------------- asm/code_080011C4.s | 4 +- asm/code_08003FC4.s | 8 +- asm/code_0800857C.s | 8 +- asm/code_08016B30.s | 86 +- asm/crt0.s | 4 +- linker.ld | 18 +- 8 files changed, 167 insertions(+), 310618 deletions(-) diff --git a/Makefile b/Makefile index a8248533..073e4e2d 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,8 @@ MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR) ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(REVISION) --defsym $(GAME_LANGUAGE)=1 CC1 := tools/agbcc/bin/agbcc -override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm +override CFLAGS += -Wimplicit -Wparentheses -Werror -O2 +# -fhex-asm ifeq ($(DINFO),1) override CFLAGS += -g @@ -48,7 +49,7 @@ CPPFLAGS := -I tools/agbcc -I tools/agbcc/include -iquote include -nostdinc -und LDFLAGS = -Map ../../$(MAP) -LIB := -L ../../tools/agbcc/lib -lc +LIB := -L ../../tools/agbcc/lib -lc SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c GFX := tools/gbagfx/gbagfx @@ -80,6 +81,8 @@ else NODEP := 1 endif +#$(C_BUILDDIR)/need_interworking_file_name.o: CFLAGS += -mthumb-interwork + C_SRCS := $(wildcard $(C_SUBDIR)/*.c) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) @@ -117,8 +120,6 @@ endif tools: $(TOOLDIRS) -$(TOOLDIRS): - @$(MAKE) -C $@ # For contributors to make sure a change didn't affect the contents of the ROM. compare: diff --git a/asm/code.s b/asm/code.s index 81f0c762..52f9fca0 100644 --- a/asm/code.s +++ b/asm/code.s @@ -124,7 +124,7 @@ _080185D4: adds r0, r0, r1 ldrh r0, [r0] ldrb r1, [r2, #1] - bl sub_0807CB10 + bl GetProgressFlagWithOffset b _080185F6 .align 2, 0 _080185EC: .4byte gUnk_0811E454 @@ -419,7 +419,7 @@ _08018838: b _080189E4 _0801883E: ldrh r0, [r5, #0x12] - bl sub_0807CC30 + bl GetProgressFlag cmp r0, #0 beq _0801884A b _080189E4 @@ -1017,7 +1017,7 @@ sub_08018CBC: @ 0x08018CBC adds r4, r0, #0 adds r1, r4, #0 adds r1, #0x84 - ldr r5, _08018D50 @ =gUnk_03001160 + ldr r5, _08018D50 @ =gLinkEntity ldr r0, [r5, #0x2c] str r0, [r4, #0x2c] str r0, [r1] @@ -1087,7 +1087,7 @@ sub_08018CBC: @ 0x08018CBC strb r0, [r2, #0x18] b _08018DD2 .align 2, 0 -_08018D50: .4byte gUnk_03001160 +_08018D50: .4byte gLinkEntity _08018D54: .4byte gUnk_080B3E18 _08018D58: ldr r7, _08018DDC @ =gUnk_03003F80 @@ -1216,11 +1216,11 @@ _08018E24: adds r0, r4, #0 bl sub_08018FA0 _08018E5A: - ldr r0, _08018E64 @ =gUnk_03001160 + ldr r0, _08018E64 @ =gLinkEntity bl sub_08078CD0 pop {r4, r5, pc} .align 2, 0 -_08018E64: .4byte gUnk_03001160 +_08018E64: .4byte gLinkEntity thumb_func_start sub_08018E68 sub_08018E68: @ 0x08018E68 @@ -1390,7 +1390,7 @@ _08018F9E: sub_08018FA0: @ 0x08018FA0 push {lr} adds r2, r0, #0 - ldr r0, _08018FC8 @ =gUnk_03001160 + ldr r0, _08018FC8 @ =gLinkEntity adds r0, #0x38 ldrb r0, [r0] adds r1, r2, #0 @@ -1408,7 +1408,7 @@ _08018FBC: bl sub_080A3268 pop {pc} .align 2, 0 -_08018FC8: .4byte gUnk_03001160 +_08018FC8: .4byte gLinkEntity thumb_func_start sub_08018FCC sub_08018FCC: @ 0x08018FCC @@ -1467,7 +1467,7 @@ _0801902A: ldrb r0, [r4, #0x14] lsls r0, r0, #2 strb r0, [r4, #0x15] - ldr r2, _0801905C @ =gUnk_03001160 + ldr r2, _0801905C @ =gLinkEntity adds r0, r2, #0 adds r0, #0x3c ldrb r0, [r0] @@ -1489,7 +1489,7 @@ _0801902A: movs r0, #1 b _08019062 .align 2, 0 -_0801905C: .4byte gUnk_03001160 +_0801905C: .4byte gLinkEntity _08019060: movs r0, #0 _08019062: @@ -1705,7 +1705,7 @@ _080191F0: adds r0, r4, #0 movs r1, #0x14 movs r2, #0 - bl sub_080A29AC + bl CreateFX _0801920E: ldrb r0, [r4, #0xb] cmp r0, #0 @@ -1729,7 +1729,7 @@ _0801921A: ands r1, r3 lsls r1, r1, #6 orrs r0, r1 - ldr r1, _0801928C @ =gUnk_03001160 + ldr r1, _0801928C @ =gLinkEntity adds r1, #0x38 ldrb r1, [r1] movs r2, #0x80 @@ -1766,7 +1766,7 @@ _0801921A: b _080192A2 .align 2, 0 _08019288: .4byte gUnk_03000BF0 -_0801928C: .4byte gUnk_03001160 +_0801928C: .4byte gLinkEntity _08019290: .4byte gUnk_08003E44 _08019294: adds r0, r4, #0 @@ -1910,7 +1910,7 @@ _08019398: ldrb r1, [r4, #0x1e] ldr r2, [r4, #0x78] subs r1, r1, r2 - ldr r0, _08019408 @ =gUnk_03001160 + ldr r0, _08019408 @ =gLinkEntity ldrb r0, [r0, #0x1e] cmp r1, r0 beq _080193C2 @@ -1926,7 +1926,7 @@ _080193B8: adds r0, r4, #0 bl sub_080042D0 _080193C2: - ldr r0, _08019408 @ =gUnk_03001160 + ldr r0, _08019408 @ =gLinkEntity adds r0, #0x5a ldrb r1, [r0] movs r0, #1 @@ -1953,14 +1953,14 @@ _080193C2: rsbs r0, r0, #0 bl sub_08054330 _080193FA: - ldr r1, _08019408 @ =gUnk_03001160 + ldr r1, _08019408 @ =gLinkEntity adds r0, r4, #0 bl sub_08078E84 _08019402: pop {r4, r5, r6, r7, pc} .align 2, 0 _08019404: .4byte gUnk_02002A40 -_08019408: .4byte gUnk_03001160 +_08019408: .4byte gLinkEntity _0801940C: .4byte gUnk_03003F80 thumb_func_start sub_08019410 @@ -2021,7 +2021,7 @@ sub_08019468: @ 0x08019468 adds r0, r1, #0 movs r1, #0x50 movs r2, #0 - bl sub_080A29AC + bl CreateFX _0801947E: pop {pc} @@ -2042,7 +2042,7 @@ _08019494: .4byte gUnk_080B43F4 sub_08019498: @ 0x08019498 push {r4, r5, lr} adds r5, r0, #0 - ldr r4, _08019504 @ =gUnk_03001160 + ldr r4, _08019504 @ =gLinkEntity adds r0, r4, #0 adds r1, r5, #0 bl sub_0806FA24 @@ -2094,7 +2094,7 @@ _080194E6: beq _08019516 b _0801954E .align 2, 0 -_08019504: .4byte gUnk_03001160 +_08019504: .4byte gLinkEntity _08019508: .4byte gUnk_080B4408 _0801950C: cmp r0, #4 @@ -2195,7 +2195,7 @@ _080195B0: ands r1, r3 lsls r1, r1, #6 orrs r0, r1 - ldr r1, _08019630 @ =gUnk_03001160 + ldr r1, _08019630 @ =gLinkEntity adds r1, #0x38 ldrb r1, [r1] movs r2, #0x80 @@ -2214,7 +2214,7 @@ _080195B0: adds r0, r4, #0 movs r1, #0x19 movs r2, #0 - bl sub_080A29AC + bl CreateFX bl sub_0805E780 _08019602: adds r0, r4, #0 @@ -2225,7 +2225,7 @@ _08019602: adds r0, r4, #0 movs r1, #0x19 movs r2, #0 - bl sub_080A29AC + bl CreateFX bl sub_0805E780 _0801961A: adds r0, r4, #0 @@ -2237,7 +2237,7 @@ _0801961A: b _0801963C .align 2, 0 _0801962C: .4byte gUnk_03000BF0 -_08019630: .4byte gUnk_03001160 +_08019630: .4byte gLinkEntity _08019634: .4byte gUnk_08003E44 _08019638: bl sub_0805E780 @@ -2536,7 +2536,7 @@ _08019878: bl _0801A2A4 _08019880: ldrb r0, [r7, #0x1e] - ldr r1, _08019898 @ =gUnk_03001160 + ldr r1, _08019898 @ =gLinkEntity mov sb, r1 cmp r0, #0 bne _08019890 @@ -2548,7 +2548,7 @@ _08019890: ldrb r4, [r2, #0x15] b _0801989E .align 2, 0 -_08019898: .4byte gUnk_03001160 +_08019898: .4byte gLinkEntity _0801989C: ldrb r4, [r7, #0xd] _0801989E: @@ -2650,15 +2650,15 @@ _08019960: .4byte gUnk_03000BF0 _08019964: .4byte gUnk_080B4490 _08019968: .4byte 0x00010002 _0801996C: - ldr r1, _08019978 @ =gUnk_03001160 + ldr r1, _08019978 @ =gLinkEntity lsls r0, r4, #3 strb r0, [r1, #0x15] movs r0, #0xf bl _0801A2A6 .align 2, 0 -_08019978: .4byte gUnk_03001160 +_08019978: .4byte gLinkEntity _0801997C: - ldr r4, _080199DC @ =gUnk_03001160 + ldr r4, _080199DC @ =gLinkEntity adds r5, r4, #0 adds r5, #0x38 ldrb r0, [r5] @@ -2704,14 +2704,14 @@ _0801997C: adds r4, r0, #0 b _080199EE .align 2, 0 -_080199DC: .4byte gUnk_03001160 +_080199DC: .4byte gLinkEntity _080199E0: .4byte gUnk_080B4468 _080199E4: .4byte gUnk_03000BF0 _080199E8: .4byte 0x00003FFF _080199EC: adds r4, r6, #0 _080199EE: - ldr r5, _08019A28 @ =gUnk_03001160 + ldr r5, _08019A28 @ =gLinkEntity ldrb r1, [r5, #0x14] adds r3, r1, #0 ldr r0, _08019A2C @ =0x00004036 @@ -2744,7 +2744,7 @@ _08019A1C: _08019A22: bl _0801A2A4 .align 2, 0 -_08019A28: .4byte gUnk_03001160 +_08019A28: .4byte gLinkEntity _08019A2C: .4byte 0x00004036 _08019A30: cmp r4, #0x5b @@ -3261,7 +3261,7 @@ _08019DEE: beq _08019DF6 b _0801A2A4 _08019DF6: - ldr r2, _08019E40 @ =gUnk_03001160 + ldr r2, _08019E40 @ =gLinkEntity ldrb r0, [r2, #0x14] lsls r0, r0, #2 ldrb r3, [r4, #0xd] @@ -3300,7 +3300,7 @@ _08019E18: b _0801A2A6 .align 2, 0 _08019E3C: .4byte gUnk_03003F80 -_08019E40: .4byte gUnk_03001160 +_08019E40: .4byte gLinkEntity _08019E44: mov r0, r8 adds r1, r7, #0 @@ -3336,7 +3336,7 @@ _08019E84: mov r0, r8 adds r0, #4 adds r0, r0, r1 - ldr r2, _08019EBC @ =gUnk_03001160 + ldr r2, _08019EBC @ =gLinkEntity ldrb r1, [r2, #0x14] lsrs r1, r1, #1 ldr r3, _08019EC0 @ =0x0000400C @@ -3363,7 +3363,7 @@ _08019E98: movs r0, #1 b _0801A2A6 .align 2, 0 -_08019EBC: .4byte gUnk_03001160 +_08019EBC: .4byte gLinkEntity _08019EC0: .4byte 0x0000400C _08019EC4: .4byte gUnk_03003F80 _08019EC8: @@ -3550,7 +3550,7 @@ _0801A018: bne _0801A02A b _0801A2A4 _0801A02A: - ldr r3, _0801A08C @ =gUnk_03001160 + ldr r3, _0801A08C @ =gLinkEntity ldrb r0, [r3, #0x14] lsls r0, r0, #2 movs r4, #0 @@ -3596,7 +3596,7 @@ _0801A07C: .4byte gUnk_03003F80 _0801A080: .4byte 0x0000FFFF _0801A084: .4byte 0x00000FFF _0801A088: .4byte gUnk_03004040 -_0801A08C: .4byte gUnk_03001160 +_0801A08C: .4byte gLinkEntity _0801A090: .4byte gUnk_03000BF0 _0801A094: movs r0, #0xa0 @@ -3663,7 +3663,7 @@ _0801A0FA: movs r1, #1 orrs r0, r1 str r0, [r7, #0x30] - ldr r1, _0801A11C @ =gUnk_03001160 + ldr r1, _0801A11C @ =gLinkEntity strh r2, [r1, #0x2c] strh r2, [r1, #0x30] ldrb r0, [r1, #0x14] @@ -3672,7 +3672,7 @@ _0801A0FA: movs r0, #1 b _0801A2A6 .align 2, 0 -_0801A11C: .4byte gUnk_03001160 +_0801A11C: .4byte gLinkEntity _0801A120: ldr r0, _0801A134 @ =gUnk_03003F80 adds r0, #0x35 @@ -3857,7 +3857,7 @@ _0801A280: .4byte gUnk_03003F80 _0801A284: .4byte 0x00004074 _0801A288: ldr r0, _0801A29C @ =0x00004059 - ldr r1, _0801A2A0 @ =gUnk_03001160 + ldr r1, _0801A2A0 @ =gLinkEntity _0801A28C: adds r1, #0x38 ldrb r2, [r1] @@ -3867,7 +3867,7 @@ _0801A28C: b _0801A2A6 .align 2, 0 _0801A29C: .4byte 0x00004059 -_0801A2A0: .4byte gUnk_03001160 +_0801A2A0: .4byte gLinkEntity _0801A2A4: movs r0, #0 _0801A2A6: @@ -3884,7 +3884,7 @@ sub_0801A2B0: @ 0x0801A2B0 adds r4, r1, #0 adds r6, r2, #0 ldr r1, _0801A31C @ =gUnk_080B4488 - ldr r2, _0801A320 @ =gUnk_03001160 + ldr r2, _0801A320 @ =gLinkEntity ldrb r0, [r2, #0x14] lsrs r0, r0, #1 lsls r0, r0, #1 @@ -3932,7 +3932,7 @@ sub_0801A2B0: @ 0x0801A2B0 b _0801A32C .align 2, 0 _0801A31C: .4byte gUnk_080B4488 -_0801A320: .4byte gUnk_03001160 +_0801A320: .4byte gLinkEntity _0801A324: .4byte gUnk_03003F80 _0801A328: cmp r1, #0x74 @@ -3980,7 +3980,7 @@ sub_0801A370: @ 0x0801A370 push {r7} mov r8, r0 adds r4, r1, #0 - ldr r5, _0801A3C8 @ =gUnk_03001160 + ldr r5, _0801A3C8 @ =gLinkEntity ldrb r1, [r5, #0x14] movs r0, #2 ands r0, r1 @@ -4018,7 +4018,7 @@ _0801A3C4: movs r0, #1 b _0801A450 .align 2, 0 -_0801A3C8: .4byte gUnk_03001160 +_0801A3C8: .4byte gLinkEntity _0801A3CC: .4byte gUnk_080B4488 _0801A3D0: .4byte 0x0000402B _0801A3D4: @@ -4030,7 +4030,7 @@ _0801A3D6: ldrb r0, [r0] cmp r0, #0x46 beq _0801A44E - ldr r0, _0801A410 @ =gUnk_03001160 + ldr r0, _0801A410 @ =gLinkEntity adds r0, #0x38 ldrb r1, [r0] adds r0, r4, #0 @@ -4051,7 +4051,7 @@ _0801A3D6: b _0801A418 .align 2, 0 _0801A40C: .4byte 0x00001F84 -_0801A410: .4byte gUnk_03001160 +_0801A410: .4byte gLinkEntity _0801A414: cmp r0, #0x74 beq _0801A44E @@ -4103,7 +4103,7 @@ sub_0801A458: @ 0x0801A458 adds r5, r1, #0 mov r8, r2 ldr r0, _0801A4A4 @ =gUnk_080B4488 - ldr r6, _0801A4A8 @ =gUnk_03001160 + ldr r6, _0801A4A8 @ =gLinkEntity ldrb r1, [r6, #0x14] lsrs r1, r1, #1 lsls r1, r1, #1 @@ -4133,7 +4133,7 @@ sub_0801A458: @ 0x0801A458 b _0801A4B0 .align 2, 0 _0801A4A4: .4byte gUnk_080B4488 -_0801A4A8: .4byte gUnk_03001160 +_0801A4A8: .4byte gLinkEntity _0801A4AC: cmp r0, #0x74 beq _0801A4F0 @@ -4193,7 +4193,7 @@ sub_0801A4F8: @ 0x0801A4F8 ands r0, r1 cmp r0, #0 bne _0801A564 - ldr r2, _0801A53C @ =gUnk_03001160 + ldr r2, _0801A53C @ =gLinkEntity ldrb r0, [r2, #0x15] cmp r1, r0 bne _0801A564 @@ -4209,7 +4209,7 @@ sub_0801A4F8: @ 0x0801A4F8 b _0801A55E .align 2, 0 _0801A538: .4byte gUnk_03003F80 -_0801A53C: .4byte gUnk_03001160 +_0801A53C: .4byte gLinkEntity _0801A540: .4byte gUnk_080B44A0 _0801A544: adds r0, r4, #0 @@ -4221,7 +4221,7 @@ _0801A544: ands r0, r1 cmp r0, #0 bne _0801A564 - ldr r0, _0801A568 @ =gUnk_03001160 + ldr r0, _0801A568 @ =gLinkEntity adds r0, #0x5a ldrb r1, [r0] movs r0, #1 @@ -4233,7 +4233,7 @@ _0801A564: movs r0, #0 b _0801A56E .align 2, 0 -_0801A568: .4byte gUnk_03001160 +_0801A568: .4byte gLinkEntity _0801A56C: movs r0, #1 _0801A56E: @@ -4790,7 +4790,7 @@ _0801A97C: .4byte 0x0000FFFF thumb_func_start sub_0801A980 sub_0801A980: @ 0x0801A980 push {r4, r5, r6, r7, lr} - ldr r4, _0801A9E0 @ =gUnk_03001160 + ldr r4, _0801A9E0 @ =gLinkEntity adds r6, r4, #0 adds r6, #0x38 ldrb r0, [r6] @@ -4836,7 +4836,7 @@ _0801A9DC: movs r0, #0 pop {r4, r5, r6, r7, pc} .align 2, 0 -_0801A9E0: .4byte gUnk_03001160 +_0801A9E0: .4byte gLinkEntity _0801A9E4: .4byte gUnk_080B44A8 _0801A9E8: .4byte gUnk_03000BF0 _0801A9EC: .4byte 0x00003FFF @@ -4885,13 +4885,13 @@ _0801AA40: cmp r2, #0 beq _0801AA54 _0801AA44: - ldr r0, _0801AA50 @ =gUnk_03001160 + ldr r0, _0801AA50 @ =gLinkEntity adds r1, r4, #0 adds r2, r3, #0 bl sub_0801AA58 b _0801AA56 .align 2, 0 -_0801AA50: .4byte gUnk_03001160 +_0801AA50: .4byte gLinkEntity _0801AA54: movs r0, #0 _0801AA56: @@ -6340,7 +6340,7 @@ sub_0801B4C8: @ 0x0801B4C8 adds r1, #0x58 movs r0, #0xb strb r0, [r1] - ldr r5, _0801B534 @ =gUnk_03001160 + ldr r5, _0801B534 @ =gLinkEntity str r5, [r4, #0x50] adds r0, r4, #0 adds r0, #0x86 @@ -6376,7 +6376,7 @@ _0801B518: .align 2, 0 _0801B52C: .4byte gUnk_03003F80 _0801B530: .4byte gUnk_081271CC -_0801B534: .4byte gUnk_03001160 +_0801B534: .4byte gLinkEntity _0801B538: movs r0, #0x80 lsls r0, r0, #2 @@ -6433,7 +6433,7 @@ sub_0801B584: @ 0x0801B584 ldr r0, [r1, #0x2c] cmp r0, r6 bne _0801B5B4 - ldr r0, _0801B5FC @ =gUnk_03001160 + ldr r0, _0801B5FC @ =gLinkEntity ldrb r0, [r0, #0xc] cmp r0, #1 beq _0801B5B8 @@ -6447,7 +6447,7 @@ _0801B5A8: _0801B5B4: bl sub_0805E780 _0801B5B8: - ldr r7, _0801B5FC @ =gUnk_03001160 + ldr r7, _0801B5FC @ =gLinkEntity adds r0, r7, #0 adds r0, #0x5a ldrb r1, [r0] @@ -6481,7 +6481,7 @@ _0801B5EE: b _0801B674 .align 2, 0 _0801B5F8: .4byte gUnk_03003F80 -_0801B5FC: .4byte gUnk_03001160 +_0801B5FC: .4byte gLinkEntity _0801B600: movs r5, #0 movs r0, #2 @@ -6628,7 +6628,7 @@ _0801B6FE: ands r1, r3 lsls r1, r1, #6 orrs r0, r1 - ldr r1, _0801B784 @ =gUnk_03001160 + ldr r1, _0801B784 @ =gLinkEntity adds r1, #0x38 ldrb r1, [r1] movs r2, #0x80 @@ -6680,7 +6680,7 @@ _0801B76C: b _0801B792 .align 2, 0 _0801B780: .4byte gUnk_03000BF0 -_0801B784: .4byte gUnk_03001160 +_0801B784: .4byte gLinkEntity _0801B788: .4byte gUnk_08003E44 _0801B78C: movs r0, #0xc @@ -6725,7 +6725,7 @@ _0801B7BC: adds r0, #8 strh r0, [r5, #0x24] _0801B7D4: - ldr r4, _0801B800 @ =gUnk_03001160 + ldr r4, _0801B800 @ =gLinkEntity adds r0, r5, #0 adds r1, r4, #0 bl sub_080045C4 @@ -6744,7 +6744,7 @@ _0801B7FA: pop {r4, r5, pc} .align 2, 0 _0801B7FC: .4byte 0x0000027F -_0801B800: .4byte gUnk_03001160 +_0801B800: .4byte gLinkEntity thumb_func_start sub_0801B804 sub_0801B804: @ 0x0801B804 @@ -6922,7 +6922,7 @@ sub_0801B938: @ 0x0801B938 ands r0, r1 cmp r0, #0 beq _0801B960 - ldr r3, _0801B95C @ =gUnk_03001160 + ldr r3, _0801B95C @ =gLinkEntity ldrb r1, [r3, #0x18] lsls r1, r1, #0x19 lsrs r1, r1, #0x1f @@ -6933,9 +6933,9 @@ sub_0801B938: @ 0x0801B938 subs r0, #0x42 b _0801B96E .align 2, 0 -_0801B95C: .4byte gUnk_03001160 +_0801B95C: .4byte gLinkEntity _0801B960: - ldr r3, _0801B998 @ =gUnk_03001160 + ldr r3, _0801B998 @ =gLinkEntity ldrb r0, [r3, #0x18] movs r1, #0x40 ands r1, r0 @@ -6963,7 +6963,7 @@ _0801B96E: bl sub_080042D0 b _0801B9A0 .align 2, 0 -_0801B998: .4byte gUnk_03001160 +_0801B998: .4byte gLinkEntity _0801B99C: movs r0, #0xff strb r0, [r4, #0x1e] @@ -6993,7 +6993,7 @@ _0801B9A0: asrs r3, r3, #0x18 adds r0, r4, #0 bl sub_08008782 - ldr r1, _0801B9EC @ =gUnk_03001160 + ldr r1, _0801B9EC @ =gLinkEntity adds r0, r4, #0 bl sub_08078E84 pop {r4, pc} @@ -7001,7 +7001,7 @@ _0801B9A0: _0801B9E0: .4byte gUnk_080B7850 _0801B9E4: .4byte gUnk_080B7848 _0801B9E8: .4byte gUnk_03003F80 -_0801B9EC: .4byte gUnk_03001160 +_0801B9EC: .4byte gLinkEntity thumb_func_start sub_0801B9F0 sub_0801B9F0: @ 0x0801B9F0 @@ -7086,7 +7086,7 @@ _0801BA9C: movs r0, #0x80 orrs r0, r1 strb r0, [r4, #0x10] - ldr r1, _0801BAF4 @ =gUnk_03001160 + ldr r1, _0801BAF4 @ =gLinkEntity adds r0, r1, #0 adds r0, #0x3c ldrb r0, [r0] @@ -7119,7 +7119,7 @@ _0801BA9C: bl sub_080A3268 b _0801BB0A .align 2, 0 -_0801BAF4: .4byte gUnk_03001160 +_0801BAF4: .4byte gLinkEntity _0801BAF8: movs r0, #0xd5 strb r0, [r4, #0xe] @@ -7179,7 +7179,7 @@ sub_0801BB2C: @ 0x0801BB2C _0801BB64: bl sub_0805E780 _0801BB68: - ldr r1, _0801BB90 @ =gUnk_03001160 + ldr r1, _0801BB90 @ =gLinkEntity adds r0, r5, #0 bl sub_0801BDE8 adds r0, r5, #0 @@ -7196,7 +7196,7 @@ _0801BB68: .align 2, 0 _0801BB88: .4byte gUnk_03003F80 _0801BB8C: .4byte 0x00000109 -_0801BB90: .4byte gUnk_03001160 +_0801BB90: .4byte gLinkEntity _0801BB94: .4byte _0801BB98 _0801BB98: @ jump table .4byte _0801BBE0 @ case 0 @@ -7222,7 +7222,7 @@ _0801BBE0: bl sub_0801BC0C b _0801BC0A _0801BBE8: - ldr r0, _0801BC00 @ =gUnk_03001160 + ldr r0, _0801BC00 @ =gLinkEntity adds r1, r0, #0 adds r1, #0x5a ldrb r0, [r1] @@ -7234,7 +7234,7 @@ _0801BBE8: bl sub_0801BC14 b _0801BC0A .align 2, 0 -_0801BC00: .4byte gUnk_03001160 +_0801BC00: .4byte gLinkEntity _0801BC04: adds r0, r5, #0 bl sub_0801BCB4 @@ -7323,7 +7323,7 @@ _0801BCB0: .4byte gUnk_02002A40 sub_0801BCB4: @ 0x0801BCB4 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _0801BCEC @ =gUnk_03001160 + ldr r0, _0801BCEC @ =gLinkEntity adds r0, #0x5a ldrb r0, [r0] cmp r0, #1 @@ -7350,7 +7350,7 @@ _0801BCDA: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0801BCEC: .4byte gUnk_03001160 +_0801BCEC: .4byte gLinkEntity _0801BCF0: .4byte _0801BCF4 _0801BCF4: @ jump table .4byte _0801BD24 @ case 0 @@ -7401,7 +7401,7 @@ _0801BD54: ldr r0, _0801BD8C @ =0x000001CF bl sub_080A3268 _0801BD6C: - ldr r0, _0801BD90 @ =gUnk_03001160 + ldr r0, _0801BD90 @ =gLinkEntity adds r0, #0x5a ldrb r0, [r0] cmp r0, #2 @@ -7417,7 +7417,7 @@ _0801BD6C: .align 2, 0 _0801BD88: .4byte gUnk_02002A40 _0801BD8C: .4byte 0x000001CF -_0801BD90: .4byte gUnk_03001160 +_0801BD90: .4byte gLinkEntity _0801BD94: adds r0, r4, #0 movs r1, #0x68 @@ -7432,7 +7432,7 @@ _0801BDA2: movs r3, #1 bl sub_080A2988 _0801BDAE: - ldr r0, _0801BDC8 @ =gUnk_03001160 + ldr r0, _0801BDC8 @ =gLinkEntity adds r0, #0x5a ldrb r0, [r0] cmp r0, #3 @@ -7446,7 +7446,7 @@ _0801BDAE: beq _0801BDDA b _0801BDE6 .align 2, 0 -_0801BDC8: .4byte gUnk_03001160 +_0801BDC8: .4byte gLinkEntity _0801BDCC: adds r0, r4, #0 movs r1, #0x68 @@ -7497,12 +7497,12 @@ _0801BE0A: ands r0, r2 orrs r0, r1 strb r0, [r4, #0x18] - ldr r1, _0801BE34 @ =gUnk_03001160 + ldr r1, _0801BE34 @ =gLinkEntity adds r0, r4, #0 bl sub_08078E84 pop {r4, r5, pc} .align 2, 0 -_0801BE34: .4byte gUnk_03001160 +_0801BE34: .4byte gLinkEntity thumb_func_start sub_0801BE38 sub_0801BE38: @ 0x0801BE38 @@ -7561,7 +7561,7 @@ _0801BE8C: ldr r1, [r4, #0x48] ldrb r0, [r2, #3] strb r0, [r1, #7] - ldr r0, _0801BEF0 @ =gUnk_03001160 + ldr r0, _0801BEF0 @ =gLinkEntity adds r0, #0x5a ldrb r0, [r0] movs r1, #0xf @@ -7597,7 +7597,7 @@ _0801BEDE: cmp r0, #0x20 beq _0801BEEE _0801BEE4: - ldr r2, _0801BEF0 @ =gUnk_03001160 + ldr r2, _0801BEF0 @ =gLinkEntity ldrb r1, [r2, #0x10] movs r0, #0x7f ands r0, r1 @@ -7605,7 +7605,7 @@ _0801BEE4: _0801BEEE: pop {r4, pc} .align 2, 0 -_0801BEF0: .4byte gUnk_03001160 +_0801BEF0: .4byte gLinkEntity _0801BEF4: .4byte gUnk_080B7878 thumb_func_start sub_0801BEF8 @@ -7616,7 +7616,7 @@ sub_0801BEF8: @ 0x0801BEF8 mov r5, r8 push {r5, r6, r7} mov r8, r0 - ldr r7, _0801BFF0 @ =gUnk_03001160 + ldr r7, _0801BFF0 @ =gLinkEntity ldrb r0, [r0, #0xc] cmp r0, #0 bne _0801BF62 @@ -7735,7 +7735,7 @@ _0801BFDA: strb r0, [r1] b _0801C0D4 .align 2, 0 -_0801BFF0: .4byte gUnk_03001160 +_0801BFF0: .4byte gLinkEntity _0801BFF4: .4byte gUnk_080B7B6C _0801BFF8: .4byte gUnk_03000BF0 _0801BFFC: .4byte gUnk_03003F80 @@ -10773,310466 +10773,4 @@ _0801D6B0: cmp r4, #0 bne _0801D6B0 _0801D6BE: - pop {r4, pc} - - thumb_func_start sub_0801D6C0 -sub_0801D6C0: @ 0x0801D6C0 - push {lr} - ldr r0, _0801D6D4 @ =0x04000130 - ldrh r0, [r0] - ldr r1, _0801D6D8 @ =0x000003FF - bics r1, r0 - ldr r0, _0801D6DC @ =gUnk_03000FF0 - bl sub_0801D6E0 - pop {pc} - .align 2, 0 -_0801D6D4: .4byte 0x04000130 -_0801D6D8: .4byte 0x000003FF -_0801D6DC: .4byte gUnk_03000FF0 - - thumb_func_start sub_0801D6E0 -sub_0801D6E0: @ 0x0801D6E0 - push {lr} - adds r2, r0, #0 - ldrh r0, [r2] - adds r3, r1, #0 - bics r3, r0 - strh r3, [r2, #2] - cmp r1, r0 - bne _0801D70A - ldrb r0, [r2, #7] - subs r0, #1 - strb r0, [r2, #7] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801D704 - movs r0, #4 - strb r0, [r2, #7] - strh r1, [r2, #4] - b _0801D710 -_0801D704: - movs r0, #0 - strh r0, [r2, #4] - b _0801D710 -_0801D70A: - movs r0, #0x14 - strb r0, [r2, #7] - strh r3, [r2, #4] -_0801D710: - strh r1, [r2] - pop {pc} - - thumb_func_start sub_0801D714 -sub_0801D714: @ 0x0801D714 - push {r4, lr} - ldr r1, _0801D748 @ =gUnk_080FF850 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r4, [r0] -_0801D71E: - ldrb r3, [r4, #2] - ldrb r0, [r4, #3] - movs r2, #0xf - ands r2, r0 - cmp r2, #0 - bne _0801D72C - movs r2, #0x10 -_0801D72C: - ldrh r0, [r4] - lsls r0, r0, #5 - ldr r1, _0801D74C @ =gUnk_085A2E80 - adds r0, r0, r1 - adds r1, r3, #0 - bl sub_0801D754 - ldrb r1, [r4, #3] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801D750 - adds r4, #4 - b _0801D71E - .align 2, 0 -_0801D748: .4byte gUnk_080FF850 -_0801D74C: .4byte gUnk_085A2E80 -_0801D750: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801D754 -sub_0801D754: @ 0x0801D754 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - lsls r5, r2, #5 - movs r3, #1 - lsls r3, r1 - subs r2, #1 - ldr r4, _0801D790 @ =gUnk_0200B644 - ldr r7, _0801D794 @ =gUnk_020176A0 - cmp r2, #0 - ble _0801D772 -_0801D768: - lsls r0, r3, #1 - orrs r3, r0 - subs r2, #1 - cmp r2, #0 - bgt _0801D768 -_0801D772: - ldr r0, [r4] - orrs r0, r3 - str r0, [r4] - lsls r0, r1, #5 - adds r0, r0, r7 - ldr r2, _0801D798 @ =0x040000D4 - str r6, [r2] - str r0, [r2, #4] - lsrs r0, r5, #2 - movs r1, #0x84 - lsls r1, r1, #0x18 - orrs r0, r1 - str r0, [r2, #8] - ldr r0, [r2, #8] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801D790: .4byte gUnk_0200B644 -_0801D794: .4byte gUnk_020176A0 -_0801D798: .4byte 0x040000D4 - - thumb_func_start sub_0801D79C -sub_0801D79C: @ 0x0801D79C - ldr r3, _0801D7B4 @ =gUnk_020176A0 - lsls r2, r0, #1 - adds r2, r2, r3 - strh r1, [r2] - ldr r2, _0801D7B8 @ =gUnk_0200B644 - lsrs r0, r0, #4 - movs r1, #1 - lsls r1, r0 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - bx lr - .align 2, 0 -_0801D7B4: .4byte gUnk_020176A0 -_0801D7B8: .4byte gUnk_0200B644 - - thumb_func_start sub_0801D7BC -sub_0801D7BC: @ 0x0801D7BC - push {lr} - adds r2, r0, #0 - cmp r1, #0 - beq _0801D7D4 - ldr r1, _0801D7CC @ =gUnk_03000F50 - ldr r0, _0801D7D0 @ =0x0000E0FF - b _0801D7D8 - .align 2, 0 -_0801D7CC: .4byte gUnk_03000F50 -_0801D7D0: .4byte 0x0000E0FF -_0801D7D4: - ldr r1, _0801D7E4 @ =gUnk_03000F50 - ldr r0, _0801D7E8 @ =0x0000FFFF -_0801D7D8: - strh r0, [r1, #6] - movs r0, #0 - adds r1, r2, #0 - bl sub_0801D79C - pop {pc} - .align 2, 0 -_0801D7E4: .4byte gUnk_03000F50 -_0801D7E8: .4byte 0x0000FFFF - - thumb_func_start sub_0801D7EC -sub_0801D7EC: @ 0x0801D7EC - push {r4, r5, r6, lr} - ldr r1, _0801D814 @ =gUnk_08100AA8 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r4, [r0] - movs r6, #0x80 - lsls r6, r6, #0x12 - ldr r5, _0801D818 @ =0x040000D4 -_0801D7FC: - movs r2, #0 - ldrb r1, [r4, #3] - movs r0, #0xf - ands r1, r0 - cmp r1, #0xd - beq _0801D894 - cmp r1, #0xd - bhi _0801D81C - cmp r1, #7 - beq _0801D842 - b _0801D836 - .align 2, 0 -_0801D814: .4byte gUnk_08100AA8 -_0801D818: .4byte 0x040000D4 -_0801D81C: - cmp r1, #0xe - beq _0801D826 - cmp r1, #0xf - beq _0801D82E - b _0801D836 -_0801D826: - ldrb r0, [r6, #7] - cmp r0, #1 - bls _0801D83E - b _0801D842 -_0801D82E: - ldrb r0, [r6, #7] - cmp r0, #0 - beq _0801D83E - b _0801D842 -_0801D836: - ldrb r0, [r6, #7] - cmp r1, r0 - bne _0801D83E - movs r2, #1 -_0801D83E: - cmp r2, #0 - beq _0801D888 -_0801D842: - ldr r0, [r4] - ldr r1, _0801D868 @ =0x00FFFFFF - ands r0, r1 - ldr r1, _0801D86C @ =gUnk_085A2E80 - adds r2, r0, r1 - ldr r1, [r4, #4] - ldr r0, [r4, #8] - movs r3, #0x80 - lsls r3, r3, #0x18 - cmp r0, #0 - bge _0801D87C - ldr r0, _0801D870 @ =0x05FFFFFF - cmp r1, r0 - bls _0801D874 - adds r0, r2, #0 - bl LZ77UnCompVram - b _0801D888 - .align 2, 0 -_0801D868: .4byte 0x00FFFFFF -_0801D86C: .4byte gUnk_085A2E80 -_0801D870: .4byte 0x05FFFFFF -_0801D874: - adds r0, r2, #0 - bl LZ77UnCompWram - b _0801D888 -_0801D87C: - str r2, [r5] - str r1, [r5, #4] - lsrs r0, r0, #1 - orrs r0, r3 - str r0, [r5, #8] - ldr r0, [r5, #8] -_0801D888: - ldrb r1, [r4, #3] - movs r0, #0x80 - ands r1, r0 - adds r4, #0xc - cmp r1, #0 - bne _0801D7FC -_0801D894: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0801D898 -sub_0801D898: @ 0x0801D898 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r3 - movs r1, #0x20 - mov ip, r1 - cmp r0, #0 - beq _0801D8B2 - movs r0, #0x40 - mov ip, r0 -_0801D8B2: - ldr r0, _0801D8D8 @ =0x00007FFF - ands r3, r0 - ldr r1, _0801D8DC @ =0x040000D4 - movs r2, #0x80 - lsls r2, r2, #0x18 - orrs r2, r6 - lsls r7, r6, #1 - mov r0, ip - lsls r6, r0, #1 -_0801D8C4: - str r4, [r1] - str r5, [r1, #4] - str r2, [r1, #8] - ldr r0, [r1, #8] - adds r4, r4, r7 - adds r5, r5, r6 - subs r3, #1 - cmp r3, #0 - bne _0801D8C4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801D8D8: .4byte 0x00007FFF -_0801D8DC: .4byte 0x040000D4 - - thumb_func_start sub_0801D8E0 -sub_0801D8E0: @ 0x0801D8E0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov ip, r0 - movs r0, #3 - add ip, r0 - subs r0, #7 - mov r1, ip - ands r1, r0 - mov ip, r1 - ldr r6, _0801D90C @ =gUnk_02035540 - mov sb, r6 - ldrh r7, [r6] - movs r5, #1 - movs r3, #0x80 - lsls r3, r3, #5 - add r3, sb - subs r4, r3, r1 - movs r2, #0 - b _0801D926 - .align 2, 0 -_0801D90C: .4byte gUnk_02035540 -_0801D910: - cmp r1, r4 - bhi _0801D918 - cmp r3, r0 - bls _0801D952 -_0801D918: - cmp r4, r1 - bhi _0801D920 - cmp r0, r3 - bls _0801D952 -_0801D920: - adds r0, r2, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 -_0801D926: - cmp r2, r7 - bhs _0801D94A - lsls r0, r2, #2 - add r0, sb - ldrh r1, [r0, #2] - ldr r6, _0801D95C @ =gUnk_02035540 - adds r1, r1, r6 - ldrh r0, [r0, #4] - adds r0, r0, r6 - cmp r1, r4 - bhi _0801D940 - cmp r4, r0 - bls _0801D952 -_0801D940: - cmp r1, r3 - bhi _0801D910 - cmp r3, r0 - bhi _0801D910 - movs r5, #0 -_0801D94A: - lsls r0, r7, #2 - mov sl, r0 - cmp r5, #0 - bne _0801D9D8 -_0801D952: - movs r1, #0 - mov r8, r1 - lsls r6, r7, #2 - mov sl, r6 - b _0801D970 - .align 2, 0 -_0801D95C: .4byte gUnk_02035540 -_0801D960: - movs r5, #0 -_0801D962: - mov r0, r8 - adds r0, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r8, r0 - cmp r8, r7 - bhs _0801D9D4 -_0801D970: - mov r1, r8 - lsls r0, r1, #2 - add r0, sb - ldrh r0, [r0, #2] - ldr r6, _0801D994 @ =gUnk_02035540 - adds r3, r0, r6 - mov r0, ip - subs r4, r3, r0 - movs r5, #0 - mov r0, sl - adds r0, #2 - add r0, sb - adds r0, #4 - cmp r4, r0 - blo _0801D962 - movs r5, #1 - movs r2, #0 - b _0801D9AE - .align 2, 0 -_0801D994: .4byte gUnk_02035540 -_0801D998: - cmp r1, r4 - bhi _0801D9A0 - cmp r3, r0 - bls _0801D960 -_0801D9A0: - cmp r4, r1 - bhi _0801D9A8 - cmp r0, r3 - bls _0801D960 -_0801D9A8: - adds r0, r2, #1 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 -_0801D9AE: - cmp r2, r7 - bhs _0801D9D0 - lsls r0, r2, #2 - add r0, sb - ldrh r1, [r0, #2] - adds r1, r1, r6 - ldrh r0, [r0, #4] - adds r0, r0, r6 - cmp r1, r4 - bhi _0801D9C6 - cmp r4, r0 - blo _0801D960 -_0801D9C6: - cmp r1, r3 - bhs _0801D998 - cmp r3, r0 - bhi _0801D998 - movs r5, #0 -_0801D9D0: - cmp r5, #0 - beq _0801D962 -_0801D9D4: - cmp r5, #0 - beq _0801DA00 -_0801D9D8: - ldr r0, _0801D9FC @ =gUnk_02035542 - mov r1, sl - adds r2, r1, r0 - subs r3, r0, #2 - subs r1, r4, r3 - strh r1, [r2] - adds r0, #2 - add r0, sl - add r1, ip - strh r1, [r0] - adds r0, r7, #1 - strh r0, [r3] - adds r0, r4, #0 - mov r1, ip - bl sub_0801D630 - adds r0, r4, #0 - b _0801DA02 - .align 2, 0 -_0801D9FC: .4byte gUnk_02035542 -_0801DA00: - movs r0, #0 -_0801DA02: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0801DA0C -sub_0801DA0C: @ 0x0801DA0C - push {r4, r5, lr} - ldr r3, _0801DA44 @ =gUnk_02035540 - subs r1, r0, r3 - ldr r0, _0801DA48 @ =0x00000FFF - cmp r1, r0 - bhi _0801DA74 - adds r4, r3, #0 - ldrh r5, [r4] - adds r4, #2 - movs r2, #0 - cmp r2, r5 - bhs _0801DA74 - ldrh r0, [r4] - cmp r0, r1 - bne _0801DA4C - lsls r0, r5, #2 - subs r1, r3, #2 - adds r0, r0, r1 - ldrh r1, [r0] - strh r1, [r4] - strh r2, [r0] - adds r0, #2 - ldrh r1, [r0] - strh r1, [r4, #2] - strh r2, [r0] - subs r0, r5, #1 - strh r0, [r3] - b _0801DA74 - .align 2, 0 -_0801DA44: .4byte gUnk_02035540 -_0801DA48: .4byte 0x00000FFF -_0801DA4C: - adds r4, #4 - adds r2, #1 - cmp r2, r5 - bhs _0801DA74 - ldrh r0, [r4] - cmp r0, r1 - bne _0801DA4C - lsls r1, r5, #2 - ldr r3, _0801DA78 @ =gUnk_0203553E - adds r1, r1, r3 - ldrh r0, [r1] - strh r0, [r4] - movs r2, #0 - strh r2, [r1] - adds r1, #2 - ldrh r0, [r1] - strh r0, [r4, #2] - strh r2, [r1] - subs r0, r5, #1 - strh r0, [r3, #2] -_0801DA74: - pop {r4, r5, pc} - .align 2, 0 -_0801DA78: .4byte gUnk_0203553E - - thumb_func_start sub_0801DA7C -sub_0801DA7C: @ 0x0801DA7C - push {lr} - ldr r0, _0801DA8C @ =gUnk_02035540 - movs r1, #0x80 - lsls r1, r1, #5 - bl sub_0801D630 - pop {pc} - .align 2, 0 -_0801DA8C: .4byte gUnk_02035540 - - thumb_func_start sub_0801DA90 -sub_0801DA90: @ 0x0801DA90 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _0801DAEC @ =gUnk_03001000 - ldrb r0, [r1] - movs r3, #0 - movs r0, #1 - strb r0, [r1] - ldr r0, _0801DAF0 @ =gUnk_03003DE0 - strb r3, [r0] - ldr r0, _0801DAF4 @ =gUnk_03000FD0 - strb r3, [r0] - ldr r5, _0801DAF8 @ =gUnk_03000F50 - adds r0, r5, #0 - adds r0, #0x6d - strb r3, [r0] - subs r0, #1 - strb r3, [r0] - ldr r1, _0801DAFC @ =0x040000B0 - ldrh r2, [r1, #0xa] - ldr r0, _0801DB00 @ =0x0000C5FF - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r2, [r1, #0xa] - ldr r0, _0801DB04 @ =0x00007FFF - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r0, [r1, #0xa] - movs r0, #0x80 - lsls r0, r0, #0x13 - strh r3, [r0] - bl sub_0801DB10 - bl sub_0801DB34 - ldr r0, _0801DB08 @ =0x0600C000 - movs r1, #0x20 - bl sub_0801D630 - ldr r0, _0801DB0C @ =gUnk_02034CB0 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - strh r4, [r5, #0xe] - pop {r4, r5, pc} - .align 2, 0 -_0801DAEC: .4byte gUnk_03001000 -_0801DAF0: .4byte gUnk_03003DE0 -_0801DAF4: .4byte gUnk_03000FD0 -_0801DAF8: .4byte gUnk_03000F50 -_0801DAFC: .4byte 0x040000B0 -_0801DB00: .4byte 0x0000C5FF -_0801DB04: .4byte 0x00007FFF -_0801DB08: .4byte 0x0600C000 -_0801DB0C: .4byte gUnk_02034CB0 - - thumb_func_start sub_0801DB10 -sub_0801DB10: @ 0x0801DB10 - push {r4, lr} - ldr r3, _0801DB30 @ =gUnk_03000020 - movs r1, #0xe0 - lsls r1, r1, #0x13 - movs r0, #0x80 - movs r4, #0xa8 - lsls r4, r4, #2 - adds r2, r4, #0 -_0801DB20: - strh r2, [r3] - adds r3, #8 - strh r2, [r1] - adds r1, #8 - subs r0, #1 - cmp r0, #0 - bne _0801DB20 - pop {r4, pc} - .align 2, 0 -_0801DB30: .4byte gUnk_03000020 - - thumb_func_start sub_0801DB34 -sub_0801DB34: @ 0x0801DB34 - push {r4, lr} - ldr r4, _0801DB6C @ =gUnk_03000F50 - adds r0, r4, #0 - movs r1, #0x7c - bl sub_0801D630 - ldr r0, _0801DB70 @ =gUnk_02034CB0 - str r0, [r4, #0x10] - ldr r0, _0801DB74 @ =0x00001F0C - strh r0, [r4, #8] - ldr r0, _0801DB78 @ =gUnk_02021F30 - str r0, [r4, #0x1c] - ldr r0, _0801DB7C @ =0x00001C01 - strh r0, [r4, #0x14] - ldr r0, _0801DB80 @ =gUnk_020344B0 - str r0, [r4, #0x28] - ldr r0, _0801DB84 @ =0x00001D02 - strh r0, [r4, #0x20] - ldr r0, _0801DB88 @ =gUnk_02001A40 - str r0, [r4, #0x34] - ldr r0, _0801DB8C @ =0x00001E03 - strh r0, [r4, #0x2c] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r4] - ldr r0, _0801DB90 @ =0x0000FFFF - strh r0, [r4, #6] - pop {r4, pc} - .align 2, 0 -_0801DB6C: .4byte gUnk_03000F50 -_0801DB70: .4byte gUnk_02034CB0 -_0801DB74: .4byte 0x00001F0C -_0801DB78: .4byte gUnk_02021F30 -_0801DB7C: .4byte 0x00001C01 -_0801DB80: .4byte gUnk_020344B0 -_0801DB84: .4byte 0x00001D02 -_0801DB88: .4byte gUnk_02001A40 -_0801DB8C: .4byte 0x00001E03 -_0801DB90: .4byte 0x0000FFFF - - thumb_func_start sub_0801DB94 -sub_0801DB94: @ 0x0801DB94 - ldr r0, _0801DB9C @ =gUnk_030010A0 - ldrh r0, [r0, #0x1e] - lsrs r0, r0, #0xb - bx lr - .align 2, 0 -_0801DB9C: .4byte gUnk_030010A0 - - thumb_func_start sub_0801DBA0 -sub_0801DBA0: @ 0x0801DBA0 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #4 - adds r4, r0, #0 - adds r5, r1, #0 - adds r1, r2, #0 - adds r0, r5, #0 - bl sub_0801D630 - movs r0, #1 - strb r0, [r5] - ldr r2, _0801DBE4 @ =gUnk_030010A0 - ldrh r0, [r2, #0x1c] - lsrs r0, r0, #4 - movs r1, #0x7f - ands r0, r1 - strb r0, [r5, #1] - ldrh r0, [r2, #0x1e] - lsrs r0, r0, #4 - ands r0, r1 - strb r0, [r5, #2] - adds r5, #3 - ldr r1, _0801DBE8 @ =gUnk_080C9C50 - ldr r0, _0801DBEC @ =gUnk_02033A90 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - lsls r4, r4, #2 - adds r4, r4, r0 - ldr r6, [r4] - b _0801DD3A - .align 2, 0 -_0801DBE4: .4byte gUnk_030010A0 -_0801DBE8: .4byte gUnk_080C9C50 -_0801DBEC: .4byte gUnk_02033A90 -_0801DBF0: - ldrb r0, [r6] - ldrb r1, [r6, #1] - movs r2, #3 - bl sub_0804B0FC - adds r4, r0, #0 - cmp r4, #0 - bne _0801DC04 - adds r6, #8 - b _0801DD3A -_0801DC04: - adds r0, r6, #0 - bl sub_0801DF10 - mov r8, r0 - bl sub_0805279C - movs r1, #8 - adds r1, r1, r6 - mov sb, r1 - cmp r0, #0 - beq _0801DCAE - ldrb r0, [r4] - cmp r0, #0 - beq _0801DCAE - movs r3, #0xfc - lsls r3, r3, #2 - ldr r7, _0801DC84 @ =0x000007FF -_0801DC26: - ldrb r0, [r4] - cmp r0, #3 - bgt _0801DCA6 - cmp r0, #2 - blt _0801DCA6 - ldrb r1, [r4, #1] - mov r0, r8 - str r3, [sp] - bl sub_0807CB10 - ldr r3, [sp] - cmp r0, #0 - bne _0801DCA6 - ldr r0, _0801DC88 @ =gUnk_0811E214 - ldrb r2, [r6] - lsls r2, r2, #2 - adds r2, r2, r0 - ldrb r1, [r6, #1] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, [r2] - adds r2, r1, r0 - movs r0, #2 - strb r0, [r5] - ldrb r0, [r4] - cmp r0, #2 - bne _0801DC8C - ldrh r0, [r4, #4] - lsls r0, r0, #4 - ands r0, r3 - movs r1, #8 - orrs r0, r1 - ldrh r1, [r2] - ands r1, r7 - adds r0, r0, r1 - asrs r0, r0, #4 - strb r0, [r5, #1] - ldrh r0, [r4, #4] - lsrs r0, r0, #2 - ands r0, r3 - movs r1, #8 - orrs r0, r1 - ldrh r1, [r2, #2] - ands r1, r7 - b _0801DC9E - .align 2, 0 -_0801DC84: .4byte 0x000007FF -_0801DC88: .4byte gUnk_0811E214 -_0801DC8C: - ldrh r0, [r2] - ands r0, r7 - ldrh r1, [r4, #4] - adds r0, r0, r1 - asrs r0, r0, #4 - strb r0, [r5, #1] - ldrh r0, [r2, #2] - ands r0, r7 - ldrh r1, [r4, #6] -_0801DC9E: - adds r0, r0, r1 - asrs r0, r0, #4 - strb r0, [r5, #2] - adds r5, #3 -_0801DCA6: - adds r4, #8 - ldrb r0, [r4] - cmp r0, #0 - bne _0801DC26 -_0801DCAE: - bl sub_0805279C - cmp r0, #0 - beq _0801DD16 - ldrb r1, [r6, #2] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0801DD16 - ldr r0, _0801DD4C @ =gUnk_02033A90 - ldrb r0, [r0, #3] - adds r0, #1 - bl sub_0807CC30 - cmp r0, #0 - bne _0801DD16 - ldr r0, _0801DD50 @ =gUnk_0811E214 - ldrb r2, [r6] - lsls r2, r2, #2 - adds r2, r2, r0 - ldrb r1, [r6, #1] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, [r2] - adds r2, r1, r0 - movs r0, #4 - strb r0, [r5] - ldrh r0, [r2, #4] - lsrs r0, r0, #1 - ldrh r1, [r2] - adds r0, r0, r1 - asrs r1, r0, #4 - adds r0, r1, #0 - cmp r1, #0 - bge _0801DCF8 - adds r0, #0x7f -_0801DCF8: - asrs r0, r0, #7 - lsls r0, r0, #7 - subs r0, r1, r0 - strb r0, [r5, #1] - ldrh r0, [r2, #6] - lsrs r0, r0, #1 - ldrh r2, [r2, #2] - adds r0, r0, r2 - asrs r1, r0, #4 - adds r0, r1, #0 - asrs r0, r0, #7 - lsls r0, r0, #7 - subs r0, r1, r0 - strb r0, [r5, #2] - adds r5, #3 -_0801DD16: - ldr r2, _0801DD54 @ =gUnk_030010A0 - ldrh r0, [r6] - ldrh r1, [r2, #0x16] - cmp r0, r1 - bne _0801DD38 - movs r0, #3 - strb r0, [r5] - ldrh r0, [r2, #0x18] - lsrs r0, r0, #4 - movs r1, #0x7f - ands r0, r1 - strb r0, [r5, #1] - ldrh r0, [r2, #0x1a] - lsrs r0, r0, #4 - ands r0, r1 - strb r0, [r5, #2] - adds r5, #3 -_0801DD38: - mov r6, sb -_0801DD3A: - ldrb r0, [r6] - cmp r0, #0 - beq _0801DD42 - b _0801DBF0 -_0801DD42: - add sp, #4 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801DD4C: .4byte gUnk_02033A90 -_0801DD50: .4byte gUnk_0811E214 -_0801DD54: .4byte gUnk_030010A0 - - thumb_func_start sub_0801DD58 -sub_0801DD58: @ 0x0801DD58 - ldr r2, _0801DD7C @ =gUnk_0811E214 - lsls r0, r0, #2 - adds r0, r0, r2 - lsls r2, r1, #2 - adds r2, r2, r1 - lsls r2, r2, #1 - ldr r3, [r0] - adds r3, r3, r2 - ldr r0, _0801DD80 @ =gUnk_02033A90 - ldr r1, _0801DD84 @ =0x0000085C - adds r0, r0, r1 - ldr r2, [r0] - ldrh r1, [r3] - strh r1, [r2, #4] - ldr r1, [r0] - ldrh r0, [r3, #2] - strh r0, [r1, #6] - bx lr - .align 2, 0 -_0801DD7C: .4byte gUnk_0811E214 -_0801DD80: .4byte gUnk_02033A90 -_0801DD84: .4byte 0x0000085C - - thumb_func_start sub_0801DD88 -sub_0801DD88: @ 0x0801DD88 - push {lr} - ldr r0, _0801DD98 @ =gUnk_0201AEE0 - ldr r1, _0801DD9C @ =0x06006000 - movs r2, #0x80 - lsls r2, r2, #6 - bl sub_08000E96 - pop {pc} - .align 2, 0 -_0801DD98: .4byte gUnk_0201AEE0 -_0801DD9C: .4byte 0x06006000 - - thumb_func_start sub_0801DDA0 -sub_0801DDA0: @ 0x0801DDA0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - adds r4, r0, #0 - bl sub_08052690 - cmp r0, #0 - bne _0801DDB8 - b _0801DEEA -_0801DDB8: - ldr r1, _0801DDD8 @ =gUnk_080C9C50 - ldr r0, _0801DDDC @ =gUnk_02033A90 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - lsls r0, r4, #2 - adds r0, r0, r1 - ldr r4, [r0] - ldr r0, _0801DDE0 @ =gUnk_02019EE0 - movs r1, #0x80 - lsls r1, r1, #8 - bl sub_0801D630 - b _0801DEE2 - .align 2, 0 -_0801DDD8: .4byte gUnk_080C9C50 -_0801DDDC: .4byte gUnk_02033A90 -_0801DDE0: .4byte gUnk_02019EE0 -_0801DDE4: - ldrb r0, [r4] - ldrb r1, [r4, #1] - movs r2, #3 - bl sub_0804B0FC - adds r6, r0, #0 - adds r0, r4, #0 - bl sub_0801DF10 - adds r5, r0, #0 - movs r0, #0 - str r0, [sp, #0xc] - ldrh r2, [r4] - ldr r0, _0801DE14 @ =gUnk_02032EC0 - ldrh r3, [r0, #0x20] - ldr r1, _0801DE18 @ =0x0000FFFF - ands r1, r2 - ldr r0, _0801DE18 @ =0x0000FFFF - ands r0, r3 - cmp r1, r0 - bne _0801DE1C - movs r3, #8 - b _0801DE36 - .align 2, 0 -_0801DE14: .4byte gUnk_02032EC0 -_0801DE18: .4byte 0x0000FFFF -_0801DE1C: - bl sub_080527CC - cmp r0, #0 - beq _0801DE28 - movs r0, #2 - str r0, [sp, #0xc] -_0801DE28: - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0801DF90 - cmp r0, #0 - beq _0801DE38 - movs r3, #3 -_0801DE36: - str r3, [sp, #0xc] -_0801DE38: - ldrb r1, [r4, #2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801DE46 - movs r0, #0 - str r0, [sp, #0xc] -_0801DE46: - adds r3, r4, #0 - adds r3, #8 - str r3, [sp, #0x10] - ldr r0, [sp, #0xc] - cmp r0, #0 - beq _0801DEE0 - ldr r2, _0801DEF8 @ =0x040000D4 - ldr r0, [r4, #4] - ldr r1, _0801DEFC @ =gUnk_08324AE4 - adds r0, r0, r1 - str r0, [r2] - ldr r0, _0801DF00 @ =gUnk_02019EE0 - str r0, [r2, #4] - ldr r0, _0801DF04 @ =0x84000100 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldr r0, _0801DF08 @ =gUnk_0811E214 - ldrb r2, [r4] - lsls r2, r2, #2 - adds r2, r2, r0 - ldrb r1, [r4, #1] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r2, [r2] - adds r2, r2, r0 - ldrh r0, [r2] - lsrs r0, r0, #4 - str r0, [sp] - ldrh r0, [r2, #2] - ldr r1, _0801DF0C @ =0x000007FF - ands r0, r1 - lsrs r0, r0, #4 - str r0, [sp, #4] - ldrh r0, [r2, #4] - lsrs r7, r0, #4 - ldrh r0, [r2, #6] - lsrs r0, r0, #4 - mov sl, r0 - adds r0, r7, #3 - lsrs r0, r0, #2 - str r0, [sp, #8] - movs r6, #0 - cmp r6, sl - bhs _0801DEE0 -_0801DEA0: - ldr r3, [sp, #8] - adds r1, r6, #0 - muls r1, r3, r1 - ldr r0, _0801DF00 @ =gUnk_02019EE0 - adds r1, r1, r0 - mov r8, r1 - movs r5, #0 - adds r0, r6, #1 - mov sb, r0 - cmp r5, r7 - bhs _0801DEDA -_0801DEB6: - ldr r3, [sp] - adds r4, r3, r5 - adds r0, r5, #0 - mov r1, r8 - bl sub_0801DF60 - ldr r1, [sp, #0xc] - bl sub_0801DF78 - adds r2, r0, #0 - adds r0, r4, #0 - ldr r3, [sp, #4] - adds r1, r3, r6 - bl sub_0801DF28 - adds r5, #1 - cmp r5, r7 - blo _0801DEB6 -_0801DEDA: - mov r6, sb - cmp r6, sl - blo _0801DEA0 -_0801DEE0: - ldr r4, [sp, #0x10] -_0801DEE2: - ldrb r0, [r4] - cmp r0, #0 - beq _0801DEEA - b _0801DDE4 -_0801DEEA: - add sp, #0x14 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801DEF8: .4byte 0x040000D4 -_0801DEFC: .4byte gUnk_08324AE4 -_0801DF00: .4byte gUnk_02019EE0 -_0801DF04: .4byte 0x84000100 -_0801DF08: .4byte gUnk_0811E214 -_0801DF0C: .4byte 0x000007FF - - thumb_func_start sub_0801DF10 -sub_0801DF10: @ 0x0801DF10 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #3] - cmp r0, #1 - bne _0801DF20 - movs r0, #0xc0 - lsls r0, r0, #2 - b _0801DF26 -_0801DF20: - ldrb r0, [r1] - bl sub_08052D58 -_0801DF26: - pop {pc} - - thumb_func_start sub_0801DF28 -sub_0801DF28: @ 0x0801DF28 - push {r4, lr} - lsrs r4, r1, #3 - lsls r4, r4, #4 - lsrs r3, r0, #3 - adds r4, r4, r3 - lsls r4, r4, #5 - ldr r3, _0801DF58 @ =gUnk_0201AEE0 - adds r4, r4, r3 - movs r3, #7 - ands r1, r3 - lsls r1, r1, #2 - adds r4, r4, r1 - ands r0, r3 - lsls r0, r0, #2 - lsls r2, r0 - ldr r1, _0801DF5C @ =gUnk_080C9460 - adds r0, r0, r1 - ldr r1, [r4] - ldr r0, [r0] - ands r1, r0 - orrs r1, r2 - str r1, [r4] - pop {r4, pc} - .align 2, 0 -_0801DF58: .4byte gUnk_0201AEE0 -_0801DF5C: .4byte gUnk_080C9460 - - thumb_func_start sub_0801DF60 -sub_0801DF60: @ 0x0801DF60 - adds r3, r0, #0 - lsrs r0, r3, #2 - adds r0, r0, r1 - ldrb r0, [r0] - movs r2, #3 - adds r1, r2, #0 - bics r1, r3 - lsls r1, r1, #1 - asrs r0, r1 - ands r0, r2 - bx lr - .align 2, 0 - - thumb_func_start sub_0801DF78 -sub_0801DF78: @ 0x0801DF78 - push {lr} - cmp r0, #2 - beq _0801DF88 - cmp r0, #2 - blo _0801DF8E - cmp r0, #3 - beq _0801DF8C - b _0801DF8E -_0801DF88: - adds r0, r1, #0 - b _0801DF8E -_0801DF8C: - movs r0, #7 -_0801DF8E: - pop {pc} - - thumb_func_start sub_0801DF90 -sub_0801DF90: @ 0x0801DF90 - push {lr} - adds r2, r1, #0 - cmp r0, #0 - bne _0801DFAA - b _0801DFB0 -_0801DF9A: - ldrb r1, [r0, #1] - adds r0, r2, #0 - bl sub_0807CB10 - b _0801DFB2 -_0801DFA4: - cmp r1, #1 - beq _0801DF9A - adds r0, #8 -_0801DFAA: - ldrb r1, [r0] - cmp r1, #0 - bne _0801DFA4 -_0801DFB0: - movs r0, #0 -_0801DFB2: - pop {pc} - - thumb_func_start sub_0801DFB4 -sub_0801DFB4: @ 0x0801DFB4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r4, r1, #0 - adds r5, r2, #0 - adds r6, r3, #0 - ldr r7, _0801E004 @ =gUnk_02022740 - adds r0, r7, #0 - movs r1, #0x10 - bl sub_0801D630 - strh r4, [r7, #6] - strh r5, [r7, #8] - strh r6, [r7, #0xa] - mov r0, r8 - str r0, [r7, #0xc] - ldr r0, _0801E008 @ =gUnk_03003DF0 - ldrb r0, [r0, #2] - strb r0, [r7, #3] - mov r1, r8 - cmp r1, #0 - beq _0801DFF8 - ldrb r1, [r1, #0x11] - lsls r0, r1, #0x1c - lsrs r0, r0, #0x1c - strb r0, [r7, #4] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - mov r1, r8 - strb r0, [r1, #0x11] -_0801DFF8: - movs r0, #0 - strb r0, [r7] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801E004: .4byte gUnk_02022740 -_0801E008: .4byte gUnk_03003DF0 - - thumb_func_start sub_0801E00C -sub_0801E00C: @ 0x0801E00C - push {r4, lr} - ldr r1, _0801E024 @ =gUnk_080C9CAC - ldr r4, _0801E028 @ =gUnk_02022740 - ldrb r0, [r4, #1] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldrb r0, [r4] - pop {r4, pc} - .align 2, 0 -_0801E024: .4byte gUnk_080C9CAC -_0801E028: .4byte gUnk_02022740 - - thumb_func_start sub_0801E02C -sub_0801E02C: @ 0x0801E02C - push {r4, lr} - ldr r4, _0801E040 @ =gUnk_02022740 - ldrh r0, [r4, #6] - bl sub_0801E0E0 - movs r0, #3 - strb r0, [r4] - movs r0, #1 - strb r0, [r4, #1] - pop {r4, pc} - .align 2, 0 -_0801E040: .4byte gUnk_02022740 - - thumb_func_start sub_0801E044 -sub_0801E044: @ 0x0801E044 - push {lr} - ldr r0, _0801E06C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0801E06A - movs r0, #4 - movs r1, #0 - bl sub_080A7138 - ldr r0, _0801E070 @ =gUnk_02022740 - movs r1, #4 - strb r1, [r0] - movs r1, #2 - strb r1, [r0, #1] - movs r0, #0x6b - bl sub_080A3268 -_0801E06A: - pop {pc} - .align 2, 0 -_0801E06C: .4byte gUnk_02000050 -_0801E070: .4byte gUnk_02022740 - - thumb_func_start sub_0801E074 -sub_0801E074: @ 0x0801E074 - push {lr} - ldr r0, _0801E084 @ =gUnk_02022740 - ldrb r1, [r0] - cmp r1, #5 - beq _0801E088 - cmp r1, #6 - beq _0801E08C - b _0801E098 - .align 2, 0 -_0801E084: .4byte gUnk_02022740 -_0801E088: - ldrh r0, [r0, #8] - b _0801E08E -_0801E08C: - ldrh r0, [r0, #0xa] -_0801E08E: - bl sub_0801E0E0 - ldr r1, _0801E09C @ =gUnk_02022740 - movs r0, #3 - strb r0, [r1, #1] -_0801E098: - pop {pc} - .align 2, 0 -_0801E09C: .4byte gUnk_02022740 - - thumb_func_start sub_0801E0A0 -sub_0801E0A0: @ 0x0801E0A0 - push {r4, lr} - ldr r0, _0801E0D8 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0801E0D4 - ldr r4, _0801E0DC @ =gUnk_02022740 - ldr r3, [r4, #0xc] - cmp r3, #0 - beq _0801E0C8 - ldrb r0, [r4, #4] - movs r1, #0xf - ands r1, r0 - ldrb r2, [r3, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x11] -_0801E0C8: - ldrb r0, [r4] - movs r1, #1 - cmp r0, #6 - bne _0801E0D2 - movs r1, #2 -_0801E0D2: - strb r1, [r4] -_0801E0D4: - pop {r4, pc} - .align 2, 0 -_0801E0D8: .4byte gUnk_02000050 -_0801E0DC: .4byte gUnk_02022740 - - thumb_func_start sub_0801E0E0 -sub_0801E0E0: @ 0x0801E0E0 - push {lr} - adds r2, r0, #0 - cmp r2, #0 - beq _0801E102 - ldr r0, _0801E0F8 @ =gUnk_02022740 - ldr r1, [r0, #0xc] - cmp r1, #0 - beq _0801E0FC - adds r0, r2, #0 - bl sub_08056398 - b _0801E102 - .align 2, 0 -_0801E0F8: .4byte gUnk_02022740 -_0801E0FC: - adds r0, r2, #0 - bl sub_08056378 -_0801E102: - pop {pc} - - thumb_func_start sub_0801E104 -sub_0801E104: @ 0x0801E104 - ldr r1, _0801E118 @ =gUnk_03000F50 - ldrh r2, [r1] - ldr r0, _0801E11C @ =0x00009FFF - ands r0, r2 - movs r2, #0 - strh r0, [r1] - adds r1, #0x6c - strb r2, [r1] - bx lr - .align 2, 0 -_0801E118: .4byte gUnk_03000F50 -_0801E11C: .4byte 0x00009FFF - - thumb_func_start sub_0801E120 -sub_0801E120: @ 0x0801E120 - ldr r3, _0801E14C @ =gUnk_03000F50 - ldrh r1, [r3] - movs r2, #0x80 - lsls r2, r2, #6 - adds r0, r2, #0 - movs r2, #0 - orrs r0, r1 - strh r0, [r3] - adds r1, r3, #0 - adds r1, #0x60 - ldr r0, _0801E150 @ =0x00003F37 - strh r0, [r1] - adds r1, #2 - movs r0, #0x3f - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0x58 - strh r2, [r0] - subs r1, #6 - movs r0, #0xa0 - strh r0, [r1] - bx lr - .align 2, 0 -_0801E14C: .4byte gUnk_03000F50 -_0801E150: .4byte 0x00003F37 - - thumb_func_start sub_0801E154 -sub_0801E154: @ 0x0801E154 - push {lr} - movs r1, #0 - bl sub_0801E24C - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801E160 -sub_0801E160: @ 0x0801E160 - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - adds r6, r0, #0 - mov r8, r1 - mov sb, r2 - ldr r5, _0801E1A8 @ =gUnk_03003DE4 - ldrb r1, [r5] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r4, _0801E1AC @ =gUnk_02017AA0 - adds r0, r0, r4 - movs r1, #0xa0 - lsls r1, r1, #4 - bl sub_0801D630 - adds r0, r6, #0 - mov r1, r8 - mov r2, sb - bl sub_0801E290 - ldrb r1, [r5] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - adds r0, r0, r4 - ldr r1, _0801E1B0 @ =0x04000040 - ldr r2, _0801E1B4 @ =0xA2600001 - bl sub_0805622C - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, pc} - .align 2, 0 -_0801E1A8: .4byte gUnk_03003DE4 -_0801E1AC: .4byte gUnk_02017AA0 -_0801E1B0: .4byte 0x04000040 -_0801E1B4: .4byte 0xA2600001 - - thumb_func_start sub_0801E1B8 -sub_0801E1B8: @ 0x0801E1B8 - push {r4, lr} - ldr r2, _0801E1E8 @ =gUnk_03000F50 - mov ip, r2 - ldrh r3, [r2] - movs r4, #0x80 - lsls r4, r4, #6 - adds r2, r4, #0 - movs r4, #0 - orrs r2, r3 - mov r3, ip - strh r2, [r3] - mov r2, ip - adds r2, #0x60 - strh r0, [r2] - mov r0, ip - adds r0, #0x62 - strh r1, [r0] - subs r0, #0xa - strh r4, [r0] - mov r1, ip - adds r1, #0x5c - movs r0, #0xa0 - strh r0, [r1] - pop {r4, pc} - .align 2, 0 -_0801E1E8: .4byte gUnk_03000F50 - - thumb_func_start sub_0801E1EC -sub_0801E1EC: @ 0x0801E1EC - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - mov r8, r0 - mov sb, r1 - adds r4, r2, #0 - ldr r6, _0801E23C @ =gUnk_03003DE4 - ldrb r1, [r6] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r5, _0801E240 @ =gUnk_02017AA0 - adds r0, r0, r5 - movs r1, #0xa0 - lsls r1, r1, #4 - bl sub_0801D630 - adds r0, r4, #0 - movs r1, #0 - bl sub_0801E24C - mov r0, r8 - mov r1, sb - adds r2, r4, #0 - bl sub_0801E290 - ldrb r1, [r6] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - adds r0, r0, r5 - ldr r1, _0801E244 @ =0x04000040 - ldr r2, _0801E248 @ =0xA2600001 - bl sub_0805622C - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, pc} - .align 2, 0 -_0801E23C: .4byte gUnk_03003DE4 -_0801E240: .4byte gUnk_02017AA0 -_0801E244: .4byte 0x04000040 -_0801E248: .4byte 0xA2600001 - - thumb_func_start sub_0801E24C -sub_0801E24C: @ 0x0801E24C - push {r4, r5, lr} - lsls r1, r1, #1 - ldr r2, _0801E278 @ =gUnk_02018EE0 - adds r5, r1, r2 - movs r3, #0 - adds r2, r0, #0 - lsls r4, r2, #1 - movs r0, #3 - subs r1, r0, r4 - cmp r3, r2 - bgt _0801E28E - adds r4, r4, r5 -_0801E264: - lsls r0, r3, #1 - adds r0, r0, r5 - strh r2, [r0] - strh r3, [r4] - cmp r1, #0 - bge _0801E27C - adds r1, #6 - lsls r0, r3, #2 - adds r1, r1, r0 - b _0801E288 - .align 2, 0 -_0801E278: .4byte gUnk_02018EE0 -_0801E27C: - adds r1, #0xa - subs r0, r3, r2 - lsls r0, r0, #2 - adds r1, r1, r0 - subs r4, #2 - subs r2, #1 -_0801E288: - adds r3, #1 - cmp r3, r2 - ble _0801E264 -_0801E28E: - pop {r4, r5, pc} - - thumb_func_start sub_0801E290 -sub_0801E290: @ 0x0801E290 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov ip, r0 - adds r6, r2, #0 - ldr r0, _0801E2BC @ =gUnk_03003DE4 - ldrb r0, [r0] - lsls r2, r0, #2 - adds r2, r2, r0 - lsls r2, r2, #9 - lsls r0, r1, #1 - ldr r3, _0801E2C0 @ =gUnk_02017AA0 - adds r0, r0, r3 - adds r2, r2, r0 - adds r4, r2, #0 - adds r5, r1, #0 - mov sb, r5 - ldr r0, _0801E2C4 @ =gUnk_02018EE0 - mov r8, r0 - b _0801E30A - .align 2, 0 -_0801E2BC: .4byte gUnk_03003DE4 -_0801E2C0: .4byte gUnk_02017AA0 -_0801E2C4: .4byte gUnk_02018EE0 -_0801E2C8: - mov r1, r8 - movs r3, #0 - ldrsh r0, [r1, r3] - movs r7, #2 - add r8, r7 - mov r3, ip - subs r1, r3, r0 - adds r3, r3, r0 - cmp r1, #0 - bge _0801E2DE - movs r1, #0 -_0801E2DE: - cmp r3, #0xef - ble _0801E2E4 - movs r3, #0xf0 -_0801E2E4: - mov r7, sb - lsls r0, r7, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x9f - bhi _0801E2F2 - strb r3, [r4] - strb r1, [r4, #1] -_0801E2F2: - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x9f - bhi _0801E2FE - strb r3, [r2] - strb r1, [r2, #1] -_0801E2FE: - subs r4, #2 - adds r2, #2 - movs r0, #1 - rsbs r0, r0, #0 - add sb, r0 - adds r5, #1 -_0801E30A: - adds r0, r6, #0 - subs r6, #1 - cmp r0, #0 - bne _0801E2C8 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0801E31C -sub_0801E31C: @ 0x0801E31C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x20 - str r0, [sp] - str r1, [sp, #4] - mov sl, r2 - mov sb, r3 - ldr r0, _0801E3AC @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _0801E3B0 @ =gUnk_02017AA0 - adds r0, r0, r1 - movs r1, #0xa0 - lsls r1, r1, #4 - bl sub_0801D630 - cmp sl, sb - bge _0801E3DC - movs r6, #0 - mov r8, sl - mov r7, r8 - mov r0, r8 - lsls r1, r0, #1 - movs r0, #3 - subs r5, r0, r1 - cmp r6, r8 - ble _0801E35E - b _0801E45E -_0801E35E: - mov r1, r8 - lsls r0, r1, #2 - ldr r4, _0801E3B4 @ =gUnk_02018EE0 - adds r0, r0, r4 - str r0, [sp, #0x10] - mov r1, sb - mov r0, r8 - muls r0, r1, r0 - str r0, [sp, #0x14] - movs r3, #0 -_0801E372: - adds r0, r3, #0 - mov r1, sl - str r3, [sp, #0x18] - bl Div - adds r4, r0, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - str r4, [sp, #0x1c] - ldr r0, [sp, #0x14] - mov r1, sl - bl Div - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - lsls r2, r6, #2 - ldr r4, _0801E3B4 @ =gUnk_02018EE0 - adds r1, r2, r4 - str r0, [r1] - ldr r0, [sp, #0x1c] - ldr r1, [sp, #0x10] - str r0, [r1] - ldr r3, [sp, #0x18] - cmp r5, #0 - bge _0801E3B8 - adds r0, r5, #6 - adds r5, r0, r2 - b _0801E3D2 - .align 2, 0 -_0801E3AC: .4byte gUnk_03003DE4 -_0801E3B0: .4byte gUnk_02017AA0 -_0801E3B4: .4byte gUnk_02018EE0 -_0801E3B8: - adds r1, r5, #0 - adds r1, #0xa - subs r0, r6, r7 - lsls r0, r0, #2 - adds r5, r1, r0 - ldr r4, [sp, #0x10] - subs r4, #4 - str r4, [sp, #0x10] - ldr r0, [sp, #0x14] - mov r1, sb - subs r0, r0, r1 - str r0, [sp, #0x14] - subs r7, #1 -_0801E3D2: - add r3, sb - adds r6, #1 - cmp r6, r7 - ble _0801E372 - b _0801E45E -_0801E3DC: - movs r6, #0 - mov r8, sb - mov r7, r8 - mov r4, r8 - lsls r1, r4, #1 - movs r0, #3 - subs r5, r0, r1 - cmp r6, r8 - bgt _0801E45E - lsls r0, r4, #2 - ldr r1, _0801E438 @ =gUnk_02018EE0 - adds r0, r0, r1 - str r0, [sp, #8] - mov r0, sl - mov r4, r8 - muls r4, r0, r4 - str r4, [sp, #0xc] - movs r3, #0 -_0801E400: - adds r0, r3, #0 - mov r1, sb - str r3, [sp, #0x18] - bl Div - adds r4, r0, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - str r4, [sp, #0x1c] - ldr r0, [sp, #0xc] - mov r1, sb - bl Div - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - lsls r2, r6, #2 - ldr r4, _0801E438 @ =gUnk_02018EE0 - adds r1, r2, r4 - str r0, [r1] - ldr r0, [sp, #0x1c] - ldr r1, [sp, #8] - str r0, [r1] - ldr r3, [sp, #0x18] - cmp r5, #0 - bge _0801E43C - adds r0, r5, #6 - adds r5, r0, r2 - b _0801E456 - .align 2, 0 -_0801E438: .4byte gUnk_02018EE0 -_0801E43C: - adds r1, r5, #0 - adds r1, #0xa - subs r0, r6, r7 - lsls r0, r0, #2 - adds r5, r1, r0 - ldr r4, [sp, #8] - subs r4, #4 - str r4, [sp, #8] - ldr r0, [sp, #0xc] - mov r1, sl - subs r0, r0, r1 - str r0, [sp, #0xc] - subs r7, #1 -_0801E456: - add r3, sl - adds r6, #1 - cmp r6, r7 - ble _0801E400 -_0801E45E: - ldr r0, [sp] - ldr r1, [sp, #4] - mov r2, r8 - bl sub_0801E290 - ldr r0, _0801E48C @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _0801E490 @ =gUnk_02017AA0 - adds r0, r0, r1 - ldr r1, _0801E494 @ =0x04000040 - ldr r2, _0801E498 @ =0xA2600001 - bl sub_0805622C - add sp, #0x20 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801E48C: .4byte gUnk_03003DE4 -_0801E490: .4byte gUnk_02017AA0 -_0801E494: .4byte 0x04000040 -_0801E498: .4byte 0xA2600001 - - thumb_func_start sub_0801E49C -sub_0801E49C: @ 0x0801E49C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov r8, r0 - str r1, [sp, #4] - mov sb, r2 - adds r5, r3, #0 - ldr r0, _0801E5E4 @ =0x0000FFFF - movs r2, #0xf0 - lsls r2, r2, #3 - ldr r1, _0801E5E8 @ =gUnk_02018EE0 - bl sub_0801D5EC - adds r3, r5, #0 - subs r3, #0x40 - movs r2, #0xff - ands r3, r2 - ldr r1, _0801E5EC @ =gUnk_080C9160 - adds r0, r3, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r4, #0 - ldrsh r0, [r0, r4] - mov r4, sb - muls r4, r0, r4 - adds r0, r4, #0 - asrs r0, r0, #8 - mov r4, r8 - adds r7, r4, r0 - lsls r0, r3, #1 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - mov r4, sb - muls r4, r0, r4 - adds r0, r4, #0 - asrs r0, r0, #8 - ldr r3, [sp, #4] - adds r3, r3, r0 - mov sl, r3 - adds r3, r5, #0 - adds r3, #0x68 - ands r3, r2 - adds r0, r3, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r4, #0 - ldrsh r0, [r0, r4] - mov r4, sb - muls r4, r0, r4 - adds r0, r4, #0 - asrs r0, r0, #8 - mov r4, r8 - adds r6, r4, r0 - lsls r0, r3, #1 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - mov r4, sb - muls r4, r0, r4 - adds r0, r4, #0 - asrs r0, r0, #8 - ldr r3, [sp, #4] - adds r4, r3, r0 - adds r3, r5, #0 - subs r3, #0xe8 - ands r3, r2 - adds r0, r3, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - mov r2, sb - muls r2, r0, r2 - adds r0, r2, #0 - asrs r0, r0, #8 - mov r2, r8 - adds r5, r2, r0 - lsls r0, r3, #1 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - mov r1, sb - muls r1, r0, r1 - adds r0, r1, #0 - asrs r0, r0, #8 - ldr r2, [sp, #4] - adds r2, r2, r0 - mov r8, r2 - movs r0, #0 - str r0, [sp] - adds r0, r7, #0 - mov r1, sl - adds r2, r6, #0 - adds r3, r4, #0 - bl sub_0801E64C - movs r0, #1 - str r0, [sp] - adds r0, r7, #0 - mov r1, sl - adds r2, r5, #0 - mov r3, r8 - bl sub_0801E64C - movs r0, #2 - str r0, [sp] - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r5, #0 - mov r3, r8 - bl sub_0801E64C - ldr r5, _0801E5F0 @ =gUnk_03003DE4 - ldrb r1, [r5] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r6, _0801E5F4 @ =gUnk_02017AA0 - adds r0, r0, r6 - movs r1, #0xa0 - lsls r1, r1, #4 - bl sub_0801D630 - ldr r2, _0801E5E8 @ =gUnk_02018EE0 - ldrb r1, [r5] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - adds r1, r0, r6 - movs r3, #0xa0 - mov sl, r3 -_0801E5B0: - ldr r7, [r2] - ldr r6, [r2, #4] - ldr r5, [r2, #8] - adds r2, #0xc - cmp r7, r6 - ble _0801E5C2 - adds r4, r7, #0 - adds r7, r6, #0 - adds r6, r4, #0 -_0801E5C2: - cmp r7, r5 - ble _0801E5CC - adds r4, r7, #0 - adds r7, r5, #0 - adds r5, r4, #0 -_0801E5CC: - cmp r6, r5 - ble _0801E5D6 - adds r4, r6, #0 - adds r6, r5, #0 - adds r5, r4, #0 -_0801E5D6: - movs r0, #1 - rsbs r0, r0, #0 - cmp r7, r0 - beq _0801E5F8 - strb r5, [r1] - strb r7, [r1, #1] - b _0801E60A - .align 2, 0 -_0801E5E4: .4byte 0x0000FFFF -_0801E5E8: .4byte gUnk_02018EE0 -_0801E5EC: .4byte gUnk_080C9160 -_0801E5F0: .4byte gUnk_03003DE4 -_0801E5F4: .4byte gUnk_02017AA0 -_0801E5F8: - cmp r6, r7 - beq _0801E602 - strb r5, [r1] - strb r6, [r1, #1] - b _0801E60A -_0801E602: - cmp r5, r7 - beq _0801E60A - strb r7, [r1, #1] - strb r7, [r1] -_0801E60A: - movs r4, #1 - rsbs r4, r4, #0 - add sl, r4 - adds r1, #2 - mov r0, sl - cmp r0, #0 - bgt _0801E5B0 - ldr r0, _0801E63C @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _0801E640 @ =gUnk_02017AA0 - adds r0, r0, r1 - ldr r1, _0801E644 @ =0x04000040 - ldr r2, _0801E648 @ =0xA2600001 - bl sub_0805622C - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801E63C: .4byte gUnk_03003DE4 -_0801E640: .4byte gUnk_02017AA0 -_0801E644: .4byte 0x04000040 -_0801E648: .4byte 0xA2600001 - - thumb_func_start sub_0801E64C -sub_0801E64C: @ 0x0801E64C - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r3, #0 - ldr r7, _0801E6C4 @ =gUnk_02018EE0 - cmp r4, #0 - bge _0801E65E - cmp r6, #0 - blt _0801E6C2 -_0801E65E: - cmp r4, #0x9f - ble _0801E666 - cmp r6, #0x9f - bgt _0801E6C2 -_0801E666: - cmp r4, r6 - ble _0801E676 - adds r1, r4, #0 - adds r4, r6, #0 - adds r6, r1, #0 - adds r1, r5, #0 - adds r5, r2, #0 - adds r2, r1, #0 -_0801E676: - cmp r4, r6 - beq _0801E6C2 - subs r0, r2, r5 - lsls r0, r0, #0x10 - subs r1, r6, r4 - bl Div - adds r3, r0, #0 - cmp r4, #0 - bge _0801E694 - rsbs r0, r4, #0 - muls r0, r3, r0 - asrs r0, r0, #0x10 - adds r5, r5, r0 - movs r4, #0 -_0801E694: - cmp r6, #0x9f - ble _0801E69A - movs r6, #0x9f -_0801E69A: - lsls r2, r5, #0x10 - lsls r0, r4, #1 - adds r0, r0, r4 - ldr r1, [sp, #0x14] - adds r0, r0, r1 - lsls r0, r0, #2 - adds r7, r0, r7 -_0801E6A8: - cmp r5, #0 - bge _0801E6AE - movs r5, #0 -_0801E6AE: - cmp r5, #0xf0 - ble _0801E6B4 - movs r5, #0xf0 -_0801E6B4: - str r5, [r7] - adds r2, r2, r3 - asrs r5, r2, #0x10 - adds r4, #1 - adds r7, #0xc - cmp r4, r6 - ble _0801E6A8 -_0801E6C2: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801E6C4: .4byte gUnk_02018EE0 - - thumb_func_start sub_0801E6C8 -sub_0801E6C8: @ 0x0801E6C8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - subs r0, r4, #1 - cmp r0, #0x63 - bhi _0801E722 - movs r1, #0 - ldr r5, _0801E724 @ =gUnk_02022740 - ldr r3, _0801E728 @ =gUnk_02002C01 - movs r2, #0xf1 -_0801E6DA: - adds r0, r1, r3 - ldrb r6, [r0] - cmp r4, r6 - bne _0801E6E4 - strb r2, [r0] -_0801E6E4: - adds r1, #1 - cmp r1, #0x7f - bls _0801E6DA - ldr r0, [r5, #0xc] - bl sub_08002632 - adds r1, r0, #0 - subs r0, r1, #1 - cmp r0, #0x7e - bhi _0801E70A - ldr r0, _0801E72C @ =gUnk_02002A40 - ldr r2, _0801E730 @ =0x000001C1 - adds r0, r0, r2 - adds r1, r1, r0 - ldrb r0, [r1] - cmp r0, #0xf1 - bne _0801E70A - movs r0, #0xf2 - strb r0, [r1] -_0801E70A: - movs r1, #0 - ldr r0, _0801E734 @ =gUnk_03003DF0 - movs r2, #0xf1 - adds r0, #0xb -_0801E712: - ldrb r3, [r0] - cmp r4, r3 - bne _0801E71A - strb r2, [r0] -_0801E71A: - adds r0, #0xc - adds r1, #1 - cmp r1, #0x1f - bls _0801E712 -_0801E722: - pop {r4, r5, r6, pc} - .align 2, 0 -_0801E724: .4byte gUnk_02022740 -_0801E728: .4byte gUnk_02002C01 -_0801E72C: .4byte gUnk_02002A40 -_0801E730: .4byte 0x000001C1 -_0801E734: .4byte gUnk_03003DF0 - - thumb_func_start sub_0801E738 -sub_0801E738: @ 0x0801E738 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E82C - adds r0, r4, #0 - subs r0, #0x65 - cmp r0, #0x10 - bhi _0801E790 - adds r0, r4, #0 - bl sub_0801E8B0 - adds r1, r0, #0 - cmp r1, #0 - bge _0801E76E - movs r1, #0 - ldr r0, _0801E794 @ =gUnk_02002A40 - movs r3, #0x8c - lsls r3, r3, #1 - adds r2, r0, r3 - ldrb r0, [r2] - cmp r0, #0 - beq _0801E76E -_0801E764: - adds r1, #1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, #0 - bne _0801E764 -_0801E76E: - cmp r1, #0x11 - bhi _0801E790 - ldr r2, _0801E794 @ =gUnk_02002A40 - movs r3, #0x8c - lsls r3, r3, #1 - adds r0, r2, r3 - adds r0, r1, r0 - strb r4, [r0] - adds r3, #0x13 - adds r0, r2, r3 - adds r1, r1, r0 - ldrb r0, [r1] - adds r0, #1 - cmp r0, #0x63 - ble _0801E78E - movs r0, #0x63 -_0801E78E: - strb r0, [r1] -_0801E790: - pop {r4, pc} - .align 2, 0 -_0801E794: .4byte gUnk_02002A40 - - thumb_func_start sub_0801E798 -sub_0801E798: @ 0x0801E798 - push {r4, lr} - bl sub_0801E8B0 - adds r1, r0, #0 - cmp r1, #0 - blt _0801E7C4 - ldr r2, _0801E7C8 @ =gUnk_02002A40 - ldr r3, _0801E7CC @ =0x0000012B - adds r0, r2, r3 - adds r3, r1, r0 - ldrb r0, [r3] - subs r0, #1 - cmp r0, #0 - bgt _0801E7C2 - movs r4, #0x8c - lsls r4, r4, #1 - adds r0, r2, r4 - adds r0, r1, r0 - movs r1, #0 - strb r1, [r0] - movs r0, #0 -_0801E7C2: - strb r0, [r3] -_0801E7C4: - pop {r4, pc} - .align 2, 0 -_0801E7C8: .4byte gUnk_02002A40 -_0801E7CC: .4byte 0x0000012B - - thumb_func_start sub_0801E7D0 -sub_0801E7D0: @ 0x0801E7D0 - push {lr} - bl sub_0801E8B0 - adds r1, r0, #0 - cmp r1, #0 - blt _0801E7F0 - ldr r0, _0801E7E8 @ =gUnk_02002A40 - ldr r2, _0801E7EC @ =0x0000012B - adds r0, r0, r2 - adds r0, r1, r0 - ldrb r0, [r0] - b _0801E7F2 - .align 2, 0 -_0801E7E8: .4byte gUnk_02002A40 -_0801E7EC: .4byte 0x0000012B -_0801E7F0: - movs r0, #0 -_0801E7F2: - pop {pc} - - thumb_func_start sub_0801E7F4 -sub_0801E7F4: @ 0x0801E7F4 - push {lr} - adds r1, r0, #0 - subs r0, r1, #1 - cmp r0, #0x63 - bhi _0801E80C - ldr r0, _0801E808 @ =gUnk_02002C81 - bl sub_0801D5A8 - b _0801E80E - .align 2, 0 -_0801E808: .4byte gUnk_02002C81 -_0801E80C: - movs r0, #0 -_0801E80E: - pop {pc} - - thumb_func_start sub_0801E810 -sub_0801E810: @ 0x0801E810 - push {lr} - adds r1, r0, #0 - subs r0, r1, #1 - cmp r0, #0x63 - bhi _0801E828 - ldr r0, _0801E824 @ =gUnk_02002C8E - bl sub_0801D5A8 - b _0801E82A - .align 2, 0 -_0801E824: .4byte gUnk_02002C8E -_0801E828: - movs r0, #0 -_0801E82A: - pop {pc} - - thumb_func_start sub_0801E82C -sub_0801E82C: @ 0x0801E82C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r1, _0801E8AC @ =gUnk_02002B54 - movs r5, #0 - adds r2, r1, #4 -_0801E83C: - ldrb r0, [r2, #0x13] - adds r3, r1, #4 - mov sl, r3 - cmp r0, #0 - bne _0801E848 - strb r0, [r2] -_0801E848: - adds r2, #1 - adds r5, #1 - cmp r5, #0x12 - bls _0801E83C - movs r0, #0 - strb r0, [r1, #0x16] - adds r2, r1, #0 - adds r2, #0x29 - strb r0, [r2] - movs r5, #0 - movs r0, #0x17 - adds r0, r0, r1 - mov sb, r0 - movs r3, #0x18 - adds r3, r3, r1 - mov r8, r3 - adds r7, r1, #4 - adds r6, r1, #5 -_0801E86C: - mov r1, sl - adds r0, r1, r5 - ldrb r0, [r0] - subs r0, #0x65 - cmp r0, #0x10 - bls _0801E890 - movs r4, #0x12 - subs r4, r4, r5 - adds r0, r6, #0 - adds r1, r7, #0 - adds r2, r4, #0 - bl sub_0801D66C - mov r0, r8 - mov r1, sb - adds r2, r4, #0 - bl sub_0801D66C -_0801E890: - movs r3, #1 - add sb, r3 - add r8, r3 - adds r7, #1 - adds r6, #1 - adds r5, #1 - cmp r5, #0x11 - bls _0801E86C - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801E8AC: .4byte gUnk_02002B54 - - thumb_func_start sub_0801E8B0 -sub_0801E8B0: @ 0x0801E8B0 - push {lr} - adds r2, r0, #0 - movs r1, #0 - ldr r3, _0801E8C4 @ =gUnk_02002B58 -_0801E8B8: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bne _0801E8C8 - adds r0, r1, #0 - b _0801E8D2 - .align 2, 0 -_0801E8C4: .4byte gUnk_02002B58 -_0801E8C8: - adds r1, #1 - cmp r1, #0x11 - bls _0801E8B8 - movs r0, #1 - rsbs r0, r0, #0 -_0801E8D2: - pop {pc} - - thumb_func_start sub_0801E8D4 -sub_0801E8D4: @ 0x0801E8D4 - push {r4, r5, lr} - movs r5, #0xa -_0801E8D8: - adds r0, r5, #0 - bl sub_0801E7F4 - cmp r0, #0 - beq _0801E990 - adds r0, r5, #0 - bl sub_0801E810 - cmp r0, #0 - bne _0801E990 - ldr r1, _0801E910 @ =gUnk_080C9CBC - lsls r0, r5, #3 - adds r0, r0, r1 - ldrb r1, [r0, #4] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0801E914 @ =gUnk_080FE320 - adds r2, r0, r1 - ldrh r3, [r2, #0x12] - ldrb r0, [r2, #0x10] - cmp r0, #0xa - bhi _0801E97C - lsls r0, r0, #2 - ldr r1, _0801E918 @ =_0801E91C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801E910: .4byte gUnk_080C9CBC -_0801E914: .4byte gUnk_080FE320 -_0801E918: .4byte _0801E91C -_0801E91C: @ jump table - .4byte _0801E948 @ case 0 - .4byte _0801E94C @ case 1 - .4byte _0801E950 @ case 2 - .4byte _0801E954 @ case 3 - .4byte _0801E958 @ case 4 - .4byte _0801E95C @ case 5 - .4byte _0801E962 @ case 6 - .4byte _0801E968 @ case 7 - .4byte _0801E96E @ case 8 - .4byte _0801E972 @ case 9 - .4byte _0801E978 @ case 10 -_0801E948: - movs r4, #0 - b _0801E97C -_0801E94C: - ldrb r4, [r2, #0x11] - b _0801E97C -_0801E950: - movs r4, #0xf - b _0801E97C -_0801E954: - movs r4, #0x10 - b _0801E97C -_0801E958: - movs r4, #0x11 - b _0801E97C -_0801E95C: - movs r4, #4 - movs r3, #0x83 - b _0801E97C -_0801E962: - movs r4, #4 - movs r3, #0x84 - b _0801E97C -_0801E968: - movs r4, #4 - movs r3, #0x87 - b _0801E97C -_0801E96E: - movs r4, #4 - b _0801E97A -_0801E972: - movs r4, #4 - movs r3, #0x8b - b _0801E97C -_0801E978: - movs r4, #5 -_0801E97A: - movs r3, #0x88 -_0801E97C: - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_0807CB24 - cmp r0, #0 - beq _0801E990 - ldr r0, _0801E998 @ =gUnk_02002C8E - adds r1, r5, #0 - bl sub_0801D5BC -_0801E990: - adds r5, #1 - cmp r5, #0x64 - bls _0801E8D8 - pop {r4, r5, pc} - .align 2, 0 -_0801E998: .4byte gUnk_02002C8E - - thumb_func_start sub_0801E99C -sub_0801E99C: @ 0x0801E99C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - bl sub_08002632 - mov r8, r0 - ldr r1, _0801E9E4 @ =gUnk_08001DCC - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r7, [r0] - movs r0, #0x67 - bl sub_0807CA84 - cmp r0, #0 - beq _0801EA56 - ldr r1, _0801E9E8 @ =gUnk_02002A40 - ldrb r0, [r7] - ldrb r2, [r1, #8] - cmp r0, r2 - bhi _0801EA56 - ldr r2, _0801E9EC @ =0x000001C1 - adds r0, r1, r2 - add r0, r8 - ldrb r5, [r0] - subs r2, #0x80 - adds r0, r1, r2 - add r0, r8 - ldrb r6, [r0] - adds r4, r6, r7 -_0801E9D6: - cmp r5, #0xf1 - beq _0801E9F6 - cmp r5, #0xf1 - bhi _0801E9F0 - cmp r5, #0 - beq _0801E9F6 - b _0801EA10 - .align 2, 0 -_0801E9E4: .4byte gUnk_08001DCC -_0801E9E8: .4byte gUnk_02002A40 -_0801E9EC: .4byte 0x000001C1 -_0801E9F0: - cmp r5, #0xf2 - beq _0801EA0A - b _0801EA10 -_0801E9F6: - ldrb r5, [r4, #5] - cmp r5, #0 - beq _0801EA10 - cmp r5, #0xff - beq _0801EA14 - adds r0, r5, #0 - bl sub_0801E7F4 - cmp r0, #0 - beq _0801EA10 -_0801EA0A: - adds r4, #1 - adds r6, #1 - ldrb r5, [r4, #5] -_0801EA10: - cmp r5, #0xff - bne _0801EA1C -_0801EA14: - adds r0, r7, #0 - bl sub_0801EA74 - adds r5, r0, #0 -_0801EA1C: - cmp r5, #0 - beq _0801EA32 - cmp r5, #0xf2 - beq _0801E9D6 - adds r0, r5, #0 - bl sub_0801E7F4 - cmp r0, #0 - beq _0801EA34 - movs r5, #0xf1 - b _0801E9D6 -_0801EA32: - movs r5, #0xf3 -_0801EA34: - ldr r1, _0801EA5C @ =gUnk_02002A40 - ldr r2, _0801EA60 @ =0x000001C1 - adds r0, r1, r2 - add r0, r8 - strb r5, [r0] - subs r2, #0x80 - adds r0, r1, r2 - add r0, r8 - strb r6, [r0] - bl sub_08000E50 - ldrb r4, [r7, #1] - movs r1, #0x64 - bl __modsi3 - cmp r4, r0 - bhi _0801EA64 -_0801EA56: - movs r0, #0 - b _0801EA6E - .align 2, 0 -_0801EA5C: .4byte gUnk_02002A40 -_0801EA60: .4byte 0x000001C1 -_0801EA64: - subs r0, r5, #1 - cmp r0, #0x63 - bls _0801EA6C - movs r5, #0 -_0801EA6C: - adds r0, r5, #0 -_0801EA6E: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0801EA74 -sub_0801EA74: @ 0x0801EA74 - push {r4, r5, r6, lr} - bl sub_08000E50 - movs r1, #0x12 - bl __modsi3 - adds r5, r0, #0 - movs r6, #0 -_0801EA84: - ldr r0, _0801EA98 @ =gUnk_080CA11C - adds r0, r5, r0 - ldrb r4, [r0] - adds r0, r4, #0 - bl sub_0801E7F4 - cmp r0, #0 - bne _0801EA9C - adds r0, r4, #0 - b _0801EAAE - .align 2, 0 -_0801EA98: .4byte gUnk_080CA11C -_0801EA9C: - adds r0, r5, #1 - movs r1, #0x12 - bl __modsi3 - adds r5, r0, #0 - adds r6, #1 - cmp r6, #0x11 - bls _0801EA84 - movs r0, #0xf2 -_0801EAAE: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0801EAB0 -sub_0801EAB0: @ 0x0801EAB0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0801EACC @ =gUnk_080CA130 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_0801EACC: .4byte gUnk_080CA130 - - thumb_func_start sub_0801EAD0 -sub_0801EAD0: @ 0x0801EAD0 - push {lr} - ldr r2, _0801EAE4 @ =gUnk_080CA148 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0801EAE4: .4byte gUnk_080CA148 - - thumb_func_start sub_0801EAE8 -sub_0801EAE8: @ 0x0801EAE8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0801EAFC - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0801EAFC: - ldr r1, _0801EB08 @ =gUnk_080CA130 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_0801EB08: .4byte gUnk_080CA130 - - thumb_func_start sub_0801EB0C -sub_0801EB0C: @ 0x0801EB0C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0 - bne _0801EB1E - adds r0, r1, #0 - bl sub_0804A7D4 - b _0801EB28 -_0801EB1E: - adds r0, r1, #0 - movs r1, #0xf1 - movs r2, #0 - bl sub_0804A7E0 -_0801EB28: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801EB2C -sub_0801EB2C: @ 0x0801EB2C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _0801EB50 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - bne _0801EB50 - adds r0, r4, #0 - bl sub_0801ECFC - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - b _0801EB60 -_0801EB50: - ldr r0, _0801EB64 @ =gUnk_080CA158 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0801EB60: - pop {r4, pc} - .align 2, 0 -_0801EB64: .4byte gUnk_080CA158 - - thumb_func_start sub_0801EB68 -sub_0801EB68: @ 0x0801EB68 - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_0801EB74 -sub_0801EB74: @ 0x0801EB74 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_0801EB7C -sub_0801EB7C: @ 0x0801EB7C - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_0801EB84 -sub_0801EB84: @ 0x0801EB84 - push {lr} - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #2 - bl sub_08004276 - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_3 -nullsub_3: @ 0x0801EB98 - bx lr - .align 2, 0 - - thumb_func_start sub_0801EB9C -sub_0801EB9C: @ 0x0801EB9C - push {lr} - adds r2, r0, #0 - ldrb r3, [r2, #0x10] - movs r0, #0x80 - ands r0, r3 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0801EBC0 - movs r0, #0x80 - orrs r0, r3 - strb r0, [r2, #0x10] - adds r2, #0x3a - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - b _0801EBC6 -_0801EBC0: - adds r0, r2, #0 - adds r0, #0x45 - strb r1, [r0] -_0801EBC6: - pop {pc} - - thumb_func_start sub_0801EBC8 -sub_0801EBC8: @ 0x0801EBC8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _0801EBDE - bl sub_08000E50 - movs r1, #3 - ands r0, r1 -_0801EBDE: - strb r0, [r4, #0x14] - movs r0, #0x12 - strb r0, [r4, #0x1c] - adds r0, r4, #0 - bl sub_0801ECFC - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_0801EBF4 -sub_0801EBF4: @ 0x0801EBF4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801EC1E - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _0801EC28 @ =gUnk_080CA170 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0801ED14 -_0801EC1E: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_0801EC28: .4byte gUnk_080CA170 - - thumb_func_start sub_0801EC2C -sub_0801EC2C: @ 0x0801EC2C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080AEF88 - adds r0, r5, #0 - bl sub_08004274 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801EC7E - adds r0, r5, #0 - bl sub_0801EDEC - cmp r0, #0 - beq _0801EC78 - ldr r1, _0801EC74 @ =gUnk_080CA174 - ldrb r0, [r5, #0xa] - adds r0, r0, r1 - ldrb r4, [r0] - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - cmp r4, r0 - bhi _0801EC78 - strb r1, [r5, #0xc] - ldrb r1, [r5, #0x14] - adds r1, #4 - adds r0, r5, #0 - bl sub_08004260 - b _0801EC7E - .align 2, 0 -_0801EC74: .4byte gUnk_080CA174 -_0801EC78: - adds r0, r5, #0 - bl sub_0801ECFC -_0801EC7E: - pop {r4, r5, pc} - - thumb_func_start sub_0801EC80 -sub_0801EC80: @ 0x0801EC80 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801ECD8 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0804A98C - adds r2, r0, #0 - cmp r2, #0 - beq _0801ECD8 - ldrb r0, [r4, #0x15] - strb r0, [r2, #0x15] - ldrb r1, [r4, #0x15] - lsrs r1, r1, #2 - ldr r0, _0801ECF0 @ =gUnk_080CA176 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r3, [r2, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldr r0, _0801ECF4 @ =0x0000FFFD - strh r0, [r2, #0x36] - ldrb r1, [r5] - movs r0, #0xfe - ands r0, r1 - strb r0, [r5] - ldr r0, _0801ECF8 @ =0x0000018D - bl sub_08004488 -_0801ECD8: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801ECEC - adds r0, r4, #0 - bl sub_0801ECFC -_0801ECEC: - pop {r4, r5, pc} - .align 2, 0 -_0801ECF0: .4byte gUnk_080CA176 -_0801ECF4: .4byte 0x0000FFFD -_0801ECF8: .4byte 0x0000018D - - thumb_func_start sub_0801ECFC -sub_0801ECFC: @ 0x0801ECFC - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x38 - ands r0, r1 - adds r0, #0x18 - strb r0, [r4, #0xe] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801ED14 -sub_0801ED14: @ 0x0801ED14 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #2 - beq _0801ED7E - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0801ED4C - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _0801ED46 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - bne _0801ED46 - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801EDC4 -_0801ED46: - bl sub_08000E50 - b _0801EDD0 -_0801ED4C: - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _0801ED78 - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _0801ED74 @ =gUnk_080CA17E - movs r1, #1 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - b _0801EDD0 - .align 2, 0 -_0801ED74: .4byte gUnk_080CA17E -_0801ED78: - bl sub_08000E50 - b _0801EDD0 -_0801ED7E: - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801EDC4 - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0801ED9A - bl sub_08000E50 - b _0801EDD0 -_0801ED9A: - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _0801EDC4 - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _0801EDC0 @ =gUnk_080CA17E - movs r1, #1 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - b _0801EDD0 - .align 2, 0 -_0801EDC0: .4byte gUnk_080CA17E -_0801EDC4: - ldr r0, _0801EDE8 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r5, #0 - bl sub_080045C4 - adds r0, #4 -_0801EDD0: - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] - ldrb r0, [r5, #0x15] - lsrs r0, r0, #3 - strb r0, [r5, #0x14] - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl sub_08004260 - pop {r4, r5, pc} - .align 2, 0 -_0801EDE8: .4byte gUnk_020000B0 - - thumb_func_start sub_0801EDEC -sub_0801EDEC: @ 0x0801EDEC - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r1, r0, #0 - cmp r1, #0 - beq _0801EE12 - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - ldrb r4, [r4, #0x15] - cmp r0, r4 - bne _0801EE12 - movs r0, #1 - b _0801EE14 -_0801EE12: - movs r0, #0 -_0801EE14: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801EE18 -sub_0801EE18: @ 0x0801EE18 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - adds r4, r0, #0 - cmp r4, #0 - beq _0801EE9E - cmp r4, #2 - beq _0801EE40 - ldr r0, _0801EE3C @ =gUnk_080012C8 - lsls r1, r4, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _0801EEE0 - .align 2, 0 -_0801EE3C: .4byte gUnk_080012C8 -_0801EE40: - adds r2, r5, #0 - adds r2, #0x3a - ldrb r1, [r2] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r4, r0 - beq _0801EE9E - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _0801EE9E - cmp r0, #1 - bgt _0801EE66 - cmp r0, #0 - beq _0801EE6C - b _0801EE9E -_0801EE66: - cmp r0, #2 - beq _0801EE96 - b _0801EE9E -_0801EE6C: - ldrb r1, [r5, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801EE9E - movs r0, #6 - strb r0, [r5, #0xc] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - movs r0, #0x20 - strh r0, [r5, #0x24] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] - adds r0, r5, #0 - movs r1, #5 - bl sub_08004260 - b _0801EE9E -_0801EE96: - adds r0, r5, #0 - bl sub_080043A8 - b _0801EEE0 -_0801EE9E: - adds r0, r5, #0 - adds r0, #0x81 - strb r4, [r0] - ldr r4, _0801EED0 @ =gUnk_080CA21C - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - ldr r0, [r5, #0x68] - ldrb r0, [r0, #0xa] - cmp r0, #0x1c - bne _0801EED4 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - b _0801EEE0 - .align 2, 0 -_0801EED0: .4byte gUnk_080CA21C -_0801EED4: - ldrb r0, [r5, #0xa] - cmp r0, #2 - bne _0801EEE0 - adds r0, r5, #0 - bl sub_0801FB34 -_0801EEE0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0801EEE4 -sub_0801EEE4: @ 0x0801EEE4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0801EF0C - cmp r0, #1 - bgt _0801EEF8 - cmp r0, #0 - beq _0801EEFE - b _0801EF38 -_0801EEF8: - cmp r0, #2 - beq _0801EF28 - b _0801EF38 -_0801EEFE: - adds r0, r4, #0 - bl sub_0801F3AC - ldr r0, _0801EF08 @ =gUnk_080CA234 - b _0801EF14 - .align 2, 0 -_0801EF08: .4byte gUnk_080CA234 -_0801EF0C: - adds r0, r4, #0 - bl sub_0801F764 - ldr r0, _0801EF24 @ =gUnk_080CA25C -_0801EF14: - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0801EF38 - .align 2, 0 -_0801EF24: .4byte gUnk_080CA25C -_0801EF28: - ldr r0, _0801EF3C @ =gUnk_080CA288 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0801EF38: - pop {r4, pc} - .align 2, 0 -_0801EF3C: .4byte gUnk_080CA288 - - thumb_func_start sub_0801EF40 -sub_0801EF40: @ 0x0801EF40 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bne _0801EF68 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x8e - beq _0801EF58 - cmp r0, #0x95 - bne _0801EF68 -_0801EF58: - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - movs r0, #0 - strb r1, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x45 - strb r0, [r1] -_0801EF68: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r6, [r0] - adds r7, r0, #0 - cmp r6, #0 - beq _0801EFB0 - subs r0, #4 - ldrb r0, [r0] - cmp r0, #0x94 - bne _0801EF94 - adds r0, r4, #0 - bl sub_0801FB68 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _0801EFC0 -_0801EF94: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, r6 - beq _0801EFC4 - adds r0, r4, #0 - bl sub_0801FB68 - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _0801EFC4 -_0801EFB0: - adds r0, r4, #0 - bl sub_0804AA1C - str r6, [r4, #0x20] - adds r0, r4, #0 - movs r1, #9 - bl sub_08004260 -_0801EFC0: - adds r5, r4, #0 - adds r5, #0x80 -_0801EFC4: - ldrb r0, [r7] - strb r0, [r5] - ldr r1, _0801EFD4 @ =gUnk_080CA21C - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801EFD4: .4byte gUnk_080CA21C - - thumb_func_start sub_0801EFD8 -sub_0801EFD8: @ 0x0801EFD8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - bne _0801F000 - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0801F000 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _0801F028 -_0801F000: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #8 - beq _0801F018 - adds r0, r4, #0 - bl sub_0801FB68 - adds r0, r4, #0 - movs r1, #8 - bl sub_08004260 -_0801F018: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_08004274 -_0801F028: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F02C -sub_0801F02C: @ 0x0801F02C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #6 - bne _0801F03E - adds r0, r4, #0 - bl sub_08004274 -_0801F03E: - adds r0, r4, #0 - bl sub_08001318 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F048 -sub_0801F048: @ 0x0801F048 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0801F068 - adds r0, r4, #0 - bl sub_0804A7D4 - b _0801F082 -_0801F068: - cmp r0, #1 - bne _0801F078 - adds r0, r4, #0 - movs r1, #0xf2 - movs r2, #0 - bl sub_0804A7E0 - b _0801F082 -_0801F078: - adds r0, r4, #0 - movs r1, #0xf1 - movs r2, #0 - bl sub_0804A7E0 -_0801F082: - pop {r4, pc} - - thumb_func_start sub_0801F084 -sub_0801F084: @ 0x0801F084 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0801F09A - adds r0, r4, #0 - bl sub_08004274 -_0801F09A: - adds r0, r4, #0 - bl sub_08001242 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F0A4 -sub_0801F0A4: @ 0x0801F0A4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3b - strb r1, [r0] - adds r4, #0x82 - strb r2, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_4 -nullsub_4: @ 0x0801F0C4 - bx lr - .align 2, 0 - - thumb_func_start sub_0801F0C8 -sub_0801F0C8: @ 0x0801F0C8 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08004274 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F12A - movs r4, #3 - movs r0, #3 - strb r0, [r5, #0xc] - bl sub_08000E50 - ands r0, r4 - adds r0, #0xc - strb r0, [r5, #0xe] - bl sub_08000E50 - strb r0, [r5, #0xf] - adds r0, r5, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r5, #0x15] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - movs r1, #2 - bl sub_08004260 -_0801F12A: - pop {r4, r5, pc} - - thumb_func_start sub_0801F12C -sub_0801F12C: @ 0x0801F12C - push {r4, lr} - adds r4, r0, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F140 - adds r0, r4, #0 - bl sub_0801F328 - b _0801F1AC -_0801F140: - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0801F158 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_0801F158: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F1AC - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x38 - bl sub_08049F64 - cmp r0, #0 - beq _0801F18A - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801FBE4 - b _0801F1AC -_0801F18A: - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _0801F1A6 - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - adds r0, #0xc - strb r0, [r4, #0xe] - b _0801F1AC -_0801F1A6: - adds r0, r4, #0 - bl sub_0801F328 -_0801F1AC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F1B0 -sub_0801F1B0: @ 0x0801F1B0 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0801F1FA - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801F1DE - movs r0, #1 - eors r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5a - strb r0, [r1] - adds r0, #0xd1 - bl sub_08004488 -_0801F1DE: - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0801F200 - adds r0, r4, #0 - bl sub_08004274 - b _0801F200 -_0801F1FA: - adds r0, r4, #0 - bl sub_08004274 -_0801F200: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F226 - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F220 - adds r0, r4, #0 - bl sub_0801F328 - b _0801F226 -_0801F220: - adds r0, r4, #0 - bl sub_0801F340 -_0801F226: - pop {r4, pc} - - thumb_func_start sub_0801F228 -sub_0801F228: @ 0x0801F228 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F246 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_0801F246: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F250 -sub_0801F250: @ 0x0801F250 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F26C - adds r0, r4, #0 - bl sub_0801F360 -_0801F26C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F270 -sub_0801F270: @ 0x0801F270 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0801F28C - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_0801F28C: - adds r0, r4, #0 - bl sub_080AF160 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - bne _0801F2CA - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F2CA - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - bne _0801F2C6 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - b _0801F2CA -_0801F2C6: - movs r0, #8 - strb r0, [r4, #0xe] -_0801F2CA: - pop {r4, pc} - - thumb_func_start sub_0801F2CC -sub_0801F2CC: @ 0x0801F2CC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F2F6 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 -_0801F2F6: - pop {r4, pc} - - thumb_func_start sub_0801F2F8 -sub_0801F2F8: @ 0x0801F2F8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F324 - adds r0, r4, #0 - bl sub_0801F340 - adds r0, r4, #0 - bl sub_0804AA1C -_0801F324: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F328 -sub_0801F328: @ 0x0801F328 - push {lr} - movs r1, #6 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #5 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801F340 -sub_0801F340: @ 0x0801F340 - push {lr} - movs r1, #5 - strb r1, [r0, #0xc] - movs r1, #0x3c - strb r1, [r0, #0xe] - movs r1, #0x20 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x3f - movs r1, #0x5c - strb r1, [r2] - movs r1, #2 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801F360 -sub_0801F360: @ 0x0801F360 - push {r4, lr} - adds r4, r0, #0 - movs r0, #7 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x38 - ands r0, r1 - adds r0, #0xb4 - strb r0, [r4, #0xe] - bl sub_08000E50 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - movs r1, #8 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F3AC -sub_0801F3AC: @ 0x0801F3AC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #9 - beq _0801F426 - cmp r0, #0 - beq _0801F426 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0801F408 - adds r5, r4, #0 - adds r5, #0x82 - ldrb r0, [r5] - cmp r0, #0 - bne _0801F3DE - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _0801F400 -_0801F3DE: - ldrb r2, [r4, #0xc] - cmp r2, #1 - bne _0801F426 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r2, [r5] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _0801F426 -_0801F400: - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _0801F426 - b _0801F40E -_0801F408: - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _0801F416 -_0801F40E: - adds r0, r4, #0 - bl sub_0801F328 - b _0801F426 -_0801F416: - cmp r0, #7 - bne _0801F426 - movs r0, #8 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #7 - bl sub_08004260 -_0801F426: - pop {r4, r5, pc} - - thumb_func_start sub_0801F428 -sub_0801F428: @ 0x0801F428 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0804A720 - movs r4, #0 - movs r0, #1 - strb r0, [r5, #0xc] - bl sub_08000E50 - strb r0, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3b - strb r1, [r0] - adds r0, #2 - strb r4, [r0] - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _0801F488 - movs r0, #3 - strb r0, [r5, #0xc] - movs r0, #0x1e - strb r0, [r5, #0xf] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r0, r5, #0 - movs r1, #2 - bl sub_08004260 -_0801F488: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0801F48C -sub_0801F48C: @ 0x0801F48C - push {lr} - bl sub_08004274 - pop {pc} - - thumb_func_start sub_0801F494 -sub_0801F494: @ 0x0801F494 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F4E8 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_0801F4E8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F4EC -sub_0801F4EC: @ 0x0801F4EC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F504 - movs r0, #4 - strb r0, [r4, #0xc] -_0801F504: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F508 -sub_0801F508: @ 0x0801F508 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F51C - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0 - b _0801F55C -_0801F51C: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - adds r5, r0, #0 - ands r5, r1 - movs r0, #7 - ands r5, r0 - cmp r5, #0 - bne _0801F566 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x38 - bl sub_08049F64 - cmp r0, #0 - beq _0801F566 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0801F556 - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801FBE4 - b _0801F580 -_0801F556: - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0x78 -_0801F55C: - strb r0, [r1] - adds r0, r4, #0 - bl sub_0801F730 - b _0801F580 -_0801F566: - cmp r5, #4 - bne _0801F574 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_0801F574: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 -_0801F580: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0801F584 -sub_0801F584: @ 0x0801F584 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0801F5CE - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801F5B2 - movs r0, #1 - eors r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5b - strb r0, [r1] - adds r0, #0xd0 - bl sub_08004488 -_0801F5B2: - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0801F5D4 - adds r0, r4, #0 - bl sub_08004274 - b _0801F5D4 -_0801F5CE: - adds r0, r4, #0 - bl sub_08004274 -_0801F5D4: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F618 - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F5FC - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0801F730 - b _0801F618 -_0801F5FC: - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_0801F618: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F61C -sub_0801F61C: @ 0x0801F61C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xf] - subs r0, #1 - strb r0, [r1, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F630 - movs r0, #4 - strb r0, [r1, #0xc] -_0801F630: - adds r0, r1, #0 - bl sub_08004274 - pop {pc} - - thumb_func_start sub_0801F638 -sub_0801F638: @ 0x0801F638 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F684 - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - movs r1, #8 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0801F684: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F688 -sub_0801F688: @ 0x0801F688 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x83 - ldrb r0, [r5] - cmp r0, #0 - beq _0801F69A - subs r0, #1 - strb r0, [r5] -_0801F69A: - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - bne _0801F6AA - ldrb r0, [r5] - cmp r0, #0 - beq _0801F6C2 -_0801F6AA: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AF160 - adds r0, r4, #0 - bl sub_08004274 - b _0801F6C8 -_0801F6C2: - adds r0, r4, #0 - bl sub_0801F748 -_0801F6C8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0801F6CC -sub_0801F6CC: @ 0x0801F6CC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F6F6 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 -_0801F6F6: - pop {r4, pc} - - thumb_func_start sub_0801F6F8 -sub_0801F6F8: @ 0x0801F6F8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F72E - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0804AA1C - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_0801F72E: - pop {r4, pc} - - thumb_func_start sub_0801F730 -sub_0801F730: @ 0x0801F730 - push {lr} - movs r1, #7 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #5 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801F748 -sub_0801F748: @ 0x0801F748 - push {lr} - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #6 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - movs r1, #4 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801F764 -sub_0801F764: @ 0x0801F764 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0xa - beq _0801F7D6 - cmp r0, #0 - beq _0801F7D6 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0801F7B8 - ldrb r6, [r4, #0xc] - cmp r6, #1 - bne _0801F7D6 - adds r5, r4, #0 - adds r5, #0x82 - ldrb r0, [r5] - cmp r0, #0 - bne _0801F79C - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _0801F7D6 -_0801F79C: - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r6, [r5] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _0801F7D6 -_0801F7B8: - ldrb r0, [r4, #0xc] - cmp r0, #4 - bne _0801F7C6 - adds r0, r4, #0 - bl sub_0801F730 - b _0801F7D6 -_0801F7C6: - cmp r0, #8 - bne _0801F7D6 - movs r0, #9 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #7 - bl sub_08004260 -_0801F7D6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0801F7D8 -sub_0801F7D8: @ 0x0801F7D8 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r5, #0 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3b - strb r1, [r0] - adds r4, #0x82 - strb r5, [r4] - pop {r4, r5, pc} - - thumb_func_start sub_0801F7FC -sub_0801F7FC: @ 0x0801F7FC - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0801F83E - adds r5, r4, #0 - adds r5, #0x82 - ldrb r0, [r5] - cmp r0, #0 - bne _0801F822 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _0801F83E -_0801F822: - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #1 - strb r0, [r5] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0801F83E: - pop {r4, r5, pc} - - thumb_func_start sub_0801F840 -sub_0801F840: @ 0x0801F840 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F880 - adds r0, r4, #0 - bl sub_0801FB14 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] -_0801F880: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F884 -sub_0801F884: @ 0x0801F884 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0801F898 - subs r0, #1 - strb r0, [r4, #0xf] - b _0801F8BC -_0801F898: - adds r0, r4, #0 - movs r1, #0x1b - bl sub_0804A9FC - adds r1, r0, #0 - cmp r1, #0 - beq _0801F8BC - movs r0, #0x40 - strb r0, [r1, #0xb] - movs r0, #4 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0xa5 - strb r0, [r1] - adds r0, #0xee - bl sub_08004488 -_0801F8BC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801F8C0 -sub_0801F8C0: @ 0x0801F8C0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F8D4 - adds r0, r4, #0 - bl sub_0801FAE0 - b _0801F938 -_0801F8D4: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801F8E8 - adds r0, r4, #0 - bl sub_0801F730 - b _0801F938 -_0801F8E8: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - adds r5, r0, #0 - ands r5, r1 - movs r0, #7 - ands r5, r0 - cmp r5, #0 - bne _0801F91C - ldr r0, _0801F918 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x38 - bl sub_08049F1C - cmp r0, #0 - beq _0801F91C - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801FBE4 - b _0801F938 - .align 2, 0 -_0801F918: .4byte gUnk_020000B0 -_0801F91C: - cmp r5, #4 - bne _0801F92C - ldr r0, _0801F93C @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] -_0801F92C: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 -_0801F938: - pop {r4, r5, pc} - .align 2, 0 -_0801F93C: .4byte gUnk_020000B0 - - thumb_func_start sub_0801F940 -sub_0801F940: @ 0x0801F940 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0801F988 - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801F966 - movs r0, #1 - eors r0, r1 - strb r0, [r2] - ldr r0, _0801F984 @ =0x0000012B - bl sub_08004488 -_0801F966: - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0801F98E - adds r0, r4, #0 - bl sub_08004274 - b _0801F98E - .align 2, 0 -_0801F984: .4byte 0x0000012B -_0801F988: - adds r0, r4, #0 - bl sub_08004274 -_0801F98E: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801F9C2 - adds r0, r4, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801F9AE - adds r0, r4, #0 - bl sub_0801FAE0 - b _0801F9C2 -_0801F9AE: - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_0801F9C2: - pop {r4, pc} - - thumb_func_start sub_0801F9C4 -sub_0801F9C4: @ 0x0801F9C4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xf] - subs r0, #1 - strb r0, [r1, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801F9D8 - movs r0, #4 - strb r0, [r1, #0xc] -_0801F9D8: - adds r0, r1, #0 - bl sub_08004274 - pop {pc} - - thumb_func_start sub_0801F9E0 -sub_0801F9E0: @ 0x0801F9E0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801FA2C - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - movs r1, #8 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0801FA2C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FA30 -sub_0801FA30: @ 0x0801FA30 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801FBD0 - cmp r0, #0 - beq _0801FA54 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AF160 - adds r0, r4, #0 - bl sub_08004274 - b _0801FA74 -_0801FA54: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801FA6E - movs r0, #9 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #7 - bl sub_08004260 - b _0801FA74 -_0801FA6E: - adds r0, r4, #0 - bl sub_0801FAF8 -_0801FA74: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FA78 -sub_0801FA78: @ 0x0801FA78 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801FAA8 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0804AA1C -_0801FAA8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FAAC -sub_0801FAAC: @ 0x0801FAAC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801FADC - adds r0, r4, #0 - bl sub_0801FB14 - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0804AA1C -_0801FADC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FAE0 -sub_0801FAE0: @ 0x0801FAE0 - push {lr} - movs r1, #7 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #5 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801FAF8 -sub_0801FAF8: @ 0x0801FAF8 - push {lr} - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #6 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - movs r1, #4 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801FB14 -sub_0801FB14: @ 0x0801FB14 - push {r4, lr} - adds r4, r0, #0 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_0801FB34 -sub_0801FB34: @ 0x0801FB34 - push {r4, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x68] - cmp r3, #0 - beq _0801FB62 - ldr r2, _0801FB64 @ =gUnk_080CA2B4 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r0, r4, #0 - adds r1, r3, #0 - movs r3, #1 - bl sub_0806FA90 - ldr r1, [r4, #0x68] - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] -_0801FB62: - pop {r4, pc} - .align 2, 0 -_0801FB64: .4byte gUnk_080CA2B4 - - thumb_func_start sub_0801FB68 -sub_0801FB68: @ 0x0801FB68 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0801FB88 - cmp r0, #1 - bgt _0801FB7C - cmp r0, #0 - beq _0801FB82 - b _0801FBC8 -_0801FB7C: - cmp r0, #2 - beq _0801FBB6 - b _0801FBC8 -_0801FB82: - movs r0, #9 - strb r0, [r4, #0xc] - b _0801FBC8 -_0801FB88: - movs r0, #0xa - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - b _0801FBC8 -_0801FBB6: - movs r0, #0xa - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] - adds r0, r4, #0 - bl sub_0804AA1C -_0801FBC8: - movs r0, #0 - str r0, [r4, #0x20] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FBD0 -sub_0801FBD0: @ 0x0801FBD0 - push {lr} - bl sub_080002B8 - cmp r0, #0x10 - beq _0801FBDE - movs r0, #0 - b _0801FBE0 -_0801FBDE: - movs r0, #1 -_0801FBE0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801FBE4 -sub_0801FBE4: @ 0x0801FBE4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_0801FC08 -sub_0801FC08: @ 0x0801FC08 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0801FC24 @ =gUnk_080CA49C - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_0801FC24: .4byte gUnk_080CA49C - - thumb_func_start sub_0801FC28 -sub_0801FC28: @ 0x0801FC28 - push {lr} - ldr r2, _0801FC3C @ =gUnk_080CA4B4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0801FC3C: .4byte gUnk_080CA4B4 - - thumb_func_start sub_0801FC40 -sub_0801FC40: @ 0x0801FC40 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _0801FC5C - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _0801FC6E - adds r1, r4, #0 - adds r1, #0x74 - movs r0, #1 - strh r0, [r1] - b _0801FC6E -_0801FC5C: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0801FC6E - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0801FC6E: - ldr r1, _0801FC78 @ =gUnk_080CA49C - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_0801FC78: .4byte gUnk_080CA49C - - thumb_func_start sub_0801FC7C -sub_0801FC7C: @ 0x0801FC7C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0 - bne _0801FC8E - adds r0, r1, #0 - bl sub_0804A7D4 - b _0801FC98 -_0801FC8E: - adds r0, r1, #0 - movs r1, #0xf1 - movs r2, #0 - bl sub_0804A7E0 -_0801FC98: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0801FC9C -sub_0801FC9C: @ 0x0801FC9C - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - strb r0, [r4, #0xe] - pop {r4, pc} - - thumb_func_start sub_0801FCB0 -sub_0801FCB0: @ 0x0801FCB0 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0801FD28 - bl sub_08000E50 - movs r1, #0x1f - ands r1, r0 - adds r0, r5, #0 - bl sub_0801FE68 - cmp r0, #0 - beq _0801FD1C - movs r0, #2 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - ldr r0, _0801FD14 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r5, #0 - bl sub_080045C4 - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _0801FD18 @ =gUnk_080CA4C8 - movs r1, #1 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r5, #0 - bl sub_08016A04 - b _0801FD28 - .align 2, 0 -_0801FD14: .4byte gUnk_020000B0 -_0801FD18: .4byte gUnk_080CA4C8 -_0801FD1C: - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - adds r0, #8 - strb r0, [r5, #0xe] -_0801FD28: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0801FD2C -sub_0801FD2C: @ 0x0801FD2C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801FD66 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0801FD54 - adds r1, r4, #0 - adds r1, #0x74 - movs r0, #0xb4 - b _0801FD5A -_0801FD54: - adds r1, r4, #0 - adds r1, #0x74 - movs r0, #0x6e -_0801FD5A: - strh r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _0801FD7C -_0801FD66: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0801FD7C - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_0801FD7C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FD80 -sub_0801FD80: @ 0x0801FD80 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801FED4 - adds r0, r4, #0 - bl sub_08004274 - adds r1, r4, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0801FDB2 - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0801FDB2: - pop {r4, pc} - - thumb_func_start sub_0801FDB4 -sub_0801FDB4: @ 0x0801FDB4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801FED4 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801FDE0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0xf4 - ands r0, r1 - strb r0, [r4, #0x18] -_0801FDE0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0801FDE4 -sub_0801FDE4: @ 0x0801FDE4 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r4, r1, #0 - adds r5, r2, #0 - ldr r7, _0801FE04 @ =gUnk_020000B0 - ldr r0, [r7] - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080002D4 - cmp r0, #0 - beq _0801FE34 - b _0801FE5C - .align 2, 0 -_0801FE04: .4byte gUnk_020000B0 -_0801FE08: - movs r0, #0x10 - rsbs r0, r0, #0 - adds r1, r0, #0 - ands r4, r1 - adds r0, r4, #0 - adds r0, #8 - strh r0, [r6, #0x2e] - ands r5, r1 - adds r0, r5, #0 - adds r0, #8 - strh r0, [r6, #0x32] - ldr r0, _0801FE30 @ =gUnk_020000B0 - ldr r0, [r0] - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r6, #0 - adds r0, #0x38 - strb r1, [r0] - movs r0, #1 - b _0801FE5E - .align 2, 0 -_0801FE30: .4byte gUnk_020000B0 -_0801FE34: - ldr r0, [r7] - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080002BC - adds r3, r0, #0 - ldr r1, _0801FE60 @ =gUnk_080CA4CA - ldrh r0, [r1] - ldr r2, _0801FE64 @ =0x0000FFFF - cmp r0, r2 - beq _0801FE5C -_0801FE4E: - ldrh r0, [r1] - adds r1, #2 - cmp r0, r3 - beq _0801FE08 - ldrh r0, [r1] - cmp r0, r2 - bne _0801FE4E -_0801FE5C: - movs r0, #0 -_0801FE5E: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801FE60: .4byte gUnk_080CA4CA -_0801FE64: .4byte 0x0000FFFF - - thumb_func_start sub_0801FE68 -sub_0801FE68: @ 0x0801FE68 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - adds r6, r1, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801FE82 -_0801FE7E: - movs r0, #0 - b _0801FEC4 -_0801FE82: - ldr r0, _0801FECC @ =gUnk_020000B0 - ldr r0, [r0] - ldr r5, [r0, #0x2c] - ldr r4, [r0, #0x30] - ldr r1, _0801FED0 @ =gUnk_080C9160 - lsls r0, r6, #4 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r0, r0, #0xb - mov sb, r0 - lsls r0, r6, #4 - adds r0, #0x80 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r0, r0, #0xb - mov r8, r0 - movs r6, #0 -_0801FEA8: - add r5, sb - mov r2, r8 - subs r4, r4, r2 - asrs r1, r5, #0x10 - asrs r2, r4, #0x10 - adds r0, r7, #0 - bl sub_0801FDE4 - cmp r0, #0 - beq _0801FE7E - adds r6, #1 - cmp r6, #7 - bls _0801FEA8 - movs r0, #1 -_0801FEC4: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801FECC: .4byte gUnk_020000B0 -_0801FED0: .4byte gUnk_080C9160 - - thumb_func_start sub_0801FED4 -sub_0801FED4: @ 0x0801FED4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0801FEEA - adds r1, r4, #0 - adds r1, #0x74 - movs r0, #1 - strh r0, [r1] -_0801FEEA: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0xf - adds r1, r2, #0 - ands r1, r0 - lsls r1, r1, #5 - strh r1, [r4, #0x24] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0801FF28 - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _0801FF4E - ldr r0, _0801FF24 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0800132C - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - b _0801FF4E - .align 2, 0 -_0801FF24: .4byte gUnk_020000B0 -_0801FF28: - adds r0, r1, #0 - adds r0, #0x40 - strh r0, [r4, #0x24] - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0801FF4E - ldr r0, _0801FF58 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0800132C - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_0801FF4E: - adds r0, r4, #0 - bl sub_080AEF88 - pop {r4, pc} - .align 2, 0 -_0801FF58: .4byte gUnk_020000B0 - - thumb_func_start sub_0801FF5C -sub_0801FF5C: @ 0x0801FF5C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0801FF84 - ldr r1, _0801FF80 @ =gUnk_080CA570 - adds r0, r4, #0 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - b _0801FF94 - .align 2, 0 -_0801FF80: .4byte gUnk_080CA570 -_0801FF84: - ldr r0, _0801FF98 @ =gUnk_080CA588 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0801FF94: - pop {r4, pc} - .align 2, 0 -_0801FF98: .4byte gUnk_080CA588 - - thumb_func_start sub_0801FF9C -sub_0801FF9C: @ 0x0801FF9C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0801FFD4 @ =gUnk_080CA590 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _0801FFD2 - ldr r2, _0801FFD8 @ =gUnk_080CA5B8 - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - movs r0, #0x30 - ands r0, r1 - lsrs r0, r0, #4 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r4, #0x36] -_0801FFD2: - pop {r4, pc} - .align 2, 0 -_0801FFD4: .4byte gUnk_080CA590 -_0801FFD8: .4byte gUnk_080CA5B8 - - thumb_func_start sub_0801FFDC -sub_0801FFDC: @ 0x0801FFDC - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x82 - ldrb r0, [r6] - cmp r0, #0 - beq _08020068 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - cmp r1, #0x94 - bne _08020018 - movs r0, #3 - movs r1, #1 - bl sub_0804AA60 - adds r5, r0, #0 - cmp r5, #0 - beq _08020010 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - ldrh r0, [r5, #0x36] - subs r0, #8 - strh r0, [r5, #0x36] -_08020010: - movs r0, #0 - strb r0, [r6] - movs r0, #2 - b _0802001E -_08020018: - cmp r1, #0x9b - bne _08020042 - movs r0, #1 -_0802001E: - strb r0, [r4, #0x14] - movs r0, #5 - strb r0, [r4, #0xc] - movs r1, #0 - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r2, r4, #0 - adds r2, #0x3d - movs r0, #0xe2 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x81 - strb r1, [r0] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - b _08020068 -_08020042: - cmp r1, #0x80 - bne _08020068 - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _08020068 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - strh r1, [r4, #0x24] - movs r0, #0xff - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0x78 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08004274 -_08020068: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802007A - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802007A: - ldr r1, _08020084 @ =gUnk_080CA570 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08020084: .4byte gUnk_080CA570 - - thumb_func_start sub_08020088 -sub_08020088: @ 0x08020088 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _0802009C - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _080200AC -_0802009C: - ldr r0, _080200B0 @ =gUnk_080CA5BC - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_080200AC: - pop {r4, pc} - .align 2, 0 -_080200B0: .4byte gUnk_080CA5BC - - thumb_func_start sub_080200B4 -sub_080200B4: @ 0x080200B4 - push {lr} - adds r2, r0, #0 - movs r1, #1 - strb r1, [r2, #0xd] - movs r0, #0x3c - strb r0, [r2, #0x1d] - ldrb r3, [r2, #0x14] - cmp r3, #0 - bne _080200E2 - strb r1, [r2, #0x14] - movs r0, #5 - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x71 - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x81 - strb r3, [r0] - ldrb r1, [r2, #0x14] - adds r0, r2, #0 - bl sub_08004260 -_080200E2: - pop {pc} - - thumb_func_start sub_080200E4 -sub_080200E4: @ 0x080200E4 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_080200EC -sub_080200EC: @ 0x080200EC - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_080200F4 -sub_080200F4: @ 0x080200F4 - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - bx lr - .align 2, 0 - - thumb_func_start nullsub_5 -nullsub_5: @ 0x08020100 - bx lr - .align 2, 0 - - thumb_func_start sub_08020104 -sub_08020104: @ 0x08020104 - push {lr} - adds r2, r0, #0 - ldrb r3, [r2, #0x10] - movs r0, #0x80 - ands r0, r3 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _08020128 - movs r0, #0x80 - orrs r0, r3 - strb r0, [r2, #0x10] - adds r2, #0x3a - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - b _0802012E -_08020128: - adds r0, r2, #0 - adds r0, #0x45 - strb r1, [r0] -_0802012E: - pop {pc} - - thumb_func_start sub_08020130 -sub_08020130: @ 0x08020130 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r5, #1 - strb r5, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xe] - bl sub_08000E50 - strb r0, [r4, #0xf] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x12 - strb r0, [r4, #0x1c] - bl sub_08000E50 - ands r0, r5 - movs r1, #0xfe - cmp r0, #0 - beq _08020162 - movs r1, #2 -_08020162: - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - adds r0, #1 - strb r5, [r0] - adds r0, #1 - strb r5, [r0] - movs r0, #0 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08020180 -sub_08020180: @ 0x08020180 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x83 - ldrb r0, [r5] - cmp r0, #0 - beq _08020192 - subs r0, #1 - strb r0, [r5] -_08020192: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080201D4 - ldrb r0, [r5] - cmp r0, #0 - bne _080201D4 - ldrb r1, [r4, #0xf] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _080201D4 - ldr r0, _0802021C @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x30 - bl sub_08049F1C - cmp r0, #0 - beq _080201D4 - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0xa0 - strh r0, [r4, #0x24] -_080201D4: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802020C - movs r0, #0x10 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08020604 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - bne _0802020C - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - movs r2, #0xfe - cmp r1, #0 - beq _08020206 - movs r2, #2 -_08020206: - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] -_0802020C: - adds r0, r4, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, r5, pc} - .align 2, 0 -_0802021C: .4byte gUnk_020000B0 - - thumb_func_start sub_08020220 -sub_08020220: @ 0x08020220 - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08020284 - ldrb r0, [r5, #0xe] - subs r1, r0, #1 - strb r1, [r5, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - beq _0802024C - lsrs r0, r0, #0x1c - movs r1, #3 - ands r0, r1 - movs r1, #4 - subs r1, r1, r0 - adds r0, r5, #0 - bl sub_08004276 - b _08020292 -_0802024C: - movs r0, #3 - strb r0, [r5, #0xc] - movs r0, #0x78 - strb r0, [r5, #0xe] - movs r0, #0xc0 - strh r0, [r5, #0x24] - ldr r0, _0802027C @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r5, #0 - bl sub_080045C4 - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _08020280 @ =gUnk_080CA5D4 - movs r1, #1 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - b _0802028A - .align 2, 0 -_0802027C: .4byte gUnk_020000B0 -_08020280: .4byte gUnk_080CA5D4 -_08020284: - adds r0, r5, #0 - bl sub_080205F8 -_0802028A: - adds r0, r5, #0 - movs r1, #4 - bl sub_08004276 -_08020292: - pop {r4, r5, pc} - - thumb_func_start sub_08020294 -sub_08020294: @ 0x08020294 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080202F8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080202B4 - adds r0, r4, #0 - bl sub_080205F8 -_080202B4: - ldrb r1, [r4, #0xe] - cmp r1, #0x3c - bls _080202E6 - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080202C8 - ldrh r0, [r4, #0x24] - adds r0, #4 - strh r0, [r4, #0x24] -_080202C8: - ldr r0, _080202F0 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _080202E6 - ldr r0, _080202F4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_080202E6: - adds r0, r4, #0 - bl sub_080AEFE0 - b _080202FE - .align 2, 0 -_080202F0: .4byte gUnk_030010A0 -_080202F4: .4byte gUnk_020000B0 -_080202F8: - adds r0, r4, #0 - bl sub_080205F8 -_080202FE: - adds r0, r4, #0 - movs r1, #4 - bl sub_08004276 - pop {r4, pc} - - thumb_func_start sub_08020308 -sub_08020308: @ 0x08020308 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _08020332 - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0x78 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08004274 - b _0802034E -_08020332: - movs r0, #1 - ands r1, r0 - cmp r1, #0 - beq _08020340 - ldrh r0, [r4, #0x24] - subs r0, #8 - strh r0, [r4, #0x24] -_08020340: - adds r0, r4, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - movs r1, #4 - bl sub_08004276 -_0802034E: - pop {r4, pc} - - thumb_func_start sub_08020350 -sub_08020350: @ 0x08020350 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x14] - cmp r0, #2 - beq _08020398 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - bne _0802037C - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - movs r0, #0xa - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x71 - strb r0, [r1] -_0802037C: - ldrb r0, [r4, #0x15] - cmp r0, #0xff - bne _0802038A - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r4, #0x15] -_0802038A: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - b _080203BE -_08020398: - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _080203BE - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x96 - strb r0, [r4, #0xe] - movs r0, #0xa - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x71 - strb r0, [r1] -_080203BE: - pop {r4, pc} - - thumb_func_start sub_080203C0 -sub_080203C0: @ 0x080203C0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080203DC - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080203DC - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_080203DC: - adds r0, r4, #0 - bl sub_0800442E - cmp r0, #0 - bne _080203F2 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020418 -_080203F2: - movs r0, #9 - strb r0, [r4, #0xc] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0804AA1C - movs r0, #5 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 -_08020418: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802041C -sub_0802041C: @ 0x0802041C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08020438 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020438 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08020438: - adds r0, r4, #0 - bl sub_0800442E - cmp r0, #0 - bne _0802044E - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020466 -_0802044E: - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0804AA1C -_08020466: - pop {r4, pc} - - thumb_func_start sub_08020468 -sub_08020468: @ 0x08020468 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080204A6 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080204A2 - movs r0, #9 - strb r0, [r4, #0xc] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #4 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - b _080204A6 -_080204A2: - movs r0, #1 - strb r0, [r4, #0xe] -_080204A6: - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080204C4 - movs r0, #0xfd - ands r0, r1 - strb r0, [r5] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_080204C4: - ldrb r1, [r5] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080204D6 - adds r0, r4, #0 - bl sub_0800442E - b _080204DC -_080204D6: - adds r0, r4, #0 - bl sub_080AEF88 -_080204DC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080204E0 -sub_080204E0: @ 0x080204E0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802051A - movs r2, #0 - movs r1, #1 - strb r1, [r4, #0xc] - adds r3, r4, #0 - adds r3, #0x3f - movs r0, #0x70 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x82 - strb r1, [r0] - subs r0, #1 - strb r1, [r0] - strb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _0802053A -_0802051A: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802052A - adds r0, r4, #0 - bl sub_0800442E - b _0802053A -_0802052A: - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_080AEF88 -_0802053A: - pop {r4, pc} - - thumb_func_start sub_0802053C -sub_0802053C: @ 0x0802053C - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - movs r0, #0x28 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x18] - movs r2, #4 - rsbs r2, r2, #0 - ands r2, r0 - orrs r2, r1 - ldrb r3, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - movs r3, #0x40 - orrs r0, r3 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r3 - strb r1, [r4, #0x1b] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r2, r0 - strb r2, [r4, #0x18] - movs r0, #0x20 - strh r0, [r4, #0x24] - bl sub_08000E50 - movs r1, #0x10 - ands r0, r1 - adds r0, #8 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_08020590 -sub_08020590: @ 0x08020590 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - movs r5, #0xff - lsls r0, r1, #0x18 - cmp r0, #0 - bne _080205AE - adds r0, r4, #0 - bl sub_0805E7BC - b _080205F2 -_080205AE: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3b - bhi _080205C8 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_080205C8: - ldr r0, [r4, #0x34] - ldr r1, _080205F4 @ =0xFFFF4000 - adds r0, r0, r1 - str r0, [r4, #0x34] - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _080205F2 - movs r0, #0x28 - strb r0, [r4, #0xf] - bl sub_08000E50 - movs r1, #0x10 - ands r0, r1 - adds r0, #8 - strb r0, [r4, #0x15] -_080205F2: - pop {r4, r5, pc} - .align 2, 0 -_080205F4: .4byte 0xFFFF4000 - - thumb_func_start sub_080205F8 -sub_080205F8: @ 0x080205F8 - movs r1, #4 - strb r1, [r0, #0xc] - movs r1, #0x3c - strb r1, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_08020604 -sub_08020604: @ 0x08020604 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08020624 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _08020624 - adds r0, r4, #0 - bl sub_08049EE4 - b _08020632 -_08020624: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x1f - ands r0, r1 -_08020632: - strb r0, [r4, #0x15] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020638 -sub_08020638: @ 0x08020638 - push {lr} - ldr r1, _08020644 @ =gUnk_080CA66C - bl sub_0800129E - pop {pc} - .align 2, 0 -_08020644: .4byte gUnk_080CA66C - - thumb_func_start sub_08020648 -sub_08020648: @ 0x08020648 - push {r4, lr} - adds r4, r0, #0 - bl sub_08020AD0 - ldr r1, _08020664 @ =gUnk_080CA684 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08020664: .4byte gUnk_080CA684 - - thumb_func_start sub_08020668 -sub_08020668: @ 0x08020668 - push {r4, r5, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x3f - ldrb r0, [r2] - cmp r0, #0x22 - bne _080206A2 - adds r1, r4, #0 - adds r1, #0x45 - ldrb r0, [r1] - cmp r0, #0xff - beq _080206A2 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #0xff - strb r0, [r4, #0x15] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - movs r0, #0x23 - strb r0, [r2] - ldrb r1, [r4, #0x14] - adds r1, #8 - adds r0, r4, #0 - bl sub_08004260 -_080206A2: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #0x80 - beq _080206D0 - ldrb r0, [r4, #0xc] - subs r0, #4 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _080206D0 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xb4 - strb r0, [r4, #0xe] - movs r0, #0xff - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_08004260 -_080206D0: - ldrb r0, [r5] - cmp r0, #0x93 - bne _080206DC - adds r0, r4, #0 - bl sub_08020648 -_080206DC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080206E0 -sub_080206E0: @ 0x080206E0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08020AD0 - cmp r0, #0 - beq _080206F6 - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - b _08020730 -_080206F6: - adds r0, r4, #0 - bl sub_08020B6C - cmp r0, #0 - beq _0802072A - adds r1, r4, #0 - adds r1, #0x42 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r5, r4, #0 - adds r5, #0x3e - ldrb r1, [r5] - adds r0, r4, #0 - movs r2, #0xa - bl sub_080AE58C - adds r0, r4, #0 - adds r0, #0x46 - ldrh r1, [r0] - ldrb r2, [r5] - adds r0, r4, #0 - movs r3, #0xa - bl sub_080AE7E8 - b _08020730 -_0802072A: - adds r0, r4, #0 - bl sub_08001324 -_08020730: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08020734 -sub_08020734: @ 0x08020734 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _08020764 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - bne _08020764 - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xff - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_08004260 - b _08020774 -_08020764: - ldr r0, _08020778 @ =gUnk_080CA6A4 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08020774: - pop {r4, pc} - .align 2, 0 -_08020778: .4byte gUnk_080CA6A4 - - thumb_func_start sub_0802077C -sub_0802077C: @ 0x0802077C - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_08020788 -sub_08020788: @ 0x08020788 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_08020790 -sub_08020790: @ 0x08020790 - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_08020798 -sub_08020798: @ 0x08020798 - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - bx lr - .align 2, 0 - - thumb_func_start nullsub_6 -nullsub_6: @ 0x080207A4 - bx lr - .align 2, 0 - - thumb_func_start sub_080207A8 -sub_080207A8: @ 0x080207A8 - push {lr} - movs r3, #4 - movs r1, #4 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - movs r1, #0x29 - adds r1, r1, r0 - mov ip, r1 - ldrb r2, [r1] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r3 - mov r2, ip - strb r1, [r2] - adds r3, r0, #0 - adds r3, #0x3a - ldrb r2, [r3] - movs r1, #0xfb - ands r1, r2 - strb r1, [r3] - ldrb r1, [r0, #0x15] - movs r2, #0x10 - eors r1, r2 - strb r1, [r0, #0x15] - movs r1, #0xc0 - lsls r1, r1, #9 - str r1, [r0, #0x20] - movs r1, #0x80 - strh r1, [r0, #0x24] - ldrb r1, [r0, #0x14] - adds r1, #0x10 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_080207F4 -sub_080207F4: @ 0x080207F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r1, #0 - movs r0, #0x30 - strb r0, [r4, #0x16] - movs r0, #0x12 - strb r0, [r4, #0x1c] - adds r0, r4, #0 - adds r0, #0x84 - strb r1, [r0] - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08020A30 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020820 -sub_08020820: @ 0x08020820 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r5, #1 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _0802084A - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _0802084A - strb r5, [r4, #0xe] -_0802084A: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08020872 - movs r0, #0xef - ands r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020872 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] -_08020872: - pop {r4, r5, pc} - - thumb_func_start sub_08020874 -sub_08020874: @ 0x08020874 - push {lr} - ldr r2, _08020888 @ =gUnk_080CA6BC - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08020888: .4byte gUnk_080CA6BC - - thumb_func_start sub_0802088C -sub_0802088C: @ 0x0802088C - movs r1, #1 - strb r1, [r0, #0xd] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - ldr r1, _080208B0 @ =gUnk_03001160 - ldrb r1, [r1, #0x14] - adds r2, r0, #0 - adds r2, #0x85 - strb r1, [r2] - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_080208B0: .4byte gUnk_03001160 - - thumb_func_start sub_080208B4 -sub_080208B4: @ 0x080208B4 - push {r4, r5, lr} - adds r2, r0, #0 - adds r4, r2, #0 - adds r4, #0x85 - ldrb r0, [r4] - ldr r5, _080208EC @ =gUnk_03001160 - ldrb r1, [r5, #0x14] - subs r0, r0, r1 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r0, #0 - beq _080208E6 - ldrb r0, [r2, #0x14] - adds r0, r0, r1 - movs r1, #3 - ands r0, r1 - strb r0, [r2, #0x14] - ldrb r1, [r2, #0x14] - adds r1, #0x10 - adds r0, r2, #0 - bl sub_08004260 -_080208E6: - ldrb r0, [r5, #0x14] - strb r0, [r4] - pop {r4, r5, pc} - .align 2, 0 -_080208EC: .4byte gUnk_03001160 - - thumb_func_start sub_080208F0 -sub_080208F0: @ 0x080208F0 - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #0x18 - orrs r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_08020904 -sub_08020904: @ 0x08020904 - push {lr} - movs r1, #4 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - movs r1, #0xff - strb r1, [r0, #0x15] - ldrb r1, [r0, #0x14] - adds r1, #0x10 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_08020920 -sub_08020920: @ 0x08020920 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020936 - adds r0, r1, #0 - bl sub_08020A30 -_08020936: - pop {pc} - - thumb_func_start sub_08020938 -sub_08020938: @ 0x08020938 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r5, #0x80 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _08020950 - adds r0, r4, #0 - bl sub_08004274 -_08020950: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - bne _08020980 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020978 - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x14] - adds r1, #0xc - adds r0, r4, #0 - bl sub_08004260 -_08020978: - adds r0, r4, #0 - bl sub_08078930 - b _0802099C -_08020980: - cmp r0, #1 - bne _0802098C - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 -_0802098C: - ldrb r1, [r4, #0x15] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _0802099C - adds r0, r4, #0 - bl sub_080AEFE0 -_0802099C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080209A0 -sub_080209A0: @ 0x080209A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080209E2 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x22 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08020A30 - ldrb r0, [r4, #0x14] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - b _080209F0 -_080209E2: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080209F0 - adds r0, r4, #0 - bl sub_08078930 -_080209F0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080209F4 -sub_080209F4: @ 0x080209F4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xe0 - lsls r1, r1, #5 - bl sub_08003FC4 - cmp r0, #0 - bne _08020A14 - movs r1, #7 - movs r0, #7 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - orrs r0, r1 - strb r0, [r2] -_08020A14: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - bne _08020A24 - adds r0, r4, #0 - bl sub_08004274 -_08020A24: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020A28 -sub_08020A28: @ 0x08020A28 - push {lr} - bl sub_08004274 - pop {pc} - - thumb_func_start sub_08020A30 -sub_08020A30: @ 0x08020A30 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x84 - ldrb r0, [r5] - cmp r0, #1 - bhi _08020A68 - bl sub_08000E50 - ldr r2, _08020A64 @ =gUnk_080CA6CC - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xe] - cmp r0, #0 - bne _08020A68 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - b _08020A7A - .align 2, 0 -_08020A64: .4byte gUnk_080CA6CC -_08020A68: - movs r0, #0 - movs r1, #1 - strb r1, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x84 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08020A7C -_08020A7A: - pop {r4, r5, pc} - - thumb_func_start sub_08020A7C -sub_08020A7C: @ 0x08020A7C - push {r4, r5, r6, lr} - adds r6, r0, #0 - bl sub_08000E50 - ldrb r5, [r6, #0x15] - ldr r4, _08020ACC @ =gUnk_080CA6D4 - movs r1, #3 - bl __modsi3 - adds r0, r0, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r5, r0 - movs r4, #0x18 - ands r5, r4 - adds r0, r6, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08020ABA - adds r0, r6, #0 - bl sub_08049EE4 - adds r0, #4 - ands r0, r4 - movs r1, #0x10 - eors r1, r5 - cmp r1, r0 - bne _08020ABA - adds r5, r1, #0 -_08020ABA: - strb r5, [r6, #0x15] - lsrs r0, r5, #3 - strb r0, [r6, #0x14] - ldrb r1, [r6, #0x14] - adds r0, r6, #0 - bl sub_08004260 - pop {r4, r5, r6, pc} - .align 2, 0 -_08020ACC: .4byte gUnk_080CA6D4 - - thumb_func_start sub_08020AD0 -sub_08020AD0: @ 0x08020AD0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08020B6C - cmp r0, #0 - beq _08020B68 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08020B68 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _08020B5C @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - adds r6, r4, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r5, #0 - bl sub_080002B0 - lsls r0, r0, #0x10 - ldr r1, _08020B60 @ =0xFF8F0000 - adds r0, r0, r1 - lsrs r0, r0, #0x10 - cmp r0, #1 - bhi _08020B68 - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrh r2, [r4, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - adds r0, #8 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - ands r1, r0 - adds r1, #0xd - strh r1, [r4, #0x32] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldrb r1, [r4, #0x14] - adds r1, #0x14 - adds r0, r4, #0 - bl sub_08004260 - ldr r0, _08020B64 @ =0x00004034 - ldrb r2, [r6] - adds r1, r5, #0 - bl sub_0800015E - movs r0, #1 - b _08020B6A - .align 2, 0 -_08020B5C: .4byte gUnk_03000BF0 -_08020B60: .4byte 0xFF8F0000 -_08020B64: .4byte 0x00004034 -_08020B68: - movs r0, #0 -_08020B6A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08020B6C -sub_08020B6C: @ 0x08020B6C - push {lr} - adds r0, #0x58 - ldrb r0, [r0] - subs r0, #0x10 - cmp r0, #3 - bls _08020B7C - movs r0, #0 - b _08020B7E -_08020B7C: - movs r0, #1 -_08020B7E: - pop {pc} - - thumb_func_start sub_08020B80 -sub_08020B80: @ 0x08020B80 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08020B9C @ =gUnk_080CAA98 - bl sub_0800129E - movs r3, #0x16 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_08020B9C: .4byte gUnk_080CAA98 - - thumb_func_start sub_08020BA0 -sub_08020BA0: @ 0x08020BA0 - push {lr} - ldr r2, _08020BB4 @ =gUnk_080CAAB0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08020BB4: .4byte gUnk_080CAAB0 - - thumb_func_start sub_08020BB8 -sub_08020BB8: @ 0x08020BB8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r2, #0x7f - adds r1, r2, #0 - ands r1, r0 - cmp r1, #0x1c - beq _08020BE0 - cmp r1, #0x1c - bgt _08020BD4 - cmp r1, #0x16 - beq _08020C24 - b _08020D32 -_08020BD4: - cmp r1, #0x4b - beq _08020C68 - cmp r1, #0x4c - bne _08020BDE - b _08020CF0 -_08020BDE: - b _08020D32 -_08020BE0: - movs r0, #0xb - strb r0, [r4, #0xc] - ldr r1, _08020C20 @ =gUnk_080CAB0C - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x51 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - movs r2, #0x10 - eors r2, r0 - adds r2, #4 - movs r0, #0x18 - ands r2, r0 - asrs r2, r2, #3 - adds r0, r4, #0 - movs r1, #8 - bl sub_08021218 - adds r0, r4, #0 - bl sub_08021588 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - b _08020CE2 - .align 2, 0 -_08020C20: .4byte gUnk_080CAB0C -_08020C24: - movs r0, #0xb - strb r0, [r4, #0xc] - ldr r1, _08020C64 @ =gUnk_080CAB10 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x51 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - movs r2, #0x10 - eors r2, r0 - adds r2, #4 - movs r0, #0x18 - ands r2, r0 - asrs r2, r2, #3 - adds r0, r4, #0 - movs r1, #8 - bl sub_08021218 - adds r0, r4, #0 - bl sub_08021588 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - b _08020CE2 - .align 2, 0 -_08020C64: .4byte gUnk_080CAB10 -_08020C68: - ldrb r0, [r4, #0xc] - adds r6, r4, #0 - adds r6, #0x45 - adds r5, r4, #0 - adds r5, #0x78 - cmp r0, #0xd - beq _08020D58 - cmp r0, #0xf - beq _08020D58 - cmp r0, #0x13 - beq _08020D58 - cmp r0, #0x12 - beq _08020D58 - adds r0, r4, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #4 - blt _08020CC0 - cmp r0, #6 - ble _08020CAC - cmp r0, #0xc - bgt _08020CC0 - cmp r0, #8 - blt _08020CC0 - ldr r0, _08020CA8 @ =gUnk_080CAB04 - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - ldrb r0, [r1] - adds r1, r4, #0 - adds r1, #0x7a - b _08020CC6 - .align 2, 0 -_08020CA8: .4byte gUnk_080CAB04 -_08020CAC: - ldr r0, _08020CBC @ =gUnk_080CAB00 - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - ldrb r0, [r1] - adds r1, r4, #0 - adds r1, #0x7a - b _08020CC6 - .align 2, 0 -_08020CBC: .4byte gUnk_080CAB00 -_08020CC0: - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0 -_08020CC6: - strb r0, [r1] - movs r0, #0xa - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0xb - bl sub_08021218 - ldr r0, _08020CEC @ =0x0000015D - bl sub_08004488 - adds r0, r4, #0 - bl sub_08021588 -_08020CE2: - adds r6, r4, #0 - adds r6, #0x45 - adds r5, r4, #0 - adds r5, #0x78 - b _08020D58 - .align 2, 0 -_08020CEC: .4byte 0x0000015D -_08020CF0: - ldrb r0, [r4, #0xc] - adds r6, r4, #0 - adds r6, #0x45 - adds r5, r4, #0 - adds r5, #0x78 - cmp r0, #0xf - bne _08020D58 - movs r1, #0xff - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _08020D0E - adds r0, #0x41 - ldrb r0, [r0] - adds r1, r2, #0 - ands r1, r0 -_08020D0E: - cmp r1, #2 - bne _08020D28 - ldr r0, _08020D24 @ =gUnk_080CAB08 - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_080213D0 - b _08020D58 - .align 2, 0 -_08020D24: .4byte gUnk_080CAB08 -_08020D28: - adds r0, r4, #0 - movs r1, #0 - bl sub_080213D0 - b _08020D58 -_08020D32: - adds r2, r4, #0 - adds r2, #0x45 - adds r0, r4, #0 - adds r0, #0x78 - ldrb r1, [r2] - adds r6, r2, #0 - adds r5, r0, #0 - ldrb r0, [r5] - cmp r1, r0 - beq _08020D58 - adds r0, r4, #0 - bl sub_08021588 - adds r0, r4, #0 - bl sub_08021390 - adds r0, r4, #0 - bl sub_0804AA1C -_08020D58: - ldrb r0, [r6] - strb r0, [r5] - ldr r1, _08020D68 @ =gUnk_080CAA98 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08020D68: .4byte gUnk_080CAA98 - - thumb_func_start nullsub_129 -nullsub_129: @ 0x08020D6C - bx lr - .align 2, 0 - - thumb_func_start sub_08020D70 -sub_08020D70: @ 0x08020D70 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x75 - strb r1, [r0] - subs r0, #0x30 - ldrb r1, [r0] - adds r0, #0x33 - strb r1, [r0] - movs r0, #0xff - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - movs r2, #2 - bl sub_08021218 - pop {r4, pc} - - thumb_func_start sub_08020D9C -sub_08020D9C: @ 0x08020D9C - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08020DB0 - adds r0, r4, #0 - bl sub_080213F0 -_08020DB0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020DB4 -sub_08020DB4: @ 0x08020DB4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020DD0 - adds r0, r4, #0 - bl sub_08021390 -_08020DD0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020DD4 -sub_08020DD4: @ 0x08020DD4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080214FC - cmp r0, #0 - beq _08020DE8 - adds r0, r4, #0 - bl sub_080213F0 - b _08020E26 -_08020DE8: - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08020E08 - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #5 - bl sub_08021218 - b _08020E26 -_08020E08: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08020E1A - adds r0, r4, #0 - bl sub_08021540 -_08020E1A: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_080042B8 -_08020E26: - pop {r4, pc} - - thumb_func_start sub_08020E28 -sub_08020E28: @ 0x08020E28 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020E44 - adds r0, r4, #0 - bl sub_080213B0 -_08020E44: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020E48 -sub_08020E48: @ 0x08020E48 - push {r4, lr} - adds r4, r0, #0 - bl sub_080214FC - cmp r0, #0 - beq _08020E5C - adds r0, r4, #0 - bl sub_080213F0 - b _08020E76 -_08020E5C: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020E76 - adds r0, r4, #0 - bl sub_080213B0 -_08020E76: - pop {r4, pc} - - thumb_func_start sub_08020E78 -sub_08020E78: @ 0x08020E78 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020E94 - adds r0, r4, #0 - bl sub_08021390 -_08020E94: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020E98 -sub_08020E98: @ 0x08020E98 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #1 - movs r2, #0x38 - bl sub_08049F64 - cmp r0, #0 - beq _08020EF6 - ldr r5, _08020EDC @ =gUnk_020000B0 - ldr r1, [r5] - adds r0, r4, #0 - bl sub_0802169C - cmp r0, #0 - bne _08020ECA - ldr r0, [r5] - adds r1, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _08020EE0 -_08020ECA: - movs r0, #8 - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #7 - bl sub_08021218 - b _08020F26 - .align 2, 0 -_08020EDC: .4byte gUnk_020000B0 -_08020EE0: - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0802124C - adds r0, r4, #0 - bl sub_08021644 - b _08020F26 -_08020EF6: - ldr r0, _08020F08 @ =gUnk_020000B0 - ldr r1, [r0] - cmp r1, #0 - bne _08020F0C - adds r0, r4, #0 - bl sub_08021414 - b _08020F26 - .align 2, 0 -_08020F08: .4byte gUnk_020000B0 -_08020F0C: - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_0802124C - adds r0, r4, #0 - bl sub_08021644 -_08020F26: - pop {r4, r5, pc} - - thumb_func_start sub_08020F28 -sub_08020F28: @ 0x08020F28 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020F44 - adds r0, r4, #0 - bl sub_08021400 -_08020F44: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08020F48 -sub_08020F48: @ 0x08020F48 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #1 - movs r2, #0x48 - bl sub_08049F64 - cmp r0, #0 - beq _08020FA4 - ldr r5, _08020F98 @ =gUnk_020000B0 - ldr r1, [r5] - adds r0, r4, #0 - bl sub_08021664 - cmp r0, #0 - beq _08020F9C - ldr r1, [r5] - adds r0, r4, #0 - movs r2, #9 - bl sub_0804A044 - adds r2, r0, #0 - cmp r2, #0xff - beq _08020F9C - movs r0, #0xe - strb r0, [r4, #0xc] - lsrs r2, r2, #3 - adds r0, r4, #0 - movs r1, #0xd - bl sub_08021218 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A98C - cmp r0, #0 - beq _08020FAA - str r4, [r0, #0x50] - str r0, [r4, #0x54] - b _08020FAA - .align 2, 0 -_08020F98: .4byte gUnk_020000B0 -_08020F9C: - adds r0, r4, #0 - bl sub_08021424 - b _08020FAA -_08020FA4: - adds r0, r4, #0 - bl sub_08021390 -_08020FAA: - pop {r4, r5, pc} - - thumb_func_start sub_08020FAC -sub_08020FAC: @ 0x08020FAC - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08020FDC - adds r1, r2, #0 - adds r1, #0x7a - ldrb r0, [r1] - cmp r0, #0 - beq _08020FCC - subs r0, #1 - strb r0, [r1] - b _08020FE2 -_08020FCC: - adds r1, r2, #0 - adds r1, #0x3d - movs r0, #0xf8 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08021390 - b _08020FE2 -_08020FDC: - adds r0, r2, #0 - bl sub_080042B8 -_08020FE2: - pop {pc} - - thumb_func_start sub_08020FE4 -sub_08020FE4: @ 0x08020FE4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802100C - movs r0, #0xc - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #9 - bl sub_08021218 - adds r0, r4, #0 - bl sub_0804AA1C -_0802100C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021010 -sub_08021010: @ 0x08021010 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021034 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x56 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080213F0 -_08021034: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021038 -sub_08021038: @ 0x08021038 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - cmp r0, #0 - bne _08021066 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - beq _08021066 - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_0804A98C - cmp r0, #0 - beq _0802105E - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_0802105E: - movs r0, #0x87 - lsls r0, r0, #1 - bl sub_08004488 -_08021066: - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021090 - adds r0, r4, #0 - bl sub_08021588 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - cmp r0, #0 - beq _08021088 - subs r0, #1 - b _080210A2 -_08021088: - adds r0, r4, #0 - bl sub_08021390 - b _080210A4 -_08021090: - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r5] - cmp r0, #4 - bne _080210A4 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x51 -_080210A2: - strb r0, [r1] -_080210A4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080210A8 -sub_080210A8: @ 0x080210A8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080210D4 - movs r0, #0 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08021588 - ldr r0, _080210D0 @ =0x0000015D - bl sub_08004488 - b _080210E2 - .align 2, 0 -_080210D0: .4byte 0x0000015D -_080210D4: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080210E2 - adds r0, r4, #0 - bl sub_08021390 -_080210E2: - pop {r4, pc} - - thumb_func_start sub_080210E4 -sub_080210E4: @ 0x080210E4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802111A - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0 - movs r2, #2 - bl sub_0804A98C - cmp r0, #0 - beq _08021112 - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_08021112: - movs r0, #0x87 - lsls r0, r0, #1 - bl sub_08004488 -_0802111A: - adds r0, r4, #0 - bl sub_08021644 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08021154 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - beq _0802114A - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _08021154 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021154 -_0802114A: - adds r0, r4, #0 - movs r1, #0 - bl sub_080213D0 - b _0802116C -_08021154: - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802116C - adds r0, r4, #0 - movs r1, #0 - bl sub_080213D0 -_0802116C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021170 -sub_08021170: @ 0x08021170 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021198 - adds r1, r2, #0 - adds r1, #0x7b - ldrb r0, [r1] - cmp r0, #0 - beq _08021190 - subs r0, #1 - strb r0, [r1] - b _0802119E -_08021190: - adds r0, r2, #0 - bl sub_08021390 - b _0802119E -_08021198: - adds r0, r2, #0 - bl sub_080042B8 -_0802119E: - pop {pc} - - thumb_func_start sub_080211A0 -sub_080211A0: @ 0x080211A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080214FC - cmp r0, #0 - beq _080211B4 - adds r0, r4, #0 - bl sub_08021390 - b _080211CE -_080211B4: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080211CE - adds r0, r4, #0 - bl sub_080213B0 -_080211CE: - pop {r4, pc} - - thumb_func_start sub_080211D0 -sub_080211D0: @ 0x080211D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0802159C - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080211F2 - adds r0, r4, #0 - bl sub_08021390 -_080211F2: - pop {r4, pc} - - thumb_func_start sub_080211F4 -sub_080211F4: @ 0x080211F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08021600 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021216 - adds r0, r4, #0 - bl sub_08021390 -_08021216: - pop {r4, pc} - - thumb_func_start sub_08021218 -sub_08021218: @ 0x08021218 - push {r4, lr} - adds r3, r0, #0 - adds r4, r3, #0 - adds r4, #0x74 - ldrb r0, [r4] - cmp r0, r1 - bne _0802122C - ldrb r0, [r3, #0x14] - cmp r0, r2 - beq _08021244 -_0802122C: - strb r2, [r3, #0x14] - strb r1, [r4] - lsls r0, r1, #1 - ldr r1, _08021248 @ =gUnk_080CAB14 - adds r0, r0, r1 - ldrb r1, [r0, #1] - strh r1, [r3, #0x12] - ldrb r1, [r0] - adds r1, r1, r2 - adds r0, r3, #0 - bl sub_080042AC -_08021244: - pop {r4, pc} - .align 2, 0 -_08021248: .4byte gUnk_080CAB14 - - thumb_func_start sub_0802124C -sub_0802124C: @ 0x0802124C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x14] - ldrb r1, [r4, #0x15] - bl sub_08021274 - adds r2, r0, #0 - cmp r2, #0xff - beq _0802126C - adds r0, r4, #0 - adds r0, #0x74 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08021218 - b _08021272 -_0802126C: - adds r0, r4, #0 - bl sub_080042B8 -_08021272: - pop {r4, pc} - - thumb_func_start sub_08021274 -sub_08021274: @ 0x08021274 - push {lr} - adds r2, r0, #0 - movs r0, #7 - ands r0, r1 - subs r0, #3 - cmp r0, #2 - bhi _0802129A - movs r3, #0x18 - adds r0, r1, #0 - ands r0, r3 - lsrs r0, r0, #3 - cmp r0, r2 - beq _080212AA - adds r0, r1, #0 - adds r0, #8 - ands r0, r3 - lsrs r0, r0, #3 - cmp r0, r2 - beq _080212AA -_0802129A: - adds r0, r1, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r1, r0, #3 - cmp r2, r1 - beq _080212AA - adds r0, r1, #0 - b _080212AC -_080212AA: - movs r0, #0xff -_080212AC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080212B0 -sub_080212B0: @ 0x080212B0 - push {r4, r5, lr} - adds r5, r0, #0 - adds r1, r5, #0 - adds r1, #0x75 - ldrb r0, [r1] - cmp r0, #1 - beq _080212D0 - cmp r0, #2 - beq _080212DC - movs r0, #1 - strb r0, [r1] - ldr r4, _080212CC @ =gUnk_080CAB3A - b _080212E2 - .align 2, 0 -_080212CC: .4byte gUnk_080CAB3A -_080212D0: - movs r0, #2 - strb r0, [r1] - ldr r4, _080212D8 @ =gUnk_080CAB42 - b _080212E2 - .align 2, 0 -_080212D8: .4byte gUnk_080CAB42 -_080212DC: - movs r0, #0 - strb r0, [r1] - ldr r4, _0802131C @ =gUnk_080CAB4A -_080212E2: - bl sub_08000E50 - movs r1, #7 - ands r1, r0 - adds r1, r1, r4 - ldrb r2, [r1] - ldrb r0, [r5, #0xa] - cmp r0, #1 - bhi _08021306 - cmp r2, #2 - bne _08021306 - ldr r4, _08021320 @ =gUnk_080CAB52 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - adds r1, r1, r4 - ldrb r2, [r1] -_08021306: - movs r0, #0 - str r0, [r5, #0x54] - ldr r1, _08021324 @ =gUnk_080CAB58 - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0802131C: .4byte gUnk_080CAB4A -_08021320: .4byte gUnk_080CAB52 -_08021324: .4byte gUnk_080CAB58 - - thumb_func_start sub_08021328 -sub_08021328: @ 0x08021328 - push {lr} - movs r1, #0xd - strb r1, [r0, #0xc] - ldr r2, _08021348 @ =gUnk_080CAB68 - ldrb r1, [r0, #0xa] - adds r1, r1, r2 - ldrb r2, [r1] - adds r1, r0, #0 - adds r1, #0x7c - strb r2, [r1] - ldrb r2, [r0, #0x14] - movs r1, #0xc - bl sub_08021218 - pop {pc} - .align 2, 0 -_08021348: .4byte gUnk_080CAB68 - - thumb_func_start sub_0802134C -sub_0802134C: @ 0x0802134C - push {lr} - movs r1, #0xf - strb r1, [r0, #0xc] - ldrb r1, [r0, #0x14] - lsls r1, r1, #3 - strb r1, [r0, #0x15] - movs r1, #0x80 - lsls r1, r1, #2 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x76 - movs r1, #0x78 - strh r1, [r2] - ldrb r2, [r0, #0x14] - movs r1, #0xe - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021370 -sub_08021370: @ 0x08021370 - push {lr} - movs r1, #0x12 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x14] - movs r1, #0x10 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021380 -sub_08021380: @ 0x08021380 - push {lr} - movs r1, #0x13 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x14] - movs r1, #0x11 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021390 -sub_08021390: @ 0x08021390 - push {lr} - movs r1, #7 - strb r1, [r0, #0xc] - movs r1, #0x80 - lsls r1, r1, #2 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x3f - movs r1, #0x56 - strb r1, [r2] - ldrb r2, [r0, #0x14] - movs r1, #6 - bl sub_08021218 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080213B0 -sub_080213B0: @ 0x080213B0 - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - movs r1, #1 - strb r1, [r0, #0xe] - movs r1, #0xc0 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x76 - movs r1, #0xf0 - strh r1, [r2] - ldrb r2, [r0, #0x14] - movs r1, #3 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_080213D0 -sub_080213D0: @ 0x080213D0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x10 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x7b - strb r1, [r0] - ldrb r2, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0xf - bl sub_08021218 - adds r0, r4, #0 - bl sub_08021588 - pop {r4, pc} - - thumb_func_start sub_080213F0 -sub_080213F0: @ 0x080213F0 - push {lr} - movs r1, #6 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x14] - movs r1, #1 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021400 -sub_08021400: @ 0x08021400 - push {lr} - movs r1, #9 - strb r1, [r0, #0xc] - movs r1, #0x60 - strh r1, [r0, #0x24] - ldrb r2, [r0, #0x14] - movs r1, #0xa - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021414 -sub_08021414: @ 0x08021414 - push {lr} - movs r1, #0x11 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x14] - movs r1, #5 - bl sub_08021218 - pop {pc} - - thumb_func_start sub_08021424 -sub_08021424: @ 0x08021424 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _08021450 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r5, #0 - bl sub_080045C4 - adds r1, r0, #0 - ldrb r0, [r5, #0x14] - bl sub_08021274 - adds r4, r0, #0 - cmp r4, #0xff - beq _08021454 - adds r0, r5, #0 - adds r0, #0x74 - ldrb r1, [r0] - adds r0, r5, #0 - adds r2, r4, #0 - bl sub_08021218 - b _08021456 - .align 2, 0 -_08021450: .4byte gUnk_020000B0 -_08021454: - ldrb r4, [r5, #0x14] -_08021456: - cmp r4, #1 - beq _08021490 - cmp r4, #1 - blo _08021478 - cmp r4, #2 - beq _080214A8 - ldr r0, _08021474 @ =gUnk_020000B0 - ldr r1, [r0] - movs r2, #0x2e - ldrsh r0, [r1, r2] - adds r2, r0, #0 - adds r2, #0x24 - movs r4, #0x32 - ldrsh r3, [r1, r4] - b _080214B8 - .align 2, 0 -_08021474: .4byte gUnk_020000B0 -_08021478: - ldr r0, _0802148C @ =gUnk_020000B0 - ldr r0, [r0] - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r4, #0x32 - ldrsh r0, [r0, r4] - adds r3, r0, #0 - adds r3, #0x2c - b _080214B8 - .align 2, 0 -_0802148C: .4byte gUnk_020000B0 -_08021490: - ldr r0, _080214A4 @ =gUnk_020000B0 - ldr r1, [r0] - movs r2, #0x2e - ldrsh r0, [r1, r2] - adds r2, r0, #0 - subs r2, #0x24 - movs r4, #0x32 - ldrsh r3, [r1, r4] - b _080214B8 - .align 2, 0 -_080214A4: .4byte gUnk_020000B0 -_080214A8: - ldr r0, _080214F0 @ =gUnk_020000B0 - ldr r0, [r0] - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r4, #0x32 - ldrsh r0, [r0, r4] - adds r3, r0, #0 - subs r3, #0x1d -_080214B8: - movs r1, #0x2e - ldrsh r0, [r5, r1] - subs r0, r2, r0 - adds r0, #3 - cmp r0, #6 - bhi _080214D0 - movs r4, #0x32 - ldrsh r0, [r5, r4] - subs r0, r3, r0 - adds r0, #2 - cmp r0, #4 - bls _080214E8 -_080214D0: - movs r1, #0x2e - ldrsh r0, [r5, r1] - movs r4, #0x32 - ldrsh r1, [r5, r4] - bl sub_080045D4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _080214F4 -_080214E8: - adds r0, r5, #0 - bl sub_080212B0 - b _080214FA - .align 2, 0 -_080214F0: .4byte gUnk_020000B0 -_080214F4: - adds r0, r5, #0 - bl sub_080042B8 -_080214FA: - pop {r4, r5, pc} - - thumb_func_start sub_080214FC -sub_080214FC: @ 0x080214FC - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802153C - ldr r0, _08021538 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r2, r0, #0 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x1f - ands r0, r1 - subs r0, r2, r0 - subs r0, #2 - cmp r0, #4 - bhi _0802153C - adds r0, r2, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - movs r0, #1 - b _0802153E - .align 2, 0 -_08021538: .4byte gUnk_020000B0 -_0802153C: - movs r0, #0 -_0802153E: - pop {r4, pc} - - thumb_func_start sub_08021540 -sub_08021540: @ 0x08021540 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08021566 - movs r0, #1 - ands r0, r5 - cmp r0, #0 - beq _08021566 - adds r0, r4, #0 - bl sub_08049EE4 - adds r1, r0, #4 - b _08021568 -_08021566: - lsrs r1, r5, #0x10 -_08021568: - movs r0, #0x18 - ands r1, r0 - strb r1, [r4, #0x15] - ldrb r0, [r4, #0x14] - bl sub_08021274 - adds r2, r0, #0 - cmp r2, #0xff - beq _08021582 - adds r0, r4, #0 - movs r1, #3 - bl sub_08021218 -_08021582: - movs r0, #0x1e - strb r0, [r4, #0xe] - pop {r4, r5, pc} - - thumb_func_start sub_08021588 -sub_08021588: @ 0x08021588 - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #0x54] - cmp r1, #0 - beq _08021598 - movs r0, #0 - str r0, [r1, #0x50] - str r0, [r2, #0x54] -_08021598: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802159C -sub_0802159C: @ 0x0802159C - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - adds r0, r1, #0 - cmp r0, #1 - bne _080215D4 - movs r0, #0 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x51 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - movs r2, #3 - bl sub_0804A98C - cmp r0, #0 - beq _080215CA - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_080215CA: - movs r0, #0x8b - lsls r0, r0, #1 - bl sub_08004488 - b _080215F8 -_080215D4: - cmp r0, #2 - bne _080215E4 - movs r0, #0 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08021588 - b _080215F8 -_080215E4: - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080215F8 - movs r0, #0xdf - ands r0, r1 - strb r0, [r2] - ldr r0, _080215FC @ =0x00000115 - bl sub_08004488 -_080215F8: - pop {r4, pc} - .align 2, 0 -_080215FC: .4byte 0x00000115 - - thumb_func_start sub_08021600 -sub_08021600: @ 0x08021600 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x5a - ldrb r0, [r1] - cmp r0, #1 - bne _08021634 - movs r0, #0 - strb r0, [r1] - subs r1, #0x1b - movs r0, #0x51 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - movs r2, #4 - bl sub_0804A98C - cmp r0, #0 - beq _0802162A - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_0802162A: - movs r0, #0x87 - lsls r0, r0, #1 - bl sub_08004488 - b _08021642 -_08021634: - cmp r0, #2 - bne _08021642 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08021588 -_08021642: - pop {r4, pc} - - thumb_func_start sub_08021644 -sub_08021644: @ 0x08021644 - push {lr} - adds r2, r0, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08021660 - movs r0, #0xdf - ands r0, r1 - strb r0, [r2] - movs r0, #0x7d - bl sub_08004488 -_08021660: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08021664 -sub_08021664: @ 0x08021664 - push {lr} - ldrb r2, [r0, #0x14] - cmp r2, #1 - beq _08021690 - cmp r2, #1 - bgt _08021676 - cmp r2, #0 - beq _08021680 - b _08021698 -_08021676: - cmp r2, #2 - beq _08021688 - cmp r2, #3 - beq _08021690 - b _08021698 -_08021680: - movs r2, #0x22 - bl sub_08049F1C - b _0802169A -_08021688: - movs r2, #0x13 - bl sub_08049F1C - b _0802169A -_08021690: - movs r2, #0x1a - bl sub_08049F1C - b _0802169A -_08021698: - movs r0, #0 -_0802169A: - pop {pc} - - thumb_func_start sub_0802169C -sub_0802169C: @ 0x0802169C - push {lr} - ldrb r2, [r0, #0x14] - cmp r2, #1 - beq _080216C0 - cmp r2, #1 - bgt _080216AE - cmp r2, #0 - beq _080216B8 - b _080216CE -_080216AE: - cmp r2, #2 - beq _080216BC - cmp r2, #3 - beq _080216C0 - b _080216CE -_080216B8: - movs r2, #0x2c - b _080216C2 -_080216BC: - movs r2, #0x1d - b _080216C2 -_080216C0: - movs r2, #0x24 -_080216C2: - bl sub_08049F1C - cmp r0, #0 - bne _080216CE - movs r0, #1 - b _080216D0 -_080216CE: - movs r0, #0 -_080216D0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080216D4 -sub_080216D4: @ 0x080216D4 - push {lr} - ldr r1, _080216E0 @ =gUnk_080CB570 - bl sub_0800129E - pop {pc} - .align 2, 0 -_080216E0: .4byte gUnk_080CB570 - - thumb_func_start sub_080216E4 -sub_080216E4: @ 0x080216E4 - push {lr} - ldr r2, _080216F8 @ =gUnk_080CB588 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080216F8: .4byte gUnk_080CB588 - - thumb_func_start sub_080216FC -sub_080216FC: @ 0x080216FC - push {lr} - adds r2, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802171A - adds r0, r2, #0 - movs r1, #3 - movs r2, #0x80 - bl sub_080A29AC - bl sub_0805E780 -_0802171A: - pop {pc} - - thumb_func_start nullsub_7 -nullsub_7: @ 0x0802171C - bx lr - .align 2, 0 - - thumb_func_start sub_08021720 -sub_08021720: @ 0x08021720 - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - ldrb r1, [r0, #0xa] - strb r1, [r0, #0x1e] - ldrb r2, [r0, #0x19] - movs r1, #0x3f - ands r1, r2 - movs r2, #0x40 - orrs r1, r2 - strb r1, [r0, #0x19] - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #3 - orrs r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start nullsub_08 -nullsub_08: @ 0x08021754 - bx lr - .align 2, 0 - - thumb_func_start sub_08021758 -sub_08021758: @ 0x08021758 - push {lr} - ldr r1, _08021764 @ =gUnk_080CB590 - bl sub_0800129E - pop {pc} - .align 2, 0 -_08021764: .4byte gUnk_080CB590 - - thumb_func_start sub_08021768 -sub_08021768: @ 0x08021768 - push {lr} - ldr r2, _0802177C @ =gUnk_080CB5A8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802177C: .4byte gUnk_080CB5A8 - - thumb_func_start sub_08021780 -sub_08021780: @ 0x08021780 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - beq _08021792 - cmp r0, #0x93 - beq _080217F4 - b _080217FA -_08021792: - ldr r0, _080217A4 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x18 - bne _080217A8 - adds r0, r4, #0 - bl sub_08021768 - b _080217FA - .align 2, 0 -_080217A4: .4byte gUnk_03003F80 -_080217A8: - movs r1, #0 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0xb4 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080217EC @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA6C - ldr r0, _080217F0 @ =0x0000FFFF - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x87 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _080217FA - .align 2, 0 -_080217EC: .4byte gUnk_03001160 -_080217F0: .4byte 0x0000FFFF -_080217F4: - adds r0, r4, #0 - bl sub_08021768 -_080217FA: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - bne _08021808 - subs r0, #3 - strb r1, [r0] -_08021808: - ldr r1, _08021814 @ =gUnk_080CB590 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08021814: .4byte gUnk_080CB590 - - thumb_func_start sub_08021818 -sub_08021818: @ 0x08021818 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xa] - cmp r0, #0 - bne _0802182A - adds r0, r3, #0 - bl sub_0804A7D4 - b _08021844 -_0802182A: - ldr r2, [r3, #0x50] - cmp r2, #0 - beq _0802183A - ldrb r0, [r2, #0xf] - subs r0, #1 - movs r1, #0 - strb r0, [r2, #0xf] - str r1, [r3, #0x50] -_0802183A: - adds r0, r3, #0 - movs r1, #0xf0 - movs r2, #0 - bl sub_0804A7E0 -_08021844: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08021848 -sub_08021848: @ 0x08021848 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - adds r1, r0, #0 - cmp r1, #0 - beq _0802186C - ldr r0, _08021868 @ =gUnk_080CB5C8 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0802187A - .align 2, 0 -_08021868: .4byte gUnk_080CB5C8 -_0802186C: - movs r0, #3 - strb r0, [r4, #0xc] - strh r1, [r4, #0x36] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_0802187A: - pop {r4, pc} - - thumb_func_start sub_0802187C -sub_0802187C: @ 0x0802187C - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start nullsub_130 -nullsub_130: @ 0x08021884 - bx lr - .align 2, 0 - - thumb_func_start sub_08021888 -sub_08021888: @ 0x08021888 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0802189A - adds r0, r4, #0 - bl sub_08021818 -_0802189A: - pop {r4, pc} - - thumb_func_start sub_0802189C -sub_0802189C: @ 0x0802189C - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0x1c] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_080218B4 -sub_080218B4: @ 0x080218B4 - push {lr} - ldr r2, _080218C8 @ =gUnk_080CB5D4 - ldrb r1, [r0, #0xb] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080218C8: .4byte gUnk_080CB5D4 - - thumb_func_start sub_080218CC -sub_080218CC: @ 0x080218CC - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xd] - cmp r0, #0 - bne _08021916 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xd] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - adds r0, r5, #0 - movs r1, #1 - bl sub_08049F84 - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #0x10 - eors r4, r1 - ldr r2, _08021980 @ =gUnk_080CB5DC - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - movs r0, #0x90 - lsls r0, r0, #9 - str r0, [r5, #0x20] -_08021916: - adds r0, r5, #0 - bl sub_08004274 - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r6, #1 - adds r0, r6, #0 - ands r0, r1 - adds r4, r2, #0 - cmp r0, #0 - beq _08021948 - adds r0, r5, #0 - bl sub_080AEFE0 - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r5, #0 - bl sub_080044EC - cmp r0, #0 - bne _08021948 - adds r0, r5, #0 - adds r0, #0x59 - strb r6, [r0] -_08021948: - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802197C - movs r0, #2 - strb r0, [r5, #0xc] - bl sub_08000E50 - movs r1, #0x38 - ands r0, r1 - adds r0, #8 - strb r0, [r5, #0xe] - movs r0, #1 - strb r0, [r5, #0xf] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 -_0802197C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08021980: .4byte gUnk_080CB5DC - - thumb_func_start sub_08021984 -sub_08021984: @ 0x08021984 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _080219C2 - movs r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r0, _08021A08 @ =0x0000FF80 - strh r0, [r4, #0x36] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - ldr r0, _08021A0C @ =0x0000012D - bl sub_08004488 -_080219C2: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08021A04 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xe] - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x86 - movs r0, #0x3c - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08016A04 -_08021A04: - pop {r4, pc} - .align 2, 0 -_08021A08: .4byte 0x0000FF80 -_08021A0C: .4byte 0x0000012D - - thumb_func_start sub_08021A10 -sub_08021A10: @ 0x08021A10 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldr r1, _08021A60 @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #0x78 - movs r3, #0x50 - bl sub_080041A0 - cmp r0, #0 - beq _08021A5E - adds r0, r4, #0 - bl sub_08021D00 - cmp r0, #0 - bne _08021A5E - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08021A5E - movs r0, #3 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x1e - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - bl sub_08021D44 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_08021A5E: - pop {r4, pc} - .align 2, 0 -_08021A60: .4byte gUnk_03001160 - - thumb_func_start sub_08021A64 -sub_08021A64: @ 0x08021A64 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08021D00 - cmp r0, #0 - bne _08021AD4 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r5, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08021A96 - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x1e - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08021A96: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _08021AC8 - movs r0, #8 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - adds r1, r0, #0 - cmp r1, #0xff - bne _08021AC2 - movs r0, #7 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _08021AD4 -_08021AC2: - adds r0, r4, #0 - bl sub_08021D44 -_08021AC8: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 -_08021AD4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08021AD8 -sub_08021AD8: @ 0x08021AD8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08021B3A - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08021B1E - movs r0, #0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - cmp r0, #0xff - bne _08021B16 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _08021B60 -_08021B16: - strb r0, [r4, #0x15] - movs r0, #0x7c - bl sub_08004488 -_08021B1E: - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08021B3A - adds r1, r4, #0 - adds r1, #0x59 - movs r0, #1 - strb r0, [r1] -_08021B3A: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021B60 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x14 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x86 - movs r0, #0x3c - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08021B60: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021B64 -sub_08021B64: @ 0x08021B64 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, _08021B88 @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - movs r2, #4 - ands r1, r2 - adds r6, r0, #0 - cmp r1, #0 - beq _08021B8C - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - str r1, [r4, #0x34] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _08021C4E - .align 2, 0 -_08021B88: .4byte gUnk_03003F80 -_08021B8C: - movs r5, #1 - adds r0, r6, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0xb - beq _08021BBA - cmp r0, #0x14 - beq _08021BBA - bl sub_0807953C - cmp r0, #0 - beq _08021BAE - ldrb r1, [r4, #0xa] - lsls r0, r1, #1 - adds r0, r0, r1 - adds r5, r0, #0 - adds r5, #8 -_08021BAE: - ldrb r0, [r4, #0xe] - subs r5, r0, r5 - cmp r5, #0 - bge _08021BB8 - movs r5, #0 -_08021BB8: - strb r5, [r4, #0xe] -_08021BBA: - ldr r0, [r6, #0x30] - movs r1, #0x88 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08021BC8 - movs r5, #0 -_08021BC8: - cmp r5, #0 - bne _08021C04 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r0, r4, #0 - adds r0, #0x87 - strb r5, [r0] - ldr r2, _08021BEC @ =gUnk_03001160 - ldrb r1, [r2, #0x15] - adds r0, r1, #0 - cmp r0, #0xff - beq _08021BF0 - movs r0, #0x10 - b _08021BF6 - .align 2, 0 -_08021BEC: .4byte gUnk_03001160 -_08021BF0: - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 -_08021BF6: - eors r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 - b _08021C4E -_08021C04: - ldrb r1, [r6, #0x1a] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r6, #0x1a] - adds r1, r6, #0 - adds r1, #0x80 - ldrh r0, [r1] - subs r0, #0x50 - strh r0, [r1] - adds r1, #0x2a - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, _08021C50 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA6C - ldr r2, _08021C54 @ =gUnk_080CB5E4 - ldrb r1, [r4, #0xf] - adds r0, r1, #1 - strb r0, [r4, #0xf] - movs r0, #0xe - ands r0, r1 - lsrs r0, r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08004274 -_08021C4E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08021C50: .4byte gUnk_03001160 -_08021C54: .4byte gUnk_080CB5E4 - - thumb_func_start sub_08021C58 -sub_08021C58: @ 0x08021C58 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r5, #1 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _08021C8A - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08021C8A - adds r0, r4, #0 - adds r0, #0x59 - strb r5, [r0] -_08021C8A: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08021CCC - movs r0, #2 - strb r0, [r4, #0xc] - movs r2, #0x3c - strb r2, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x86 - strb r2, [r0] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08021CCC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08021CD0 -sub_08021CD0: @ 0x08021CD0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08021CE6 - adds r0, r4, #0 - bl sub_08004274 -_08021CE6: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - cmp r0, #0xff - beq _08021CFE - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_08021CFE: - pop {r4, pc} - - thumb_func_start sub_08021D00 -sub_08021D00: @ 0x08021D00 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x86 - ldrb r0, [r1] - cmp r0, #0 - beq _08021D16 - subs r0, #1 - strb r0, [r1] - movs r0, #0 - b _08021D40 -_08021D16: - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x10 - bl sub_08049F64 - cmp r0, #0 - bne _08021D28 - movs r0, #0 - b _08021D40 -_08021D28: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xe] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - movs r0, #1 -_08021D40: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021D44 -sub_08021D44: @ 0x08021D44 - push {lr} - adds r2, r0, #0 - adds r1, #4 - movs r0, #0x18 - ands r1, r0 - strb r1, [r2, #0x15] - movs r0, #8 - ands r1, r0 - cmp r1, #0 - beq _08021D5E - movs r0, #0xc0 - lsls r0, r0, #1 - b _08021D60 -_08021D5E: - movs r0, #0xc0 -_08021D60: - strh r0, [r2, #0x24] - pop {pc} - - thumb_func_start sub_08021D64 -sub_08021D64: @ 0x08021D64 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08021D7C @ =gUnk_080CB69C - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08021D7C: .4byte gUnk_080CB69C - - thumb_func_start sub_08021D80 -sub_08021D80: @ 0x08021D80 - push {lr} - ldr r2, _08021D94 @ =gUnk_080CB6B4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08021D94: .4byte gUnk_080CB6B4 - - thumb_func_start sub_08021D98 -sub_08021D98: @ 0x08021D98 - push {lr} - ldr r1, _08021DA4 @ =gUnk_080CB69C - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08021DA4: .4byte gUnk_080CB69C - - thumb_func_start sub_08021DA8 -sub_08021DA8: @ 0x08021DA8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08021DC4 - ldr r0, _08021DC8 @ =gUnk_080CB6C4 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08021DC4: - pop {r4, pc} - .align 2, 0 -_08021DC8: .4byte gUnk_080CB6C4 - - thumb_func_start sub_08021DCC -sub_08021DCC: @ 0x08021DCC - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_08021DD4 -sub_08021DD4: @ 0x08021DD4 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_08021DDC -sub_08021DDC: @ 0x08021DDC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _08021DEE - adds r0, r4, #0 - bl sub_0804A7D4 -_08021DEE: - pop {r4, pc} - - thumb_func_start sub_08021DF0 -sub_08021DF0: @ 0x08021DF0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08021E14 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08021E48 @ =0x0000FFF0 - strh r0, [r4, #0x36] -_08021E14: - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #1 - strb r0, [r4, #0x1c] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #9 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - bl sub_08021EF0 - pop {r4, pc} - .align 2, 0 -_08021E48: .4byte 0x0000FFF0 - - thumb_func_start sub_08021E4C -sub_08021E4C: @ 0x08021E4C - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - cmp r0, #0 - beq _08021E5E - subs r0, #1 - strh r0, [r1] -_08021E5E: - adds r1, r4, #0 - adds r1, #0x7a - ldrh r0, [r1] - cmp r0, #0 - beq _08021E6C - subs r0, #1 - strh r0, [r1] -_08021E6C: - adds r0, r4, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - adds r5, r2, #0 - cmp r0, #0 - beq _08021E8A - adds r0, r4, #0 - bl sub_08021F24 - b _08021E90 -_08021E8A: - adds r0, r4, #0 - bl sub_080AEFB4 -_08021E90: - ldr r1, _08021EA0 @ =gUnk_080CB6D0 - ldrb r0, [r5] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x63 - strb r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_08021EA0: .4byte gUnk_080CB6D0 - - thumb_func_start sub_08021EA4 -sub_08021EA4: @ 0x08021EA4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08021EBA - adds r0, r1, #0 - bl sub_08021EF0 -_08021EBA: - pop {pc} - - thumb_func_start sub_08021EBC -sub_08021EBC: @ 0x08021EBC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08021ECC - subs r0, #1 - strb r0, [r4, #0xe] - b _08021EE8 -_08021ECC: - ldr r0, _08021EEC @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x70 - bl sub_0806FCB8 - cmp r0, #0 - beq _08021EE8 - adds r0, r4, #0 - bl sub_08021EF0 -_08021EE8: - pop {r4, pc} - .align 2, 0 -_08021EEC: .4byte gUnk_03001160 - - thumb_func_start sub_08021EF0 -sub_08021EF0: @ 0x08021EF0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _08021F20 @ =gUnk_080CB6D6 - movs r1, #0xf - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - adds r0, r4, #0 - adds r0, #0x78 - strh r1, [r0] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0x3c - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 -_08021F20: .4byte gUnk_080CB6D6 - - thumb_func_start sub_08021F24 -sub_08021F24: @ 0x08021F24 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r0, #0 - bne _08021F48 - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _08021F44 @ =gUnk_080CB6F6 - movs r1, #0xf - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - b _08021F6E - .align 2, 0 -_08021F44: .4byte gUnk_080CB6F6 -_08021F48: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - cmp r0, #0 - bne _08021F80 - ldr r0, _08021F7C @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x70 - bl sub_0806FCB8 - cmp r0, #0 - bne _08021F80 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e -_08021F6E: - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _08021FA4 - .align 2, 0 -_08021F7C: .4byte gUnk_03001160 -_08021F80: - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _08021F94 - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - b _08021F9A -_08021F94: - adds r0, r4, #0 - bl sub_08049EE4 -_08021F9A: - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08021FA4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08021FA8 -sub_08021FA8: @ 0x08021FA8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08021FD4 @ =gUnk_080CB734 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r1, _08021FD8 @ =gUnk_080CB8A4 - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r1, [r4, #0x1e] - ldr r0, [r0] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r4, #0x48] - pop {r4, r5, pc} - .align 2, 0 -_08021FD4: .4byte gUnk_080CB734 -_08021FD8: .4byte gUnk_080CB8A4 - - thumb_func_start sub_08021FDC -sub_08021FDC: @ 0x08021FDC - push {lr} - ldr r2, _08021FF0 @ =gUnk_080CB74C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08021FF0: .4byte gUnk_080CB74C - - thumb_func_start sub_08021FF4 -sub_08021FF4: @ 0x08021FF4 - push {lr} - ldr r1, _08022000 @ =gUnk_080CB734 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08022000: .4byte gUnk_080CB734 - - thumb_func_start sub_08022004 -sub_08022004: @ 0x08022004 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x7e - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - adds r0, r4, #0 - movs r1, #5 - movs r2, #0 - bl sub_080A29AC - adds r0, r4, #0 - bl sub_08049CF4 - bl sub_0805E780 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08022034 -sub_08022034: @ 0x08022034 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xa] - movs r0, #3 - ands r0, r1 - strb r0, [r4, #0xb] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - ldr r2, _08022098 @ =gUnk_080CB764 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - ldrb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080221C0 - pop {r4, pc} - .align 2, 0 -_08022098: .4byte gUnk_080CB764 - - thumb_func_start sub_0802209C -sub_0802209C: @ 0x0802209C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _080220D2 - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x7a - ldrh r1, [r1] - movs r2, #0x10 - movs r3, #0x10 - bl sub_0806FBFC - cmp r0, #0 - beq _080220D6 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x12 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0xb] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - b _080220D6 -_080220D2: - subs r0, #1 - strb r0, [r4, #0xe] -_080220D6: - pop {r4, pc} - - thumb_func_start sub_080220D8 -sub_080220D8: @ 0x080220D8 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080220EC - movs r0, #3 - strb r0, [r1, #0xc] -_080220EC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080220F0 -sub_080220F0: @ 0x080220F0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08004274 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08022160 - movs r1, #0 - movs r0, #4 - strb r0, [r5, #0xc] - movs r0, #0x78 - strb r0, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x44 - strb r1, [r0] - ldrb r1, [r5, #0xb] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0802215C @ =gUnk_080CB76C - adds r4, r0, r1 - movs r6, #0 -_08022124: - adds r0, r5, #0 - movs r1, #0x11 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08022148 - movs r0, #0 - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0x2e] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - movs r0, #1 - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0x32] - adds r0, r0, r2 - strh r0, [r1, #0x32] -_08022148: - adds r6, #1 - adds r4, #2 - cmp r6, #5 - bls _08022124 - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 - b _08022170 - .align 2, 0 -_0802215C: .4byte gUnk_080CB76C -_08022160: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08022170 - adds r1, r5, #0 - adds r1, #0x44 - movs r0, #4 - strb r0, [r1] -_08022170: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08022174 -sub_08022174: @ 0x08022174 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022196 - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xb] - adds r1, #8 - adds r0, r4, #0 - bl sub_08004260 -_08022196: - pop {r4, pc} - - thumb_func_start sub_08022198 -sub_08022198: @ 0x08022198 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080221BC - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] -_080221BC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080221C0 -sub_080221C0: @ 0x080221C0 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r0, #0x2e - ldrsh r4, [r6, r0] - ldr r1, _08022220 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r2, #0x3f - ands r4, r2 - movs r3, #0x32 - ldrsh r0, [r6, r3] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - ldr r1, _08022224 @ =gUnk_080B4488 - ldrb r0, [r6, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r4, r4, r0 - adds r0, r6, #0 - adds r0, #0x7e - strh r4, [r0] - adds r5, r6, #0 - adds r5, #0x38 - ldrb r1, [r5] - adds r0, r4, #0 - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x7c - strh r0, [r1] - ldr r1, _08022228 @ =gUnk_080CB79C - ldrb r0, [r6, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrb r2, [r5] - adds r1, r4, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_08022220: .4byte gUnk_03000BF0 -_08022224: .4byte gUnk_080B4488 -_08022228: .4byte gUnk_080CB79C - - thumb_func_start sub_0802222C -sub_0802222C: @ 0x0802222C - push {lr} - ldr r1, _08022238 @ =gUnk_080CB948 - bl sub_0800129E - pop {pc} - .align 2, 0 -_08022238: .4byte gUnk_080CB948 - - thumb_func_start sub_0802223C -sub_0802223C: @ 0x0802223C - push {lr} - ldr r2, _08022250 @ =gUnk_080CB960 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022250: .4byte gUnk_080CB960 - - thumb_func_start sub_08022254 -sub_08022254: @ 0x08022254 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _08022344 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - subs r0, #4 - cmp r0, #0x18 - bhi _08022356 - lsls r0, r0, #2 - ldr r1, _0802227C @ =_08022280 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802227C: .4byte _08022280 -_08022280: @ jump table - .4byte _080222E4 @ case 0 - .4byte _080222E4 @ case 1 - .4byte _080222E4 @ case 2 - .4byte _08022356 @ case 3 - .4byte _080222E4 @ case 4 - .4byte _080222E4 @ case 5 - .4byte _080222E4 @ case 6 - .4byte _080222E4 @ case 7 - .4byte _080222E4 @ case 8 - .4byte _080222E4 @ case 9 - .4byte _08022356 @ case 10 - .4byte _08022356 @ case 11 - .4byte _080222E4 @ case 12 - .4byte _080222E4 @ case 13 - .4byte _080222E4 @ case 14 - .4byte _08022356 @ case 15 - .4byte _08022356 @ case 16 - .4byte _08022356 @ case 17 - .4byte _080222F2 @ case 18 - .4byte _08022356 @ case 19 - .4byte _080222E4 @ case 20 - .4byte _080222E4 @ case 21 - .4byte _080222E4 @ case 22 - .4byte _08022356 @ case 23 - .4byte _080222F2 @ case 24 -_080222E4: - ldr r0, _08022340 @ =gUnk_03003F80 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08022356 -_080222F2: - adds r0, r4, #0 - movs r1, #4 - movs r2, #0 - bl sub_080A29AC - movs r0, #1 - movs r1, #1 - bl sub_0804AA60 - adds r5, r0, #0 - cmp r5, #0 - beq _08022356 - movs r0, #1 - strb r0, [r5, #0xb] - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0xf8 - strb r0, [r1] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0804A4E4 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r4, #0x15] - str r5, [r4, #0x54] - b _08022356 - .align 2, 0 -_08022340: .4byte gUnk_03003F80 -_08022344: - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x94 - beq _08022356 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_08022356: - ldr r1, _08022360 @ =gUnk_080CB948 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08022360: .4byte gUnk_080CB948 - - thumb_func_start nullsub_131 -nullsub_131: @ 0x08022364 - bx lr - .align 2, 0 - - thumb_func_start sub_08022368 -sub_08022368: @ 0x08022368 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08022390 -sub_08022390: @ 0x08022390 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080223D4 - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _080223C0 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - bl sub_08000E50 - movs r1, #4 - ands r0, r1 - strb r0, [r4, #0xf] -_080223C0: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080223CE - adds r0, r4, #0 - bl sub_080AEF88 - b _080223DA -_080223CE: - subs r0, #1 - strb r0, [r4, #0xf] - b _080223DA -_080223D4: - bl sub_08000E50 - strb r0, [r4, #0xe] -_080223DA: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080223E4 -sub_080223E4: @ 0x080223E4 - push {lr} - adds r3, r0, #0 - ldr r2, [r3, #0x54] - cmp r2, #0 - beq _0802240A - adds r1, r2, #0 - adds r1, #0x41 - movs r0, #0x94 - strb r0, [r1] - subs r1, #4 - movs r0, #0x10 - strb r0, [r1] - adds r1, #5 - movs r0, #0xc - strb r0, [r1] - ldrb r1, [r3, #0x15] - adds r0, r2, #0 - adds r0, #0x3e - strb r1, [r0] -_0802240A: - adds r0, r3, #0 - bl sub_0805E7BC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08022414 -sub_08022414: @ 0x08022414 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08022430 @ =gUnk_080CBA28 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_08022430: .4byte gUnk_080CBA28 - - thumb_func_start sub_08022434 -sub_08022434: @ 0x08022434 - push {lr} - ldr r2, _08022448 @ =gUnk_080CBA40 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022448: .4byte gUnk_080CBA40 - - thumb_func_start sub_0802244C -sub_0802244C: @ 0x0802244C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x45 - ldrb r0, [r5] - cmp r0, #0 - bne _0802245C - b _08022582 -_0802245C: - adds r0, r4, #0 - adds r0, #0x3f - ldrb r1, [r0] - adds r6, r0, #0 - cmp r1, #0x65 - bne _08022522 - adds r0, #2 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - subs r0, #2 - cmp r0, #0x18 - bhi _08022540 - lsls r0, r0, #2 - ldr r1, _08022480 @ =_08022484 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08022480: .4byte _08022484 -_08022484: @ jump table - .4byte _080224E8 @ case 0 - .4byte _080224E8 @ case 1 - .4byte _08022540 @ case 2 - .4byte _08022540 @ case 3 - .4byte _08022540 @ case 4 - .4byte _08022540 @ case 5 - .4byte _08022508 @ case 6 - .4byte _08022508 @ case 7 - .4byte _08022508 @ case 8 - .4byte _08022508 @ case 9 - .4byte _08022508 @ case 10 - .4byte _08022540 @ case 11 - .4byte _08022540 @ case 12 - .4byte _08022540 @ case 13 - .4byte _08022540 @ case 14 - .4byte _08022540 @ case 15 - .4byte _08022540 @ case 16 - .4byte _08022540 @ case 17 - .4byte _08022540 @ case 18 - .4byte _08022540 @ case 19 - .4byte _08022508 @ case 20 - .4byte _08022540 @ case 21 - .4byte _08022508 @ case 22 - .4byte _08022508 @ case 23 - .4byte _08022508 @ case 24 -_080224E8: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - movs r0, #0x5c - strb r0, [r6] - ldr r0, _08022504 @ =gUnk_080FD468 - str r0, [r4, #0x48] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _08022540 - .align 2, 0 -_08022504: .4byte gUnk_080FD468 -_08022508: - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0x5c - strb r0, [r6] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _08022540 -_08022522: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x94 - bne _08022540 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08022540: - adds r0, r4, #0 - adds r0, #0x80 - adds r1, r4, #0 - adds r1, #0x45 - ldrb r2, [r0] - adds r5, r1, #0 - adds r7, r0, #0 - ldrb r0, [r5] - cmp r2, r0 - beq _08022566 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0x5c - strb r0, [r6] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _0802258E -_08022566: - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _0802258E - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - movs r0, #0xca - lsls r0, r0, #1 - bl sub_08004488 - b _0802258E -_08022582: - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - adds r7, r4, #0 - adds r7, #0x80 -_0802258E: - ldrb r0, [r5] - strb r0, [r7] - ldr r1, _0802259C @ =gUnk_080CBA28 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0802259C: .4byte gUnk_080CBA28 - - thumb_func_start sub_080225A0 -sub_080225A0: @ 0x080225A0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - bne _080225B2 - adds r0, r4, #0 - bl sub_08004274 -_080225B2: - adds r0, r4, #0 - bl sub_08001318 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080225BC -sub_080225BC: @ 0x080225BC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080225DE - adds r0, r4, #0 - bl sub_0804A7D4 - b _080225E4 -_080225DE: - adds r0, r4, #0 - bl sub_08004274 -_080225E4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_9 -nullsub_9: @ 0x080225E8 - bx lr - .align 2, 0 - - thumb_func_start sub_080225EC -sub_080225EC: @ 0x080225EC - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3b - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x5a - strb r0, [r1] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0802261A - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _0802264C -_0802261A: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - ldr r0, _08022650 @ =0x0000FF80 - strh r0, [r4, #0x36] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 -_0802264C: - pop {r4, pc} - .align 2, 0 -_08022650: .4byte 0x0000FF80 - - thumb_func_start sub_08022654 -sub_08022654: @ 0x08022654 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #1 - beq _0802268C - cmp r0, #1 - bgt _08022668 - cmp r0, #0 - beq _0802266E - b _080226E4 -_08022668: - cmp r0, #2 - beq _080226BE - b _080226E4 -_0802266E: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080226E4 - movs r0, #1 - strb r0, [r4, #0xd] - ldr r0, _080226E8 @ =0x0000012D - bl sub_080A3268 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0802268C: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080226E4 - movs r0, #2 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 - movs r0, #0x7d - bl sub_08004488 - adds r0, r4, #0 - bl sub_08016A04 -_080226BE: - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080226E4 - movs r0, #3 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x65 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_080226E4: - pop {r4, pc} - .align 2, 0 -_080226E8: .4byte 0x0000012D - - thumb_func_start sub_080226EC -sub_080226EC: @ 0x080226EC - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08022776 - adds r0, r4, #0 - bl sub_080228CC - cmp r0, #0 - beq _0802271A - movs r0, #3 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x65 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _0802277C -_0802271A: - adds r0, r4, #0 - bl sub_080228F0 - cmp r0, #0 - beq _08022758 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x90 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldr r0, _08022754 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5a - strb r0, [r1] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - b _0802277C - .align 2, 0 -_08022754: .4byte gUnk_020000B0 -_08022758: - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _08022770 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] -_08022770: - adds r0, r4, #0 - bl sub_080AEF88 -_08022776: - adds r0, r4, #0 - bl sub_08004274 -_0802277C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08022780 -sub_08022780: @ 0x08022780 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080227AA - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - movs r0, #0xca - lsls r0, r0, #1 - bl sub_08004488 -_080227AA: - pop {r4, pc} - - thumb_func_start sub_080227AC -sub_080227AC: @ 0x080227AC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080227CC - ldr r0, _080227C8 @ =gUnk_080FD470 - b _080227CE - .align 2, 0 -_080227C8: .4byte gUnk_080FD470 -_080227CC: - ldr r0, _08022814 @ =gUnk_080FD468 -_080227CE: - str r0, [r4, #0x48] - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r3, #2 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _080227EE - movs r0, #0xfd - ands r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] -_080227EE: - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08022812 - strb r3, [r4, #0xc] - bl sub_08000E50 - ldr r2, _08022818 @ =gUnk_080CBA60 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08022812: - pop {r4, pc} - .align 2, 0 -_08022814: .4byte gUnk_080FD468 -_08022818: .4byte gUnk_080CBA60 - - thumb_func_start sub_0802281C -sub_0802281C: @ 0x0802281C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08022852 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0804AA1C -_08022852: - pop {r4, pc} - - thumb_func_start sub_08022854 -sub_08022854: @ 0x08022854 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08022898 - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08022898 - movs r0, #7 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5c - strb r0, [r1] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 - movs r0, #0x7d - bl sub_08004488 -_08022898: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802289C -sub_0802289C: @ 0x0802289C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080228CA - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x78 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_080228CA: - pop {r4, pc} - - thumb_func_start sub_080228CC -sub_080228CC: @ 0x080228CC - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xf] - cmp r0, #0 - bne _080228E8 - adds r0, r1, #0 - movs r1, #1 - movs r2, #0x28 - bl sub_08049F64 - cmp r0, #0 - beq _080228EC - movs r0, #1 - b _080228EE -_080228E8: - subs r0, #1 - strb r0, [r1, #0xf] -_080228EC: - movs r0, #0 -_080228EE: - pop {pc} - - thumb_func_start sub_080228F0 -sub_080228F0: @ 0x080228F0 - push {lr} - adds r1, r0, #0 - adds r2, r1, #0 - adds r2, #0x81 - ldrb r0, [r2] - cmp r0, #0 - bne _08022910 - adds r0, r1, #0 - movs r1, #1 - movs r2, #0x40 - bl sub_08049F64 - cmp r0, #0 - beq _08022914 - movs r0, #1 - b _08022916 -_08022910: - subs r0, #1 - strb r0, [r2] -_08022914: - movs r0, #0 -_08022916: - pop {pc} - - thumb_func_start sub_08022918 -sub_08022918: @ 0x08022918 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08022930 @ =gUnk_080CBB64 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08022930: .4byte gUnk_080CBB64 - - thumb_func_start sub_08022934 -sub_08022934: @ 0x08022934 - push {lr} - ldr r2, _08022948 @ =gUnk_080CBB7C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022948: .4byte gUnk_080CBB7C - - thumb_func_start sub_0802294C -sub_0802294C: @ 0x0802294C - push {lr} - ldr r1, _08022958 @ =gUnk_080CBB64 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08022958: .4byte gUnk_080CBB64 - - thumb_func_start nullsub_132 -nullsub_132: @ 0x0802295C - bx lr - .align 2, 0 - - thumb_func_start sub_08022960 -sub_08022960: @ 0x08022960 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r0, r4, #0 - bl sub_08022A88 - pop {r4, pc} - - thumb_func_start sub_08022970 -sub_08022970: @ 0x08022970 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022986 - adds r0, r1, #0 - bl sub_08022AA4 -_08022986: - pop {pc} - - thumb_func_start sub_08022988 -sub_08022988: @ 0x08022988 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _080229A6 - adds r0, r4, #0 - bl sub_08022B20 - cmp r0, #0 - beq _080229A6 - adds r0, r4, #0 - bl sub_08022B0C - b _080229F6 -_080229A6: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080229C6 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080229F6 - movs r0, #1 - strb r0, [r4, #0x1e] - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0xd6 - bl sub_08004488 -_080229C6: - adds r0, r4, #0 - bl sub_080AEF88 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - adds r1, r0, #0 - cmp r1, #0 - bne _080229F6 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080229F0 - adds r0, r4, #0 - bl sub_08022A88 - b _080229F6 -_080229F0: - movs r0, #4 - strb r0, [r4, #0xf] - strb r1, [r4, #0x1e] -_080229F6: - pop {r4, pc} - - thumb_func_start sub_080229F8 -sub_080229F8: @ 0x080229F8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xa0 - lsls r1, r1, #6 - bl sub_08003FC4 - cmp r0, #0 - bne _08022A3C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _08022A30 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #6 - strb r0, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - strb r1, [r4, #0x1e] - movs r0, #0xc0 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08022B44 - b _08022A3C -_08022A30: - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0xd6 - bl sub_08004488 -_08022A3C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08022A40 -sub_08022A40: @ 0x08022A40 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08022A58 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022A86 - movs r0, #1 - strb r0, [r4, #0x1e] -_08022A58: - adds r0, r4, #0 - bl sub_080AEF88 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08022A86 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022A80 - adds r0, r4, #0 - bl sub_08022A88 - b _08022A86 -_08022A80: - adds r0, r4, #0 - bl sub_08022B44 -_08022A86: - pop {r4, pc} - - thumb_func_start sub_08022A88 -sub_08022A88: @ 0x08022A88 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - adds r0, #8 - strb r0, [r4, #0xe] - strb r5, [r4, #0x1e] - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08022AA4 -sub_08022AA4: @ 0x08022AA4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r1, #3 - adds r0, r5, #0 - ands r0, r1 - adds r0, #1 - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08022AE0 - lsrs r0, r5, #8 - movs r1, #3 - ands r0, r1 - cmp r0, #0 - beq _08022AE0 - adds r0, r4, #0 - bl sub_08049EE4 - b _08022AE6 -_08022AE0: - lsrs r0, r5, #0x10 - movs r1, #0x1f - ands r0, r1 -_08022AE6: - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _08022B08 - lsrs r1, r1, #4 - movs r0, #1 - eors r1, r0 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_08022B08: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08022B0C -sub_08022B0C: @ 0x08022B0C - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - strb r1, [r0, #0xe] - movs r1, #8 - strb r1, [r0, #0xf] - bl sub_08022B44 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08022B20 -sub_08022B20: @ 0x08022B20 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - bl sub_08049DF4 - cmp r0, #0 - beq _08022B40 - ldr r1, _08022B3C @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #0x24 - movs r3, #0x24 - bl sub_080041A0 - b _08022B42 - .align 2, 0 -_08022B3C: .4byte gUnk_03001160 -_08022B40: - movs r0, #0 -_08022B42: - pop {r4, pc} - - thumb_func_start sub_08022B44 -sub_08022B44: @ 0x08022B44 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #8 - str r0, [r4, #0x20] - ldr r1, _08022B84 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - strb r1, [r4, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _08022B7A - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1c - movs r0, #1 - eors r1, r0 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_08022B7A: - movs r0, #0xd6 - bl sub_08004488 - pop {r4, pc} - .align 2, 0 -_08022B84: .4byte gUnk_03001160 - - thumb_func_start sub_08022B88 -sub_08022B88: @ 0x08022B88 - push {lr} - ldr r2, _08022B9C @ =gUnk_080CBB90 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022B9C: .4byte gUnk_080CBB90 - - thumb_func_start sub_08022BA0 -sub_08022BA0: @ 0x08022BA0 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x79 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r1, _08022BD0 @ =gUnk_080CBBA0 - adds r0, r4, #0 - bl sub_0800129E - adds r0, r4, #0 - bl sub_08022EAC - pop {r4, pc} - .align 2, 0 -_08022BD0: .4byte gUnk_080CBBA0 - - thumb_func_start sub_08022BD4 -sub_08022BD4: @ 0x08022BD4 - push {lr} - ldr r2, _08022BE8 @ =gUnk_080CBBB4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022BE8: .4byte gUnk_080CBBB4 - - thumb_func_start sub_08022BEC -sub_08022BEC: @ 0x08022BEC - push {lr} - adds r2, r0, #0 - movs r0, #0x7a - adds r0, r0, r2 - mov ip, r0 - adds r3, r2, #0 - adds r3, #0x45 - ldrb r0, [r0] - ldrb r1, [r3] - cmp r0, r1 - beq _08022C0A - adds r1, r2, #0 - adds r1, #0x7b - movs r0, #0x1e - strb r0, [r1] -_08022C0A: - ldrb r0, [r3] - mov r1, ip - strb r0, [r1] - movs r0, #1 - strb r0, [r2, #0xe] - adds r0, r2, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r2, #0x15] - ldrb r0, [r2, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r2, #0x14] - strb r0, [r2, #0x1e] - ldr r0, [r2, #0x54] - adds r3, r2, #0 - adds r3, #0x3d - ldrb r1, [r3] - adds r0, #0x3d - strb r1, [r0] - ldr r0, [r2, #0x7c] - ldrb r1, [r3] - adds r0, #0x3d - strb r1, [r0] - adds r0, r2, #0 - adds r0, #0x80 - ldr r0, [r0] - ldrb r1, [r3] - adds r0, #0x3d - strb r1, [r0] - ldr r1, _08022C54 @ =gUnk_080CBBA0 - adds r0, r2, #0 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08022C54: .4byte gUnk_080CBBA0 - - thumb_func_start sub_08022C58 -sub_08022C58: @ 0x08022C58 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - ldrb r1, [r7, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r7, #0x10] - ldr r0, _08022D3C @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x44 - bhi _08022D34 - movs r0, #0xd - movs r1, #1 - bl sub_0804AA60 - mov sb, r0 - str r0, [r7, #0x54] - mov r2, sb - adds r2, #0x29 - ldrb r1, [r2] - movs r4, #8 - rsbs r4, r4, #0 - adds r0, r4, #0 - ands r0, r1 - movs r1, #5 - mov r8, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r2] - mov r0, sb - str r7, [r0, #0x50] - adds r0, r7, #0 - mov r1, sb - bl sub_0806FA24 - movs r0, #0xd - movs r1, #2 - bl sub_0804AA60 - adds r6, r0, #0 - mov r1, sb - str r6, [r1, #0x54] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - adds r0, r4, #0 - ands r0, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r2] - str r7, [r6, #0x50] - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_0806FA24 - movs r0, #0xd - movs r1, #3 - bl sub_0804AA60 - adds r5, r0, #0 - str r5, [r6, #0x54] - adds r1, r5, #0 - adds r1, #0x29 - ldrb r0, [r1] - ands r4, r0 - mov r0, r8 - orrs r4, r0 - strb r4, [r1] - str r7, [r5, #0x50] - adds r0, r7, #0 - adds r1, r5, #0 - bl sub_0806FA24 - adds r0, r7, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r7, #0xc] - strb r0, [r7, #0xe] - strb r0, [r7, #0xf] - ldrb r0, [r7, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r7, #0x10] - str r7, [r7, #0x50] - mov r1, sb - str r1, [r7, #0x54] - str r6, [r7, #0x7c] - adds r0, r7, #0 - adds r0, #0x80 - str r5, [r0] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r7, #0x15] - ldrb r0, [r7, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r7, #0x14] - strb r0, [r7, #0x1e] - adds r0, r7, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x35 - strb r1, [r0] -_08022D34: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08022D3C: .4byte gUnk_03003DBC - - thumb_func_start sub_08022D40 -sub_08022D40: @ 0x08022D40 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x7b - ldrb r1, [r2] - cmp r1, #0 - beq _08022D66 - adds r0, r1, #0 - adds r0, #0xff - strb r0, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08022D8E - ldrb r0, [r4, #0x14] - adds r0, #1 - movs r1, #7 - ands r0, r1 - b _08022D8A -_08022D66: - adds r0, r4, #0 - bl sub_08022F14 - adds r0, r4, #0 - bl sub_080AEF88 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _08022D8E - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E - ldrb r0, [r4, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 -_08022D8A: - strb r0, [r4, #0x14] - strb r0, [r4, #0x1e] -_08022D8E: - pop {r4, pc} - - thumb_func_start sub_08022D90 -sub_08022D90: @ 0x08022D90 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - beq _08022DE0 - ldr r1, _08022DDC @ =gUnk_080CBBBC - ldrb r0, [r5, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - ldr r4, [r5, #0x50] - ldrb r2, [r4, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x19] - adds r4, #0x38 - ldrb r1, [r4] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - b _08022DE6 - .align 2, 0 -_08022DDC: .4byte gUnk_080CBBBC -_08022DE0: - adds r0, r5, #0 - bl sub_0805E7BC -_08022DE6: - pop {r4, r5, pc} - - thumb_func_start sub_08022DE8 -sub_08022DE8: @ 0x08022DE8 - push {lr} - adds r3, r0, #0 - movs r0, #1 - strb r0, [r3, #0xc] - adds r0, r3, #0 - adds r0, #0x7c - movs r1, #0x88 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - ldr r0, [r3, #0x50] - ldrb r0, [r0, #0x14] - strb r0, [r3, #0x14] - adds r2, r3, #0 - adds r2, #0x84 - ldrb r1, [r3, #0x14] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r1, r0, #8 - adds r0, r0, r1 - lsls r1, r0, #0x10 - adds r0, r0, r1 - str r0, [r2] - ldrb r0, [r3, #0xa] - cmp r0, #3 - beq _08022E38 - adds r0, #7 - b _08022E3C -_08022E38: - ldrb r0, [r3, #0x14] - adds r0, #0xa -_08022E3C: - strb r0, [r3, #0x1e] - pop {pc} - - thumb_func_start sub_08022E40 -sub_08022E40: @ 0x08022E40 - push {r4, r5, lr} - adds r4, r0, #0 - ldrh r1, [r4, #0x2e] - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r2, [r4, #0x50] - adds r2, #0x79 - ldrb r0, [r2] - adds r0, #1 - movs r3, #7 - ands r0, r3 - adds r0, #0x7c - adds r0, r4, r0 - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - subs r0, #8 - lsrs r1, r1, #4 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r5, [r4, #0x2e] - adds r0, r0, r5 - strh r0, [r4, #0x2e] - subs r1, #8 - ldrh r0, [r4, #0x32] - adds r1, r1, r0 - strh r1, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x84 - ldrb r0, [r2] - adds r0, #1 - ands r0, r3 - lsls r0, r0, #2 - ldr r1, [r1] - lsrs r1, r0 - movs r0, #7 - ands r1, r0 - strb r1, [r4, #0x14] - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _08022EA2 - adds r0, r1, #0 - adds r0, #0xa - strb r0, [r4, #0x1e] - b _08022EA8 -_08022EA2: - adds r0, r4, #0 - bl sub_08022EAC -_08022EA8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08022EAC -sub_08022EAC: @ 0x08022EAC - push {r4, r5, lr} - mov ip, r0 - ldr r1, [r0, #0x54] - cmp r1, #0 - beq _08022F12 - ldr r0, [r0, #0x50] - adds r0, #0x79 - ldrb r0, [r0] - movs r4, #7 - adds r3, r4, #0 - ands r3, r0 - adds r3, r3, r1 - adds r3, #0x7c - mov r0, ip - ldrh r1, [r0, #0x2e] - adds r0, #0x74 - ldrb r0, [r0] - subs r1, r1, r0 - adds r1, #8 - movs r5, #0xf - ands r1, r5 - mov r2, ip - ldrh r0, [r2, #0x32] - adds r2, #0x76 - ldrb r2, [r2] - subs r0, r0, r2 - adds r0, #8 - ands r0, r5 - lsls r0, r0, #4 - adds r1, r1, r0 - strb r1, [r3] - mov r1, ip - ldr r0, [r1, #0x50] - adds r0, #0x79 - ldrb r1, [r0] - adds r0, r4, #0 - ands r0, r1 - lsls r0, r0, #2 - mov r2, ip - ldrb r1, [r2, #0x14] - ands r4, r1 - lsls r4, r0 - movs r2, #0xf - lsls r2, r0 - mov r0, ip - ldr r1, [r0, #0x54] - adds r1, #0x84 - ldr r0, [r1] - bics r0, r2 - orrs r4, r0 - str r4, [r1] -_08022F12: - pop {r4, r5, pc} - - thumb_func_start sub_08022F14 -sub_08022F14: @ 0x08022F14 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08022F4E - adds r0, r4, #0 - bl sub_08049EE4 - ldrb r1, [r4, #0x15] - subs r2, r0, r1 - movs r1, #0x1f - ands r2, r1 - adds r0, r2, #4 - ands r0, r1 - cmp r0, #8 - bls _08022F4E - movs r0, #8 - strb r0, [r4, #0xf] - cmp r2, #0xf - bhi _08022F46 - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #1 - b _08022F4C -_08022F46: - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0xff -_08022F4C: - strb r0, [r1] -_08022F4E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08022F9E - movs r0, #4 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - adds r5, r4, #0 - adds r5, #0x78 - cmp r0, #0 - bne _08022F84 - movs r0, #8 - strb r0, [r4, #0xf] - bl sub_08000E50 - ldr r2, _08022FA0 @ =gUnk_080CBBC4 - movs r1, #1 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r5] -_08022F84: - ldrb r0, [r5] - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - strb r0, [r4, #0x1e] -_08022F9E: - pop {r4, r5, pc} - .align 2, 0 -_08022FA0: .4byte gUnk_080CBBC4 - - thumb_func_start sub_08022FA4 -sub_08022FA4: @ 0x08022FA4 - push {lr} - ldr r1, _08022FB0 @ =gUnk_080CBBC8 - bl sub_0800129E - pop {pc} - .align 2, 0 -_08022FB0: .4byte gUnk_080CBBC8 - - thumb_func_start sub_08022FB4 -sub_08022FB4: @ 0x08022FB4 - push {lr} - ldr r2, _08022FC8 @ =gUnk_080CBBDC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08022FC8: .4byte gUnk_080CBBDC - - thumb_func_start nullsub_133 -nullsub_133: @ 0x08022FCC - bx lr - .align 2, 0 - - thumb_func_start sub_08022FD0 -sub_08022FD0: @ 0x08022FD0 - push {lr} - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - movs r1, #0 - bl sub_08023000 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08022FEC -sub_08022FEC: @ 0x08022FEC - push {lr} - movs r1, #0x80 - bl sub_08023000 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08022FF8 -sub_08022FF8: @ 0x08022FF8 - bx lr - .align 2, 0 - - thumb_func_start sub_08022FFC -sub_08022FFC: @ 0x08022FFC - bx lr - .align 2, 0 - - thumb_func_start sub_08023000 -sub_08023000: @ 0x08023000 - push {r4, lr} - adds r4, r0, #0 - cmp r1, #0x80 - bne _0802300E - bl sub_080042B8 - b _08023014 -_0802300E: - adds r0, r4, #0 - bl sub_080042AC -_08023014: - movs r2, #0x80 - adds r0, r4, #0 - adds r0, #0x5b - ldrb r0, [r0] - cmp r0, #0x40 - bne _08023022 - rsbs r2, r2, #0 -_08023022: - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - adds r1, r2, #0 - movs r2, #0x80 - movs r3, #0 - bl sub_0805EC9C - pop {r4, pc} - - thumb_func_start sub_08023038 -sub_08023038: @ 0x08023038 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrh r5, [r4, #0x2e] - ldrh r6, [r4, #0x32] - ldrb r1, [r4, #0xa] - cmp r1, #0 - bne _0802306C - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08023052 - adds r0, r4, #0 - bl sub_0802390C -_08023052: - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x7d - strb r0, [r1] - ldr r1, _08023068 @ =gUnk_080CBC38 - adds r0, r4, #0 - bl sub_0800129E - b _08023090 - .align 2, 0 -_08023068: .4byte gUnk_080CBC38 -_0802306C: - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - beq _08023088 - cmp r1, #8 - beq _08023080 - adds r0, r4, #0 - bl sub_080235BC - b _08023090 -_08023080: - adds r0, r4, #0 - bl sub_08023730 - b _08023090 -_08023088: - adds r0, r4, #0 - bl sub_0805E7BC - b _080230CA -_08023090: - ldr r0, [r4, #0x50] - adds r2, r0, #0 - adds r2, #0x7c - adds r0, #0x7d - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - beq _080230CA - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _080230CA - ldrb r2, [r2] - subs r2, #1 - movs r0, #0xf - ands r2, r0 - adds r2, #0x78 - adds r2, r1, r2 - ldrh r1, [r4, #0x2e] - subs r1, r1, r5 - adds r1, #8 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #4 - ldrh r0, [r4, #0x32] - subs r0, r0, r6 - adds r0, #8 - ands r0, r3 - orrs r1, r0 - strb r1, [r2] -_080230CA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080230CC -sub_080230CC: @ 0x080230CC - push {lr} - ldr r2, _080230E0 @ =gUnk_080CBC50 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080230E0: .4byte gUnk_080CBC50 - - thumb_func_start sub_080230E4 -sub_080230E4: @ 0x080230E4 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xd] - cmp r0, #0xff - bne _08023132 - movs r2, #0 - movs r0, #7 - strb r0, [r5, #0xc] - movs r3, #1 - strb r3, [r5, #0xe] - strb r2, [r5, #0xd] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x85 - strb r0, [r1] - subs r1, #2 - movs r0, #0xf8 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x7f - strb r2, [r0] - subs r0, #4 - strb r2, [r0] - subs r0, #0x3a - ldrb r0, [r0] - cmp r0, #0x80 - beq _0802311E - cmp r0, #0x9e - bne _08023128 -_0802311E: - strb r2, [r5, #0xb] - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #0x14 - b _08023130 -_08023128: - strb r3, [r5, #0xb] - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #8 -_08023130: - strb r0, [r1] -_08023132: - adds r0, r5, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0802318A - adds r0, r5, #0 - adds r0, #0x7f - ldrb r0, [r0] - cmp r0, #0 - bne _0802318A - ldrb r0, [r5, #0xc] - cmp r0, #7 - bne _0802318A - ldr r4, _08023194 @ =gUnk_03001160 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0xff - strb r0, [r4, #0x15] - adds r4, #0x3d - movs r0, #0xec - strb r0, [r4] - ldr r2, _08023198 @ =gUnk_03003F80 - movs r0, #0x41 - strb r0, [r2, #2] - ldr r0, [r2, #0x30] - ldr r1, _0802319C @ =0xFFF7FFFF - ands r0, r1 - str r0, [r2, #0x30] -_0802318A: - ldr r1, _080231A0 @ =gUnk_080CBC38 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08023194: .4byte gUnk_03001160 -_08023198: .4byte gUnk_03003F80 -_0802319C: .4byte 0xFFF7FFFF -_080231A0: .4byte gUnk_080CBC38 - - thumb_func_start sub_080231A4 -sub_080231A4: @ 0x080231A4 - push {lr} - adds r2, r0, #0 - adds r2, #0x7c - ldrb r1, [r2] - adds r1, #1 - strb r1, [r2] - bl sub_08001324 - - thumb_func_start nullsub_134 -nullsub_134: @ 0x080231B4 - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_135 -nullsub_135: @ 0x080231B8 - bx lr - .align 2, 0 - - thumb_func_start sub_080231BC -sub_080231BC: @ 0x080231BC - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r0, _08023280 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x3f - bhi _0802327E - movs r0, #0xf - movs r1, #1 - bl sub_0804AA60 - adds r4, r0, #0 - str r4, [r6, #0x54] - str r6, [r4, #0x50] - movs r0, #0xf - movs r1, #2 - bl sub_0804AA60 - adds r5, r0, #0 - str r5, [r4, #0x54] - str r6, [r5, #0x50] - movs r0, #0xf - movs r1, #3 - bl sub_0804AA60 - adds r4, r0, #0 - str r4, [r5, #0x54] - str r6, [r4, #0x50] - movs r0, #0xf - movs r1, #4 - bl sub_0804AA60 - adds r5, r0, #0 - str r5, [r4, #0x54] - str r6, [r5, #0x50] - movs r0, #0xf - movs r1, #5 - bl sub_0804AA60 - adds r4, r0, #0 - str r4, [r5, #0x54] - str r6, [r4, #0x50] - movs r0, #0xf - movs r1, #6 - bl sub_0804AA60 - adds r5, r0, #0 - str r5, [r4, #0x54] - str r6, [r5, #0x50] - movs r0, #0xf - movs r1, #7 - bl sub_0804AA60 - adds r4, r0, #0 - str r4, [r5, #0x54] - str r6, [r4, #0x50] - movs r0, #0xf - movs r1, #8 - bl sub_0804AA60 - str r0, [r4, #0x54] - str r4, [r0, #0x74] - str r6, [r0, #0x50] - movs r1, #0 - str r1, [r0, #0x54] - adds r0, r6, #0 - bl sub_0804A720 - movs r0, #6 - strb r0, [r6, #0xc] - movs r1, #0x1e - strb r1, [r6, #0xe] - str r6, [r6, #0x50] - adds r0, r6, #0 - adds r0, #0x78 - strh r1, [r0] - ldrb r1, [r6, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r6, #0x1a] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r6, #0x15] - ldrb r0, [r6, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r6, #0x14] - ldrb r1, [r6, #0x14] - adds r0, r6, #0 - bl sub_08004260 -_0802327E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08023280: .4byte gUnk_03003DBC - - thumb_func_start nullsub_136 -nullsub_136: @ 0x08023284 - bx lr - .align 2, 0 - - thumb_func_start sub_08023288 -sub_08023288: @ 0x08023288 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08023324 - ldrb r1, [r7, #0xe] - adds r0, r1, #1 - strb r0, [r7, #0xe] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08023324 - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #0x1e - ands r4, r0 - movs r0, #0 - mov r8, r0 - ldr r2, _08023308 @ =gUnk_03001160 - mov sb, r2 - ldr r0, _0802330C @ =gUnk_080CBC70 - mov sl, r0 -_080232C2: - mov r2, sb - movs r0, #0x2e - ldrsh r1, [r2, r0] - mov r2, sl - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r6, r1, r0 - mov r0, sb - movs r2, #0x32 - ldrsh r1, [r0, r2] - adds r0, r4, #1 - add r0, sl - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r1, r0 - ldr r0, _08023310 @ =gUnk_03001198 - ldrb r2, [r0] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_080002A4 - bl sub_08023A38 - cmp r0, #0 - beq _08023314 - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r5, #0 - bl sub_08023990 - b _08023324 - .align 2, 0 -_08023308: .4byte gUnk_03001160 -_0802330C: .4byte gUnk_080CBC70 -_08023310: .4byte gUnk_03001198 -_08023314: - adds r4, #2 - movs r0, #0x1e - ands r4, r0 - movs r2, #1 - add r8, r2 - mov r0, r8 - cmp r0, #0xf - bls _080232C2 -_08023324: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08023330 -sub_08023330: @ 0x08023330 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08004274 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023394 - movs r0, #4 - strb r0, [r5, #0xc] - movs r0, #0x19 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x78 - movs r4, #0 - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r1] - bl sub_08000E50 - movs r1, #0x1c - ands r0, r1 - strb r0, [r5, #0x15] - lsrs r0, r0, #2 - strb r0, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x7b - strb r4, [r0] - adds r0, #4 - strb r4, [r0] - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl sub_08023A88 - ldr r1, [r5, #0x54] - adds r0, r5, #0 - bl sub_0806FA24 - adds r0, r5, #0 - movs r1, #4 - movs r2, #0 - bl sub_080A29AC -_08023394: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08023398 -sub_08023398: @ 0x08023398 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - adds r0, #3 - ldrb r0, [r0] - cmp r0, #0 - beq _080233C0 - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _080233C0 - adds r1, r5, #0 - adds r1, #0x78 - movs r0, #1 - strh r0, [r1] -_080233C0: - adds r4, r5, #0 - adds r4, #0x78 - ldrh r0, [r4] - subs r0, #1 - strh r0, [r4] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08023416 - adds r0, r5, #0 - bl sub_080002A0 - bl sub_08023A38 - cmp r0, #0 - beq _08023412 - movs r0, #5 - strb r0, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x7f - movs r0, #0 - strb r0, [r1] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x85 - strb r0, [r1] - ldr r1, [r5, #0x54] - movs r0, #1 - strb r0, [r1, #0xe] - adds r0, r5, #0 - bl sub_08023A68 - adds r0, r5, #0 - movs r1, #4 - movs r2, #0 - bl sub_080A29AC - b _0802349C -_08023412: - movs r0, #0x28 - strh r0, [r4] -_08023416: - adds r0, r5, #0 - adds r0, #0x7f - ldrb r0, [r0] - cmp r0, #0 - beq _08023426 - adds r0, r5, #0 - bl sub_08023AB0 -_08023426: - ldrb r0, [r5, #0xe] - subs r1, r0, #1 - strb r1, [r5, #0xe] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #2 - bhi _08023440 - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0802349C - movs r0, #0x19 - strb r0, [r5, #0xe] - b _0802349C -_08023440: - ldr r4, [r5, #0x2c] - ldr r6, [r5, #0x30] - adds r0, r5, #0 - bl sub_080AEF88 - ldr r0, [r5, #0x2c] - cmp r0, r4 - bne _08023460 - ldr r0, [r5, #0x30] - cmp r0, r6 - bne _08023460 - adds r1, r5, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] -_08023460: - ldr r0, _080234A0 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0802349C - adds r0, r5, #0 - movs r1, #1 - bl sub_08049F84 - adds r1, r0, #0 - adds r0, r5, #0 - bl sub_08004596 - ldrb r0, [r5, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - ldrb r1, [r5, #0x14] - cmp r0, r1 - beq _0802349C - strb r0, [r5, #0x14] - adds r1, r5, #0 - adds r1, #0x7b - ldrb r1, [r1] - adds r1, r0, r1 - adds r0, r5, #0 - bl sub_08004260 -_0802349C: - pop {r4, r5, r6, pc} - .align 2, 0 -_080234A0: .4byte gUnk_030010A0 - - thumb_func_start sub_080234A4 -sub_080234A4: @ 0x080234A4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x7f - ldrb r0, [r0] - cmp r0, #0 - beq _080234D6 - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0xa - ands r0, r1 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1] -_080234D6: - pop {r4, pc} - - thumb_func_start sub_080234D8 -sub_080234D8: @ 0x080234D8 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802351A - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x1a] - subs r0, #0x12 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r4, #0x1a] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08023A88 -_0802351A: - pop {r4, pc} - - thumb_func_start sub_0802351C -sub_0802351C: @ 0x0802351C - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldrb r0, [r7, #0xe] - cmp r0, #0 - beq _0802355A - ldrb r0, [r7, #0xb] - cmp r0, #1 - beq _08023534 - ldr r0, _080235A8 @ =gUnk_03001160 - ldrb r0, [r0, #0x1e] - cmp r0, #0xff - bne _0802355A -_08023534: - movs r0, #0 - strb r0, [r7, #0xe] - ldr r1, [r7, #0x54] - movs r0, #3 - strb r0, [r1, #0xc] - ldr r1, [r7, #0x54] - adds r0, r7, #0 - adds r0, #0x80 - ldrb r0, [r0] - strb r0, [r1, #0xf] - ldr r0, [r7, #0x54] - ldrb r1, [r0, #0x14] - adds r1, #1 - bl sub_08004260 - ldrb r1, [r7, #0x14] - adds r0, r7, #0 - bl sub_08004260 -_0802355A: - adds r0, r7, #0 - adds r0, #0x7f - ldrb r0, [r0] - cmp r0, #0 - bne _080235B4 - ldrb r0, [r7, #0xb] - cmp r0, #0 - bne _080235B8 - ldr r5, _080235A8 @ =gUnk_03001160 - ldrb r0, [r7, #0x14] - movs r4, #7 - adds r2, r4, #0 - ands r2, r0 - strb r2, [r5, #0x14] - ldr r3, _080235AC @ =gUnk_03003F80 - ldr r0, [r3, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xc - orrs r0, r1 - str r0, [r3, #0x30] - ldr r6, _080235B0 @ =gUnk_080CBC90 - adds r2, r2, r6 - movs r3, #0 - ldrsb r3, [r2, r3] - lsls r3, r3, #0x10 - adds r0, r7, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - ldrb r0, [r7, #0x14] - ands r4, r0 - adds r4, r4, r6 - ldrb r0, [r4] - rsbs r0, r0, #0 - adds r5, #0x63 - strb r0, [r5] - b _080235B8 - .align 2, 0 -_080235A8: .4byte gUnk_03001160 -_080235AC: .4byte gUnk_03003F80 -_080235B0: .4byte gUnk_080CBC90 -_080235B4: - movs r0, #4 - strb r0, [r7, #0xc] -_080235B8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080235BC -sub_080235BC: @ 0x080235BC - push {lr} - ldr r2, _080235D0 @ =gUnk_080CBC98 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080235D0: .4byte gUnk_080CBC98 - - thumb_func_start sub_080235D4 -sub_080235D4: @ 0x080235D4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, [r4, #0x50] - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_080239F0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _080235F6 - movs r0, #0x10 - b _080235F8 -_080235F6: - movs r0, #0x12 -_080235F8: - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_08023604 -sub_08023604: @ 0x08023604 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x50] - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - adds r0, r0, r2 - adds r0, #0x78 - ldrb r0, [r0] - cmp r0, #0x88 - beq _08023640 - movs r1, #0 - movs r0, #2 - strb r0, [r2, #0xc] - strb r1, [r2, #0xe] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - bl sub_08023644 -_08023640: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08023644 -sub_08023644: @ 0x08023644 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x17 - bne _08023692 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08023692 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _08023692 - movs r6, #0x32 - ldrsh r1, [r4, r6] - movs r2, #0x32 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _08023692 - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x54] - strb r2, [r0, #0xe] - adds r0, r4, #0 - bl sub_080239F0 -_08023692: - adds r0, r5, #0 - adds r0, #0x7c - adds r1, r5, #0 - adds r1, #0x7d - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _080236F2 - movs r2, #0xf - adds r1, r2, #0 - ands r1, r0 - adds r1, #0x78 - adds r1, r4, r1 - ldrb r0, [r1] - lsrs r0, r0, #4 - ldr r3, _080236F4 @ =0x0000FFF8 - adds r0, r0, r3 - ldrh r6, [r4, #0x2e] - adds r0, r0, r6 - strh r0, [r4, #0x2e] - ldrb r0, [r1] - ands r2, r0 - adds r2, r2, r3 - ldrh r0, [r4, #0x32] - adds r2, r2, r0 - strh r2, [r4, #0x32] - ldrb r2, [r5, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x19] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] -_080236F2: - pop {r4, r5, r6, pc} - .align 2, 0 -_080236F4: .4byte 0x0000FFF8 - - thumb_func_start sub_080236F8 -sub_080236F8: @ 0x080236F8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802372E - movs r0, #2 - strb r0, [r4, #0xc] - ldr r1, [r4, #0x54] - movs r0, #3 - strb r0, [r1, #0xc] - ldr r1, [r4, #0x54] - ldr r0, [r4, #0x50] - adds r0, #0x80 - ldrb r0, [r0] - strb r0, [r1, #0xf] - ldr r0, [r4, #0x54] - ldrb r1, [r0, #0x14] - adds r1, #1 - bl sub_08004260 - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_0802372E: - pop {r4, pc} - - thumb_func_start sub_08023730 -sub_08023730: @ 0x08023730 - push {lr} - ldr r2, _08023744 @ =gUnk_080CBCA8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08023744: .4byte gUnk_080CBCA8 - - thumb_func_start sub_08023748 -sub_08023748: @ 0x08023748 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x14 - strb r0, [r4, #0x14] - ldr r1, [r4, #0x50] - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_080239F0 - adds r0, r4, #0 - bl sub_08023A68 - pop {r4, pc} - - thumb_func_start sub_0802376C -sub_0802376C: @ 0x0802376C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _0802379A - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xf - bhi _0802379A - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - adds r0, r4, #0 - bl sub_08004274 -_0802379A: - adds r0, r5, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - adds r0, r0, r4 - adds r0, #0x78 - ldrb r0, [r0] - cmp r0, #0x88 - beq _080237D4 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldr r0, [r4, #0x50] - adds r0, #0x7f - movs r1, #1 - strb r1, [r0] - adds r0, r4, #0 - movs r1, #0x14 - bl sub_08023A88 - adds r0, r4, #0 - bl sub_080237D8 -_080237D4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080237D8 -sub_080237D8: @ 0x080237D8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x17 - bne _0802382E - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802382E - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0802382E - movs r6, #0x32 - ldrsh r1, [r4, r6] - movs r2, #0x32 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0802382E - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r5, #0 - adds r0, #0x7f - strb r2, [r0] - adds r0, r4, #0 - bl sub_080239F0 - adds r0, r4, #0 - bl sub_08023A68 -_0802382E: - adds r0, r5, #0 - adds r0, #0x7c - adds r1, r5, #0 - adds r1, #0x7d - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _0802388E - movs r2, #0xf - adds r1, r2, #0 - ands r1, r0 - adds r1, #0x78 - adds r1, r4, r1 - ldrb r0, [r1] - lsrs r0, r0, #4 - ldr r3, _08023890 @ =0x0000FFF8 - adds r0, r0, r3 - ldrh r6, [r4, #0x2e] - adds r0, r0, r6 - strh r0, [r4, #0x2e] - ldrb r0, [r1] - ands r2, r0 - adds r2, r2, r3 - ldrh r0, [r4, #0x32] - adds r2, r2, r0 - strh r2, [r4, #0x32] - ldrb r2, [r5, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x19] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] -_0802388E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08023890: .4byte 0x0000FFF8 - - thumb_func_start sub_08023894 -sub_08023894: @ 0x08023894 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08023900 - movs r0, #2 - strb r0, [r5, #0xc] - ldr r0, [r5, #0x50] - adds r0, #0x7f - movs r1, #1 - strb r1, [r0] - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl sub_08004260 - ldr r0, [r5, #0x50] - ldrb r0, [r0, #0xb] - cmp r0, #0 - bne _08023900 - ldr r2, _08023904 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xe - orrs r0, r1 - str r0, [r2, #0x30] - ldr r4, _08023908 @ =gUnk_03001160 - ldrh r0, [r5, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x32] - strh r0, [r4, #0x32] - ldr r0, [r5, #0x74] - adds r1, r5, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xc - strb r0, [r1] - subs r0, #0x1c - bl sub_080526A0 - adds r0, r4, #0 - movs r1, #0x7a - bl sub_0800449C -_08023900: - pop {r4, r5, pc} - .align 2, 0 -_08023904: .4byte gUnk_03003F80 -_08023908: .4byte gUnk_03001160 - - thumb_func_start sub_0802390C -sub_0802390C: @ 0x0802390C - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023932 - ldr r2, [r5, #0x54] - adds r3, r5, #0 - adds r3, #0x3d -_08023922: - ldrb r0, [r3] - adds r1, r2, #0 - adds r1, #0x3d - strb r0, [r1] - ldr r2, [r2, #0x54] - cmp r2, #0 - bne _08023922 - b _0802398C -_08023932: - ldr r2, [r5, #0x54] - b _0802393C -_08023936: - ldr r2, [r2, #0x54] - cmp r2, #0 - beq _0802398C -_0802393C: - adds r0, r2, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023936 - movs r0, #0x45 - adds r0, r0, r2 - mov ip, r0 - ldrb r1, [r0] - movs r4, #0xff - subs r0, r4, r1 - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - beq _08023936 - adds r0, r1, #0 - orrs r0, r4 - mov r1, ip - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3d - ldrb r4, [r0] - adds r1, r5, #0 - adds r1, #0x45 - ldrb r0, [r1] - cmp r0, r3 - blo _0802397A - subs r0, r0, r3 - b _0802397C -_0802397A: - movs r0, #0 -_0802397C: - strb r0, [r1] - adds r2, r5, #0 -_08023980: - adds r0, r2, #0 - adds r0, #0x3d - strb r4, [r0] - ldr r2, [r2, #0x54] - cmp r2, #0 - bne _08023980 -_0802398C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08023990 -sub_08023990: @ 0x08023990 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #3 - strb r0, [r5, #0xc] - ldrb r3, [r5, #0x18] - subs r0, #7 - ands r0, r3 - movs r3, #1 - orrs r0, r3 - strb r0, [r5, #0x18] - movs r0, #0x55 - strb r0, [r5, #0x1a] - adds r4, r5, #0 - adds r4, #0x29 - ldrb r0, [r4] - movs r3, #7 - orrs r0, r3 - strb r0, [r4] - strh r1, [r5, #0x2e] - strh r2, [r5, #0x32] - ldr r0, _080239EC @ =gUnk_03001160 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r5, #0 - bl sub_08016A04 - adds r0, r5, #0 - movs r1, #0x16 - bl sub_08004260 - ldr r4, [r5, #0x54] -_080239D4: - adds r0, r4, #0 - bl sub_080239F0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r4, [r4, #0x54] - cmp r4, #0 - bne _080239D4 - pop {r4, r5, pc} - .align 2, 0 -_080239EC: .4byte gUnk_03001160 - - thumb_func_start sub_080239F0 -sub_080239F0: @ 0x080239F0 - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x78 - movs r0, #0x88 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - bx lr - - thumb_func_start sub_08023A38 -sub_08023A38: @ 0x08023A38 - push {lr} - adds r1, r0, #0 - cmp r1, #0x1a - beq _08023A5A - cmp r1, #0x29 - beq _08023A5A - ldr r0, _08023A60 @ =gUnk_080B37A0 - adds r0, r1, r0 - ldrb r1, [r0] - cmp r1, #9 - beq _08023A5A - cmp r1, #0xb - beq _08023A5A - cmp r1, #0xa - beq _08023A5A - cmp r1, #0xc - bne _08023A64 -_08023A5A: - movs r0, #1 - b _08023A66 - .align 2, 0 -_08023A60: .4byte gUnk_080B37A0 -_08023A64: - movs r0, #0 -_08023A66: - pop {pc} - - thumb_func_start sub_08023A68 -sub_08023A68: @ 0x08023A68 - push {r4, lr} - adds r4, r0, #0 - movs r1, #5 - bl sub_0801D2B4 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0x17 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_08023A88 -sub_08023A88: @ 0x08023A88 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0x22 - bl sub_0801D2B4 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08004260 - pop {r4, r5, pc} - - thumb_func_start sub_08023AB0 -sub_08023AB0: @ 0x08023AB0 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r7, r4, #0 - adds r7, #0x7b - ldrb r0, [r7] - cmp r0, #8 - bne _08023AF6 - adds r5, r4, #0 - adds r5, #0x7e - ldrb r0, [r5] - adds r6, r0, #0 - cmp r6, #0 - bne _08023B00 - adds r0, r4, #0 - bl sub_08023B38 - cmp r0, #0 - beq _08023ADE - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r0, #0x1d - bhi _08023B34 -_08023ADE: - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x85 - strb r0, [r1] - strb r6, [r7] - movs r0, #0x1e - strb r0, [r5] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - b _08023B34 -_08023AF6: - adds r5, r4, #0 - adds r5, #0x7e - ldrb r0, [r5] - cmp r0, #0 - beq _08023B06 -_08023B00: - subs r0, #1 - strb r0, [r5] - b _08023B34 -_08023B06: - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r0, #0x59 - bls _08023B34 - adds r0, r4, #0 - bl sub_08023B38 - cmp r0, #0 - beq _08023B34 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x87 - strb r0, [r1] - movs r0, #8 - strb r0, [r7] - movs r0, #0xa - strb r0, [r5] - ldrb r1, [r4, #0x14] - adds r1, #8 - adds r0, r4, #0 - bl sub_08004260 -_08023B34: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08023B38 -sub_08023B38: @ 0x08023B38 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r5, r0, #0 - cmp r5, #0 - bne _08023B4C - movs r0, #0 - b _08023B8E -_08023B4C: - movs r0, #0x2e - ldrsh r2, [r4, r0] - ldr r3, _08023B90 @ =gUnk_080CBCB8 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - adds r1, r0, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r2, r2, r1 - movs r6, #0x32 - ldrsh r1, [r4, r6] - adds r0, #1 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r1, r1, r0 - movs r3, #0 - movs r4, #0x2e - ldrsh r0, [r5, r4] - subs r0, r0, r2 - adds r0, #0x14 - cmp r0, #0x28 - bhi _08023B8C - movs r6, #0x32 - ldrsh r0, [r5, r6] - subs r0, r0, r1 - adds r0, #0x14 - cmp r0, #0x28 - bhi _08023B8C - movs r3, #1 -_08023B8C: - adds r0, r3, #0 -_08023B8E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08023B90: .4byte gUnk_080CBCB8 - - thumb_func_start sub_08023B94 -sub_08023B94: @ 0x08023B94 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _08023BAC - ldr r1, _08023BA8 @ =gUnk_080CBDBC - adds r0, r5, #0 - bl sub_0800129E - b _08023BEC - .align 2, 0 -_08023BA8: .4byte gUnk_080CBDBC -_08023BAC: - cmp r0, #0 - bne _08023C00 - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _08023BD8 - adds r0, r5, #0 - bl sub_080012DC - adds r1, r0, #0 - cmp r1, #0 - beq _08023BD8 - ldr r0, _08023BD4 @ =gUnk_080012C8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _08023C06 - .align 2, 0 -_08023BD4: .4byte gUnk_080012C8 -_08023BD8: - ldr r4, _08023BFC @ =gUnk_080CBDD4 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 -_08023BEC: - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - b _08023C06 - .align 2, 0 -_08023BFC: .4byte gUnk_080CBDD4 -_08023C00: - adds r0, r5, #0 - bl sub_08023E10 -_08023C06: - pop {r4, r5, pc} - - thumb_func_start sub_08023C08 -sub_08023C08: @ 0x08023C08 - push {lr} - ldr r2, _08023C1C @ =gUnk_080CBDEC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08023C1C: .4byte gUnk_080CBDEC - - thumb_func_start sub_08023C20 -sub_08023C20: @ 0x08023C20 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08023C34 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08023C34: - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _08023C48 - ldr r1, _08023C44 @ =gUnk_080CBDBC - adds r0, r4, #0 - bl sub_0804AA30 - b _08023C50 - .align 2, 0 -_08023C44: .4byte gUnk_080CBDBC -_08023C48: - ldr r1, _08023C54 @ =gUnk_080CBDD4 - adds r0, r4, #0 - bl sub_0804AA30 -_08023C50: - pop {r4, pc} - .align 2, 0 -_08023C54: .4byte gUnk_080CBDD4 - - thumb_func_start nullsub_137 -nullsub_137: @ 0x08023C58 - bx lr - .align 2, 0 - - thumb_func_start sub_08023C5C -sub_08023C5C: @ 0x08023C5C - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x30 - ands r0, r1 - adds r0, #0xb4 - strb r0, [r4, #0xe] - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_08023C8C -sub_08023C8C: @ 0x08023C8C - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_08023E54 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08023CDC - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - beq _08023CBC - movs r0, #8 - strb r0, [r4, #0xe] - b _08023CDC -_08023CBC: - bl sub_08000E50 - movs r1, #0x30 - ands r0, r1 - adds r0, #0xb4 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08023E9C - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_08023CDC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08023CE0 -sub_08023CE0: @ 0x08023CE0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08023D48 - cmp r0, #1 - bgt _08023CF4 - cmp r0, #0 - beq _08023CFA - b _08023DC0 -_08023CF4: - cmp r0, #2 - beq _08023D6E - b _08023DC0 -_08023CFA: - adds r0, r4, #0 - bl sub_0804A720 - ldrb r1, [r4, #0xb] - cmp r1, #1 - bne _08023D1C - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08023D12 - strb r1, [r4, #0xe] -_08023D12: - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - b _08023D20 -_08023D1C: - movs r0, #1 - strb r0, [r4, #0xc] -_08023D20: - ldr r0, _08023D44 @ =0x0000FF80 - strh r0, [r4, #0x36] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _08023E0A - .align 2, 0 -_08023D44: .4byte 0x0000FF80 -_08023D48: - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x20 - bl sub_08049F64 - cmp r0, #0 - beq _08023E0A - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08023D64 - movs r0, #8 - strb r0, [r4, #0xe] -_08023D64: - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - b _08023E0A -_08023D6E: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08023D94 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08023E0A - ldr r0, _08023D90 @ =0x0000012D - bl sub_08004488 - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - b _08023E0A - .align 2, 0 -_08023D90: .4byte 0x0000012D -_08023D94: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08023E0A - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x84 - bl sub_08004488 - adds r0, r4, #0 - bl sub_08016A04 - b _08023E0A -_08023DC0: - adds r0, r4, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - cmp r1, #0 - beq _08023E0A - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023DF2 - movs r0, #0x10 - movs r1, #1 - bl sub_0804AA60 - adds r1, r0, #0 - cmp r1, #0 - beq _08023E0A - adds r0, r4, #0 - bl sub_0804A4E4 - bl sub_0805E780 - b _08023E0A -_08023DF2: - ldr r1, _08023E0C @ =gUnk_080CBDF4 - ldrb r0, [r2] - subs r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - movs r1, #0 - strh r0, [r4, #0x32] - strb r1, [r2] -_08023E0A: - pop {r4, pc} - .align 2, 0 -_08023E0C: .4byte gUnk_080CBDF4 - - thumb_func_start sub_08023E10 -sub_08023E10: @ 0x08023E10 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08023E36 - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #9 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 -_08023E36: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08023E50 - adds r0, r4, #0 - bl sub_0805E7BC -_08023E50: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08023E54 -sub_08023E54: @ 0x08023E54 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - adds r1, r0, #1 - strb r1, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1b - bls _08023E94 - movs r0, #0 - strb r0, [r4, #0xf] - movs r0, #0x10 - movs r1, #2 - bl sub_0804AA60 - adds r5, r0, #0 - cmp r5, #0 - beq _08023E94 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - ldr r1, _08023E98 @ =gUnk_080CBDF7 - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA48 -_08023E94: - pop {r4, r5, pc} - .align 2, 0 -_08023E98: .4byte gUnk_080CBDF7 - - thumb_func_start sub_08023E9C -sub_08023E9C: @ 0x08023E9C - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08000E50 - adds r6, r0, #0 - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08023EC2 - movs r0, #1 - ands r0, r6 - cmp r0, #0 - beq _08023EC2 - adds r0, r5, #0 - bl sub_08049EE4 - adds r0, #4 - b _08023F1C -_08023EC2: - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08023F0A - movs r0, #6 - ands r0, r6 - cmp r0, #0 - beq _08023F0A - ldr r0, _08023F00 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r5, #0 - bl sub_080045C4 - ldrb r2, [r5, #0x15] - subs r1, r0, r2 - cmp r1, #0 - beq _08023F22 - adds r0, r1, #4 - movs r3, #0x1f - ands r0, r3 - cmp r0, #8 - bls _08023F22 - ands r1, r3 - cmp r1, #0xf - bhi _08023F04 - adds r0, r2, #0 - adds r0, #8 - b _08023F1C - .align 2, 0 -_08023F00: .4byte gUnk_020000B0 -_08023F04: - adds r0, r2, #0 - subs r0, #8 - b _08023F1C -_08023F0A: - ldr r4, _08023F24 @ =gUnk_080CBDFF - lsrs r0, r6, #4 - movs r1, #3 - bl __modsi3 - adds r0, r0, r4 - ldrb r0, [r0] - ldrb r1, [r5, #0x15] - adds r0, r0, r1 -_08023F1C: - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] -_08023F22: - pop {r4, r5, r6, pc} - .align 2, 0 -_08023F24: .4byte gUnk_080CBDFF - - thumb_func_start sub_08023F28 -sub_08023F28: @ 0x08023F28 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08023F40 @ =gUnk_080CBEC4 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08023F40: .4byte gUnk_080CBEC4 - - thumb_func_start sub_08023F44 -sub_08023F44: @ 0x08023F44 - push {lr} - ldr r2, _08023F58 @ =gUnk_080CBEDC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08023F58: .4byte gUnk_080CBEDC - - thumb_func_start sub_08023F5C -sub_08023F5C: @ 0x08023F5C - push {r4, lr} - mov ip, r0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x6e - beq _08023FC8 - mov r0, ip - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _08023FD0 - mov r1, ip - adds r1, #0x86 - movs r0, #0x30 - strb r0, [r1] - mov r2, ip - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0xf - ands r0, r1 - adds r4, r2, #0 - cmp r0, #3 - bne _08023FD0 - mov r1, ip - ldrb r0, [r1, #0xc] - cmp r0, #6 - bne _08023FD0 - subs r2, #3 - ldrb r0, [r2] - cmp r0, #1 - beq _08023FA0 - cmp r0, #2 - beq _08023FB8 - b _08023FD0 -_08023FA0: - movs r0, #0 - ldr r1, _08023FC4 @ =0x0000FFF0 - mov r3, ip - strh r1, [r3, #0x36] - adds r3, #0x82 - strb r0, [r3] - mov r0, ip - adds r0, #0x78 - strh r1, [r0] - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] -_08023FB8: - ldrb r1, [r4] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4] - b _08023FD0 - .align 2, 0 -_08023FC4: .4byte 0x0000FFF0 -_08023FC8: - mov r1, ip - adds r1, #0x45 - movs r0, #0 - strb r0, [r1] -_08023FD0: - ldr r1, _08023FDC @ =gUnk_080CBEC4 - mov r0, ip - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08023FDC: .4byte gUnk_080CBEC4 - - thumb_func_start sub_08023FE0 -sub_08023FE0: @ 0x08023FE0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08001324 - - thumb_func_start sub_08023FE8 -sub_08023FE8: @ 0x08023FE8 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_08023FF0 -sub_08023FF0: @ 0x08023FF0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _08024022 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - bne _08024022 - movs r2, #1 - strb r2, [r4, #0xc] - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x77 - strb r0, [r1] - strb r2, [r4, #0xe] - movs r0, #0x40 - strh r0, [r4, #0x24] - b _08024032 -_08024022: - ldr r0, _08024034 @ =gUnk_080CBEF8 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08024032: - pop {r4, pc} - .align 2, 0 -_08024034: .4byte gUnk_080CBEF8 - - thumb_func_start sub_08024038 -sub_08024038: @ 0x08024038 - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bl sub_08004274 - pop {pc} - - thumb_func_start sub_08024048 -sub_08024048: @ 0x08024048 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F4E8 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_08024058 -sub_08024058: @ 0x08024058 - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_08024060 -sub_08024060: @ 0x08024060 - push {lr} - adds r3, r0, #0 - adds r2, r3, #0 - adds r2, #0x3f - ldrb r0, [r2] - cmp r0, #0x6e - beq _0802408C - ldrb r1, [r3, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r3, #0x10] - movs r0, #0x6e - strb r0, [r2] - ldr r0, _08024094 @ =gUnk_03001160 - ldrb r1, [r0, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r3, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x19] -_0802408C: - adds r0, r3, #0 - bl sub_08004274 - pop {pc} - .align 2, 0 -_08024094: .4byte gUnk_03001160 - - thumb_func_start nullsub_138 -nullsub_138: @ 0x08024098 - bx lr - .align 2, 0 - - thumb_func_start sub_0802409C -sub_0802409C: @ 0x0802409C - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0 - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080A29BC - pop {r4, pc} - - thumb_func_start sub_080240B8 -sub_080240B8: @ 0x080240B8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #0xc0 - ands r1, r0 - lsrs r7, r1, #3 - adds r0, r4, #0 - bl sub_0804A720 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - movs r0, #8 - ands r0, r7 - cmp r0, #0 - beq _080240FC - movs r0, #0x32 - ldrsh r1, [r4, r0] - movs r0, #0x10 - ands r0, r7 - cmp r0, #0 - beq _080240F4 - adds r0, r1, #0 - subs r0, #0x20 - b _080240F8 -_080240F4: - adds r0, r1, #0 - adds r0, #0x20 -_080240F8: - strh r0, [r4, #0x32] - b _08024114 -_080240FC: - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0x10 - ands r0, r7 - cmp r0, #0 - beq _0802410E - adds r0, r1, #0 - subs r0, #0x20 - b _08024112 -_0802410E: - adds r0, r1, #0 - adds r0, #0x20 -_08024112: - strh r0, [r4, #0x2e] -_08024114: - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08024120 - cmp r0, #1 - beq _0802412C - b _08024136 -_08024120: - adds r1, r4, #0 - adds r1, #0x78 - ldr r0, _08024128 @ =0x0000FFF0 - b _08024132 - .align 2, 0 -_08024128: .4byte 0x0000FFF0 -_0802412C: - adds r1, r4, #0 - adds r1, #0x78 - ldr r0, _080241BC @ =0x0000FFD0 -_08024132: - strh r0, [r1] - strh r0, [r4, #0x36] -_08024136: - adds r0, r4, #0 - bl sub_08016A04 - bl sub_08052660 - cmp r0, #0 - beq _08024150 - ldrb r0, [r4, #0x1b] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r4, #0x1b] -_08024150: - bl sub_08000E50 - movs r1, #0x40 - ands r0, r1 - adds r1, r4, #0 - adds r1, #0x81 - movs r6, #0 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x82 - strb r6, [r0] - adds r5, r4, #0 - adds r5, #0x83 - movs r0, #0x80 - strb r0, [r5] - adds r0, r4, #0 - adds r0, #0x86 - strb r6, [r0] - adds r0, #1 - strb r6, [r0] - strb r6, [r4, #0xe] - movs r0, #0x20 - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - movs r0, #2 - strb r0, [r4, #0x1c] - strb r7, [r4, #0x15] - adds r0, r4, #0 - bl sub_080249DC - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _080241B8 - strb r6, [r5] - ldrb r2, [r5] - adds r0, r4, #0 - movs r1, #6 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _080241B8 - str r1, [r4, #0x54] - str r4, [r1, #0x50] - ldrh r0, [r1, #0x32] - adds r0, #0x10 - strh r0, [r1, #0x32] -_080241B8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080241BC: .4byte 0x0000FFD0 - - thumb_func_start sub_080241C0 -sub_080241C0: @ 0x080241C0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08024940 - adds r6, r4, #0 - adds r6, #0x80 - ldrb r5, [r6] - cmp r5, #0 - beq _080241D8 - cmp r5, #1 - beq _08024238 - b _08024296 -_080241D8: - ldr r0, _08024218 @ =gUnk_03003F80 - ldrb r0, [r0, #0xf] - movs r2, #0x40 - cmp r0, #0 - beq _080241E4 - movs r2, #0xa0 -_080241E4: - adds r0, r4, #0 - movs r1, #3 - bl sub_08049F64 - cmp r0, #0 - beq _08024220 - adds r0, r4, #0 - movs r1, #3 - bl sub_08049FDC - cmp r0, #0 - beq _08024220 - ldr r0, _0802421C @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0x1e - beq _08024220 - ldrb r0, [r6] - adds r0, #1 - strb r0, [r6] - strh r5, [r4, #0x24] - adds r0, r4, #0 - movs r1, #3 - movs r2, #0xa - bl sub_08024A14 - b _08024296 - .align 2, 0 -_08024218: .4byte gUnk_03003F80 -_0802421C: .4byte gUnk_03001160 -_08024220: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08024296 - adds r0, r4, #0 - movs r1, #0 - movs r2, #0x20 - bl sub_08024A14 - b _08024296 -_08024238: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08024296 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08024290 - adds r5, r4, #0 - adds r5, #0x83 - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0802426C - adds r0, r4, #0 - bl sub_08024C94 - ldrb r0, [r5] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r5] - b _08024296 -_0802426C: - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r6] - movs r0, #0xa - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - bl sub_08024E00 - adds r0, r4, #0 - bl sub_08024E1C - ldrb r2, [r4, #0xf] - adds r0, r4, #0 - movs r1, #3 - bl sub_08024A14 - b _08024296 -_08024290: - adds r0, r4, #0 - bl sub_08024C94 -_08024296: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08024298 -sub_08024298: @ 0x08024298 - push {lr} - bl sub_08024D00 - pop {pc} - - thumb_func_start sub_080242A0 -sub_080242A0: @ 0x080242A0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08024940 - adds r0, r4, #0 - bl sub_08024CC0 - cmp r0, #0 - beq _08024334 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _080242F0 - ldr r0, _080242E4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #1 - bl sub_08024E00 - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _080242E8 - strh r5, [r4, #0x24] - b _08024306 - .align 2, 0 -_080242E4: .4byte gUnk_020000B0 -_080242E8: - adds r0, r4, #0 - bl sub_08024E1C - b _08024306 -_080242F0: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - cmp r0, #0 - bne _08024306 - adds r0, r4, #0 - movs r1, #3 - movs r2, #0xa - bl sub_08024A14 -_08024306: - ldr r0, _08024338 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x20 - bl sub_08049F1C - cmp r0, #0 - beq _08024334 - adds r0, r4, #0 - movs r1, #3 - bl sub_08049FDC - cmp r0, #0 - beq _08024334 - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - movs r0, #0x10 - strb r0, [r4, #0xe] - strh r1, [r4, #0x24] -_08024334: - pop {r4, r5, pc} - .align 2, 0 -_08024338: .4byte gUnk_020000B0 - - thumb_func_start sub_0802433C -sub_0802433C: @ 0x0802433C - push {r4, lr} - adds r4, r0, #0 - bl sub_08024940 - adds r2, r4, #0 - adds r2, #0x80 - ldrb r0, [r2] - cmp r0, #0 - beq _08024354 - cmp r0, #1 - beq _0802437A - b _080243B6 -_08024354: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080243B6 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #8 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08024E00 - b _080243B6 -_0802437A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080243A0 - movs r0, #5 - strb r0, [r4, #0xc] - strb r1, [r2] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #0xc0 - strb r0, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - b _080243B6 -_080243A0: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r3 - cmp r0, #0 - bne _080243B6 - adds r0, r4, #0 - movs r1, #2 - movs r2, #4 - bl sub_08024A14 -_080243B6: - pop {r4, pc} - - thumb_func_start sub_080243B8 -sub_080243B8: @ 0x080243B8 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08024940 - adds r5, r4, #0 - adds r5, #0x80 - ldrb r0, [r5] - cmp r0, #1 - beq _0802446A - cmp r0, #1 - bgt _080243D4 - cmp r0, #0 - beq _080243DA - b _080244E4 -_080243D4: - cmp r0, #2 - beq _08024486 - b _080244E4 -_080243DA: - adds r0, r4, #0 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - beq _08024462 - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _080243F2 - ldr r0, [r0, #4] - cmp r0, #0 - bne _08024406 -_080243F2: - movs r0, #2 - strb r0, [r5] - movs r0, #0x20 - strb r0, [r4, #0xe] - movs r1, #0x80 - strh r1, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x83 - strb r1, [r0] - b _080244E4 -_08024406: - ldr r0, _08024434 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0xe - bl sub_08049F1C - cmp r0, #0 - beq _08024438 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - movs r0, #0x1e - strb r0, [r4, #0xe] - adds r0, #0xe2 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0x80 - strb r0, [r1] - ldr r1, [r4, #0x54] - movs r0, #2 - strb r0, [r1, #0xc] - b _080244E4 - .align 2, 0 -_08024434: .4byte gUnk_020000B0 -_08024438: - ldrb r0, [r4, #0xe] - subs r2, r0, #1 - strb r2, [r4, #0xe] - movs r1, #0xff - lsls r0, r2, #0x18 - cmp r0, #0 - beq _08024462 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - cmp r0, #0 - bne _080244E4 - lsls r2, r2, #0x18 - lsrs r2, r2, #0x1e - adds r2, #1 - adds r0, r4, #0 - movs r1, #2 - bl sub_08024A14 - b _080244E4 -_08024462: - adds r0, r4, #0 - bl sub_08024C7C - b _080244E4 -_0802446A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080244E4 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - movs r0, #0x20 - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - b _080244E4 -_08024486: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080244E4 - movs r0, #6 - strb r0, [r4, #0xc] - strb r1, [r5] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08024B38 - adds r0, r4, #0 - adds r0, #0x83 - ldrb r1, [r0] - movs r2, #0x40 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _080244D8 - movs r0, #0x3f - ands r0, r1 - cmp r0, #1 - beq _080244C4 - cmp r0, #3 - bne _080244C8 - movs r0, #4 - b _080244CA -_080244C4: - movs r0, #0x14 - b _080244CA -_080244C8: - movs r0, #0x30 -_080244CA: - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #2 - movs r2, #8 - bl sub_08024A14 - b _080244E4 -_080244D8: - strb r2, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - movs r2, #8 - bl sub_08024A14 -_080244E4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080244E8 -sub_080244E8: @ 0x080244E8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - bl sub_08024940 - adds r0, r5, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #7 - bls _08024502 - b _08024924 -_08024502: - lsls r0, r0, #2 - ldr r1, _0802450C @ =_08024510 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802450C: .4byte _08024510 -_08024510: @ jump table - .4byte _08024530 @ case 0 - .4byte _080245A6 @ case 1 - .4byte _080245E4 @ case 2 - .4byte _080247F4 @ case 3 - .4byte _08024818 @ case 4 - .4byte _08024836 @ case 5 - .4byte _080248AE @ case 6 - .4byte _0802490A @ case 7 -_08024530: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08024592 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r2, _08024584 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r4, #0x32 - ldrsh r1, [r5, r4] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - movs r1, #1 - bl sub_080002E0 - adds r2, r0, #0 - cmp r2, #0 - bne _08024588 - adds r0, r5, #0 - adds r0, #0x80 - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - adds r1, r5, #0 - adds r1, #0x82 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - strb r2, [r5, #0xf] - strh r2, [r5, #0x24] - b _08024924 - .align 2, 0 -_08024584: .4byte gUnk_03000BF0 -_08024588: - movs r0, #0x30 - strb r0, [r5, #0xe] - movs r0, #4 - strb r0, [r5, #0xf] - b _08024924 -_08024592: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - ands r0, r1 - cmp r0, #0 - beq _080245A0 - b _08024924 -_080245A0: - adds r0, r5, #0 - movs r1, #1 - b _08024902 -_080245A6: - ldrh r0, [r5, #0x36] - adds r0, #1 - strh r0, [r5, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #0x10 - rsbs r2, r2, #0 - cmp r0, r2 - bge _080245BA - b _08024924 -_080245BA: - adds r1, r5, #0 - adds r1, #0x82 - movs r0, #0 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x78 - strh r2, [r0] - adds r0, r5, #0 - bl sub_08024AD8 - cmp r0, #0 - beq _080245D4 - b _0802482A -_080245D4: - adds r0, r5, #0 - bl sub_08024C94 - adds r2, r5, #0 - adds r2, #0x83 - ldrb r0, [r2] - movs r1, #0x40 - b _080247EE -_080245E4: - adds r0, r5, #0 - bl sub_08024AD8 - cmp r0, #0 - bne _080245F0 - b _080247E0 -_080245F0: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802462C - movs r7, #0x24 - ldrsh r0, [r5, r7] - cmp r0, #0 - beq _0802460C - strh r1, [r5, #0x24] - b _08024612 -_0802460C: - adds r0, r5, #0 - bl sub_08024E1C -_08024612: - ldr r1, [r5, #0x54] - adds r0, r5, #0 - bl sub_080045C4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - movs r1, #0 - bl sub_08024E00 - adds r0, r5, #0 - bl sub_080249DC - b _08024642 -_0802462C: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - ands r0, r2 - cmp r0, #0 - bne _08024642 - adds r0, r5, #0 - movs r1, #1 - movs r2, #8 - bl sub_08024A14 -_08024642: - adds r6, r5, #0 - adds r6, #0x83 - ldrb r1, [r6] - movs r0, #0x3f - mov sb, r0 - ands r0, r1 - cmp r0, #2 - beq _0802474C - cmp r0, #2 - bgt _0802465C - cmp r0, #1 - beq _080246E4 - b _08024924 -_0802465C: - cmp r0, #3 - beq _08024662 - b _08024924 -_08024662: - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _08024670 - b _08024924 -_08024670: - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xc - strb r0, [r5, #0xe] - movs r0, #0x10 - strb r0, [r5, #0x15] - movs r4, #0 - strh r2, [r5, #0x24] - adds r0, r5, #0 - adds r0, #0x84 - strb r4, [r0] - adds r2, r5, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #0xfc - ands r0, r1 - strb r0, [r2] - adds r0, r5, #0 - bl sub_080249DC - ldr r2, _080246DC @ =gUnk_03001160 - adds r0, r2, #0 - adds r0, #0x29 - ldrb r0, [r0] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1d - adds r1, r5, #0 - adds r1, #0x85 - strb r0, [r1] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - ldr r2, _080246E0 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldrb r1, [r2, #0xa] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0xa] - adds r2, #0x26 - ldrb r0, [r2] - cmp r0, #0 - bne _080246D6 - b _08024924 -_080246D6: - strb r4, [r2] - b _08024924 - .align 2, 0 -_080246DC: .4byte gUnk_03001160 -_080246E0: .4byte gUnk_03003F80 -_080246E4: - ldr r1, [r5, #0x54] - adds r0, r5, #0 - movs r2, #6 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - bne _080246F6 - b _08024924 -_080246F6: - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xc - strb r0, [r5, #0xe] - ldrb r1, [r6] - movs r0, #0x7f - ands r0, r1 - strb r0, [r6] - ldr r0, [r5, #0x54] - adds r1, r5, #0 - bl sub_0806FA24 - ldrh r0, [r5, #0x36] - subs r0, #0xe - strh r0, [r5, #0x36] - adds r1, r5, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #0xe - strh r0, [r1] - ldrb r2, [r6] - adds r0, r5, #0 - movs r1, #6 - bl sub_0804A98C - adds r4, r0, #0 - cmp r4, #0 - bne _08024736 - b _08024924 -_08024736: - str r5, [r4, #0x50] - ldrh r0, [r4, #0x36] - adds r0, #0xe - strh r0, [r4, #0x36] - ldr r1, [r5, #0x54] - str r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 - str r4, [r5, #0x54] - b _08024924 -_0802474C: - ldr r1, [r5, #0x54] - adds r0, r5, #0 - movs r2, #6 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - bne _0802475E - b _08024924 -_0802475E: - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xc - strb r0, [r5, #0xe] - ldrb r1, [r6] - movs r0, #0x7f - ands r0, r1 - strb r0, [r6] - ldr r4, [r5, #0x54] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - ldr r3, _080247DC @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - mov r7, sb - ands r1, r7 - movs r7, #0x32 - ldrsh r2, [r4, r7] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - mov r3, sb - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - adds r0, r4, #0 - bl sub_0805E7BC - ldrh r0, [r5, #0x36] - subs r0, #0xe - strh r0, [r5, #0x36] - adds r1, r5, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #0xe - strh r0, [r1] - ldrb r2, [r6] - adds r0, r5, #0 - movs r1, #6 - bl sub_0804A98C - adds r4, r0, #0 - cmp r4, #0 - bne _080247D0 - b _08024924 -_080247D0: - str r5, [r4, #0x50] - ldrh r0, [r4, #0x36] - adds r0, #0xe - strh r0, [r4, #0x36] - str r4, [r5, #0x54] - b _08024924 - .align 2, 0 -_080247DC: .4byte gUnk_03000BF0 -_080247E0: - adds r0, r5, #0 - bl sub_08024C94 - adds r2, r5, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x40 -_080247EE: - orrs r0, r1 - strb r0, [r2] - b _08024924 -_080247F4: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _08024804 - b _08024924 -_08024804: - adds r0, r5, #0 - adds r0, #0x80 - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - strb r2, [r5, #0xf] - strh r2, [r5, #0x24] - adds r1, r5, #0 - adds r1, #0x82 - b _0802482E -_08024818: - ldrh r0, [r5, #0x36] - subs r0, #2 - strh r0, [r5, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x3c - rsbs r1, r1, #0 - cmp r0, r1 - bge _08024924 -_0802482A: - adds r1, r5, #0 - adds r1, #0x80 -_0802482E: - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - b _08024924 -_08024836: - ldrh r2, [r5, #0x36] - movs r4, #0x36 - ldrsh r1, [r5, r4] - movs r0, #0x30 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0802484A - adds r0, r2, #1 - strh r0, [r5, #0x36] - b _08024924 -_0802484A: - adds r1, r5, #0 - adds r1, #0x82 - ldrb r0, [r1] - cmp r0, #0 - beq _0802485E - movs r0, #0 - strb r0, [r1] - subs r1, #0xa - ldr r0, _08024884 @ =0x0000FFD0 - strh r0, [r1] -_0802485E: - adds r0, r5, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #1 - blt _080248A6 - cmp r0, #2 - ble _08024888 - cmp r0, #3 - bne _080248A6 - adds r0, r5, #0 - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #0x2f - bls _08024924 - adds r0, r5, #0 - bl sub_08024F50 - b _08024924 - .align 2, 0 -_08024884: .4byte 0x0000FFD0 -_08024888: - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xc0 - strb r0, [r5, #0xe] - movs r0, #8 - strb r0, [r5, #0xf] - movs r0, #0x80 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_080249DC - b _08024924 -_080248A6: - adds r0, r5, #0 - bl sub_08024C7C - b _08024924 -_080248AE: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _080248F2 - adds r2, r5, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080248E8 - movs r0, #0xc0 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x80 - strb r3, [r0] - movs r1, #0x40 - movs r0, #0x40 - strh r0, [r5, #0x24] - strb r1, [r5, #0xe] - movs r0, #8 - strb r0, [r5, #0xf] - adds r0, r5, #0 - movs r1, #0 - b _08024902 -_080248E8: - movs r0, #0x40 - strb r0, [r5, #0xe] - movs r0, #8 - strb r0, [r5, #0xf] - b _08024924 -_080248F2: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - ands r0, r1 - cmp r0, #0 - bne _08024924 - adds r0, r5, #0 - movs r1, #2 -_08024902: - movs r2, #8 - bl sub_08024A14 - b _08024924 -_0802490A: - ldr r0, _0802493C @ =gUnk_03001160 - movs r7, #0x36 - ldrsh r1, [r0, r7] - cmp r1, #0 - bne _08024924 - adds r0, r5, #0 - adds r0, #0x80 - strb r1, [r0] - movs r0, #0x80 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08024B38 -_08024924: - adds r0, r5, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #3 - bne _08024934 - adds r0, r5, #0 - bl sub_08024E4C -_08024934: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0802493C: .4byte gUnk_03001160 - - thumb_func_start sub_08024940 -sub_08024940: @ 0x08024940 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - movs r0, #0x70 - ands r5, r0 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _08024962 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E - adds r0, r4, #0 - bl sub_080249F4 -_08024962: - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - bne _0802497C - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - strh r0, [r4, #0x36] - cmp r5, #0 - beq _0802497C - adds r0, #2 - strh r0, [r4, #0x36] -_0802497C: - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0802498A - bl sub_08052660 - cmp r0, #0 - beq _080249CE -_0802498A: - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _080249A2 - adds r0, r4, #0 - bl sub_08049EE4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080249F4 -_080249A2: - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x20 - rsbs r0, r0, #0 - cmp r1, r0 - bge _080249BC - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - adds r0, #0x18 - ands r0, r1 - strb r0, [r2] - b _080249CE -_080249BC: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r2] -_080249CE: - adds r0, r4, #0 - bl sub_080AEFB4 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, r5, pc} - - thumb_func_start sub_080249DC -sub_080249DC: @ 0x080249DC - push {lr} - ldrb r1, [r0, #0x15] - adds r1, #2 - movs r2, #0x1c - ands r1, r2 - lsrs r1, r1, #2 - strb r1, [r0, #0x14] - ldrb r1, [r0, #0x14] - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080249F4 -sub_080249F4: @ 0x080249F4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0x15] - adds r1, r0, #2 - movs r0, #0x1f - ands r1, r0 - lsrs r1, r1, #2 - ldrb r0, [r2, #0x14] - cmp r1, r0 - beq _08024A12 - strb r1, [r2, #0x14] - ldrb r1, [r2, #0x14] - adds r0, r2, #0 - bl sub_08004260 -_08024A12: - pop {pc} - - thumb_func_start sub_08024A14 -sub_08024A14: @ 0x08024A14 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r7, r2, #0 - movs r6, #0 - cmp r5, #1 - beq _08024A40 - cmp r5, #1 - blo _08024A30 - cmp r5, #2 - beq _08024A5E - cmp r5, #3 - beq _08024A84 - b _08024A9E -_08024A30: - adds r0, r4, #0 - bl sub_08049EE4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - b _08024A9C -_08024A40: - adds r0, r4, #0 - movs r1, #0 - bl sub_08024C48 - cmp r0, #0 - beq _08024A9E - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - b _08024A9C -_08024A5E: - adds r0, r4, #0 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - beq _08024A9E - ldr r0, _08024A80 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - b _08024A9C - .align 2, 0 -_08024A80: .4byte gUnk_020000B0 -_08024A84: - adds r0, r4, #0 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - beq _08024A9E - ldr r0, _08024AD4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] -_08024A9C: - movs r6, #1 -_08024A9E: - cmp r5, #0 - beq _08024ABA - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08024ABA - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _08024ABA - movs r6, #0 -_08024ABA: - cmp r6, #0 - bne _08024AC8 - adds r0, r4, #0 - movs r1, #0 - adds r2, r7, #0 - bl sub_08024A14 -_08024AC8: - adds r0, r4, #0 - bl sub_080249DC - strb r7, [r4, #0xf] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08024AD4: .4byte gUnk_020000B0 - - thumb_func_start sub_08024AD8 -sub_08024AD8: @ 0x08024AD8 - push {r4, lr} - adds r4, r0, #0 - adds r3, r4, #0 - adds r3, #0x83 - ldrb r2, [r3] - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - bne _08024B2A - movs r1, #0 - movs r0, #0x3f - ands r0, r2 - cmp r0, #3 - bne _08024B12 - ldr r0, _08024B0C @ =gUnk_03003F80 - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _08024B10 - ldr r0, [r4, #0x54] - str r1, [r0, #0x50] - str r1, [r4, #0x54] - movs r0, #0xc0 - strb r0, [r3] - movs r0, #0 - b _08024B34 - .align 2, 0 -_08024B0C: .4byte gUnk_03003F80 -_08024B10: - movs r1, #1 -_08024B12: - adds r0, r4, #0 - bl sub_08024C48 - cmp r0, #0 - bne _08024B32 - str r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0xc0 - strb r0, [r1] - movs r0, #0 - b _08024B34 -_08024B2A: - adds r0, r4, #0 - bl sub_08024B38 - b _08024B34 -_08024B32: - movs r0, #1 -_08024B34: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08024B38 -sub_08024B38: @ 0x08024B38 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - movs r7, #0 - ldr r0, _08024B5C @ =gUnk_03003F80 - ldrb r3, [r0, #0xf] - adds r2, r3, #0 - adds r1, r0, #0 - cmp r2, #0 - beq _08024BA0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #1 - bne _08024B62 - cmp r2, #3 - bls _08024B60 - subs r0, r3, #3 - strb r0, [r1, #0xf] - b _08024B62 - .align 2, 0 -_08024B5C: .4byte gUnk_03003F80 -_08024B60: - strb r7, [r1, #0xf] -_08024B62: - ldrb r0, [r1, #0xf] - cmp r0, #0 - beq _08024BA0 - adds r0, r5, #0 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - beq _08024C3C - ldr r4, _08024B9C @ =gUnk_020000B0 - ldr r1, [r4] - adds r0, r5, #0 - movs r2, #0xa0 - bl sub_08049F1C - cmp r0, #0 - beq _08024C3C - movs r7, #1 - ldr r0, [r4] - str r0, [r5, #0x54] - adds r2, r5, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #3 - orrs r0, r1 - movs r1, #0xbf - ands r0, r1 - strb r0, [r2] - b _08024C3C - .align 2, 0 -_08024B9C: .4byte gUnk_020000B0 -_08024BA0: - movs r0, #8 - movs r1, #2 - movs r2, #2 - bl sub_0805EB00 - adds r4, r0, #0 - cmp r4, #0 - beq _08024BF0 - adds r6, r5, #0 - adds r6, #0x83 - b _08024BC4 -_08024BB6: - adds r0, r4, #0 - movs r1, #2 - bl sub_0805EB64 - adds r4, r0, #0 - cmp r4, #0 - beq _08024BF0 -_08024BC4: - ldrb r0, [r4, #0xc] - cmp r0, #2 - beq _08024BB6 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08024BB6 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0xa0 - bl sub_08049F1C - cmp r0, #0 - beq _08024BB6 - movs r7, #1 - str r4, [r5, #0x54] - ldrb r0, [r6] - movs r1, #1 - orrs r1, r0 - movs r0, #0xbf - ands r1, r0 - strb r1, [r6] -_08024BF0: - cmp r7, #0 - bne _08024C42 - movs r0, #6 - movs r1, #5 - movs r2, #6 - bl sub_0805EB00 - adds r4, r0, #0 - cmp r4, #0 - beq _08024C3C - adds r6, r5, #0 - adds r6, #0x83 - b _08024C18 -_08024C0A: - adds r0, r4, #0 - movs r1, #6 - bl sub_0805EB64 - adds r4, r0, #0 - cmp r4, #0 - beq _08024C3C -_08024C18: - ldrb r0, [r4, #0xc] - cmp r0, #1 - bne _08024C0A - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0xa0 - bl sub_08049F1C - cmp r0, #0 - beq _08024C0A - movs r7, #1 - str r4, [r5, #0x54] - ldrb r0, [r6] - movs r1, #2 - orrs r1, r0 - movs r0, #0xbf - ands r1, r0 - strb r1, [r6] -_08024C3C: - cmp r7, #0 - bne _08024C42 - str r7, [r5, #0x54] -_08024C42: - adds r0, r7, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08024C48 -sub_08024C48: @ 0x08024C48 - push {r4, r5, lr} - adds r3, r0, #0 - movs r4, #1 - cmp r1, #0 - beq _08024C60 - movs r0, #3 - bl sub_08049DF4 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f - b _08024C78 -_08024C60: - ldr r2, [r3, #0x54] - cmp r2, #0 - beq _08024C74 - ldr r0, [r2, #4] - cmp r0, #0 - beq _08024C74 - movs r5, #0x36 - ldrsh r0, [r2, r5] - cmp r0, #0 - bge _08024C78 -_08024C74: - str r1, [r3, #0x54] - movs r4, #0 -_08024C78: - adds r0, r4, #0 - pop {r4, r5, pc} - - thumb_func_start sub_08024C7C -sub_08024C7C: @ 0x08024C7C - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r2, #0 - movs r1, #0x40 - strh r1, [r0, #0x24] - strb r2, [r0, #0xe] - movs r1, #0 - movs r2, #0x20 - bl sub_08024A14 - pop {pc} - - thumb_func_start sub_08024C94 -sub_08024C94: @ 0x08024C94 - push {lr} - movs r2, #0 - movs r1, #2 - strb r1, [r0, #0xc] - adds r1, r0, #0 - adds r1, #0x80 - strb r2, [r1] - movs r1, #0x40 - strb r1, [r0, #0xe] - strb r2, [r0, #0xf] - movs r1, #0xc0 - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x83 - movs r1, #0x80 - strb r1, [r2] - ldrb r2, [r0, #0xf] - movs r1, #3 - bl sub_08024A14 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08024CC0 -sub_08024CC0: @ 0x08024CC0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #1 - movs r1, #1 - bl sub_08024C48 - cmp r0, #0 - bne _08024CD4 - movs r5, #0 - b _08024CF8 -_08024CD4: - ldr r0, _08024CFC @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x50 - bl sub_08049F1C - cmp r0, #0 - beq _08024CF0 - adds r0, r4, #0 - movs r1, #3 - bl sub_08049FDC - cmp r0, #0 - bne _08024CF8 -_08024CF0: - movs r5, #0 - adds r0, r4, #0 - bl sub_08024C7C -_08024CF8: - adds r0, r5, #0 - pop {r4, r5, pc} - .align 2, 0 -_08024CFC: .4byte gUnk_020000B0 - - thumb_func_start sub_08024D00 -sub_08024D00: @ 0x08024D00 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x86 - ldrb r0, [r1] - cmp r0, #0 - beq _08024D1A - subs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08004274 - b _08024D20 -_08024D1A: - adds r0, r4, #0 - bl sub_08024940 -_08024D20: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08024D46 - adds r0, r4, #0 - bl sub_08024B38 - cmp r0, #0 - beq _08024D46 - movs r0, #6 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #2 - strb r0, [r1] - b _08024DFC -_08024D46: - adds r0, r4, #0 - bl sub_08024CC0 - cmp r0, #0 - beq _08024DFC - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r1] - cmp r0, #0 - beq _08024D60 - cmp r0, #1 - beq _08024DAE - b _08024DFC -_08024D60: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08024DFC - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - adds r0, #0x20 - strb r0, [r4, #0xe] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r1, [r0] - adds r3, r0, #0 - cmp r1, #0 - beq _08024D90 - adds r1, r2, #4 - b _08024D94 -_08024D90: - adds r1, r2, #0 - adds r1, #0x1c -_08024D94: - movs r0, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r0, [r3] - movs r1, #0x40 - eors r0, r1 - strb r0, [r3] - adds r0, r4, #0 - movs r1, #3 - movs r2, #0x10 - bl sub_08024A14 - b _08024DFC -_08024DAE: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _08024DCE - strb r0, [r1] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x20 - strb r0, [r4, #0xe] - b _08024DFC -_08024DCE: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r2 - cmp r0, #0 - bne _08024DFC - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _08024DEA - adds r1, #1 - b _08024DEC -_08024DEA: - adds r1, #0x1f -_08024DEC: - movs r0, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_080249DC -_08024DFC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08024E00 -sub_08024E00: @ 0x08024E00 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_08024E34 - ldr r1, _08024E18 @ =gUnk_080CBF10 - lsls r0, r0, #1 - orrs r0, r4 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0xe] - pop {r4, r5, pc} - .align 2, 0 -_08024E18: .4byte gUnk_080CBF10 - - thumb_func_start sub_08024E1C -sub_08024E1C: @ 0x08024E1C - push {r4, lr} - adds r4, r0, #0 - bl sub_08024E34 - ldr r1, _08024E30 @ =gUnk_080CBF18 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r4, #0x24] - pop {r4, pc} - .align 2, 0 -_08024E30: .4byte gUnk_080CBF18 - - thumb_func_start sub_08024E34 -sub_08024E34: @ 0x08024E34 - push {lr} - bl sub_08000E50 - movs r1, #0x3c - ands r1, r0 - lsrs r1, r1, #2 - ldr r0, _08024E48 @ =gUnk_080CBF20 - adds r1, r1, r0 - ldrb r0, [r1] - pop {pc} - .align 2, 0 -_08024E48: .4byte gUnk_080CBF20 - - thumb_func_start sub_08024E4C -sub_08024E4C: @ 0x08024E4C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #3 - bne _08024F46 - ldrb r0, [r4, #0xf] - adds r0, #1 - movs r7, #0 - movs r1, #0xff - ands r0, r1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0xf] - bl sub_0807953C - cmp r0, #0 - beq _08024E84 - bl sub_08000E50 - adds r3, r4, #0 - adds r3, #0x84 - ldrb r2, [r3] - adds r2, #1 - movs r1, #1 - ands r1, r0 - adds r2, r2, r1 - strb r2, [r3] -_08024E84: - ldr r0, _08024EC8 @ =gUnk_02002A40 - adds r0, #0xaa - ldrb r0, [r0] - adds r2, r4, #0 - adds r2, #0x87 - cmp r0, #0 - beq _08024E9A - adds r5, r2, #0 - ldrb r0, [r5] - cmp r0, #4 - bne _08024ECC -_08024E9A: - adds r1, r4, #0 - adds r1, #0x84 - movs r0, #0x30 - strb r0, [r1] - strb r7, [r2] - adds r0, r4, #0 - bl sub_08024F50 - adds r0, r4, #0 - adds r0, #0x80 - strb r7, [r0] - movs r1, #0x40 - movs r0, #0x40 - strh r0, [r4, #0x24] - strb r1, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - movs r2, #8 - bl sub_08024A14 - b _08024F46 - .align 2, 0 -_08024EC8: .4byte gUnk_02002A40 -_08024ECC: - ldr r6, _08024F48 @ =gUnk_03001160 - bl sub_08077B2C - ldr r2, _08024F4C @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldrb r0, [r2, #0xa] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0xa] - movs r0, #0xe - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #0x14 - strb r0, [r1] - adds r1, #1 - movs r0, #1 - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3a - strb r7, [r0] - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r4, #0 - adds r1, r6, #0 - movs r2, #0 - bl sub_0806FA48 - adds r1, r6, #0 - adds r1, #0x63 - movs r0, #0x1a - strb r0, [r1] - movs r0, #4 - strb r0, [r6, #0x14] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x3d - ands r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08024F46 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - adds r1, r6, #0 - adds r1, #0x3d - movs r0, #8 - strb r0, [r1] - subs r0, #0xa - bl sub_080526A0 - adds r0, r6, #0 - movs r1, #0x7a - bl sub_0800449C -_08024F46: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08024F48: .4byte gUnk_03001160 -_08024F4C: .4byte gUnk_03003F80 - - thumb_func_start sub_08024F50 -sub_08024F50: @ 0x08024F50 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r2, _08024FDC @ =gUnk_03003F80 - movs r4, #0 - strb r4, [r2, #0xa] - ldr r0, [r2, #0x30] - ldr r1, _08024FE0 @ =0xFFFFFEFF - ands r0, r1 - str r0, [r2, #0x30] - ldr r5, _08024FE4 @ =gUnk_03001160 - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0806FA24 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0xc4 - strb r0, [r1] - ldrb r0, [r5, #0x14] - lsls r0, r0, #2 - strb r0, [r5, #0x15] - movs r3, #0 - strh r4, [r5, #0x24] - adds r0, r6, #0 - adds r0, #0x85 - ldrb r0, [r0] - adds r4, r5, #0 - adds r4, #0x29 - movs r1, #7 - ands r1, r0 - lsls r1, r1, #3 - ldrb r2, [r4] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #0 - ldrsb r0, [r1, r0] - strh r0, [r5, #0x36] - strb r3, [r1] - adds r2, r6, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r6, #0 - adds r1, #0x83 - movs r0, #0xc0 - strb r0, [r1] - subs r1, #3 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - adds r0, r6, #0 - adds r0, #0x84 - strb r3, [r0] - movs r0, #0x80 - strh r0, [r6, #0x24] - pop {r4, r5, r6, pc} - .align 2, 0 -_08024FDC: .4byte gUnk_03003F80 -_08024FE0: .4byte 0xFFFFFEFF -_08024FE4: .4byte gUnk_03001160 - - thumb_func_start sub_08024FE8 -sub_08024FE8: @ 0x08024FE8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08025004 @ =gUnk_080CBF9C - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_08025004: .4byte gUnk_080CBF9C - - thumb_func_start sub_08025008 -sub_08025008: @ 0x08025008 - push {lr} - ldr r2, _0802501C @ =gUnk_080CBFB4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802501C: .4byte gUnk_080CBFB4 - - thumb_func_start sub_08025020 -sub_08025020: @ 0x08025020 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - blt _080250C2 - cmp r1, #3 - ble _0802510C - cmp r1, #0x1b - bne _080250C2 - adds r0, r4, #0 - bl sub_0804AA1C - ldr r1, _08025058 @ =gUnk_080CBFE8 - ldr r0, [r4, #0x4c] - ldrb r0, [r0, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - adds r3, r4, #0 - adds r3, #0x82 - ldrb r0, [r3] - cmp r1, r0 - bhs _0802505C - subs r0, r0, r1 - strb r0, [r3] - b _08025078 - .align 2, 0 -_08025058: .4byte gUnk_080CBFE8 -_0802505C: - adds r1, r4, #0 - adds r1, #0x84 - movs r2, #0 - movs r0, #0xa5 - lsls r0, r0, #2 - strh r0, [r1] - subs r1, #0x45 - movs r0, #0x83 - strb r0, [r1] - strb r2, [r3] - adds r0, r4, #0 - movs r1, #0x7c - bl sub_0801D2B4 -_08025078: - movs r2, #0 - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r0, [r4, #0x20] - cmp r0, #0 - ble _0802508A - str r2, [r4, #0x20] -_0802508A: - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xf4 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x42 - strb r2, [r0] - adds r5, r4, #0 - adds r5, #0x80 - ldrb r0, [r5] - cmp r0, #0 - bne _0802510C - ldr r0, [r4, #0x4c] - ldrb r0, [r0, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - adds r1, r4, #0 - adds r1, #0x59 - movs r0, #6 - strb r0, [r1] - movs r0, #1 - strb r0, [r5] - b _0802510C -_080250C2: - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x82 - bne _0802510C - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bge _0802510C - movs r0, #0x21 - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08025104 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #3 - orrs r1, r0 - strb r1, [r3] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0806FA24 -_08025104: - movs r0, #0xc3 - lsls r0, r0, #1 - bl sub_08004488 -_0802510C: - ldr r1, _08025118 @ =gUnk_080CBF9C - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08025118: .4byte gUnk_080CBF9C - - thumb_func_start sub_0802511C -sub_0802511C: @ 0x0802511C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08025142 - ldrb r0, [r4, #0xe] - cmp r0, #1 - bne _08025142 - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - beq _08025142 - adds r0, r4, #0 - bl sub_08025B18 -_08025142: - adds r0, r4, #0 - bl sub_0804A7D4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802514C -sub_0802514C: @ 0x0802514C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08025178 - ldr r0, _08025174 @ =gUnk_080CBFEC - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0802517E - .align 2, 0 -_08025174: .4byte gUnk_080CBFEC -_08025178: - adds r0, r4, #0 - bl sub_08025C2C -_0802517E: - pop {r4, pc} - - thumb_func_start sub_08025180 -sub_08025180: @ 0x08025180 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xd] - bl sub_08000E50 - strb r0, [r4, #0xe] - ldr r0, [r4, #0x4c] - ldrb r0, [r0, #0x15] - movs r1, #0x10 - eors r0, r1 - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0804AA1C - pop {r4, pc} - - thumb_func_start sub_080251AC -sub_080251AC: @ 0x080251AC - push {r4, lr} - adds r4, r0, #0 - adds r3, r4, #0 - adds r3, #0x82 - ldrb r0, [r3] - cmp r0, #3 - bls _080251D8 - subs r0, #3 - strb r0, [r3] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _080251F4 - adds r0, r4, #0 - bl sub_08025BD4 - b _080251F4 -_080251D8: - adds r1, r4, #0 - adds r1, #0x84 - movs r2, #0 - movs r0, #0xa5 - lsls r0, r0, #2 - strh r0, [r1] - subs r1, #0x45 - movs r0, #0x83 - strb r0, [r1] - strb r2, [r3] - adds r0, r4, #0 - movs r1, #0x7c - bl sub_0801D2B4 -_080251F4: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_080251FC -sub_080251FC: @ 0x080251FC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r1, r4, #0 - adds r1, #0x82 - movs r5, #0 - movs r0, #0xf0 - strb r0, [r1] - bl sub_08000E50 - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x80 - strb r5, [r0] - adds r0, r4, #0 - bl sub_080256B4 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08025230 -sub_08025230: @ 0x08025230 - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x81 - ldrb r0, [r1] - cmp r0, #0 - beq _08025242 - subs r0, #1 - strb r0, [r1] -_08025242: - adds r0, r4, #0 - bl sub_08025C44 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r5, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08025270 - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - adds r0, #4 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08025C60 - strb r0, [r4, #0x15] -_08025270: - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _0802528C - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _08025290 - ldrh r1, [r4, #0x2a] - adds r0, r4, #0 - bl sub_0800417E - b _08025290 -_0802528C: - movs r0, #0x1e - strb r0, [r4, #0xf] -_08025290: - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - cmp r0, #0 - bne _080252D8 - adds r0, r4, #0 - bl sub_0802571C - cmp r0, #0 - beq _080252DC - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _080252D4 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x86 - strh r1, [r0] - b _080252DC - .align 2, 0 -_080252D4: .4byte gUnk_03000BF0 -_080252D8: - subs r0, #1 - strh r0, [r1] -_080252DC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080252E0 -sub_080252E0: @ 0x080252E0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r4, #0 - adds r2, #0x7c - ldrh r2, [r2] - adds r3, r4, #0 - adds r3, #0x7e - ldrh r3, [r3] - bl sub_080045D4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08025C44 - adds r0, r4, #0 - bl sub_08004274 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _08025348 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r2, [r0] - cmp r5, r2 - bne _0802534C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08025352 - adds r0, r4, #0 - bl sub_080256B4 - b _08025352 - .align 2, 0 -_08025348: .4byte gUnk_03000BF0 -_0802534C: - strh r5, [r0] - movs r0, #0xf0 - strb r0, [r4, #0xe] -_08025352: - movs r0, #0x2e - ldrsh r1, [r4, r0] - adds r0, r4, #0 - adds r0, #0x7c - ldrh r0, [r0] - cmp r1, r0 - bne _08025388 - movs r1, #0x32 - ldrsh r0, [r4, r1] - adds r1, r4, #0 - adds r1, #0x7e - ldrh r1, [r1] - cmp r0, r1 - bne _08025388 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08025388: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802538C -sub_0802538C: @ 0x0802538C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802539C - subs r0, #1 - strb r0, [r4, #0xe] - b _080253CC -_0802539C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - bne _080253AE - adds r0, r4, #0 - bl sub_08004274 - b _080253CC -_080253AE: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - ldr r1, [r4, #0x20] - ldr r0, _080253D0 @ =0x00001FFF - cmp r1, r0 - bgt _080253CC - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_080253CC: - pop {r4, pc} - .align 2, 0 -_080253D0: .4byte 0x00001FFF - - thumb_func_start sub_080253D4 -sub_080253D4: @ 0x080253D4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0802541A - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080253FE - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - b _0802541A -_080253FE: - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08025A54 - adds r0, r4, #0 - bl sub_08025AE8 -_0802541A: - pop {r4, pc} - - thumb_func_start sub_0802541C -sub_0802541C: @ 0x0802541C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08025448 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xf] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08025448: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802544C -sub_0802544C: @ 0x0802544C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - bne _08025460 - adds r0, r4, #0 - bl sub_08004274 - b _0802547A -_08025460: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802547A - adds r0, r4, #0 - bl sub_080256B4 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0802547A: - pop {r4, pc} - - thumb_func_start sub_0802547C -sub_0802547C: @ 0x0802547C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_08004274 - ldrb r1, [r4, #0xe] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0802549E - adds r0, r4, #0 - bl sub_08025BD4 -_0802549E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080254B0 - adds r0, r4, #0 - bl sub_08025C2C -_080254B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080254B4 -sub_080254B4: @ 0x080254B4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802550C - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08025512 - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - cmp r0, #0 - bne _080254F6 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x82 - strb r0, [r1] - adds r1, #0x43 - movs r0, #0xf0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080256B4 - b _08025502 -_080254F6: - movs r0, #0xc - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08025502: - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _08025512 -_0802550C: - adds r0, r4, #0 - bl sub_08004274 -_08025512: - pop {r4, pc} - - thumb_func_start sub_08025514 -sub_08025514: @ 0x08025514 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r0, r4, #0 - bl sub_0802594C - cmp r0, #0 - beq _08025542 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x78 - strb r0, [r1] - b _08025550 -_08025542: - ldrb r0, [r4, #0xe] - cmp r0, #3 - bls _08025550 - movs r0, #0xa - strb r0, [r4, #0xc] - movs r0, #0x20 - strb r0, [r4, #0xe] -_08025550: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08025554 -sub_08025554: @ 0x08025554 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r2, r0, #0 - cmp r2, #0 - bne _0802556C - adds r0, r4, #0 - bl sub_080256B4 - b _080255A8 -_0802556C: - ldrb r1, [r4, #0xe] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _08025580 - adds r0, r2, #0 - adds r1, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] -_08025580: - adds r0, r4, #0 - bl sub_08025C44 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08025598 - subs r0, #1 - strb r0, [r4, #0xe] - b _080255A8 -_08025598: - adds r0, r4, #0 - bl sub_080258C4 - cmp r0, #0 - bne _080255A8 - adds r0, r4, #0 - bl sub_080256B4 -_080255A8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080255AC -sub_080255AC: @ 0x080255AC - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r6, r0, #0 - cmp r6, #0 - bne _080255C4 - adds r0, r5, #0 - bl sub_080256B4 - b _08025638 -_080255C4: - adds r1, r5, #0 - adds r1, #0x81 - ldrb r0, [r1] - cmp r0, #0 - beq _080255D2 - subs r0, #1 - strb r0, [r1] -_080255D2: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802560C - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - adds r0, #4 - strb r0, [r5, #0xe] - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #0xf - ands r4, r0 - cmp r4, #7 - bgt _080255FA - subs r4, #1 -_080255FA: - subs r4, #7 - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_080045C4 - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] -_0802560C: - adds r1, r5, #0 - adds r1, #0x78 - ldrh r0, [r1] - cmp r0, #0 - bne _08025628 - adds r0, r5, #0 - bl sub_080258C4 - cmp r0, #0 - bne _0802562C - adds r0, r5, #0 - bl sub_080256B4 - b _0802562C -_08025628: - subs r0, #1 - strh r0, [r1] -_0802562C: - adds r0, r5, #0 - bl sub_08025C44 - adds r0, r5, #0 - bl sub_08004274 -_08025638: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802563C -sub_0802563C: @ 0x0802563C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x84 - ldrh r0, [r2] - subs r1, r0, #1 - strh r1, [r2] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _08025678 - adds r0, r4, #0 - movs r1, #0x28 - bl sub_0801D2B4 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x82 - strb r0, [r1] - adds r1, #0x43 - movs r0, #0xf0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080256B4 - adds r0, r4, #0 - bl sub_0804AA1C - b _080256B0 -_08025678: - lsls r1, r1, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0x77 - bhi _080256B0 - ldr r0, _080256A4 @ =gUnk_080CBFF8 - lsrs r1, r1, #0x14 - adds r1, r1, r0 - ldrb r1, [r1] - ldrh r2, [r2] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _080256B0 - adds r0, r1, #1 - ands r2, r0 - cmp r2, #0 - beq _080256A8 - adds r0, r4, #0 - movs r1, #0x7c - bl sub_0801D2B4 - b _080256B0 - .align 2, 0 -_080256A4: .4byte gUnk_080CBFF8 -_080256A8: - adds r0, r4, #0 - movs r1, #0x28 - bl sub_0801D2B4 -_080256B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080256B4 -sub_080256B4: @ 0x080256B4 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - adds r0, #4 - strb r0, [r5, #0xe] - movs r0, #0x1e - strb r0, [r5, #0xf] - bl sub_08000E50 - ldrb r4, [r5, #0x15] - adds r4, #7 - movs r1, #7 - bl __modsi3 - lsls r0, r0, #2 - adds r4, r4, r0 - movs r0, #0x1c - ands r4, r0 - strb r4, [r5, #0x15] - bl sub_08000E50 - ldr r2, _08025718 @ =gUnk_080CC000 - movs r1, #0xf - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - adds r0, r5, #0 - adds r0, #0x78 - movs r4, #0 - strh r1, [r0] - bl sub_08000E50 - movs r1, #0x18 - bl __modsi3 - lsls r0, r0, #1 - adds r1, r5, #0 - adds r1, #0x7a - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x7b - strb r4, [r0] - pop {r4, r5, pc} - .align 2, 0 -_08025718: .4byte gUnk_080CC000 - - thumb_func_start sub_0802571C -sub_0802571C: @ 0x0802571C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - adds r7, r0, #0 - ldr r0, _080257B0 @ =gUnk_03000BF0 - mov sb, r0 - ldrh r0, [r7, #0x2e] - mov r2, sb - ldrh r1, [r2, #6] - subs r0, r0, r1 - adds r0, #8 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r2, r3, #0 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp] - ldrh r0, [r7, #0x32] - mov r3, sb - ldrh r1, [r3, #8] - subs r0, r0, r1 - adds r0, #8 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov sl, r0 - adds r0, r7, #0 - adds r0, #0x7a - ldrb r4, [r0] - movs r3, #0 - ldr r0, _080257B4 @ =gUnk_080CC020 - mov r8, r0 -_08025764: - mov r1, r8 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r2, [sp] - adds r0, r2, r0 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - adds r0, r4, #1 - add r0, r8 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - add r0, sl - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r5, #0 - str r3, [sp, #4] - bl sub_080257EC - ldr r3, [sp, #4] - cmp r0, #0 - beq _080257B8 - mov r3, sb - ldrh r0, [r3, #6] - adds r0, r6, r0 - adds r1, r7, #0 - adds r1, #0x7c - strh r0, [r1] - ldrh r0, [r3, #8] - adds r0, r5, r0 - adds r1, #2 - strh r0, [r1] - movs r0, #1 - b _080257E0 - .align 2, 0 -_080257B0: .4byte gUnk_03000BF0 -_080257B4: .4byte gUnk_080CC020 -_080257B8: - adds r0, r4, #2 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - cmp r4, #0x2f - bls _080257C4 - movs r4, #0 -_080257C4: - adds r0, r3, #1 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - cmp r3, #3 - bls _08025764 - adds r0, r7, #0 - adds r0, #0x7a - strb r4, [r0] - adds r1, r7, #0 - adds r1, #0x7b - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0 -_080257E0: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080257EC -sub_080257EC: @ 0x080257EC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r7, r1, #0 - adds r6, r2, #0 - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_080002A8 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r0, _080258B0 @ =0x00000312 - cmp r2, r0 - beq _08025822 - ldr r0, _080258B4 @ =gUnk_080B37A0 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0x16 - beq _08025822 - ldr r0, _080258B8 @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0 - beq _080258AA -_08025822: - adds r5, r7, #0 - subs r5, #0x10 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_080002A8 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r0, _080258B0 @ =0x00000312 - mov r8, r4 - cmp r2, r0 - beq _08025852 - ldr r0, _080258B4 @ =gUnk_080B37A0 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0x16 - beq _08025852 - ldr r0, _080258B8 @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0 - beq _080258AA -_08025852: - adds r4, r6, #0 - subs r4, #0x10 - mov r0, r8 - ldrb r2, [r0] - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_080002A8 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r0, _080258B0 @ =0x00000312 - adds r1, r4, #0 - cmp r2, r0 - beq _08025882 - ldr r0, _080258B4 @ =gUnk_080B37A0 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0x16 - beq _08025882 - ldr r0, _080258B8 @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0 - beq _080258AA -_08025882: - mov r0, r8 - ldrb r2, [r0] - adds r0, r5, #0 - bl sub_080002A8 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - ldr r0, _080258B0 @ =0x00000312 - cmp r2, r0 - beq _080258BC - ldr r0, _080258B4 @ =gUnk_080B37A0 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0x16 - beq _080258BC - ldr r0, _080258B8 @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, #0 - bne _080258BC -_080258AA: - movs r0, #1 - b _080258BE - .align 2, 0 -_080258B0: .4byte 0x00000312 -_080258B4: .4byte gUnk_080B37A0 -_080258B8: .4byte gUnk_080B3E80 -_080258BC: - movs r0, #0 -_080258BE: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080258C4 -sub_080258C4: @ 0x080258C4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r2, r0, #0 - cmp r2, #0 - beq _08025922 - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r3, #0x2e - ldrsh r0, [r4, r3] - subs r3, r1, r0 - adds r0, r3, #0 - muls r0, r3, r0 - adds r3, r0, #0 - movs r1, #0x32 - ldrsh r0, [r2, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r0, #0 - muls r1, r0, r1 - adds r0, r1, #0 - adds r3, r3, r0 - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - cmp r0, #0 - bne _0802591A - adds r0, r4, #0 - adds r0, #0x81 - ldrb r1, [r0] - cmp r1, #0 - bne _0802591A - movs r0, #0x80 - lsls r0, r0, #3 - cmp r3, r0 - bgt _0802591A - movs r0, #9 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - b _08025942 -_0802591A: - movs r0, #0x90 - lsls r0, r0, #4 - cmp r3, r0 - ble _08025926 -_08025922: - movs r0, #0 - b _08025944 -_08025926: - movs r0, #0xb - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xe] - bl sub_08000E50 - ldr r2, _08025948 @ =gUnk_080CC050 - movs r1, #0xf - ands r1, r0 - adds r1, r1, r2 - ldrb r1, [r1] - adds r0, r4, #0 - adds r0, #0x78 - strh r1, [r0] -_08025942: - movs r0, #1 -_08025944: - pop {r4, pc} - .align 2, 0 -_08025948: .4byte gUnk_080CC050 - - thumb_func_start sub_0802594C -sub_0802594C: @ 0x0802594C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - mov sl, r0 - ldr r0, _08025A20 @ =gUnk_080CC090 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r7, [r1] - mov r0, sl - adds r0, #0x38 - ldrb r0, [r0] - mov sb, r0 - ldr r3, _08025A24 @ =gUnk_03000BF0 - mov r1, sl - ldrh r0, [r1, #0x2e] - ldrh r1, [r3, #6] - subs r0, r0, r1 - adds r0, #8 - movs r1, #0x10 - rsbs r1, r1, #0 - adds r2, r1, #0 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp] - mov r1, sl - ldrh r0, [r1, #0x32] - ldrh r1, [r3, #8] - subs r0, r0, r1 - adds r0, #8 - ands r0, r2 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [sp, #4] -_08025996: - movs r0, #0 - ldrsb r0, [r7, r0] - ldr r1, [sp] - lsls r4, r1, #0x10 - asrs r4, r4, #0x10 - adds r4, r4, r0 - lsls r4, r4, #0x10 - movs r0, #1 - ldrsb r0, [r7, r0] - ldr r1, [sp, #4] - lsls r5, r1, #0x10 - asrs r5, r5, #0x10 - adds r5, r5, r0 - lsls r5, r5, #0x10 - lsrs r0, r4, #0x10 - str r0, [sp, #8] - asrs r4, r4, #0x10 - lsrs r1, r5, #0x10 - str r1, [sp, #0xc] - asrs r5, r5, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - mov r2, sb - bl sub_080002D4 - adds r6, r0, #0 - lsls r6, r6, #0x18 - lsrs r6, r6, #0x18 - movs r0, #0x10 - rsbs r0, r0, #0 - adds r0, r0, r4 - mov r8, r0 - adds r1, r5, #0 - mov r2, sb - bl sub_080002D4 - adds r3, r0, #0 - lsls r3, r3, #0x18 - lsrs r3, r3, #0x18 - subs r5, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - mov r2, sb - str r3, [sp, #0x10] - bl sub_080002D4 - adds r4, r0, #0 - lsls r4, r4, #0x18 - lsrs r4, r4, #0x18 - mov r0, r8 - adds r1, r5, #0 - mov r2, sb - bl sub_080002D4 - ldr r3, [sp, #0x10] - orrs r6, r3 - orrs r4, r6 - orrs r4, r0 - lsls r4, r4, #0x18 - cmp r4, #0 - beq _08025A28 - adds r7, #2 - movs r0, #0 - ldrsb r0, [r7, r0] - cmp r0, #0x7f - bne _08025996 - movs r0, #0 - b _08025A44 - .align 2, 0 -_08025A20: .4byte gUnk_080CC090 -_08025A24: .4byte gUnk_03000BF0 -_08025A28: - ldr r2, _08025A50 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldr r1, [sp, #8] - adds r0, r0, r1 - mov r1, sl - adds r1, #0x7c - strh r0, [r1] - ldrh r0, [r2, #8] - ldr r1, [sp, #0xc] - adds r0, r0, r1 - mov r1, sl - adds r1, #0x7e - strh r0, [r1] - movs r0, #1 -_08025A44: - add sp, #0x14 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08025A50: .4byte gUnk_03000BF0 - - thumb_func_start sub_08025A54 -sub_08025A54: @ 0x08025A54 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r1, r0, #0 - adds r1, #0x38 - ldrb r1, [r1] - mov sb, r1 - ldr r3, _08025AB0 @ =gUnk_03000BF0 - ldrh r2, [r0, #0x2e] - ldrh r1, [r3, #6] - subs r2, r2, r1 - ldrh r1, [r0, #0x32] - ldrh r0, [r3, #8] - subs r1, r1, r0 - ldr r4, _08025AB4 @ =gUnk_080CC0A0 - movs r5, #0 - lsls r2, r2, #0x10 - asrs r2, r2, #0x10 - mov r8, r2 - movs r6, #0x3f - lsls r1, r1, #0x10 - asrs r7, r1, #0x10 -_08025A82: - movs r0, #0 - ldrsb r0, [r4, r0] - add r0, r8 - asrs r0, r0, #4 - ands r0, r6 - movs r1, #1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r0, r1 - mov r1, sb - bl sub_08025AB8 - adds r5, #1 - adds r4, #2 - cmp r5, #3 - bls _08025A82 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08025AB0: .4byte gUnk_03000BF0 -_08025AB4: .4byte gUnk_080CC0A0 - - thumb_func_start sub_08025AB8 -sub_08025AB8: @ 0x08025AB8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_080002E0 - cmp r0, #0 - bne _08025AD6 - lsls r0, r4, #0x10 - lsrs r0, r0, #0x10 - lsls r1, r5, #0x18 - lsrs r1, r1, #0x18 - bl sub_080002C8 - cmp r0, #0xa - beq _08025ADA -_08025AD6: - movs r0, #0 - b _08025AE6 -_08025ADA: - movs r0, #0x61 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_0807B7D8 - movs r0, #1 -_08025AE6: - pop {r4, r5, pc} - - thumb_func_start sub_08025AE8 -sub_08025AE8: @ 0x08025AE8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x22 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08025B00 - ldr r0, [r1, #0x30] - subs r0, #1 - str r0, [r1, #0x30] -_08025B00: - adds r0, r4, #0 - movs r1, #0x23 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08025B16 - ldr r0, [r1, #0x30] - adds r0, #1 - str r0, [r1, #0x30] -_08025B16: - pop {r4, pc} - - thumb_func_start sub_08025B18 -sub_08025B18: @ 0x08025B18 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - adds r6, r0, #0 - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, _08025BC8 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - str r1, [sp] - movs r0, #0x32 - ldrsh r1, [r6, r0] - ldrh r0, [r2, #8] - subs r1, r1, r0 - str r1, [sp, #4] - adds r0, r6, #0 - adds r0, #0x38 - ldrb r0, [r0] - mov sl, r0 - ldr r5, _08025BCC @ =gUnk_080CC0A8 - movs r7, #0 - movs r1, #0x3f - mov r8, r1 - movs r2, #0x10 - rsbs r2, r2, #0 - mov sb, r2 -_08025B52: - movs r0, #0 - ldrsb r0, [r5, r0] - ldr r1, [sp] - adds r0, r1, r0 - asrs r0, r0, #4 - mov r2, r8 - ands r0, r2 - movs r1, #1 - ldrsb r1, [r5, r1] - ldr r2, [sp, #4] - adds r1, r2, r1 - asrs r1, r1, #4 - mov r2, r8 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - mov r1, sl - bl sub_08025AB8 - movs r0, #0x21 - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08025BB4 - movs r2, #0 - ldrsb r2, [r5, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r5, r3] - lsls r3, r3, #0x10 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA48 - ldrh r1, [r4, #0x2e] - mov r0, sb - ands r0, r1 - adds r0, #8 - strh r0, [r4, #0x2e] - ldrh r1, [r4, #0x32] - mov r0, sb - ands r0, r1 - adds r0, #8 - strh r0, [r4, #0x32] - ldr r0, _08025BD0 @ =0x0000FFFF - strh r0, [r4, #0x36] -_08025BB4: - adds r7, #1 - adds r5, #2 - cmp r7, #8 - bls _08025B52 - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08025BC8: .4byte gUnk_03000BF0 -_08025BCC: .4byte gUnk_080CC0A8 -_08025BD0: .4byte 0x0000FFFF - - thumb_func_start sub_08025BD4 -sub_08025BD4: @ 0x08025BD4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - beq _08025C22 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08025C22 - movs r0, #0x21 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08025C22 - ldr r3, _08025C24 @ =gUnk_080CC0BA - ldrb r0, [r5, #0x14] - lsls r0, r0, #1 - adds r1, r0, r3 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - adds r0, #1 - adds r0, r0, r3 - movs r3, #0 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 - ldr r0, _08025C28 @ =0x0000FFF6 - strh r0, [r4, #0x36] -_08025C22: - pop {r4, r5, pc} - .align 2, 0 -_08025C24: .4byte gUnk_080CC0BA -_08025C28: .4byte 0x0000FFF6 - - thumb_func_start sub_08025C2C -sub_08025C2C: @ 0x08025C2C - push {lr} - movs r2, #0 - movs r1, #8 - strb r1, [r0, #0xc] - adds r1, r0, #0 - adds r1, #0x80 - strb r2, [r1] - movs r1, #8 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08025C44 -sub_08025C44: @ 0x08025C44 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08025C58 - movs r0, #0 - b _08025C5E -_08025C58: - adds r0, r2, #0 - bl sub_080AEF88 -_08025C5E: - pop {pc} - - thumb_func_start sub_08025C60 -sub_08025C60: @ 0x08025C60 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08025C80 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _08025C80 - adds r0, r4, #0 - bl sub_08049EE4 - b _08025C98 -_08025C80: - bl sub_08000E50 - ldr r2, _08025C9C @ =gUnk_080CC0C2 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrb r4, [r4, #0x15] - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 -_08025C98: - pop {r4, pc} - .align 2, 0 -_08025C9C: .4byte gUnk_080CC0C2 - - thumb_func_start sub_08025CA0 -sub_08025CA0: @ 0x08025CA0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08025CB8 @ =gUnk_080CC19C - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08025CB8: .4byte gUnk_080CC19C - - thumb_func_start sub_08025CBC -sub_08025CBC: @ 0x08025CBC - push {r4, lr} - adds r4, r0, #0 - bl sub_08001324 - - thumb_func_start sub_08025CC4 -sub_08025CC4: @ 0x08025CC4 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08025CD0 - adds r0, r4, #0 - bl sub_08027870 -_08025CD0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08025CD4 -sub_08025CD4: @ 0x08025CD4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08078B48 - ldrb r3, [r4, #0xa] - cmp r3, #0 - bne _08025DA4 - ldrb r0, [r4, #0xd] - cmp r0, #0xc - beq _08025CFE - movs r0, #0xc - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r3, [r0, #3] - ldr r0, [r4, #0x54] - movs r1, #9 - bl sub_080042AC - b _08025D9C -_08025CFE: - adds r5, r4, #0 - adds r5, #0x84 - ldr r0, [r5] - ldrb r0, [r0, #3] - cmp r0, #0 - beq _08025D10 - cmp r0, #1 - beq _08025D28 - b _08025D9C -_08025D10: - adds r0, r4, #0 - movs r1, #0x3f - bl sub_08027C7C - ldr r0, [r5] - movs r1, #1 - strb r1, [r0, #3] - adds r1, r4, #0 - adds r1, #0x7d - movs r0, #0x78 - strb r0, [r1] - b _08025D9C -_08025D28: - adds r2, r4, #0 - adds r2, #0x7d - ldrb r0, [r2] - subs r1, r0, #1 - strb r1, [r2] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08025D84 - ldr r1, [r4, #0x54] - adds r1, #0x6d - ldrb r0, [r1] - movs r2, #2 - orrs r0, r2 - strb r0, [r1] - ldr r1, [r4, #0x68] - adds r1, #0x6d - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - ldr r1, [r4, #0x50] - adds r1, #0x6d - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - ldr r2, [r4, #0x54] - ldr r1, [r4, #0x50] - ldr r0, [r4, #0x68] - adds r0, #0x45 - strb r3, [r0] - adds r1, #0x45 - strb r3, [r1] - adds r2, #0x45 - strb r3, [r2] - ldr r0, _08025D80 @ =gUnk_02034490 - strb r3, [r0] - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_0804A7D4 - b _08025D9C - .align 2, 0 -_08025D80: .4byte gUnk_02034490 -_08025D84: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - movs r1, #0x3f - cmp r0, #0x50 - bhi _08025D96 - movs r1, #0xf - cmp r0, #0x1e - bls _08025D96 - movs r1, #0x1f -_08025D96: - adds r0, r4, #0 - bl sub_08027C7C -_08025D9C: - adds r0, r4, #0 - bl sub_08027870 - b _08025DBC -_08025DA4: - adds r2, r4, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08025DBC - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - bl sub_0805E780 -_08025DBC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08025DC0 -sub_08025DC0: @ 0x08025DC0 - push {lr} - ldr r2, _08025DD4 @ =gUnk_080CC1B0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08025DD4: .4byte gUnk_080CC1B0 - - thumb_func_start sub_08025DD8 -sub_08025DD8: @ 0x08025DD8 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0xa] - cmp r1, #8 - bne _08025DF2 - movs r0, #4 - strb r0, [r5, #0xa] - ldr r0, [r5, #0x54] - ldr r0, [r0, #0x48] - str r0, [r5, #0x48] - b _0802605E -_08025DF2: - ldr r6, _08025E48 @ =gUnk_080CC1B8 - movs r4, #3 - movs r3, #3 - adds r0, r3, #0 - ands r0, r1 - lsls r0, r0, #2 - adds r0, r0, r6 - ldrb r0, [r0, #1] - movs r1, #0x29 - adds r1, r1, r5 - mov ip, r1 - movs r1, #7 - ands r1, r0 - mov r0, ip - ldrb r2, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - adds r1, r5, #0 - adds r1, #0x76 - movs r0, #0xa0 - strh r0, [r1] - adds r1, #4 - strh r0, [r1] - adds r1, #4 - movs r0, #0 - strh r0, [r1] - ldrb r0, [r5, #0x19] - orrs r0, r4 - strb r0, [r5, #0x19] - ldrb r0, [r5, #0xa] - ands r3, r0 - cmp r3, #1 - bne _08025E4C - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC - b _08025E58 - .align 2, 0 -_08025E48: .4byte gUnk_080CC1B8 -_08025E4C: - lsls r0, r3, #2 - adds r0, r0, r6 - ldrb r1, [r0] - adds r0, r5, #0 - bl sub_08004260 -_08025E58: - ldrb r0, [r5, #0xa] - movs r6, #3 - ands r6, r0 - cmp r6, #0 - beq _08025E86 - cmp r6, #0 - bge _08025E68 - b _08026050 -_08025E68: - cmp r6, #3 - ble _08025E6E - b _08026050 -_08025E6E: - ldr r4, [r5, #0x48] - adds r0, r5, #0 - bl sub_0806FBD8 - adds r1, r0, #0 - cmp r1, #0 - beq _08025E7E - b _08026020 -_08025E7E: - ldr r0, [r5, #0x68] - adds r0, #0x45 - strb r1, [r0] - b _0802605E -_08025E86: - strb r0, [r5, #0xb] - movs r0, #0x10 - bl sub_0801D8E0 - adds r4, r5, #0 - adds r4, #0x84 - str r0, [r4] - cmp r0, #0 - beq _08025EA2 - adds r0, r5, #0 - bl sub_0806FBD8 - cmp r0, #0 - bne _08025EAA -_08025EA2: - adds r0, r5, #0 - bl sub_0804A7D4 - b _0802605E -_08025EAA: - ldr r0, [r4] - str r0, [r5, #0x64] - ldr r2, [r5, #0x48] - ldr r1, _0802601C @ =gUnk_080FD238 - ldrb r0, [r1] - strb r0, [r2] - ldr r2, [r5, #0x48] - ldrb r0, [r1, #1] - strb r0, [r2, #1] - ldr r2, [r5, #0x48] - ldrb r0, [r1, #2] - strb r0, [r2, #2] - ldr r2, [r5, #0x48] - ldrb r0, [r1, #3] - strb r0, [r2, #3] - ldr r2, [r5, #0x48] - ldrb r0, [r1, #4] - strb r0, [r2, #4] - ldr r2, [r5, #0x48] - ldrb r0, [r1, #5] - strb r0, [r2, #5] - ldr r2, [r5, #0x48] - ldrb r0, [r1, #6] - strb r0, [r2, #6] - ldr r2, [r5, #0x48] - ldrb r0, [r1, #7] - strb r0, [r2, #7] - strb r6, [r5, #0xd] - adds r1, r5, #0 - adds r1, #0x6d - ldrb r0, [r1] - movs r7, #1 - orrs r0, r7 - strb r0, [r1] - ldr r0, [r4] - strb r6, [r0, #6] - ldr r0, [r4] - strb r6, [r0, #5] - ldr r1, [r4] - movs r0, #0xf - strb r0, [r1, #1] - ldr r0, [r4] - strb r6, [r0, #3] - ldr r0, [r4] - strb r6, [r0, #4] - ldr r1, [r4] - ldrh r0, [r5, #0x2e] - strh r0, [r1, #0xe] - ldrb r0, [r5, #0xa] - movs r1, #3 - orrs r1, r0 - movs r0, #0x13 - bl sub_0804AA60 - adds r2, r0, #0 - str r2, [r5, #0x68] - cmp r2, #0 - beq _08025F46 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - ldr r1, [r5, #0x68] - ldrh r0, [r5, #0x2e] - strh r0, [r1, #0x2e] - ldr r1, [r5, #0x68] - ldrh r0, [r5, #0x32] - subs r0, #0xe - strh r0, [r1, #0x32] - ldr r1, [r5, #0x68] - movs r0, #0xe - strb r0, [r1, #0xe] - ldr r0, [r5, #0x68] - str r5, [r0, #0x50] - ldr r0, [r5, #0x68] - str r5, [r0, #0x68] -_08025F46: - ldrb r0, [r5, #0xa] - movs r1, #2 - orrs r1, r0 - movs r0, #0x13 - bl sub_0804AA60 - adds r2, r0, #0 - str r2, [r5, #0x50] - cmp r2, #0 - beq _08025F8C - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - ldr r1, [r5, #0x50] - ldrh r0, [r5, #0x2e] - strh r0, [r1, #0x2e] - ldr r1, [r5, #0x50] - ldr r0, [r5, #0x68] - ldrh r0, [r0, #0x32] - subs r0, #0x12 - strh r0, [r1, #0x32] - ldr r1, [r5, #0x50] - movs r0, #0x12 - strb r0, [r1, #0xe] - ldr r1, [r5, #0x50] - ldr r0, [r5, #0x68] - str r0, [r1, #0x50] - ldr r1, [r5, #0x68] - ldr r0, [r5, #0x50] - str r0, [r1, #0x54] - ldr r0, [r5, #0x50] - str r5, [r0, #0x68] -_08025F8C: - ldrb r0, [r5, #0xa] - adds r1, r7, #0 - orrs r1, r0 - movs r0, #0x13 - bl sub_0804AA60 - adds r2, r0, #0 - str r2, [r5, #0x54] - cmp r2, #0 - beq _08025FD6 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - ldr r1, [r5, #0x54] - ldrh r0, [r5, #0x2e] - strh r0, [r1, #0x2e] - ldr r1, [r5, #0x54] - ldr r0, [r5, #0x50] - ldrh r0, [r0, #0x32] - subs r0, #0xe - strh r0, [r1, #0x32] - ldr r1, [r5, #0x54] - movs r0, #0xe - strb r0, [r1, #0xe] - ldr r1, [r5, #0x54] - ldr r0, [r5, #0x50] - str r0, [r1, #0x50] - ldr r0, [r5, #0x54] - str r5, [r0, #0x54] - ldr r1, [r5, #0x50] - ldr r0, [r5, #0x54] - str r0, [r1, #0x54] - ldr r0, [r5, #0x54] - str r5, [r0, #0x68] -_08025FD6: - movs r0, #0x13 - movs r1, #8 - bl sub_0804AA60 - adds r1, r0, #0 - cmp r1, #0 - beq _08025FE6 - str r5, [r1, #0x54] -_08025FE6: - adds r0, r5, #0 - movs r1, #0x49 - movs r2, #1 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _08025FFC - ldr r0, [r5, #0x54] - str r0, [r1, #0x54] -_08025FFC: - ldrb r0, [r5, #0xa] - cmp r0, #0 - beq _08026050 - adds r0, r5, #0 - movs r1, #0x49 - movs r2, #3 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _08026050 - ldr r0, [r5, #0x54] - str r0, [r1, #0x54] - b _08026050 - .align 2, 0 -_0802601C: .4byte gUnk_080FD238 -_08026020: - ldr r1, [r5, #0x48] - ldrb r0, [r4] - strb r0, [r1] - ldr r1, [r5, #0x48] - ldrb r0, [r4, #1] - strb r0, [r1, #1] - ldr r1, [r5, #0x48] - ldrb r0, [r4, #2] - strb r0, [r1, #2] - ldr r1, [r5, #0x48] - ldrb r0, [r4, #3] - strb r0, [r1, #3] - ldr r1, [r5, #0x48] - ldrb r0, [r4, #4] - strb r0, [r1, #4] - ldr r1, [r5, #0x48] - ldrb r0, [r4, #5] - strb r0, [r1, #5] - ldr r1, [r5, #0x48] - ldrb r0, [r4, #6] - strb r0, [r1, #6] - ldr r1, [r5, #0x48] - ldrb r0, [r4, #7] - strb r0, [r1, #7] -_08026050: - ldrb r1, [r5, #0xa] - movs r0, #3 - ands r0, r1 - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08026060 -_0802605E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08026060 -sub_08026060: @ 0x08026060 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0802608C @ =gUnk_080CC1C8 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - adds r0, #4 - ldrh r2, [r0] - adds r0, #4 - ldrh r3, [r0] - adds r0, r4, #0 - bl sub_0805EC9C - pop {r4, pc} - .align 2, 0 -_0802608C: .4byte gUnk_080CC1C8 - - thumb_func_start sub_08026090 -sub_08026090: @ 0x08026090 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _080260EA - ldr r0, [r4, #0x54] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080260B8 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xfa - strb r0, [r4, #0xe] - ldr r0, _080260D4 @ =gUnk_03000BF0 - str r4, [r0, #0x30] -_080260B8: - ldr r0, [r4, #0x54] - ldrb r1, [r0, #0x10] - strb r1, [r4, #0x10] - ldr r1, [r0, #0x48] - str r1, [r4, #0x48] - adds r0, #0x3f - ldrb r1, [r0] - cmp r1, #0x7e - bne _080260D8 - adds r0, r4, #0 - adds r0, #0x3f - strb r1, [r0] - b _080260E0 - .align 2, 0 -_080260D4: .4byte gUnk_03000BF0 -_080260D8: - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x7c - strb r0, [r1] -_080260E0: - ldr r0, [r4, #0x54] - adds r1, r4, #0 - bl sub_0806FA24 - b _08026106 -_080260EA: - bl sub_08078B48 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08026106 - ldr r1, _08026108 @ =gUnk_03000BF0 - ldr r0, _0802610C @ =gUnk_03001160 - str r0, [r1, #0x30] - bl sub_0805E780 -_08026106: - pop {r4, pc} - .align 2, 0 -_08026108: .4byte gUnk_03000BF0 -_0802610C: .4byte gUnk_03001160 - - thumb_func_start sub_08026110 -sub_08026110: @ 0x08026110 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldr r1, _08026144 @ =gUnk_080CC1DC - ldrb r0, [r6, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r6, #0 - bl _call_via_r1 - adds r0, r6, #0 - adds r0, #0x84 - ldr r2, [r0] - ldr r0, [r2, #8] - cmp r0, #0 - bne _08026160 - ldrb r1, [r2, #5] - cmp r1, #0 - beq _08026160 - ldrb r0, [r6, #0xd] - cmp r0, #8 - bne _08026148 - adds r0, r1, #0 - subs r0, #0x40 - b _0802614C - .align 2, 0 -_08026144: .4byte gUnk_080CC1DC -_08026148: - adds r0, r1, #0 - subs r0, #0x20 -_0802614C: - strb r0, [r2, #5] - adds r0, r6, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #5 - ldrsb r0, [r1, r0] - cmp r0, #0 - bge _08026160 - movs r0, #0 - strb r0, [r1, #5] -_08026160: - adds r2, r6, #0 - adds r2, #0x80 - ldrb r0, [r2] - movs r1, #0x76 - adds r1, r1, r6 - mov ip, r1 - adds r7, r6, #0 - adds r7, #0x7a - cmp r0, #0 - beq _08026230 - ldrb r0, [r6, #0xe] - cmp r0, #0 - bne _080261D2 - ldrb r1, [r2] - lsls r1, r1, #0xc - ldr r0, [r6, #0x74] - subs r0, r0, r1 - str r0, [r6, #0x74] - ldrb r1, [r2] - lsls r1, r1, #0xc - ldr r0, [r6, #0x78] - subs r0, r0, r1 - str r0, [r6, #0x78] - mov r0, ip - ldrh r2, [r0] - adds r4, r6, #0 - adds r4, #0x82 - ldrb r1, [r4] - adds r3, r6, #0 - adds r3, #0x84 - ldr r0, [r3] - ldrb r0, [r0, #5] - adds r1, r1, r0 - cmp r2, r1 - bgt _080261AA - mov r0, ip - strh r1, [r0] -_080261AA: - ldrh r2, [r7] - ldrb r1, [r4] - ldr r0, [r3] - ldrb r0, [r0, #5] - adds r1, r1, r0 - cmp r2, r1 - bgt _080261BA - strh r1, [r7] -_080261BA: - mov r1, ip - ldrh r2, [r1] - ldrb r1, [r4] - ldr r0, [r3] - ldrb r0, [r0, #5] - adds r1, r1, r0 - cmp r2, r1 - bgt _08026230 - ldrh r0, [r7] - cmp r0, r1 - bgt _08026230 - b _08026228 -_080261D2: - ldrb r1, [r2] - lsls r1, r1, #0xc - ldr r0, [r6, #0x74] - adds r0, r0, r1 - str r0, [r6, #0x74] - ldrb r1, [r2] - lsls r1, r1, #0xc - ldr r0, [r6, #0x78] - adds r0, r0, r1 - str r0, [r6, #0x78] - mov r0, ip - ldrh r2, [r0] - adds r4, r6, #0 - adds r4, #0x81 - ldrb r1, [r4] - adds r3, r6, #0 - adds r3, #0x84 - ldr r0, [r3] - ldrb r0, [r0, #5] - adds r1, r1, r0 - cmp r2, r1 - blt _08026202 - mov r0, ip - strh r1, [r0] -_08026202: - ldrh r2, [r7] - ldrb r1, [r4] - ldr r0, [r3] - ldrb r0, [r0, #5] - adds r1, r1, r0 - cmp r2, r1 - blt _08026212 - strh r1, [r7] -_08026212: - mov r1, ip - ldrh r2, [r1] - ldrb r1, [r4] - ldr r0, [r3] - ldrb r0, [r0, #5] - adds r1, r1, r0 - cmp r2, r1 - blt _08026230 - ldrh r0, [r7] - cmp r0, r1 - blt _08026230 -_08026228: - ldrb r0, [r6, #0xe] - movs r1, #1 - eors r0, r1 - strb r0, [r6, #0xe] -_08026230: - ldr r5, [r6, #0x48] - mov r0, ip - ldrh r1, [r0] - movs r4, #0x80 - lsls r4, r4, #9 - adds r0, r4, #0 - bl __divsi3 - lsls r1, r0, #3 - subs r1, r1, r0 - lsrs r1, r1, #7 - strb r1, [r5, #6] - ldr r5, [r6, #0x48] - ldrh r1, [r7] - adds r0, r4, #0 - bl __divsi3 - lsls r1, r0, #1 - adds r1, r1, r0 - lsrs r1, r1, #7 - strb r1, [r5, #7] - movs r1, #0x36 - ldrsh r0, [r6, r1] - cmp r0, #0 - bne _08026268 - adds r0, r6, #0 - bl sub_0800445C -_08026268: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0802626C -sub_0802626C: @ 0x0802626C - push {lr} - ldr r2, _0802629C @ =gUnk_02034490 - movs r1, #1 - strb r1, [r2] - ldr r2, _080262A0 @ =gUnk_080CC20C - adds r1, r0, #0 - adds r1, #0x84 - ldr r1, [r1] - ldrb r1, [r1, #3] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldr r0, _080262A4 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0x17 - beq _08026298 - cmp r0, #0xf - beq _08026298 - bl sub_08078B48 -_08026298: - pop {pc} - .align 2, 0 -_0802629C: .4byte gUnk_02034490 -_080262A0: .4byte gUnk_080CC20C -_080262A4: .4byte gUnk_03001160 - - thumb_func_start sub_080262A8 -sub_080262A8: @ 0x080262A8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x82 - movs r6, #0 - movs r0, #0x90 - strb r0, [r1] - subs r1, #1 - movs r0, #0xb0 - strb r0, [r1] - subs r1, #1 - movs r0, #8 - strb r0, [r1] - movs r5, #1 - strb r5, [r4, #0xe] - adds r0, r4, #0 - movs r1, #6 - movs r2, #1 - bl sub_080276F4 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080262EC - ldr r1, _080262E8 @ =gUnk_03003F80 - movs r0, #0x82 - lsls r0, r0, #1 - strh r0, [r1, #8] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r5, [r0, #3] - b _0802631A - .align 2, 0 -_080262E8: .4byte gUnk_03003F80 -_080262EC: - adds r0, r4, #0 - adds r0, #0x7c - strb r6, [r0] - adds r1, r4, #0 - adds r1, #0x7d - movs r0, #0x1e - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #3 - strb r0, [r1, #3] - ldr r0, _0802631C @ =gUnk_03001160 - strb r6, [r0, #0x14] - ldr r0, _08026320 @ =gUnk_03000BF0 - str r4, [r0, #0x30] - strb r5, [r0, #0xe] - ldr r0, _08026324 @ =0x00004022 - movs r1, #0xb2 - lsls r1, r1, #2 - movs r2, #1 - bl sub_0800015E -_0802631A: - pop {r4, r5, r6, pc} - .align 2, 0 -_0802631C: .4byte gUnk_03001160 -_08026320: .4byte gUnk_03000BF0 -_08026324: .4byte 0x00004022 - - thumb_func_start sub_08026328 -sub_08026328: @ 0x08026328 - push {lr} - adds r2, r0, #0 - ldr r0, _08026354 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0x17 - beq _08026352 - adds r1, r2, #0 - adds r1, #0x7d - movs r0, #0x78 - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - movs r0, #0xa - movs r1, #0 - movs r2, #0 - bl sub_08078AC0 -_08026352: - pop {pc} - .align 2, 0 -_08026354: .4byte gUnk_03001160 - - thumb_func_start sub_08026358 -sub_08026358: @ 0x08026358 - push {r4, lr} - adds r3, r0, #0 - ldr r4, _08026398 @ =gUnk_03001160 - ldrb r0, [r4, #0xc] - cmp r0, #0xf - beq _080263B0 - adds r1, r3, #0 - adds r1, #0x7d - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _080263A0 - adds r0, r3, #0 - adds r0, #0x7c - strb r2, [r0] - movs r0, #0x1e - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - strb r2, [r4, #0x14] - ldr r1, _0802639C @ =gUnk_03000BF0 - str r3, [r1, #0x30] - movs r0, #1 - strb r0, [r1, #0xe] - b _080263B0 - .align 2, 0 -_08026398: .4byte gUnk_03001160 -_0802639C: .4byte gUnk_03000BF0 -_080263A0: - cmp r2, #0x60 - bhi _080263B0 - cmp r2, #0x5b - bhi _080263AC - movs r0, #4 - b _080263AE -_080263AC: - movs r0, #2 -_080263AE: - strb r0, [r4, #0x14] -_080263B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080263B4 -sub_080263B4: @ 0x080263B4 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x7d - adds r0, r0, r4 - mov ip, r0 - ldrb r0, [r0] - subs r0, #1 - mov r1, ip - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0xff - bne _08026410 - ldr r2, _08026400 @ =gUnk_080CC234 - adds r3, r4, #0 - adds r3, #0x7c - ldrb r0, [r3] - adds r1, r0, #1 - strb r1, [r3] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r0, r0, r2 - ldrb r1, [r0] - mov r0, ip - strb r1, [r0] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0xff - bne _08026404 - movs r0, #0x78 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - b _08026410 - .align 2, 0 -_08026400: .4byte gUnk_080CC234 -_08026404: - ldrb r2, [r4, #0xb] - adds r0, r4, #0 - movs r1, #0x49 - movs r3, #0 - bl sub_080A2988 -_08026410: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08026414 -sub_08026414: @ 0x08026414 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r1, r7, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08026474 - ldr r0, _08026478 @ =0x0000FF40 - strh r0, [r7, #0x36] - ldr r6, [r7, #0x54] - ldr r5, [r7, #0x50] - ldr r4, [r7, #0x68] - ldrb r2, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - movs r3, #1 - orrs r0, r3 - strb r0, [r4, #0x18] - ldrb r2, [r5, #0x18] - adds r0, r1, #0 - ands r0, r2 - orrs r0, r3 - strb r0, [r5, #0x18] - ldrb r2, [r6, #0x18] - adds r0, r1, #0 - ands r0, r2 - orrs r0, r3 - strb r0, [r6, #0x18] - ldrb r0, [r7, #0x18] - ands r1, r0 - orrs r1, r3 - strb r1, [r7, #0x18] - adds r0, r7, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - movs r0, #0xd1 - lsls r0, r0, #1 - bl sub_080A3268 -_08026474: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08026478: .4byte 0x0000FF40 - - thumb_func_start sub_0802647C -sub_0802647C: @ 0x0802647C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #7 - bl sub_08003FC4 - cmp r0, #0 - bne _080264A6 - movs r0, #0x10 - movs r1, #0 - bl sub_08080964 - ldr r0, _080264A8 @ =0x000001A1 - bl sub_080A3268 - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] -_080264A6: - pop {r4, pc} - .align 2, 0 -_080264A8: .4byte 0x000001A1 - - thumb_func_start sub_080264AC -sub_080264AC: @ 0x080264AC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xd0 - movs r2, #8 - bl sub_080277B8 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #3] - cmp r0, #6 - beq _080264D2 - ldr r0, [r4, #0x54] - movs r1, #4 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08027D20 -_080264D2: - pop {r4, pc} - - thumb_func_start sub_080264D4 -sub_080264D4: @ 0x080264D4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080279E8 - cmp r0, #0 - beq _08026504 - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - adds r1, r4, #0 - adds r1, #0x7d - movs r0, #0x3c - strb r0, [r1] - adds r0, r4, #0 - movs r1, #5 - movs r2, #0 - bl sub_080276F4 - movs r0, #0x2e - bl sub_080A3268 -_08026504: - adds r0, r4, #0 - bl sub_080277F8 - pop {r4, pc} - - thumb_func_start sub_0802650C -sub_0802650C: @ 0x0802650C - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x54] - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - bne _0802652C - adds r0, r2, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - ldr r1, _08026534 @ =gUnk_03000BF0 - ldr r0, _08026538 @ =gUnk_03001160 - str r0, [r1, #0x30] -_0802652C: - adds r0, r2, #0 - bl sub_08027870 - pop {pc} - .align 2, 0 -_08026534: .4byte gUnk_03000BF0 -_08026538: .4byte gUnk_03001160 - - thumb_func_start sub_0802653C -sub_0802653C: @ 0x0802653C - push {r4, r5, lr} - sub sp, #4 - adds r4, r0, #0 - ldr r1, _08026578 @ =gUnk_03000BF0 - ldrh r5, [r1] - cmp r5, #0 - bne _08026572 - movs r0, #4 - strb r0, [r1, #0xe] - movs r0, #0xff - str r0, [sp] - adds r0, r4, #0 - movs r1, #0x90 - movs r2, #0xb0 - movs r3, #4 - bl sub_08027B98 - adds r0, r4, #0 - movs r1, #0 - bl sub_08027548 - ldr r0, [r4, #0x54] - movs r1, #0 - bl sub_080042AC - ldr r0, _0802657C @ =gUnk_02034490 - strb r5, [r0] -_08026572: - add sp, #4 - pop {r4, r5, pc} - .align 2, 0 -_08026578: .4byte gUnk_03000BF0 -_0802657C: .4byte gUnk_02034490 - - thumb_func_start sub_08026580 -sub_08026580: @ 0x08026580 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - bl sub_08027AA4 - adds r7, r5, #0 - adds r7, #0x84 - ldr r0, [r7] - ldrb r0, [r0, #1] - cmp r0, #0x40 - bne _0802659C - adds r0, r5, #0 - bl sub_08027BBC - b _0802662C -_0802659C: - adds r1, r5, #0 - adds r1, #0x7d - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r6, r1, #0 - cmp r0, #0xff - bne _08026626 - movs r0, #0 - strh r0, [r5, #0x24] - movs r0, #2 - strb r0, [r5, #0xd] - adds r4, r5, #0 - adds r4, #0x7c - movs r0, #0x3c - strb r0, [r4] - ldr r1, _080265E4 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - strb r0, [r5, #0x15] - ldr r0, [r7] - ldrb r0, [r0, #4] - adds r2, r4, #0 - cmp r0, #2 - bne _080265E8 - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #0x48 - strb r0, [r1] - adds r1, #1 - ldrb r0, [r1] - adds r0, #0x10 - b _080265EE - .align 2, 0 -_080265E4: .4byte gUnk_03001160 -_080265E8: - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #0x10 -_080265EE: - strb r0, [r1] - adds r4, r5, #0 - adds r4, #0x84 - ldr r0, [r4] - ldrb r1, [r0, #1] - movs r0, #0xa0 - ands r0, r1 - cmp r0, #0 - beq _08026608 - movs r0, #0 - strb r0, [r6] - strb r0, [r2] - b _08026626 -_08026608: - bl sub_08000E50 - ldr r2, _08026630 @ =gUnk_080CC24F - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r1, r0, #1 - strb r1, [r6] - ldr r0, [r4] - ldrb r0, [r0, #4] - cmp r0, #2 - bne _08026626 - lsls r0, r1, #1 - strb r0, [r6] -_08026626: - adds r0, r5, #0 - bl sub_08027870 -_0802662C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08026630: .4byte gUnk_080CC24F - - thumb_func_start sub_08026634 -sub_08026634: @ 0x08026634 - push {r4, r5, lr} - sub sp, #4 - adds r4, r0, #0 - bl sub_08027AA4 - cmp r0, #0 - beq _08026644 - b _08026748 -_08026644: - adds r0, r4, #0 - adds r0, #0x7d - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #0 - bne _080266D6 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08026748 - adds r1, #8 - ldr r2, [r1] - ldrb r3, [r2, #1] - movs r0, #0x40 - ands r0, r3 - adds r5, r1, #0 - cmp r0, #0 - bne _080266B0 - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _0802668C - ldrb r0, [r2] - subs r0, #1 - strb r0, [r2] - ldr r1, [r5] - ldrb r0, [r1] - cmp r0, #0 - bne _080266B0 - movs r0, #1 - b _080266AE -_0802668C: - movs r0, #1 - strb r0, [r2, #1] - ldr r0, [r5] - ldrb r0, [r0, #4] - cmp r0, #2 - bne _080266B0 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _080266B0 - ldr r1, [r5] - movs r0, #4 - strb r0, [r1] - ldr r1, [r5] - movs r0, #0x81 -_080266AE: - strb r0, [r1, #1] -_080266B0: - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xd] - ldr r0, [r5] - strb r1, [r0, #3] - str r1, [sp] - adds r0, r4, #0 - movs r1, #0x90 - movs r2, #0x90 - movs r3, #0xc - bl sub_08027B98 - movs r0, #0xe0 - lsls r0, r0, #0xb - str r0, [r4, #0x20] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - b _08026742 -_080266D6: - ldr r0, _08026700 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0x7f - ands r0, r1 - cmp r0, #0 - bne _080266EC - ldr r1, _08026704 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] -_080266EC: - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #4] - cmp r0, #2 - bne _08026708 - movs r0, #0x80 - lsls r0, r0, #1 - b _0802670A - .align 2, 0 -_08026700: .4byte gUnk_030010A0 -_08026704: .4byte gUnk_03001160 -_08026708: - movs r0, #0xc0 -_0802670A: - strh r0, [r4, #0x24] - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802672C - ldr r0, _0802674C @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08026726 - movs r0, #0xcf - lsls r0, r0, #1 - bl sub_080A3268 -_08026726: - adds r0, r4, #0 - bl sub_080AEF88 -_0802672C: - adds r0, r4, #0 - adds r0, #0x76 - adds r1, r4, #0 - adds r1, #0x81 - ldrh r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _08026742 - ldrb r0, [r5] - subs r0, #1 - strb r0, [r5] -_08026742: - adds r0, r4, #0 - bl sub_08027870 -_08026748: - add sp, #4 - pop {r4, r5, pc} - .align 2, 0 -_0802674C: .4byte gUnk_030010A0 - - thumb_func_start sub_08026750 -sub_08026750: @ 0x08026750 - push {r4, lr} - adds r4, r0, #0 - bl sub_08027AA4 - ldr r1, _08026770 @ =gUnk_080CC258 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08026770: .4byte gUnk_080CC258 - - thumb_func_start sub_08026774 -sub_08026774: @ 0x08026774 - push {r4, lr} - sub sp, #4 - adds r4, r0, #0 - ldr r1, [r4, #0x54] - adds r1, #0x83 - ldr r0, [r4, #0x50] - adds r0, #0x83 - ldrb r1, [r1] - ldrb r0, [r0] - orrs r1, r0 - ldr r0, [r4, #0x68] - adds r0, #0x83 - ldrb r0, [r0] - orrs r1, r0 - cmp r1, #0 - bne _080267C6 - adds r2, r4, #0 - adds r2, #0x7d - ldrb r0, [r2] - subs r0, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080267CC - str r1, [sp] - adds r0, r4, #0 - movs r1, #0x80 - movs r2, #0x80 - movs r3, #0x40 - bl sub_08027B98 - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #1 - strb r0, [r1, #3] - ldr r0, [r4, #0x54] - movs r1, #1 - bl sub_080042AC -_080267C6: - adds r0, r4, #0 - bl sub_080277F8 -_080267CC: - add sp, #4 - pop {r4, pc} - - thumb_func_start sub_080267D0 -sub_080267D0: @ 0x080267D0 - push {r4, lr} - sub sp, #4 - adds r4, r0, #0 - movs r1, #0xf0 - movs r2, #8 - bl sub_080277B8 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #3] - cmp r0, #1 - beq _08026802 - movs r0, #0xff - str r0, [sp] - adds r0, r4, #0 - movs r1, #0xe0 - movs r2, #0xc0 - movs r3, #0x20 - bl sub_08027B98 - ldr r0, [r4, #0x54] - movs r1, #2 - bl sub_080042AC -_08026802: - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08026808 -sub_08026808: @ 0x08026808 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r2, [r4, #0x54] - ldr r7, [r4, #0x68] - ldr r6, [r4, #0x50] - adds r1, r2, #0 - adds r1, #0x76 - ldrh r0, [r1] - cmp r0, #0xbf - bhi _08026820 - adds r0, #4 - strh r0, [r1] -_08026820: - adds r5, r2, #0 - adds r5, #0x7a - ldrh r0, [r5] - cmp r0, #0xb0 - bls _08026830 - subs r0, #8 - strh r0, [r5] - b _08026860 -_08026830: - ldr r1, _08026868 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - movs r0, #4 - strb r0, [r4, #0xd] - movs r1, #0xa0 - strh r1, [r5] - adds r0, r6, #0 - adds r0, #0x7a - strh r1, [r0] - adds r0, r7, #0 - adds r0, #0x7a - strh r1, [r0] - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_080276F4 - movs r0, #0xd1 - lsls r0, r0, #1 - bl sub_080A3268 -_08026860: - adds r0, r4, #0 - bl sub_080277F8 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08026868: .4byte gUnk_03001160 - - thumb_func_start sub_0802686C -sub_0802686C: @ 0x0802686C - push {r4, r5, lr} - sub sp, #4 - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #7 - bl sub_08003FC4 - adds r5, r0, #0 - cmp r5, #0 - beq _08026888 - adds r0, r4, #0 - bl sub_080AEF88 - b _080268BE -_08026888: - movs r0, #0x10 - movs r1, #0 - bl sub_08080964 - movs r0, #5 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r5, [r0, #3] - str r5, [sp] - adds r0, r4, #0 - movs r1, #0x80 - movs r2, #0x80 - movs r3, #0x80 - bl sub_08027B98 - adds r0, r4, #0 - bl sub_08027870 - ldr r0, [r4, #0x54] - movs r1, #3 - bl sub_080042AC - ldr r0, _080268C4 @ =0x000001A1 - bl sub_080A3268 -_080268BE: - add sp, #4 - pop {r4, r5, pc} - .align 2, 0 -_080268C4: .4byte 0x000001A1 - - thumb_func_start sub_080268C8 -sub_080268C8: @ 0x080268C8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08027AA4 - ldr r1, _080268E8 @ =gUnk_080CC264 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080268E8: .4byte gUnk_080CC264 - - thumb_func_start sub_080268EC -sub_080268EC: @ 0x080268EC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xd0 - movs r2, #8 - bl sub_080277B8 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #3] - cmp r0, #0 - beq _08026912 - ldr r0, [r4, #0x54] - movs r1, #4 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08027D20 -_08026912: - pop {r4, pc} - - thumb_func_start sub_08026914 -sub_08026914: @ 0x08026914 - push {r4, lr} - sub sp, #4 - adds r4, r0, #0 - bl sub_080279E8 - cmp r0, #0 - beq _08026942 - movs r0, #0xff - str r0, [sp] - adds r0, r4, #0 - movs r1, #0x90 - movs r2, #0xb0 - movs r3, #4 - bl sub_08027B98 - adds r0, r4, #0 - movs r1, #0 - bl sub_08027548 - ldr r0, [r4, #0x54] - movs r1, #0 - bl sub_080042AC -_08026942: - adds r0, r4, #0 - bl sub_080277F8 - add sp, #4 - pop {r4, pc} - - thumb_func_start sub_0802694C -sub_0802694C: @ 0x0802694C - push {lr} - ldr r2, _08026964 @ =gUnk_080CC26C - adds r1, r0, #0 - adds r1, #0x84 - ldr r1, [r1] - ldrb r1, [r1, #3] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08026964: .4byte gUnk_080CC26C - - thumb_func_start sub_08026968 -sub_08026968: @ 0x08026968 - push {r4, r5, r6, lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x7d - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0802698C - adds r0, r2, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - b _080269C0 -_0802698C: - ldr r6, [r2, #0x54] - ldr r4, [r2, #0x68] - ldr r5, [r2, #0x50] - ldrb r1, [r2, #0x15] - movs r0, #0x10 - ands r0, r1 - ldr r3, _080269C8 @ =0xFFFFFF00 - cmp r0, #0 - beq _080269A2 - movs r3, #0x80 - lsls r3, r3, #1 -_080269A2: - adds r1, r4, #0 - adds r1, #0x82 - ldrh r0, [r1] - adds r0, r0, r3 - strh r0, [r1] - adds r1, r5, #0 - adds r1, #0x82 - ldrh r0, [r1] - adds r0, r0, r3 - strh r0, [r1] - adds r1, r6, #0 - adds r1, #0x82 - ldrh r0, [r1] - adds r0, r0, r3 - strh r0, [r1] -_080269C0: - adds r0, r2, #0 - bl sub_08027870 - pop {r4, r5, r6, pc} - .align 2, 0 -_080269C8: .4byte 0xFFFFFF00 - - thumb_func_start sub_080269CC -sub_080269CC: @ 0x080269CC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r6, r0, #0 - movs r7, #0 - ldr r5, [r6, #0x54] - ldr r0, [r6, #0x68] - mov sl, r0 - ldr r1, [r6, #0x50] - mov sb, r1 - ldrb r1, [r6, #0x15] - movs r0, #0x10 - ands r0, r1 - movs r1, #0xc0 - lsls r1, r1, #2 - mov r8, r1 - cmp r0, #0 - beq _080269F8 - ldr r0, _08026A18 @ =0xFFFFFD00 - mov r8, r0 -_080269F8: - mov r0, sl - adds r0, #0x83 - ldrb r0, [r0] - adds r4, r0, #0 - adds r4, #0x20 - lsls r0, r4, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3f - bhi _08026A1C - mov r1, sl - adds r1, #0x82 - ldrh r0, [r1] - add r0, r8 - strh r0, [r1] - b _08026A1E - .align 2, 0 -_08026A18: .4byte 0xFFFFFD00 -_08026A1C: - movs r7, #1 -_08026A1E: - mov r0, sb - adds r0, #0x83 - ldrb r0, [r0] - adds r4, r0, #0 - adds r4, #0x44 - lsls r0, r4, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x87 - bhi _08026A3C - mov r1, sb - adds r1, #0x82 - ldrh r0, [r1] - add r0, r8 - strh r0, [r1] - b _08026A3E -_08026A3C: - adds r7, #1 -_08026A3E: - adds r0, r5, #0 - adds r0, #0x83 - ldrb r0, [r0] - adds r4, r0, #0 - adds r4, #0x40 - adds r0, #0x20 - cmp r0, #0x40 - bls _08026A7E - ldrb r1, [r6, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08026A6C - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #6 - beq _08026A7E - adds r0, r5, #0 - movs r1, #6 - bl sub_080042AC - b _08026A7E -_08026A6C: - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #5 - beq _08026A7E - adds r0, r5, #0 - movs r1, #5 - bl sub_080042AC -_08026A7E: - lsls r0, r4, #0x18 - cmp r0, #0 - blt _08026A90 - adds r1, r5, #0 - adds r1, #0x82 - ldrh r0, [r1] - add r0, r8 - strh r0, [r1] - b _08026A92 -_08026A90: - adds r7, #1 -_08026A92: - cmp r7, #3 - beq _08026A98 - b _08026BB8 -_08026A98: - ldrb r1, [r6, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r6, #0x10] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x76 - ldrh r0, [r1] - adds r0, #3 - strh r0, [r1] - movs r0, #0x20 - movs r1, #0 - bl sub_08080964 - ldr r0, _08026B24 @ =0x0000010B - bl sub_080A3268 - adds r0, r6, #0 - movs r1, #0x15 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - adds r4, r0, #0 - cmp r4, #0 - beq _08026B4E - movs r0, #0xc9 - strh r0, [r4, #0x12] - adds r1, r4, #0 - adds r1, #0x58 - movs r0, #1 - strb r0, [r1] - ldrh r0, [r4, #0x32] - adds r0, #0x10 - strh r0, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r2, [r5, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r5, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x1b] - ldrb r1, [r6, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08026B28 - ldrh r0, [r4, #0x2e] - subs r0, #0x38 - b _08026B2C - .align 2, 0 -_08026B24: .4byte 0x0000010B -_08026B28: - ldrh r0, [r4, #0x2e] - adds r0, #0x38 -_08026B2C: - strh r0, [r4, #0x2e] - adds r0, r4, #0 - movs r1, #0x3e - bl sub_080ADF80 - ldrb r0, [r6, #0xb] - cmp r0, #0 - bne _08026B46 - adds r0, r4, #0 - movs r1, #0x2b - bl sub_0801D040 - b _08026B4E -_08026B46: - adds r0, r4, #0 - movs r1, #0x2c - bl sub_0801D040 -_08026B4E: - ldr r3, [r6, #0x50] - ldr r2, [r6, #0x54] - ldr r0, [r6, #0x68] - adds r0, #0x84 - movs r1, #1 - strb r1, [r0] - adds r2, #0x84 - strb r1, [r2] - adds r3, #0x84 - strb r1, [r3] - mov r0, sb - adds r0, #0x7a - movs r1, #0x98 - strh r1, [r0] - mov r0, sl - adds r0, #0x7a - strh r1, [r0] - adds r0, r5, #0 - adds r0, #0x7a - strh r1, [r0] - bl sub_08000E50 - ldr r2, _08026BB4 @ =gUnk_080CC278 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r7, r6, #0 - adds r7, #0x7c - strb r0, [r7] - adds r0, r6, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - adds r0, r5, #0 - movs r1, #0x49 - movs r2, #0xa - movs r3, #0 - bl sub_080A2988 - adds r4, r0, #0 - cmp r4, #0 - beq _08026BD4 - adds r1, r4, #0 - adds r1, #0x84 - ldrb r0, [r7] - str r0, [r1] - b _08026BD4 - .align 2, 0 -_08026BB4: .4byte gUnk_080CC278 -_08026BB8: - adds r0, r5, #0 - adds r0, #0x76 - ldrh r0, [r0] - cmp r0, #0xef - bhi _08026BD4 - ldr r0, [r5, #0x74] - movs r1, #0x80 - lsls r1, r1, #0xb - adds r0, r0, r1 - str r0, [r5, #0x74] - ldr r0, [r5, #0x78] - ldr r1, _08026BE4 @ =0xFFFF8000 - adds r0, r0, r1 - str r0, [r5, #0x78] -_08026BD4: - adds r0, r6, #0 - bl sub_08027870 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08026BE4: .4byte 0xFFFF8000 - - thumb_func_start sub_08026BE8 -sub_08026BE8: @ 0x08026BE8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x54] - adds r3, r5, #0 - adds r3, #0x3b - ldrb r1, [r3] - movs r0, #0xfe - ands r0, r1 - strb r0, [r3] - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - adds r2, r0, #0 - cmp r2, #0 - bne _08026C34 - movs r0, #7 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r2, [r0, #3] - adds r1, #1 - movs r0, #0x2d - strb r0, [r1] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - ldrb r0, [r3] - movs r1, #1 - orrs r0, r1 - strb r0, [r3] - ldr r0, _08026C30 @ =0x00000155 - bl sub_080A3268 - b _08026C38 - .align 2, 0 -_08026C30: .4byte 0x00000155 -_08026C34: - subs r0, #1 - strb r0, [r1] -_08026C38: - adds r0, r4, #0 - bl sub_08027870 - pop {r4, r5, pc} - - thumb_func_start sub_08026C40 -sub_08026C40: @ 0x08026C40 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - adds r5, r0, #0 - ldr r4, [r5, #0x54] - ldr r7, [r5, #0x68] - ldr r6, [r5, #0x50] - adds r2, r5, #0 - adds r2, #0x7d - ldrb r0, [r2] - cmp r0, #0 - beq _08026CCC - subs r1, r0, #1 - strb r1, [r2] - lsls r0, r1, #0x18 - cmp r0, #0 - beq _08026C9C - movs r0, #8 - ands r1, r0 - cmp r1, #0 - beq _08026C82 - ldr r0, [r4, #0x74] - movs r1, #0x80 - lsls r1, r1, #0xa - adds r0, r0, r1 - str r0, [r4, #0x74] - ldr r0, [r4, #0x78] - movs r2, #0x80 - lsls r2, r2, #9 - adds r0, r0, r2 - str r0, [r4, #0x78] - b _08026E12 -_08026C82: - ldr r0, [r4, #0x74] - ldr r3, _08026C94 @ =0xFFFE0000 - adds r0, r0, r3 - str r0, [r4, #0x74] - ldr r0, [r4, #0x78] - ldr r1, _08026C98 @ =0xFFFF0000 - adds r0, r0, r1 - str r0, [r4, #0x78] - b _08026E12 - .align 2, 0 -_08026C94: .4byte 0xFFFE0000 -_08026C98: .4byte 0xFFFF0000 -_08026C9C: - ldrb r1, [r5, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08026CBA - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #8 - beq _08026CCC - adds r0, r4, #0 - movs r1, #8 - bl sub_080042AC - b _08026CCC -_08026CBA: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #7 - beq _08026CCC - adds r0, r4, #0 - movs r1, #7 - bl sub_080042AC -_08026CCC: - adds r0, r5, #0 - adds r0, #0x7c - ldrb r1, [r0] - mov r8, r0 - cmp r1, #0 - bne _08026CF0 - ldrb r1, [r5, #0x15] - movs r0, #0x10 - ands r0, r1 - ldr r2, _08026CEC @ =0xFFFFFD00 - cmp r0, #0 - beq _08026D00 - movs r2, #0xc0 - lsls r2, r2, #2 - b _08026D00 - .align 2, 0 -_08026CEC: .4byte 0xFFFFFD00 -_08026CF0: - ldrb r1, [r5, #0x15] - movs r0, #0x10 - ands r0, r1 - ldr r2, _08026D30 @ =0xFFFFFB80 - cmp r0, #0 - beq _08026D00 - movs r2, #0x90 - lsls r2, r2, #3 -_08026D00: - adds r0, r7, #0 - adds r0, #0x83 - ldrb r0, [r0] - adds r0, #6 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xc - bls _08026D34 - adds r1, r7, #0 - adds r1, #0x82 - lsls r0, r2, #1 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - adds r1, r6, #0 - adds r1, #0x82 - ldrh r0, [r1] - adds r0, r0, r2 - strh r0, [r1] - adds r1, r4, #0 - adds r1, #0x82 - ldrh r0, [r1] - b _08026D7E - .align 2, 0 -_08026D30: .4byte 0xFFFFFB80 -_08026D34: - adds r0, r7, #0 - adds r0, #0x82 - movs r1, #0 - strh r1, [r0] - adds r0, r6, #0 - adds r0, #0x83 - ldrb r0, [r0] - adds r0, #6 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xc - bls _08026D60 - adds r1, r6, #0 - adds r1, #0x82 - lsls r0, r2, #1 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - adds r1, r4, #0 - adds r1, #0x82 - ldrh r0, [r1] - b _08026D7E -_08026D60: - adds r0, r6, #0 - adds r0, #0x82 - strh r1, [r0] - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - adds r0, #6 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xc - bls _08026D84 - adds r1, r4, #0 - adds r1, #0x82 - lsls r0, r2, #1 - ldrh r2, [r1] -_08026D7E: - adds r0, r0, r2 - strh r0, [r1] - b _08026D8A -_08026D84: - adds r0, r4, #0 - adds r0, #0x82 - strh r1, [r0] -_08026D8A: - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - cmp r0, #0xa0 - bls _08026DA4 - ldr r0, [r4, #0x74] - ldr r3, _08026DA0 @ =0xFFFC0000 - adds r0, r0, r3 - str r0, [r4, #0x74] - b _08026DA8 - .align 2, 0 -_08026DA0: .4byte 0xFFFC0000 -_08026DA4: - movs r0, #0xa0 - strh r0, [r1] -_08026DA8: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - cmp r0, #0x9f - bhi _08026DBE - ldr r0, [r4, #0x78] - movs r1, #0x80 - lsls r1, r1, #8 - adds r0, r0, r1 - str r0, [r4, #0x78] - b _08026E0C -_08026DBE: - adds r0, r5, #0 - movs r1, #3 - movs r2, #0 - bl sub_080276F4 - adds r0, r4, #0 - adds r0, #0x7d - movs r2, #0 - strb r2, [r0] - ldrb r1, [r5, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08026DEE - adds r1, r6, #0 - adds r1, #0x85 - movs r0, #1 - strb r0, [r1] - adds r1, r7, #0 - adds r1, #0x85 - strb r0, [r1] - adds r1, r4, #0 - adds r1, #0x85 - strb r0, [r1] -_08026DEE: - movs r0, #8 - strb r0, [r5, #0xd] - movs r0, #4 - mov r3, r8 - strb r0, [r3] - strb r2, [r6, #0xf] - strb r2, [r7, #0xf] - strb r2, [r4, #0xf] - str r2, [sp] - adds r0, r5, #0 - movs r1, #0x90 - movs r2, #0xb0 - movs r3, #0x10 - bl sub_08027B98 -_08026E0C: - adds r0, r5, #0 - bl sub_08027870 -_08026E12: - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08026E1C -sub_08026E1C: @ 0x08026E1C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - adds r6, r0, #0 - cmp r6, #0 - bne _08026EE0 - ldr r0, [r4, #0x54] - ldrb r0, [r0, #0xf] - ldr r1, [r4, #0x50] - ldrb r1, [r1, #0xf] - ldr r2, [r4, #0x68] - adds r0, r0, r1 - ldrb r2, [r2, #0xf] - adds r0, r0, r2 - cmp r0, #0xa - ble _08026EF2 - ldrb r0, [r4, #0x10] - movs r1, #0x80 - mov r8, r1 - movs r7, #0 - mov r1, r8 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_08027C54 - adds r5, r4, #0 - adds r5, #0x84 - cmp r0, #0 - beq _08026E72 - ldr r1, [r5] - ldrb r0, [r1, #4] - adds r0, #1 - strb r0, [r1, #4] - ldr r0, [r4, #0x54] - adds r0, #0x45 - movs r1, #0xff - strb r1, [r0] -_08026E72: - ldr r1, [r5] - ldrb r0, [r1, #4] - cmp r0, #3 - bne _08026EA0 - adds r0, r4, #0 - adds r0, #0x45 - strb r6, [r0] - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - ldr r3, [r4, #0x54] - ldr r2, [r4, #0x50] - ldr r0, [r4, #0x68] - strb r1, [r0, #0x10] - ldrb r0, [r4, #0x10] - strb r0, [r2, #0x10] - strb r0, [r3, #0x10] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xc4 - strb r0, [r1] - b _08026F14 -_08026EA0: - movs r0, #4 - strb r0, [r1] - ldr r1, [r5] - movs r0, #0x81 - strb r0, [r1, #1] - ldrb r0, [r4, #0x10] - mov r1, r8 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x7d - strb r0, [r1] - movs r0, #0xb - strb r0, [r4, #0xd] - ldr r0, [r5] - strb r6, [r0, #3] - ldr r0, [r4, #0x54] - movs r1, #0 - bl sub_080042AC - str r6, [sp] - adds r0, r4, #0 - movs r1, #0x80 - movs r2, #0x80 - movs r3, #0x80 - bl sub_08027B98 - ldr r1, [r5] - movs r0, #0x21 - strb r0, [r1, #1] - b _08026EF2 -_08026EE0: - subs r0, #1 - movs r2, #0 - strb r0, [r1] - adds r1, r4, #0 - adds r1, #0x84 - ldr r0, [r1] - str r2, [r0, #8] - ldr r0, [r1] - strb r2, [r0, #6] -_08026EF2: - adds r0, r4, #0 - bl sub_08027C54 - cmp r0, #0 - beq _08026F14 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #4] - cmp r0, #2 - bne _08026F14 - adds r0, r4, #0 - movs r1, #0x3f - bl sub_08027C7C - bl sub_08078B48 -_08026F14: - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08026F1C -sub_08026F1C: @ 0x08026F1C - push {r4, r5, lr} - sub sp, #4 - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x7c - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08026F70 - adds r0, r4, #0 - bl sub_080279E8 - cmp r0, #0 - beq _08026F68 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - movs r2, #0 - strb r2, [r0, #3] - ldrb r1, [r5] - movs r0, #0xf - ands r0, r1 - strb r0, [r5] - str r2, [sp] - adds r0, r4, #0 - movs r1, #0x80 - movs r2, #0x80 - movs r3, #0x80 - bl sub_08027B98 - ldrb r0, [r5] - cmp r0, #2 - bne _08026F68 - adds r0, r4, #0 - movs r1, #0 - bl sub_08027548 -_08026F68: - adds r0, r4, #0 - bl sub_080277F8 - b _08026FA0 -_08026F70: - adds r0, r4, #0 - movs r1, #0xf0 - movs r2, #0x10 - bl sub_080277B8 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #3] - cmp r0, #0 - beq _08026FA0 - ldrb r0, [r5] - adds r0, #1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5] - movs r0, #1 - str r0, [sp] - adds r0, r4, #0 - movs r1, #0xc0 - movs r2, #0xc0 - movs r3, #0x20 - bl sub_08027B98 -_08026FA0: - add sp, #4 - pop {r4, r5, pc} - - thumb_func_start sub_08026FA4 -sub_08026FA4: @ 0x08026FA4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08078B48 - ldrb r0, [r4, #0x10] - movs r5, #0x7f - adds r1, r5, #0 - ands r1, r0 - strb r1, [r4, #0x10] - ldr r3, [r4, #0x54] - ldr r2, [r4, #0x50] - ldr r0, [r4, #0x68] - strb r1, [r0, #0x10] - ldrb r0, [r4, #0x10] - strb r0, [r2, #0x10] - strb r0, [r3, #0x10] - adds r3, r4, #0 - adds r3, #0x7c - ldrb r0, [r3] - cmp r0, #0 - beq _08026FD2 - movs r0, #1 - strb r0, [r3] -_08026FD2: - ldr r2, [r4, #0x54] - adds r0, r2, #0 - adds r0, #0x7a - ldrh r0, [r0] - cmp r0, #0x97 - bhi _08026FFE - movs r1, #0x80 - lsls r1, r1, #9 - ldrb r0, [r3] - lsls r1, r0 - ldr r0, [r2, #0x78] - adds r0, r0, r1 - str r0, [r2, #0x78] - ldr r2, [r4, #0x54] - movs r1, #0x80 - lsls r1, r1, #0xa - ldrb r3, [r3] - lsls r1, r3 - ldr r0, [r2, #0x74] - subs r0, r0, r1 - str r0, [r2, #0x74] - b _0802705C -_08026FFE: - movs r0, #7 - strb r0, [r4, #0xd] - ldrb r1, [r2, #0x10] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r2, #0x10] - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #0 - strb r0, [r1, #3] - adds r1, r4, #0 - adds r1, #0x7d - movs r0, #0x2d - strb r0, [r1] - ldr r0, _08027044 @ =0x00000155 - bl sub_080A3268 - ldrb r1, [r4, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08027048 - ldr r1, [r4, #0x54] - adds r0, r1, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #8 - beq _0802705C - adds r0, r1, #0 - movs r1, #8 - bl sub_080042AC - b _0802705C - .align 2, 0 -_08027044: .4byte 0x00000155 -_08027048: - ldr r1, [r4, #0x54] - adds r0, r1, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #7 - beq _0802705C - adds r0, r1, #0 - movs r1, #7 - bl sub_080042AC -_0802705C: - adds r0, r4, #0 - bl sub_08027870 - pop {r4, r5, pc} - - thumb_func_start sub_08027064 -sub_08027064: @ 0x08027064 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - ldr r6, [r5, #0x54] - ldr r0, [r5, #0x68] - mov sb, r0 - ldr r1, [r5, #0x50] - mov r8, r1 - movs r0, #0x60 - strh r0, [r5, #0x24] - adds r0, r6, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xa - beq _08027098 - ldr r0, _080270C8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _08027098 - movs r0, #0x7c - bl sub_080A3268 -_08027098: - adds r0, r5, #0 - adds r0, #0x84 - ldr r3, [r0] - ldrb r1, [r3, #3] - adds r7, r0, #0 - cmp r1, #0 - beq _080270E0 - ldr r0, _080270CC @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r4, [r5, r2] - movs r1, #0x32 - ldrsh r2, [r0, r1] - cmp r4, r2 - beq _080270E0 - ldr r0, _080270C8 @ =gUnk_030010A0 - ldr r1, [r0] - movs r0, #0xf - ands r1, r0 - cmp r1, #0 - bne _080270D4 - cmp r4, r2 - ble _080270D0 - strb r1, [r3, #0xc] - b _080270D4 - .align 2, 0 -_080270C8: .4byte gUnk_030010A0 -_080270CC: .4byte gUnk_03001160 -_080270D0: - movs r0, #0x10 - strb r0, [r3, #0xc] -_080270D4: - ldr r0, [r7] - ldrb r0, [r0, #0xc] - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_080AEF88 -_080270E0: - adds r0, r6, #0 - adds r0, #0x85 - ldrb r0, [r0] - cmp r0, #1 - bne _080270FC - adds r0, r6, #0 - adds r0, #0x83 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _0802710E - movs r0, #0x18 - b _08027110 -_080270FC: - adds r0, r6, #0 - adds r0, #0x83 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bge _0802710E - movs r0, #0x18 - b _08027110 -_0802710E: - movs r0, #8 -_08027110: - strb r0, [r5, #0x15] - ldr r1, [r7] - ldrb r0, [r1, #3] - cmp r0, #0 - bne _08027152 - movs r2, #0x2e - ldrsh r0, [r5, r2] - ldrh r1, [r1, #0xe] - cmp r0, r1 - bne _0802714A - mov r0, r8 - adds r0, #0x84 - movs r1, #1 - strb r1, [r0] - mov r0, sb - adds r0, #0x84 - strb r1, [r0] - adds r0, r6, #0 - adds r0, #0x84 - strb r1, [r0] - adds r1, r5, #0 - adds r1, #0x7c - movs r0, #0x1e - strb r0, [r1] - ldr r1, [r7] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] - b _080271FE -_0802714A: - adds r0, r5, #0 - bl sub_080AEF88 - b _080271FE -_08027152: - adds r0, r6, #0 - adds r0, #0x7d - ldrb r0, [r0] - cmp r0, #0 - beq _080271E6 - mov r0, sb - adds r0, #0x7d - ldrb r0, [r0] - cmp r0, #0 - beq _080271E6 - mov r0, r8 - adds r0, #0x7d - ldrb r0, [r0] - cmp r0, #0 - beq _080271E6 - adds r1, r5, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080271FE - mov r0, r8 - adds r0, #0x84 - movs r1, #1 - strb r1, [r0] - mov r0, sb - adds r0, #0x84 - strb r1, [r0] - adds r0, r6, #0 - adds r0, #0x84 - strb r1, [r0] - movs r3, #0 - ldr r0, [r7] - ldrb r0, [r0, #3] - cmp r0, #1 - bls _080271B2 - ldr r0, _080271DC @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r5, r2] - movs r2, #0x2e - ldrsh r0, [r0, r2] - movs r3, #8 - cmp r1, r0 - ble _080271B2 - movs r3, #0x18 -_080271B2: - ldr r2, [r7] - ldrb r1, [r2, #3] - cmp r1, #5 - beq _080271C0 - ldrb r0, [r5, #0x15] - cmp r0, r3 - bne _080271E0 -_080271C0: - movs r4, #0 - movs r0, #6 - strb r0, [r5, #0xd] - adds r0, r5, #0 - movs r1, #7 - movs r2, #1 - bl sub_080276F4 - ldr r0, [r7] - strb r4, [r0, #3] - adds r1, r5, #0 - adds r1, #0x7d - movs r0, #0xf - b _080271FC - .align 2, 0 -_080271DC: .4byte gUnk_03001160 -_080271E0: - adds r0, r1, #1 - strb r0, [r2, #3] - b _080271FE -_080271E6: - ldr r0, [r7] - ldrb r0, [r0, #3] - cmp r0, #4 - beq _080271F6 - adds r1, r5, #0 - adds r1, #0x7c - movs r0, #0x1e - b _080271FC -_080271F6: - adds r1, r5, #0 - adds r1, #0x7c - movs r0, #0x3c -_080271FC: - strb r0, [r1] -_080271FE: - adds r0, r5, #0 - bl sub_08027870 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0802720C -sub_0802720C: @ 0x0802720C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xd] - strb r0, [r4, #0xd] - ldrb r0, [r4, #0xd] - cmp r0, #0xc - bhi _080272CA - lsls r0, r0, #2 - ldr r1, _08027228 @ =_0802722C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08027228: .4byte _0802722C -_0802722C: @ jump table - .4byte _080272C4 @ case 0 - .4byte _08027260 @ case 1 - .4byte _08027260 @ case 2 - .4byte _0802726E @ case 3 - .4byte _080272AA @ case 4 - .4byte _0802726E @ case 5 - .4byte _080272CA @ case 6 - .4byte _080272CA @ case 7 - .4byte _08027282 @ case 8 - .4byte _080272CA @ case 9 - .4byte _080272A0 @ case 10 - .4byte _080272CA @ case 11 - .4byte _08027260 @ case 12 -_08027260: - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0xa0 - strh r0, [r1] - subs r1, #4 - strh r0, [r1] - b _080272AA -_0802726E: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #0 - beq _080272CA - adds r1, r4, #0 - adds r1, #0x7d - movs r0, #0 - strb r0, [r1] - b _080272AA -_08027282: - ldrb r0, [r4, #0xf] - cmp r0, #3 - bhi _080272CA - adds r0, r4, #0 - bl sub_0802757C - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #0 - bne _080272CA - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - b _080272CA -_080272A0: - adds r2, r4, #0 - adds r2, #0x7d - ldrb r0, [r2] - cmp r0, #0 - bne _080272B2 -_080272AA: - adds r0, r4, #0 - bl sub_0802757C - b _080272CA -_080272B2: - adds r1, r4, #0 - adds r1, #0x84 - ldrb r0, [r1] - cmp r0, #0 - beq _080272CA - movs r0, #0 - strb r0, [r2] - strb r0, [r1] - b _080272CA -_080272C4: - adds r0, r4, #0 - bl sub_0802757C -_080272CA: - ldr r0, [r4, #0x50] - ldr r0, [r0, #0x34] - str r0, [r4, #0x34] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080272D4 -sub_080272D4: @ 0x080272D4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r0, [r6, #0x50] - ldrb r0, [r0, #0xd] - cmp r0, #0xc - bls _080272E2 - b _08027532 -_080272E2: - lsls r0, r0, #2 - ldr r1, _080272EC @ =_080272F0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080272EC: .4byte _080272F0 -_080272F0: @ jump table - .4byte _08027508 @ case 0 - .4byte _08027324 @ case 1 - .4byte _08027324 @ case 2 - .4byte _08027332 @ case 3 - .4byte _0802733E @ case 4 - .4byte _08027332 @ case 5 - .4byte _08027368 @ case 6 - .4byte _08027532 @ case 7 - .4byte _08027346 @ case 8 - .4byte _08027454 @ case 9 - .4byte _0802748C @ case 10 - .4byte _08027532 @ case 11 - .4byte _08027324 @ case 12 -_08027324: - adds r1, r6, #0 - adds r1, #0x7a - movs r0, #0xa0 - strh r0, [r1] - subs r1, #4 - strh r0, [r1] - b _0802733E -_08027332: - adds r0, r6, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #0 - bne _0802733E - b _08027532 -_0802733E: - adds r0, r6, #0 - bl sub_0802757C - b _08027532 -_08027346: - ldrb r0, [r6, #0xf] - cmp r0, #2 - bls _0802734E - b _08027532 -_0802734E: - adds r0, r6, #0 - bl sub_0802757C - adds r0, r6, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #0 - beq _08027360 - b _08027532 -_08027360: - ldrb r0, [r6, #0xf] - adds r0, #1 - strb r0, [r6, #0xf] - b _08027532 -_08027368: - ldr r5, [r6, #0x48] - adds r0, r6, #0 - adds r0, #0x7a - ldrh r1, [r0] - movs r4, #0x80 - lsls r4, r4, #9 - adds r0, r4, #0 - bl __divsi3 - lsls r1, r0, #3 - adds r1, r1, r0 - lsrs r1, r1, #7 - strb r1, [r5, #6] - ldr r5, [r6, #0x48] - adds r0, r6, #0 - adds r0, #0x76 - ldrh r1, [r0] - adds r0, r4, #0 - bl __divsi3 - lsls r1, r0, #2 - adds r1, r1, r0 - lsrs r1, r1, #6 - strb r1, [r5, #7] - adds r0, r6, #0 - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #0 - bne _080273A4 - b _08027532 -_080273A4: - adds r0, r6, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08027444 - adds r2, r6, #0 - adds r2, #0x3d - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08027444 - ldr r0, [r6, #0x54] - ldr r0, [r0, #0x68] - adds r0, #0x3d - strb r1, [r0] - ldr r0, [r6, #0x54] - ldr r0, [r0, #0x50] - ldrb r1, [r2] - adds r0, #0x3d - strb r1, [r0] - ldr r0, [r6, #0x54] - ldrb r1, [r2] - adds r0, #0x3d - strb r1, [r0] - ldr r0, [r6, #0x54] - bl sub_08027D20 - adds r2, r0, #0 - cmp r2, #0 - beq _08027406 - ldrh r0, [r6, #0x2e] - adds r0, #1 - strh r0, [r2, #0x2e] - adds r0, r6, #0 - adds r0, #0x63 - ldrb r0, [r0] - adds r0, #0x20 - adds r1, r2, #0 - adds r1, #0x63 - strb r0, [r1] - adds r0, r6, #0 - adds r0, #0x62 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x62 - strb r1, [r0] -_08027406: - ldr r0, [r6, #0x54] - bl sub_08027C54 - cmp r0, #0 - beq _0802741C - ldr r0, [r6, #0x54] - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #4] - cmp r0, #2 - beq _08027428 -_0802741C: - ldr r0, _08027424 @ =0x00000127 - bl sub_080A3268 - b _08027444 - .align 2, 0 -_08027424: .4byte 0x00000127 -_08027428: - bl sub_08078B48 - ldr r0, _0802744C @ =gUnk_03000BF0 - ldr r2, [r6, #0x54] - str r2, [r0, #0x30] - ldr r1, _08027450 @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - movs r0, #9 - strb r0, [r2, #0xd] - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 -_08027444: - adds r0, r6, #0 - bl sub_08027A60 - b _08027484 - .align 2, 0 -_0802744C: .4byte gUnk_03000BF0 -_08027450: .4byte gUnk_02034490 -_08027454: - ldr r5, [r6, #0x48] - adds r0, r6, #0 - adds r0, #0x7a - ldrh r1, [r0] - movs r4, #0x80 - lsls r4, r4, #9 - adds r0, r4, #0 - bl __divsi3 - lsls r1, r0, #3 - adds r1, r1, r0 - lsrs r1, r1, #7 - strb r1, [r5, #6] - ldr r5, [r6, #0x48] - adds r0, r6, #0 - adds r0, #0x76 - ldrh r1, [r0] - adds r0, r4, #0 - bl __divsi3 - lsls r1, r0, #2 - adds r1, r1, r0 - lsrs r1, r1, #6 - strb r1, [r5, #7] -_08027484: - adds r0, r6, #0 - bl sub_0800445C - b _08027532 -_0802748C: - adds r2, r6, #0 - adds r2, #0x7d - ldrb r0, [r2] - cmp r0, #0 - bne _0802749E - adds r0, r6, #0 - bl sub_0802757C - b _080274AE -_0802749E: - adds r1, r6, #0 - adds r1, #0x84 - ldrb r0, [r1] - cmp r0, #0 - beq _080274AE - movs r0, #0 - strb r0, [r2] - strb r0, [r1] -_080274AE: - adds r2, r6, #0 - adds r2, #0x83 - adds r0, r6, #0 - adds r0, #0x81 - ldrb r1, [r0] - lsrs r0, r1, #1 - ldrb r2, [r2] - adds r0, r2, r0 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, r1 - bls _080274F4 - lsls r0, r2, #0x18 - cmp r0, #0 - ble _080274E0 - adds r0, r6, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xc - beq _08027532 - adds r0, r6, #0 - movs r1, #0xc - bl sub_080042AC - b _08027532 -_080274E0: - adds r0, r6, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xb - beq _08027532 - adds r0, r6, #0 - movs r1, #0xb - bl sub_080042AC - b _08027532 -_080274F4: - adds r0, r6, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xa - beq _08027532 - adds r0, r6, #0 - movs r1, #0xa - bl sub_080042AC - b _08027532 -_08027508: - ldr r0, [r6, #0x54] - adds r0, #0x84 - ldr r0, [r0] - ldrb r0, [r0, #3] - cmp r0, #8 - bne _08027532 - adds r0, r6, #0 - bl sub_0802757C - adds r0, r6, #0 - adds r0, #0x7d - ldrb r0, [r0] - cmp r0, #1 - bne _08027532 - adds r1, r6, #0 - adds r1, #0x81 - ldrb r0, [r1] - cmp r0, #0 - beq _08027532 - subs r0, #4 - strb r0, [r1] -_08027532: - ldr r0, [r6, #0x50] - ldr r0, [r0, #0x34] - str r0, [r6, #0x34] - adds r1, r6, #0 - adds r1, #0x41 - movs r0, #0 - strb r0, [r1] - adds r0, r6, #0 - bl sub_080042B8 - pop {r4, r5, r6, pc} - - thumb_func_start sub_08027548 -sub_08027548: @ 0x08027548 - push {r4, r5, r6, lr} - sub sp, #4 - adds r4, r0, #0 - adds r6, r1, #0 - movs r5, #0 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xff - str r0, [sp] - adds r0, r4, #0 - movs r1, #0x90 - movs r2, #0xb0 - movs r3, #8 - bl sub_08027B98 - adds r0, r4, #0 - adds r0, #0x7d - strb r5, [r0] - adds r0, r4, #0 - movs r1, #0 - adds r2, r6, #0 - bl sub_080276F4 - add sp, #4 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802757C -sub_0802757C: @ 0x0802757C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - adds r6, r5, #0 - adds r6, #0x7d - ldrb r1, [r6] - cmp r1, #0 - beq _080275BA - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _080275AE - ldr r0, [r5, #0x54] - adds r0, #0x7d - ldrb r0, [r0] - movs r1, #0x83 - adds r1, r1, r5 - mov sl, r1 - cmp r0, #0 - beq _08027676 - movs r0, #0 - strb r0, [r6] - b _08027676 -_080275AE: - subs r0, r1, #1 - strb r0, [r6] - movs r2, #0x83 - adds r2, r2, r5 - mov sl, r2 - b _08027676 -_080275BA: - movs r0, #0x85 - adds r0, r0, r5 - mov ip, r0 - ldrb r1, [r0] - mov sb, r1 - cmp r1, #1 - bne _0802761E - adds r1, r5, #0 - adds r1, #0x82 - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0x83 - adds r2, r5, #0 - adds r2, #0x81 - movs r4, #0 - ldrsb r4, [r0, r4] - movs r3, #0 - ldrsb r3, [r2, r3] - mov r8, r1 - mov sl, r0 - adds r7, r2, #0 - cmp r4, r3 - blt _08027676 - movs r0, #0 - mov r1, ip - strb r0, [r1] - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _08027616 - ldr r1, [r5, #0x50] - adds r0, r1, #0 - adds r0, #0x81 - ldrb r0, [r0] - lsls r0, r0, #8 - adds r1, #0x86 - ldrh r1, [r1] - bl __divsi3 - adds r0, #1 - strb r0, [r6] - b _0802761A -_08027616: - mov r2, sb - strb r2, [r6] -_0802761A: - ldrb r0, [r7] - b _08027670 -_0802761E: - adds r2, r5, #0 - adds r2, #0x82 - adds r1, r5, #0 - adds r1, #0x86 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r2] - adds r1, r5, #0 - adds r1, #0x83 - movs r4, #0 - ldrsb r4, [r1, r4] - adds r0, r5, #0 - adds r0, #0x81 - ldrb r3, [r0] - mov r8, r2 - mov sl, r1 - adds r7, r0, #0 - cmn r4, r3 - bgt _08027676 - movs r1, #1 - mov r2, ip - strb r1, [r2] - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _0802766A - ldr r1, [r5, #0x50] - adds r0, r1, #0 - adds r0, #0x81 - ldrb r0, [r0] - lsls r0, r0, #8 - adds r1, #0x86 - ldrh r1, [r1] - bl __divsi3 - adds r0, #1 - strb r0, [r6] - b _0802766C -_0802766A: - strb r1, [r6] -_0802766C: - ldrb r0, [r7] - rsbs r0, r0, #0 -_08027670: - lsls r0, r0, #8 - mov r1, r8 - strh r0, [r1] -_08027676: - ldr r2, [r5, #0x50] - adds r0, r2, #0 - adds r0, #0x63 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r1, r1, #0x10 - ldr r0, [r2, #0x30] - adds r0, r0, r1 - str r0, [r5, #0x30] - adds r0, r2, #0 - adds r0, #0x62 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r1, r1, #0x10 - ldr r0, [r2, #0x2c] - adds r0, r0, r1 - str r0, [r5, #0x2c] - ldrb r1, [r5, #0xe] - lsls r1, r1, #8 - mov r0, sl - ldrb r2, [r0] - adds r0, r5, #0 - bl sub_0806F62C - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _080276D2 - ldr r1, [r5, #0x54] - ldr r0, [r5, #0x30] - str r0, [r1, #0x30] - ldr r1, [r5, #0x54] - ldr r0, [r5, #0x2c] - str r0, [r1, #0x2c] - ldr r0, [r5, #0x54] - ldrb r1, [r0, #0xe] - lsls r1, r1, #8 - adds r2, r0, #0 - adds r2, #0x83 - ldrb r2, [r2] - bl sub_0806F62C - ldr r0, [r5, #0x68] - ldr r1, [r5, #0x54] - ldrb r2, [r1, #0xa] - bl sub_080279AC -_080276D2: - ldr r0, [r5, #0x68] - ldrb r2, [r5, #0xa] - adds r1, r5, #0 - bl sub_080279AC - mov r1, sl - ldrb r0, [r1] - rsbs r0, r0, #0 - adds r1, r5, #0 - adds r1, #0x7f - strb r0, [r1] - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080276F4 -sub_080276F4: @ 0x080276F4 - push {r4, r5, r6, r7, lr} - adds r6, r2, #0 - ldr r5, [r0, #0x54] - ldr r4, [r0, #0x68] - ldr r0, [r0, #0x50] - mov ip, r0 - adds r0, #0x84 - movs r2, #0 - strb r2, [r0] - adds r0, r4, #0 - adds r0, #0x84 - strb r2, [r0] - adds r0, r5, #0 - adds r0, #0x84 - strb r2, [r0] - mov r0, ip - adds r0, #0x7e - movs r7, #0 - strh r2, [r0] - adds r0, r4, #0 - adds r0, #0x7e - strh r2, [r0] - adds r0, r5, #0 - adds r0, #0x7e - strh r2, [r0] - mov r0, ip - adds r0, #0x7d - strb r7, [r0] - adds r0, r4, #0 - adds r0, #0x7d - strb r7, [r0] - ldr r0, _080277AC @ =gUnk_080CC27C - lsls r1, r1, #2 - adds r0, r1, r0 - ldrh r2, [r0] - adds r3, r5, #0 - adds r3, #0x86 - strh r2, [r3] - ldrb r0, [r0, #2] - adds r2, r5, #0 - adds r2, #0x81 - strb r0, [r2] - ldr r0, _080277B0 @ =gUnk_080CC2BC - adds r0, r1, r0 - ldrh r2, [r0] - adds r3, r4, #0 - adds r3, #0x86 - strh r2, [r3] - ldrb r0, [r0, #2] - adds r2, r4, #0 - adds r2, #0x81 - strb r0, [r2] - ldr r0, _080277B4 @ =gUnk_080CC29C - adds r1, r1, r0 - ldrh r0, [r1] - mov r2, ip - adds r2, #0x86 - strh r0, [r2] - ldrb r0, [r1, #2] - mov r1, ip - adds r1, #0x81 - strb r0, [r1] - cmp r6, #0 - bne _080277AA - mov r0, ip - adds r0, #0x85 - strb r7, [r0] - adds r0, r4, #0 - adds r0, #0x85 - strb r7, [r0] - adds r0, r5, #0 - adds r0, #0x85 - strb r7, [r0] - mov r0, ip - adds r0, #0x82 - strh r6, [r0] - adds r0, r4, #0 - adds r0, #0x82 - strh r6, [r0] - adds r0, r5, #0 - adds r0, #0x82 - strh r6, [r0] - ldrb r0, [r1] - lsls r0, r0, #7 - ldrh r1, [r2] - bl __divsi3 - adds r0, #1 - adds r1, r5, #0 - adds r1, #0x7d - strb r0, [r1] -_080277AA: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080277AC: .4byte gUnk_080CC27C -_080277B0: .4byte gUnk_080CC2BC -_080277B4: .4byte gUnk_080CC29C - - thumb_func_start sub_080277B8 -sub_080277B8: @ 0x080277B8 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldr r1, [r5, #0x54] - adds r3, r1, #0 - adds r3, #0x7a - ldrh r0, [r3] - cmp r4, r0 - bls _080277DC - adds r0, r0, r2 - strh r0, [r3] - ldr r0, [r1, #0x74] - ldr r2, _080277D8 @ =0xFFFE8000 - adds r0, r0, r2 - str r0, [r1, #0x74] - b _080277F0 - .align 2, 0 -_080277D8: .4byte 0xFFFE8000 -_080277DC: - strh r4, [r3] - adds r1, #0x7c - movs r0, #8 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #3] - adds r0, #1 - strb r0, [r1, #3] -_080277F0: - adds r0, r5, #0 - bl sub_080277F8 - pop {r4, r5, pc} - - thumb_func_start sub_080277F8 -sub_080277F8: @ 0x080277F8 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldr r3, [r6, #0x54] - ldr r5, [r6, #0x68] - ldr r4, [r6, #0x50] - ldrh r2, [r6, #0x2e] - strh r2, [r5, #0x2e] - movs r7, #0xe - strb r7, [r5, #0xe] - ldrh r0, [r6, #0x32] - subs r0, #0xe - strh r0, [r5, #0x32] - strh r2, [r4, #0x2e] - movs r0, #0x7a - adds r0, r0, r3 - mov ip, r0 - ldrh r1, [r0] - subs r1, #0xa0 - asrs r1, r1, #4 - movs r0, #0x12 - subs r0, r0, r1 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0xe] - ldrh r0, [r5, #0x32] - subs r0, r0, r1 - strh r0, [r4, #0x32] - strh r2, [r3, #0x2e] - mov r1, ip - ldrh r0, [r1] - cmp r0, #0xa0 - bls _0802784E - subs r0, #0xa0 - asrs r0, r0, #2 - movs r1, #0xe - subs r1, r1, r0 - strb r1, [r3, #0xe] - movs r0, #0x80 - ands r1, r0 - cmp r1, #0 - beq _08027850 - movs r0, #0 - strb r0, [r3, #0xe] - b _08027850 -_0802784E: - strb r7, [r3, #0xe] -_08027850: - ldrb r1, [r3, #0xe] - ldrh r0, [r4, #0x32] - subs r0, r0, r1 - strh r0, [r3, #0x32] - ldr r0, [r3, #0x74] - str r0, [r4, #0x74] - ldr r0, [r3, #0x78] - str r0, [r4, #0x78] - ldr r0, [r3, #0x74] - str r0, [r5, #0x74] - ldr r0, [r3, #0x78] - str r0, [r5, #0x78] - adds r0, r6, #0 - bl sub_08027984 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08027870 -sub_08027870: @ 0x08027870 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldr r4, [r7, #0x54] - ldr r5, [r7, #0x68] - ldr r6, [r7, #0x50] - ldr r0, [r4, #0x74] - str r0, [r6, #0x74] - ldr r0, [r4, #0x78] - str r0, [r6, #0x78] - ldr r0, [r4, #0x74] - str r0, [r5, #0x74] - ldr r0, [r4, #0x78] - str r0, [r5, #0x78] - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - rsbs r0, r0, #0 - adds r1, r4, #0 - adds r1, #0x7f - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x83 - ldrb r0, [r0] - rsbs r0, r0, #0 - adds r1, r5, #0 - adds r1, #0x7f - strb r0, [r1] - adds r0, r6, #0 - adds r0, #0x83 - ldrb r0, [r0] - rsbs r0, r0, #0 - adds r1, r6, #0 - adds r1, #0x7f - strb r0, [r1] - adds r1, r5, #0 - adds r1, #0x7a - ldrh r0, [r1] - cmp r0, #0xa0 - bls _080278C2 - movs r0, #0xe - b _080278CC -_080278C2: - ldrh r1, [r1] - movs r0, #0xa0 - subs r0, r0, r1 - asrs r0, r0, #3 - adds r0, #0xe -_080278CC: - strb r0, [r5, #0xe] - adds r1, r6, #0 - adds r1, #0x7a - ldrh r0, [r1] - cmp r0, #0xa0 - bls _080278EA - adds r2, r4, #0 - adds r2, #0x7a - ldrh r1, [r2] - subs r1, #0xa0 - asrs r1, r1, #4 - movs r0, #0x12 - subs r0, r0, r1 - strb r0, [r6, #0xe] - b _080278FA -_080278EA: - ldrh r1, [r1] - movs r0, #0xa0 - subs r0, r0, r1 - asrs r0, r0, #2 - adds r0, #0x12 - strb r0, [r6, #0xe] - adds r2, r4, #0 - adds r2, #0x7a -_080278FA: - adds r0, r2, #0 - ldrh r1, [r0] - cmp r1, #0xa0 - bls _0802791A - adds r0, r1, #0 - subs r0, #0xa0 - asrs r0, r0, #2 - movs r1, #0xe - subs r1, r1, r0 - strb r1, [r4, #0xe] - movs r0, #0x80 - ands r1, r0 - cmp r1, #0 - beq _08027934 - movs r0, #0 - b _08027932 -_0802791A: - cmp r1, #0x7f - bhi _08027928 - ldrh r1, [r0] - movs r0, #0xa0 - subs r0, r0, r1 - asrs r0, r0, #2 - b _08027930 -_08027928: - ldrh r1, [r2] - movs r0, #0xa0 - subs r0, r0, r1 - asrs r0, r0, #1 -_08027930: - adds r0, #0xe -_08027932: - strb r0, [r4, #0xe] -_08027934: - ldr r0, [r7, #0x2c] - str r0, [r5, #0x2c] - ldr r0, [r7, #0x30] - str r0, [r5, #0x30] - ldrb r1, [r5, #0xe] - lsls r1, r1, #8 - adds r0, r5, #0 - adds r0, #0x83 - ldrb r2, [r0] - adds r0, r5, #0 - bl sub_0806F62C - ldr r0, [r5, #0x2c] - str r0, [r6, #0x2c] - ldr r0, [r5, #0x30] - str r0, [r6, #0x30] - ldrb r1, [r6, #0xe] - lsls r1, r1, #8 - adds r0, r6, #0 - adds r0, #0x83 - ldrb r2, [r0] - adds r0, r6, #0 - bl sub_0806F62C - ldr r0, [r6, #0x2c] - str r0, [r4, #0x2c] - ldr r0, [r6, #0x30] - str r0, [r4, #0x30] - ldrb r1, [r4, #0xe] - lsls r1, r1, #8 - adds r0, r4, #0 - adds r0, #0x83 - ldrb r2, [r0] - adds r0, r4, #0 - bl sub_0806F62C - adds r0, r7, #0 - bl sub_08027984 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08027984 -sub_08027984: @ 0x08027984 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x54] - ldr r5, [r4, #0x68] - ldr r6, [r4, #0x50] - ldrb r2, [r1, #0xa] - bl sub_080279AC - ldrb r2, [r5, #0xa] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080279AC - ldrb r2, [r6, #0xa] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080279AC - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080279AC -sub_080279AC: @ 0x080279AC - push {r4, r5, r6, lr} - mov ip, r1 - movs r3, #4 - subs r3, r3, r2 - ldrh r1, [r1, #0x2e] - ldrh r4, [r0, #0x2e] - subs r1, r1, r4 - mov r6, ip - adds r6, #0x62 - strb r1, [r6] - mov r2, ip - ldrh r1, [r2, #0x32] - ldrh r2, [r0, #0x32] - adds r0, r2, r3 - subs r1, r1, r0 - mov r5, ip - adds r5, #0x63 - strb r1, [r5] - mov r0, ip - strh r4, [r0, #0x2e] - adds r2, r2, r3 - strh r2, [r0, #0x32] - ldr r1, [r0, #0x48] - ldrb r0, [r6] - strb r0, [r1] - mov r2, ip - ldr r1, [r2, #0x48] - ldrb r0, [r5] - strb r0, [r1, #1] - pop {r4, r5, r6, pc} - - thumb_func_start sub_080279E8 -sub_080279E8: @ 0x080279E8 - push {r4, lr} - sub sp, #4 - adds r2, r0, #0 - ldr r4, [r2, #0x54] - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0x80 - bne _08027A20 - adds r0, r2, #0 - adds r0, #0x76 - ldrh r1, [r0] - adds r0, #0xe - ldr r0, [r0] - ldrb r0, [r0, #5] - subs r1, r1, r0 - cmp r1, #0x80 - bne _08027A58 - adds r0, r2, #0 - adds r0, #0x82 - ldrb r1, [r0] - movs r0, #1 - str r0, [sp] - adds r0, r2, #0 - movs r2, #0xa0 - movs r3, #0x20 - bl sub_08027B98 - b _08027A58 -_08027A20: - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - adds r3, r0, #0 - cmp r1, #0xa0 - bls _08027A30 - subs r0, r1, #4 - b _08027A32 -_08027A30: - movs r0, #0xa0 -_08027A32: - strh r0, [r3] - adds r0, r4, #0 - adds r0, #0x7a - ldrh r2, [r0] - adds r1, r0, #0 - cmp r2, #0xa0 - bls _08027A44 - subs r0, r2, #4 - b _08027A46 -_08027A44: - movs r0, #0xa0 -_08027A46: - strh r0, [r1] - ldrh r0, [r3] - cmp r0, #0xa0 - bne _08027A58 - ldrh r0, [r1] - cmp r0, #0xa0 - bne _08027A58 - movs r0, #1 - b _08027A5A -_08027A58: - movs r0, #0 -_08027A5A: - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08027A60 -sub_08027A60: @ 0x08027A60 - push {lr} - adds r2, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08027A78 - ldr r0, [r2, #0x74] - movs r1, #0x80 - lsls r1, r1, #7 - b _08027A7C -_08027A78: - ldr r0, [r2, #0x74] - ldr r1, _08027AA0 @ =0xFFFFC000 -_08027A7C: - adds r0, r0, r1 - str r0, [r2, #0x74] - adds r3, r2, #0 - adds r3, #0x7c - ldrb r0, [r3] - adds r2, r0, #1 - strb r2, [r3] - movs r0, #0x7f - ands r0, r2 - cmp r0, #0x28 - bne _08027A9C - movs r1, #0x80 - movs r0, #0x80 - ands r2, r0 - eors r2, r1 - strb r2, [r3] -_08027A9C: - pop {pc} - .align 2, 0 -_08027AA0: .4byte 0xFFFFC000 - - thumb_func_start sub_08027AA4 -sub_08027AA4: @ 0x08027AA4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08027B94 - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _08027AC2 - cmp r0, #0x1b - beq _08027B44 - b _08027B94 -_08027AC2: - movs r0, #0x84 - bl sub_080A3268 - ldrb r3, [r5, #0xb] - adds r0, r5, #0 - movs r1, #0x49 - movs r2, #9 - bl sub_080A2988 - ldr r0, _08027B3C @ =0x00000155 - bl sub_080A3268 - adds r0, r5, #0 - adds r0, #0x84 - ldr r4, [r0] - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #3 - strb r0, [r1] - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldrb r0, [r4, #6] - movs r1, #3 - bl __divsi3 - adds r1, r0, #0 - lsls r0, r1, #0x18 - lsrs r0, r0, #0x15 - ldrb r2, [r4, #5] - cmp r0, r2 - beq _08027B06 - lsls r0, r1, #3 - strb r0, [r4, #5] -_08027B06: - movs r0, #0xb4 - str r0, [r4, #8] - movs r0, #5 - ldrsb r0, [r4, r0] - cmp r0, #0 - bge _08027B94 - movs r0, #0x40 - strb r0, [r4, #1] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0 - strb r0, [r1] - ldrb r0, [r5, #0xd] - cmp r0, #2 - bne _08027B2A - adds r0, r5, #0 - bl sub_08027BBC -_08027B2A: - adds r0, r5, #0 - bl sub_08027D20 - ldr r0, _08027B40 @ =0x00000127 - bl sub_080A3268 -_08027B36: - movs r0, #1 - b _08027B96 - .align 2, 0 -_08027B3C: .4byte 0x00000155 -_08027B40: .4byte 0x00000127 -_08027B44: - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0xe2 - strb r0, [r1] - ldr r0, [r5, #0x4c] - ldrb r0, [r0, #0xa] - adds r0, #1 - cmp r0, #2 - beq _08027B74 - cmp r0, #2 - bgt _08027B60 - cmp r0, #1 - beq _08027B84 - b _08027B36 -_08027B60: - cmp r0, #3 - bne _08027B36 - adds r1, r5, #0 - adds r1, #0x42 - movs r0, #0x1a - strb r0, [r1] - adds r1, #4 - movs r0, #0xe0 - lsls r0, r0, #1 - b _08027B90 -_08027B74: - adds r1, r5, #0 - adds r1, #0x42 - movs r0, #0x14 - strb r0, [r1] - adds r1, #4 - movs r0, #0xc0 - lsls r0, r0, #1 - b _08027B90 -_08027B84: - adds r1, r5, #0 - adds r1, #0x42 - movs r0, #0x10 - strb r0, [r1] - adds r1, #4 - adds r0, #0xf0 -_08027B90: - strh r0, [r1] - b _08027B36 -_08027B94: - movs r0, #0 -_08027B96: - pop {r4, r5, pc} - - thumb_func_start sub_08027B98 -sub_08027B98: @ 0x08027B98 - push {r4, lr} - mov ip, r0 - ldr r4, [sp, #8] - adds r0, #0x82 - strb r1, [r0] - subs r0, #1 - strb r2, [r0] - subs r0, #1 - strb r3, [r0] - cmp r4, #0xff - beq _08027BB4 - mov r0, ip - strb r4, [r0, #0xe] - b _08027BBA -_08027BB4: - movs r0, #1 - mov r1, ip - strb r0, [r1, #0xe] -_08027BBA: - pop {r4, pc} - - thumb_func_start sub_08027BBC -sub_08027BBC: @ 0x08027BBC - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r4, #0 - movs r0, #0xa - strb r0, [r6, #0xd] - adds r5, r6, #0 - adds r5, #0x84 - ldr r0, [r5] - strb r4, [r0, #1] - adds r0, r6, #0 - movs r1, #7 - movs r2, #1 - bl sub_080276F4 - ldr r0, [r6, #0x54] - adds r0, #0x7d - strb r4, [r0] - movs r3, #0 - strh r4, [r6, #0x24] - ldr r0, [r5] - strb r3, [r0, #3] - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r0, [r5] - ldrh r0, [r0, #0xe] - cmp r1, r0 - ble _08027C0A - movs r0, #0x18 - strb r0, [r6, #0x15] - ldr r2, [r6, #0x54] - ldr r1, [r6, #0x50] - ldr r0, [r6, #0x68] - adds r0, #0x85 - strb r3, [r0] - adds r1, #0x85 - strb r3, [r1] - adds r2, #0x85 - strb r3, [r2] - b _08027C22 -_08027C0A: - movs r0, #8 - strb r0, [r6, #0x15] - ldr r3, [r6, #0x54] - ldr r2, [r6, #0x50] - ldr r0, [r6, #0x68] - adds r0, #0x85 - movs r1, #1 - strb r1, [r0] - adds r2, #0x85 - strb r1, [r2] - adds r3, #0x85 - strb r1, [r3] -_08027C22: - ldrb r0, [r6, #0x15] - lsrs r0, r0, #2 - strb r0, [r6, #0x14] - ldr r0, _08027C44 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r6, r2] - movs r2, #0x32 - ldrsh r0, [r0, r2] - cmp r1, r0 - beq _08027C52 - cmp r1, r0 - ble _08027C48 - adds r0, r6, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #0 - b _08027C50 - .align 2, 0 -_08027C44: .4byte gUnk_03001160 -_08027C48: - adds r0, r6, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #0x10 -_08027C50: - strb r0, [r1, #0xc] -_08027C52: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08027C54 -sub_08027C54: @ 0x08027C54 - push {lr} - ldr r2, _08027C74 @ =gUnk_080CC2DC - adds r1, r0, #0 - adds r1, #0x84 - ldr r1, [r1] - ldrb r1, [r1, #4] - adds r1, r1, r2 - ldr r0, [r0, #0x54] - adds r0, #0x45 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bhi _08027C78 - movs r0, #0 - b _08027C7A - .align 2, 0 -_08027C74: .4byte gUnk_080CC2DC -_08027C78: - movs r0, #1 -_08027C7A: - pop {pc} - - thumb_func_start sub_08027C7C -sub_08027C7C: @ 0x08027C7C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r0, [r4, #0x54] - bl sub_08027C9C - ldr r0, [r4, #0x68] - adds r1, r5, #0 - bl sub_08027C9C - ldr r0, [r4, #0x50] - adds r1, r5, #0 - bl sub_08027C9C - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08027C9C -sub_08027C9C: @ 0x08027C9C - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_08000E50 - ands r0, r4 - cmp r0, #0 - bne _08027D1E - adds r0, r5, #0 - movs r1, #0x48 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _08027D1E - adds r0, r5, #0 - adds r0, #0x62 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r1, [r5, #0x48] - ldrb r1, [r1, #6] - subs r0, r0, r1 - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - bl sub_08000E50 - ldr r1, [r5, #0x48] - ldrb r1, [r1, #6] - lsls r1, r1, #1 - bl __modsi3 - ldrh r1, [r4, #0x2e] - adds r1, r1, r0 - strh r1, [r4, #0x2e] - adds r0, r5, #0 - adds r0, #0x63 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldr r1, [r5, #0x48] - ldrb r1, [r1, #7] - subs r0, r0, r1 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - bl sub_08000E50 - ldr r1, [r5, #0x48] - ldrb r1, [r1, #7] - lsls r1, r1, #1 - bl __modsi3 - ldrh r1, [r4, #0x32] - adds r1, r1, r0 - strh r1, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] -_08027D1E: - pop {r4, r5, pc} - - thumb_func_start sub_08027D20 -sub_08027D20: @ 0x08027D20 - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #0x15 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - adds r4, r0, #0 - cmp r4, #0 - beq _08027D66 - movs r0, #0xc9 - strh r0, [r4, #0x12] - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #8 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0x3e - bl sub_080ADF80 - ldrb r0, [r5, #0xb] - cmp r0, #0 - bne _08027D5E - adds r0, r4, #0 - movs r1, #0x2b - bl sub_0801D040 - b _08027D66 -_08027D5E: - adds r0, r4, #0 - movs r1, #0x2c - bl sub_0801D040 -_08027D66: - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08027D6C -sub_08027D6C: @ 0x08027D6C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08027D88 @ =gUnk_080CC6FC - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_08027D88: .4byte gUnk_080CC6FC - - thumb_func_start sub_08027D8C -sub_08027D8C: @ 0x08027D8C - push {lr} - ldr r2, _08027DA0 @ =gUnk_080CC714 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08027DA0: .4byte gUnk_080CC714 - - thumb_func_start sub_08027DA4 -sub_08027DA4: @ 0x08027DA4 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x3f - ldrb r0, [r2] - cmp r0, #1 - bne _08027DC4 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x8c - strb r0, [r2] - b _08027E0E -_08027DC4: - ldrb r0, [r4, #0xc] - cmp r0, #7 - bne _08027DD2 - adds r0, r4, #0 - bl sub_0802810C - b _08027E0E -_08027DD2: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r2, [r0] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08027E0E - movs r1, #0x7f - ands r1, r2 - cmp r1, #0 - bne _08027E0E - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x5f - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #0xfc - ands r0, r1 - strb r0, [r2] - ldr r0, _08027E38 @ =gUnk_03001160 - adds r0, #0x29 - ldrb r0, [r0] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1d - adds r1, r4, #0 - adds r1, #0x83 - strb r0, [r1] -_08027E0E: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _08027E1C - movs r0, #0x20 - strb r0, [r4, #0xe] -_08027E1C: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08027E2E - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08027E2E: - ldr r1, _08027E3C @ =gUnk_080CC6FC - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08027E38: .4byte gUnk_03001160 -_08027E3C: .4byte gUnk_080CC6FC - - thumb_func_start sub_08027E40 -sub_08027E40: @ 0x08027E40 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #2 - bne _08027E62 - adds r5, r4, #0 - adds r5, #0x80 - ldrb r0, [r5] - cmp r0, #0xff - beq _08027E62 - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - ldrb r0, [r5] - bl sub_08028224 -_08027E62: - adds r0, r4, #0 - bl sub_0804A7D4 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start nullsub_139 -nullsub_139: @ 0x08027E6C - bx lr - .align 2, 0 - - thumb_func_start sub_08027E70 -sub_08027E70: @ 0x08027E70 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - ldrb r3, [r4, #0xa] - cmp r3, #1 - beq _08027EA6 - cmp r3, #1 - bgt _08027E88 - cmp r3, #0 - beq _08027E8E - b _08027EE4 -_08027E88: - cmp r3, #2 - beq _08027EC4 - b _08027EE4 -_08027E8E: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - strb r3, [r4, #0xe] - b _08027EE4 -_08027EA6: - movs r2, #1 - strb r3, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #8 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _08027EE4 -_08027EC4: - movs r3, #0 - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - strb r3, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x3f - strb r2, [r0] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08027EE4: - movs r0, #0 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x82 - strb r0, [r1] - strb r0, [r4, #0x14] - adds r1, #1 - strb r0, [r1] - subs r1, #3 - movs r0, #0xff - strb r0, [r1] - pop {r4, pc} - - thumb_func_start sub_08027EFC -sub_08027EFC: @ 0x08027EFC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #1 - beq _08027F7C - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08027F68 - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08027F32 - bl sub_08000E50 - movs r1, #0x30 - ands r1, r0 - cmp r1, #0 - beq _08027F32 - adds r0, r4, #0 - bl sub_08049EE4 - b _08027F38 -_08027F32: - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] -_08027F38: - strb r0, [r4, #0x15] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08027F5A - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x82 - strb r0, [r1] - movs r0, #8 - strb r0, [r4, #0xe] -_08027F5A: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - b _08027F7C -_08027F68: - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_08027F7C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_12 -nullsub_12: @ 0x08027F80 - bx lr - .align 2, 0 - - thumb_func_start sub_08027F84 -sub_08027F84: @ 0x08027F84 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08027FB0 - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #9 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080A29BC -_08027FB0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08027FB4 -sub_08027FB4: @ 0x08027FB4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08027FD6 - movs r1, #1 - movs r0, #1 - strb r0, [r2, #0xc] - strb r0, [r2, #0xe] - adds r3, r2, #0 - adds r3, #0x3b - ldrb r0, [r3] - orrs r0, r1 - strb r0, [r3] -_08027FD6: - adds r0, r2, #0 - bl sub_08004274 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08027FE0 -sub_08027FE0: @ 0x08027FE0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r2, #1 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08028028 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - movs r2, #8 - movs r0, #8 - strb r0, [r4, #0xe] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - subs r0, #0x41 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08028028: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802802C -sub_0802802C: @ 0x0802802C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802805A - movs r2, #0 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - strb r0, [r4, #0x18] - strb r2, [r4, #0x15] - strb r2, [r4, #0xe] - adds r0, r4, #0 - bl sub_080A29BC -_0802805A: - pop {r4, pc} - - thumb_func_start sub_0802805C -sub_0802805C: @ 0x0802805C - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #2 - bl sub_08004276 - bl sub_0807953C - cmp r0, #0 - beq _0802807E - bl sub_08000E50 - ldrb r2, [r5, #0xf] - adds r2, #1 - movs r1, #1 - ands r1, r0 - adds r2, r2, r1 - strb r2, [r5, #0xf] -_0802807E: - ldrb r0, [r5, #0xf] - cmp r0, #0x18 - bhi _0802808E - ldr r0, _08028098 @ =gUnk_02002A40 - adds r0, #0xaa - ldrb r0, [r0] - cmp r0, #0 - bne _0802809C -_0802808E: - adds r0, r5, #0 - bl sub_0802810C - b _08028102 - .align 2, 0 -_08028098: .4byte gUnk_02002A40 -_0802809C: - bl sub_08077B2C - ldr r2, _08028104 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x1a] - ldr r4, _08028108 @ =gUnk_03001160 - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - ldrh r0, [r5, #0x12] - ldrb r1, [r5, #0x1e] - bl sub_080700C8 - ldrb r1, [r0] - adds r2, r4, #0 - adds r2, #0x62 - strb r1, [r2] - ldrb r0, [r0, #1] - adds r1, r4, #0 - adds r1, #0x63 - strb r0, [r1] - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4] - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080280F0 - adds r0, r5, #0 - bl sub_080281A0 -_080280F0: - ldrb r1, [r5, #0xe] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _08028102 - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 -_08028102: - pop {r4, r5, pc} - .align 2, 0 -_08028104: .4byte gUnk_03003F80 -_08028108: .4byte gUnk_03001160 - - thumb_func_start sub_0802810C -sub_0802810C: @ 0x0802810C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _08028198 @ =gUnk_03003F80 - movs r1, #0 - movs r0, #0x41 - strb r0, [r2, #2] - strb r1, [r2, #0xa] - ldr r0, [r2, #0x30] - subs r1, #0x11 - ands r0, r1 - str r0, [r2, #0x30] - ldr r0, _0802819C @ =gUnk_03001160 - mov ip, r0 - ldrb r0, [r0, #0x10] - movs r1, #0x80 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x10] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r1, #0x20] - adds r1, #0x3d - movs r0, #0xc4 - strb r0, [r1] - movs r3, #0 - mov r2, ip - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - strb r0, [r2, #0x15] - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - mov r5, ip - adds r5, #0x29 - movs r1, #7 - ands r1, r0 - lsls r1, r1, #3 - ldrb r2, [r5] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5] - mov r1, ip - adds r1, #0x63 - movs r0, #0 - ldrsb r0, [r1, r0] - mov r2, ip - strh r0, [r2, #0x36] - strb r3, [r1] - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x50 - strb r0, [r4, #0xe] - strb r3, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _08028196 - movs r0, #0xee - strb r0, [r1] -_08028196: - pop {r4, r5, pc} - .align 2, 0 -_08028198: .4byte gUnk_03003F80 -_0802819C: .4byte gUnk_03001160 - - thumb_func_start sub_080281A0 -sub_080281A0: @ 0x080281A0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x19 - strb r0, [r4, #0xf] - movs r0, #0xe - bl sub_080281E0 - cmp r0, #0 - beq _080281BA - adds r0, r4, #0 - adds r0, #0x80 - movs r1, #0xe - b _080281CA -_080281BA: - movs r0, #0xd - bl sub_080281E0 - cmp r0, #0 - beq _080281D6 - adds r0, r4, #0 - adds r0, #0x80 - movs r1, #0xd -_080281CA: - strb r1, [r0] - movs r0, #0xaf - lsls r0, r0, #3 - bl sub_08056378 - b _080281DE -_080281D6: - movs r0, #1 - rsbs r0, r0, #0 - bl sub_080526A0 -_080281DE: - pop {r4, pc} - - thumb_func_start sub_080281E0 -sub_080281E0: @ 0x080281E0 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - movs r4, #0 - bl sub_0807CA84 - cmp r0, #1 - bne _0802821A - ldr r6, _08028220 @ =gUnk_02002A40 - adds r5, r6, #0 - adds r5, #0xb4 - ldrb r0, [r5] - bl sub_080544B4 - cmp r0, #0 - beq _08028200 - strb r4, [r5] -_08028200: - adds r5, r6, #0 - adds r5, #0xb5 - ldrb r0, [r5] - bl sub_080544B4 - cmp r0, #0 - beq _08028210 - strb r4, [r5] -_08028210: - adds r0, r7, #0 - movs r1, #0 - bl sub_0807CAA0 - movs r4, #1 -_0802821A: - adds r0, r4, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08028220: .4byte gUnk_02002A40 - - thumb_func_start sub_08028224 -sub_08028224: @ 0x08028224 - push {lr} - movs r1, #0 - movs r2, #1 - bl sub_080A7C18 - ldr r0, _08028238 @ =0x00000579 - bl sub_08056378 - pop {pc} - .align 2, 0 -_08028238: .4byte 0x00000579 - - thumb_func_start sub_0802823C -sub_0802823C: @ 0x0802823C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08028268 @ =gUnk_080CC790 - bl sub_0800129E - movs r3, #0x20 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _08028266 - ldr r0, [r1, #4] - cmp r0, #0 - beq _08028266 - adds r0, r4, #0 - bl sub_0806FA24 -_08028266: - pop {r4, pc} - .align 2, 0 -_08028268: .4byte gUnk_080CC790 - - thumb_func_start sub_0802826C -sub_0802826C: @ 0x0802826C - push {lr} - ldr r2, _08028280 @ =gUnk_080CC7A8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08028280: .4byte gUnk_080CC7A8 - - thumb_func_start sub_08028284 -sub_08028284: @ 0x08028284 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08028298 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08028298: - ldr r1, _080282BC @ =gUnk_080CC790 - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080282DE - ldrb r0, [r4, #0xc] - cmp r0, #4 - beq _080282C0 - adds r0, r4, #0 - bl sub_08028754 - b _080282DE - .align 2, 0 -_080282BC: .4byte gUnk_080CC790 -_080282C0: - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - bne _080282DE - adds r1, r4, #0 - adds r1, #0x7a - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r1, #7 - movs r0, #0x16 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08028784 -_080282DE: - ldr r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x3d - ldrb r1, [r1] - adds r0, #0x3d - strb r1, [r0] - adds r0, r4, #0 - adds r0, #0x45 - ldrb r5, [r0] - cmp r5, #0 - bne _0802830C - movs r0, #0 - strh r5, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x82 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080287E0 - ldr r0, [r4, #0x54] - bl sub_0805E7BC - str r5, [r4, #0x54] -_0802830C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start nullsub_13 -nullsub_13: @ 0x08028310 - bx lr - .align 2, 0 - - thumb_func_start sub_08028314 -sub_08028314: @ 0x08028314 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r1, #0 - movs r2, #1 - strb r2, [r4, #0xc] - strb r1, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x7b - strb r1, [r0] - adds r0, #5 - strb r1, [r0] - adds r0, #3 - strb r1, [r0] - subs r0, #2 - strb r1, [r0] - subs r0, #7 - strb r1, [r0] - adds r0, #8 - strb r2, [r0] - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802835E - ldrb r1, [r4, #0xb] - lsls r0, r1, #1 - strb r0, [r4, #0x14] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - lsls r1, r1, #3 - strb r1, [r4, #0x15] - adds r0, r4, #0 - bl sub_080287E0 - b _08028368 -_0802835E: - movs r0, #0x10 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08028604 -_08028368: - movs r0, #3 - bl sub_080A7EE0 - cmp r0, #0 - beq _08028376 - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_08028376: - pop {r4, pc} - - thumb_func_start sub_08028378 -sub_08028378: @ 0x08028378 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x81 - ldrb r0, [r1] - cmp r0, #0 - beq _0802838A - subs r0, #1 - strb r0, [r1] -_0802838A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080283B8 - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ands r0, r2 - cmp r0, #0xf - bls _080283B0 - adds r0, r4, #0 - bl sub_08028728 - b _080283FC -_080283B0: - adds r0, r4, #0 - bl sub_08028604 - b _080283FC -_080283B8: - adds r0, r4, #0 - bl sub_080286CC - cmp r0, #0 - beq _080283CE - adds r2, r4, #0 - adds r2, #0x7b - ldrb r0, [r2] - movs r1, #1 - orrs r0, r1 - strb r0, [r2] -_080283CE: - adds r0, r4, #0 - bl sub_080288A4 - cmp r0, #0 - beq _080283FC - ldrh r1, [r4, #0x2a] - adds r0, r4, #0 - bl sub_0800417E - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x83 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080287E0 -_080283FC: - ldrb r0, [r4, #0xf] - cmp r0, #0xb - bls _08028414 - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - cmp r0, #0 - beq _08028418 - adds r0, r4, #0 - bl sub_08028754 - b _08028418 -_08028414: - adds r0, #1 - strb r0, [r4, #0xf] -_08028418: - adds r0, r4, #0 - bl sub_08028858 - pop {r4, pc} - - thumb_func_start sub_08028420 -sub_08028420: @ 0x08028420 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802844C - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x82 - strb r1, [r0] - subs r0, #2 - strb r1, [r0] - movs r0, #0x10 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08028604 - b _08028462 -_0802844C: - adds r0, r4, #0 - bl sub_080286CC - cmp r0, #0 - beq _08028462 - adds r2, r4, #0 - adds r2, #0x7b - ldrb r0, [r2] - movs r1, #1 - orrs r0, r1 - strb r0, [r2] -_08028462: - ldrb r0, [r4, #0xf] - cmp r0, #0xb - bls _0802847A - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - cmp r0, #0 - beq _0802847E - adds r0, r4, #0 - bl sub_08028754 - b _0802847E -_0802847A: - adds r0, #1 - strb r0, [r4, #0xf] -_0802847E: - adds r0, r4, #0 - bl sub_08028858 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08028488 -sub_08028488: @ 0x08028488 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _08028520 - adds r0, r4, #0 - adds r0, #0x82 - ldrb r1, [r0] - adds r3, r0, #0 - cmp r1, #2 - beq _080284D2 - cmp r1, #2 - ble _080284F0 - cmp r1, #3 - beq _080284B4 - cmp r1, #4 - beq _080284E6 - b _080284F0 -_080284B4: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - movs r0, #0x8f - lsls r0, r0, #1 - bl sub_08004488 - b _0802850A -_080284D2: - strb r1, [r4, #0xc] - strh r2, [r4, #0x24] - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - lsls r1, r0, #1 - adds r1, r1, r0 - adds r1, #0x40 - b _08028508 -_080284E6: - ldrb r0, [r4, #0x15] - adds r0, #0x10 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] -_080284F0: - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r3] - movs r0, #0x80 - strh r0, [r4, #0x24] - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - lsls r1, r0, #1 - adds r1, r1, r0 - adds r1, #0x22 -_08028508: - strb r1, [r4, #0xe] -_0802850A: - movs r0, #0 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_080287E0 -_08028520: - adds r0, r4, #0 - bl sub_08028858 - pop {r4, pc} - - thumb_func_start sub_08028528 -sub_08028528: @ 0x08028528 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r5, r0, #0 - cmp r5, #0 - bne _08028542 - strb r5, [r4, #0xf] - adds r0, r4, #0 - bl sub_08028728 - b _08028600 -_08028542: - adds r0, r4, #0 - bl sub_080288C0 - ldr r1, _08028590 @ =gUnk_080CC944 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r2, [r0] - ldr r1, [r4, #0x48] - ldrb r0, [r2] - strb r0, [r1] - ldr r1, [r4, #0x48] - ldrb r0, [r2, #1] - strb r0, [r1, #1] - ldr r1, [r4, #0x48] - ldrb r0, [r2, #6] - strb r0, [r1, #6] - ldr r1, [r4, #0x48] - ldrb r0, [r2, #7] - strb r0, [r1, #7] - adds r0, r4, #0 - adds r0, #0x7a - ldrb r1, [r0] - adds r6, r0, #0 - cmp r1, #0 - beq _08028594 - movs r0, #0 - strb r0, [r6] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x16 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08028784 - adds r1, r4, #0 - adds r1, #0x7b - b _080285EE - .align 2, 0 -_08028590: .4byte gUnk_080CC944 -_08028594: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x20 - bne _080285BC - strb r1, [r4, #0xe] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080045C4 - adds r5, r0, #0 - ldrb r0, [r4, #0x15] - adds r1, r5, #0 - bl sub_08028828 - cmp r0, #0 - beq _080285BC - strb r5, [r4, #0x15] -_080285BC: - ldrb r1, [r4, #0xe] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _080285D6 - movs r0, #0xf0 - bl sub_08004488 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0x40 - bl sub_080A29AC -_080285D6: - adds r1, r4, #0 - adds r1, #0x7b - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x80 - bne _080285EE - ldrb r0, [r6] - adds r0, #1 - strb r0, [r6] -_080285EE: - ldrb r0, [r1] - cmp r0, #0x20 - bls _080285FA - adds r0, r4, #0 - bl sub_080AEF88 -_080285FA: - adds r0, r4, #0 - bl sub_08004274 -_08028600: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08028604 -sub_08028604: @ 0x08028604 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r1, #0 - strb r1, [r4, #0xf] - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #1 - bne _080286B0 - bl sub_08000E50 - ldr r2, _08028650 @ =gUnk_080CC7BC - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _08028658 - bl sub_08000E50 - ldr r2, _08028654 @ =gUnk_080CC7D0 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - adds r0, #0x18 - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - b _080286B8 - .align 2, 0 -_08028650: .4byte gUnk_080CC7BC -_08028654: .4byte gUnk_080CC7D0 -_08028658: - adds r0, r4, #0 - bl sub_08049EE4 - adds r5, r0, #0 - adds r6, r4, #0 - adds r6, #0x83 - ldrb r0, [r6] - cmp r0, #0 - bne _08028684 - bl sub_08000E50 - ldr r2, _08028680 @ =gUnk_080CC7C0 - movs r1, #0xf - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - adds r5, r5, r0 - b _080286A2 - .align 2, 0 -_08028680: .4byte gUnk_080CC7C0 -_08028684: - bl sub_08000E50 - ldr r2, _080286AC @ =gUnk_080CC7C0 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - adds r5, r5, r0 - ldrb r0, [r4, #0xe] - adds r0, #0x10 - strb r0, [r4, #0xe] - ldrb r0, [r6] - subs r0, #1 - strb r0, [r6] -_080286A2: - adds r0, r5, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - b _080286B8 - .align 2, 0 -_080286AC: .4byte gUnk_080CC7C0 -_080286B0: - movs r0, #0xc - strb r0, [r4, #0xe] - strh r1, [r4, #0x24] - ldrb r0, [r4, #0x15] -_080286B8: - lsrs r5, r0, #2 - ldrb r0, [r4, #0x14] - cmp r5, r0 - beq _080286C8 - strb r5, [r4, #0x14] - adds r0, r4, #0 - bl sub_080287E0 -_080286C8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080286CC -sub_080286CC: @ 0x080286CC - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - bne _08028724 - movs r0, #1 - bl sub_08049DF4 - adds r4, r0, #0 - cmp r4, #0 - beq _08028724 - adds r0, r5, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #2 - bne _080286FC - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x30 - bl sub_0806FC80 - cmp r0, #0 - bne _08028720 -_080286FC: - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x40 - bl sub_0806FC80 - cmp r0, #0 - beq _08028724 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r0, r0, #2 - ldrb r5, [r5, #0x14] - cmp r0, r5 - bne _08028724 -_08028720: - movs r0, #1 - b _08028726 -_08028724: - movs r0, #0 -_08028726: - pop {r4, r5, pc} - - thumb_func_start sub_08028728 -sub_08028728: @ 0x08028728 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x83 - ldrb r0, [r1] - lsrs r0, r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080287B4 - adds r4, #0x82 - movs r0, #2 - strb r0, [r4] - pop {r4, pc} - - thumb_func_start sub_08028754 -sub_08028754: @ 0x08028754 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049F84 - movs r2, #0 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x83 - strb r2, [r0] - adds r0, r4, #0 - bl sub_080287B4 - adds r4, #0x82 - movs r0, #3 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08028784 -sub_08028784: @ 0x08028784 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - movs r1, #0 - strb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x83 - strb r1, [r0] - adds r0, r4, #0 - bl sub_080287B4 - ldrb r0, [r4, #0xe] - lsls r0, r0, #1 - strb r0, [r4, #0xe] - adds r4, #0x82 - movs r0, #4 - strb r0, [r4] - pop {r4, pc} - - thumb_func_start sub_080287B4 -sub_080287B4: @ 0x080287B4 - push {lr} - adds r2, r0, #0 - movs r1, #0 - movs r0, #3 - strb r0, [r2, #0xc] - movs r0, #0x20 - strb r0, [r2, #0xe] - strb r1, [r2, #0xf] - adds r0, r2, #0 - adds r0, #0x80 - strb r1, [r0] - subs r0, #5 - strb r1, [r0] - movs r0, #0 - strh r1, [r2, #0x24] - adds r1, r2, #0 - adds r1, #0x82 - strb r0, [r1] - adds r0, r2, #0 - bl sub_080287E0 - pop {pc} - - thumb_func_start sub_080287E0 -sub_080287E0: @ 0x080287E0 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0x14] - lsrs r2, r0, #1 - adds r0, r3, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #4 - bhi _0802881E - lsls r0, r0, #2 - ldr r1, _080287FC @ =_08028800 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080287FC: .4byte _08028800 -_08028800: @ jump table - .4byte _0802881E @ case 0 - .4byte _08028814 @ case 1 - .4byte _0802881C @ case 2 - .4byte _08028818 @ case 3 - .4byte _08028814 @ case 4 -_08028814: - adds r2, #4 - b _0802881E -_08028818: - adds r2, #8 - b _0802881E -_0802881C: - adds r2, #0xc -_0802881E: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_08028828 -sub_08028828: @ 0x08028828 - push {r4, lr} - adds r4, r0, #0 - adds r3, r1, #0 - adds r0, r3, #4 - movs r2, #0x18 - ands r0, r2 - adds r1, r4, #4 - ands r1, r2 - cmp r0, r1 - bne _08028852 - adds r0, r3, #5 - movs r1, #7 - ands r0, r1 - adds r2, r4, #5 - ands r2, r1 - cmp r0, #2 - bhi _08028852 - cmp r2, #2 - bhi _08028852 - movs r0, #1 - b _08028854 -_08028852: - movs r0, #0 -_08028854: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08028858 -sub_08028858: @ 0x08028858 - push {r4, lr} - adds r4, r0, #0 - bl sub_080288C0 - ldr r1, _080288A0 @ =gUnk_080CC944 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r2, [r0] - ldr r1, [r4, #0x48] - ldrb r0, [r2] - strb r0, [r1] - ldr r1, [r4, #0x48] - ldrb r0, [r2, #1] - strb r0, [r1, #1] - ldr r1, [r4, #0x48] - ldrb r0, [r2, #6] - strb r0, [r1, #6] - ldr r1, [r4, #0x48] - ldrb r0, [r2, #7] - strb r0, [r1, #7] - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - bne _08028890 - strh r0, [r4, #0x24] -_08028890: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_080288A0: .4byte gUnk_080CC944 - - thumb_func_start sub_080288A4 -sub_080288A4: @ 0x080288A4 - ldr r2, _080288BC @ =gUnk_080CC7D8 - ldrb r1, [r0, #0x14] - lsrs r1, r1, #1 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r0, #0x2a] - ldrh r1, [r1] - ands r1, r0 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - bx lr - .align 2, 0 -_080288BC: .4byte gUnk_080CC7D8 - - thumb_func_start sub_080288C0 -sub_080288C0: @ 0x080288C0 - push {lr} - mov ip, r0 - ldr r2, [r0, #0x54] - cmp r2, #0 - beq _08028908 - adds r0, r2, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08028908 - adds r0, r2, #0 - adds r0, #0x3e - ldrb r0, [r0] - mov r1, ip - adds r1, #0x3e - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3d - ldrb r0, [r0] - rsbs r0, r0, #0 - subs r1, #1 - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x46 - ldrh r0, [r0] - adds r1, #9 - movs r3, #0 - strh r0, [r1] - adds r2, #0x42 - ldrb r1, [r2] - mov r0, ip - adds r0, #0x42 - strb r1, [r0] - strb r3, [r2] -_08028908: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802890C -sub_0802890C: @ 0x0802890C - push {lr} - ldr r1, _08028918 @ =gUnk_080CC9C8 - bl sub_0800129E - pop {pc} - .align 2, 0 -_08028918: .4byte gUnk_080CC9C8 - - thumb_func_start sub_0802891C -sub_0802891C: @ 0x0802891C - push {lr} - ldr r2, _08028930 @ =gUnk_080CC9E0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08028930: .4byte gUnk_080CC9E0 - - thumb_func_start sub_08028934 -sub_08028934: @ 0x08028934 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #1 - bne _08028988 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r2, #0x7f - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0x42 - bne _08028988 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r0, #0x28 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - adds r0, r2, #0 - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #4 - bl sub_080290E0 - adds r0, r4, #0 - movs r1, #3 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08028982 - ldrh r0, [r1, #0x36] - subs r0, #8 - strh r0, [r1, #0x36] -_08028982: - ldr r0, _0802898C @ =0x000001BB - bl sub_08004488 -_08028988: - pop {r4, pc} - .align 2, 0 -_0802898C: .4byte 0x000001BB - - thumb_func_start nullsub_140 -nullsub_140: @ 0x08028990 - bx lr - .align 2, 0 - - thumb_func_start sub_08028994 -sub_08028994: @ 0x08028994 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0 - strb r0, [r4, #0xf] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x78 - movs r5, #0 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - strb r5, [r4, #0x14] - movs r0, #0x10 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08028E9C - ldr r0, [r4, #0x7c] - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080289D4 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080289FC -_080289D4: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0xb1 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0802925C - adds r0, r4, #0 - movs r1, #0 - bl sub_080290E0 - b _08028A42 -_080289FC: - strb r5, [r4, #0xe] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08028A44 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x76 - strh r1, [r0] - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x74 - strh r0, [r1] - subs r1, #0x34 - movs r0, #0x41 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08028FFC -_08028A42: - pop {r4, r5, pc} - .align 2, 0 -_08028A44: .4byte gUnk_03000BF0 - - thumb_func_start sub_08028A48 -sub_08028A48: @ 0x08028A48 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - adds r5, r0, #0 - cmp r5, #0 - beq _08028A5A - subs r0, #1 - strb r0, [r4, #0xe] - b _08028A72 -_08028A5A: - adds r0, r4, #0 - movs r1, #0 - bl sub_08028F98 - cmp r0, #0 - beq _08028A72 - adds r0, r4, #0 - bl sub_08029078 - strb r5, [r4, #0xd] - movs r0, #1 - strb r0, [r4, #0xf] -_08028A72: - pop {r4, r5, pc} - - thumb_func_start sub_08028A74 -sub_08028A74: @ 0x08028A74 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xd] - cmp r0, #4 - bls _08028A84 - b _08028BA6 -_08028A84: - lsls r0, r0, #2 - ldr r1, _08028A90 @ =_08028A94 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08028A90: .4byte _08028A94 -_08028A94: @ jump table - .4byte _08028AA8 @ case 0 - .4byte _08028ACA @ case 1 - .4byte _08028B1A @ case 2 - .4byte _08028B54 @ case 3 - .4byte _08028B76 @ case 4 -_08028AA8: - movs r6, #1 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08028BA6 - strb r6, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08028FDC - b _08028B6C -_08028ACA: - movs r6, #1 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _08028AF6 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x20 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - adds r0, r4, #0 - bl sub_08028FDC - adds r0, r4, #0 - movs r1, #2 - bl sub_080290E0 - b _08028BA6 -_08028AF6: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r2 - cmp r0, #0 - bne _08028BA6 - adds r0, r4, #0 - bl sub_08028FDC - cmp r0, #0 - beq _08028B14 - adds r0, r4, #0 - movs r1, #1 - bl sub_080290E0 -_08028B14: - movs r0, #0x10 - strb r0, [r4, #0xf] - b _08028BA6 -_08028B1A: - movs r6, #1 - adds r0, r4, #0 - bl sub_080290FC - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _08028BA6 - adds r0, r4, #0 - movs r1, #4 - movs r2, #0 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _08028BA6 - str r4, [r1, #0x50] - ldrb r0, [r4, #0x15] - strb r0, [r1, #0x15] - ldrb r1, [r5] - movs r0, #0xfe - ands r0, r1 - strb r0, [r5] - movs r0, #3 - strb r0, [r4, #0xd] - b _08028BA6 -_08028B54: - movs r6, #2 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08028BA6 - movs r0, #4 - strb r0, [r4, #0xd] - movs r0, #0x50 - strb r0, [r4, #0xe] -_08028B6C: - adds r0, r4, #0 - movs r1, #1 - bl sub_080290E0 - b _08028BA6 -_08028B76: - movs r6, #2 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08028BA6 - adds r0, r4, #0 - movs r1, #0 - bl sub_08028F98 - adds r5, r0, #0 - cmp r5, #0 - beq _08028BB4 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08028FDC - b _08028BC2 -_08028BA6: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08028F98 - adds r5, r0, #0 - cmp r5, #0 - bne _08028BC2 -_08028BB4: - adds r0, r4, #0 - bl sub_08028FFC - strb r5, [r4, #0xd] - movs r0, #0x50 - strb r0, [r4, #0xe] - strb r5, [r4, #0xf] -_08028BC2: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08028BC4 -sub_08028BC4: @ 0x08028BC4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _08028BD4 - cmp r0, #1 - beq _08028C14 - b _08028C76 -_08028BD4: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08028C0E - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08028C76 - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - bl sub_08028FDC - adds r0, r4, #0 - movs r1, #5 - bl sub_080290E0 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - b _08028C76 -_08028C0E: - subs r0, #1 - strb r0, [r4, #0xe] - b _08028C76 -_08028C14: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08028C76 - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #5 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_080290E0 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - adds r2, r0, #0 - cmp r2, #0 - beq _08028C66 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r2, #0x36] - subs r0, #0xc - strh r0, [r2, #0x36] - adds r0, r2, #0 - movs r1, #2 - bl sub_0805E3A0 -_08028C66: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - adds r0, r4, #0 - bl sub_0802925C -_08028C76: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0800445C - pop {r4, pc} - - thumb_func_start sub_08028C84 -sub_08028C84: @ 0x08028C84 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08028CD2 - movs r0, #0x30 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - adds r5, r0, #0 - cmp r5, #0 - beq _08028CB4 - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - cmp r0, #0 - bne _08028CD2 - adds r0, r4, #0 - bl sub_0804AA1C - b _08028CD2 -_08028CB4: - adds r0, r4, #0 - bl sub_08028FDC - adds r1, r4, #0 - adds r1, #0x80 - cmp r0, #0 - bne _08028CC8 - ldrb r0, [r1] - cmp r0, #0 - beq _08028CD2 -_08028CC8: - strb r5, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_080290E0 -_08028CD2: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0800445C - adds r0, r4, #0 - bl sub_08028F0C - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08028CE8 -sub_08028CE8: @ 0x08028CE8 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r6, [r5, #0x7c] - ldr r0, _08028D30 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08028DCC - adds r0, r5, #0 - bl sub_0802915C - cmp r0, #0 - beq _08028DCC - bl sub_08056338 - cmp r0, #0 - bne _08028DCC - ldr r0, _08028D34 @ =gUnk_02002A40 - adds r0, #0xc0 - ldrh r1, [r6, #2] - ldrh r0, [r0] - cmp r1, r0 - bhi _08028DC0 - adds r0, r5, #0 - bl sub_080291DC - cmp r0, #0 - beq _08028D3C - ldr r0, _08028D38 @ =0x00002904 - bl sub_08056378 - movs r0, #0 - bl sub_08078A90 - b _08028DCC - .align 2, 0 -_08028D30: .4byte gUnk_02000050 -_08028D34: .4byte gUnk_02002A40 -_08028D38: .4byte 0x00002904 -_08028D3C: - ldrh r0, [r6, #2] - rsbs r0, r0, #0 - bl sub_080526CC - ldrb r0, [r6] - lsrs r7, r0, #2 - cmp r7, #1 - beq _08028D9C - cmp r7, #1 - bgt _08028D56 - cmp r7, #0 - beq _08028D5C - b _08028DCC -_08028D56: - cmp r7, #2 - beq _08028DAA - b _08028DCC -_08028D5C: - ldrb r1, [r6, #9] - cmp r1, #0xff - bne _08028D70 - ldr r4, _08028D98 @ =gUnk_080CC9C0 - bl sub_08000E50 - movs r1, #7 - ands r1, r0 - adds r1, r1, r4 - ldrb r1, [r1] -_08028D70: - ldrb r0, [r6, #8] - movs r2, #0 - bl sub_080A7C00 - movs r0, #6 - strb r0, [r5, #0xc] - movs r0, #4 - strb r0, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x81 - strb r7, [r0] - adds r0, r5, #0 - movs r1, #3 - bl sub_080290E0 - movs r0, #0x87 - bl sub_0807CCB4 - b _08028DE2 - .align 2, 0 -_08028D98: .4byte gUnk_080CC9C0 -_08028D9C: - ldrb r0, [r6, #8] - ldrb r1, [r6, #9] - movs r2, #0 - bl sub_080A7C00 - movs r0, #4 - b _08028DB6 -_08028DAA: - ldrb r0, [r6, #8] - ldrb r1, [r6, #9] - movs r2, #0 - bl sub_080A7C00 - movs r0, #8 -_08028DB6: - strb r0, [r5, #0xe] - adds r0, r5, #0 - bl sub_0802922C - b _08028DE2 -_08028DC0: - ldr r0, _08028DE4 @ =0x00002903 - bl sub_08056378 - movs r0, #0 - bl sub_08078A90 -_08028DCC: - adds r0, r5, #0 - bl sub_0800445C - movs r0, #4 - strb r0, [r5, #0xc] - movs r0, #0x30 - strb r0, [r5, #0xe] - adds r0, r5, #0 - movs r1, #0 - bl sub_080290E0 -_08028DE2: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08028DE4: .4byte 0x00002903 - - thumb_func_start sub_08028DE8 -sub_08028DE8: @ 0x08028DE8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08028E08 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #8 - bne _08028E0C - adds r4, #0x81 - ldrb r0, [r4] - cmp r0, #0 - bne _08028E3A - movs r0, #1 - bl sub_08078A90 - movs r0, #1 - strb r0, [r4] - b _08028E3A - .align 2, 0 -_08028E08: .4byte gUnk_03001160 -_08028E0C: - ldr r0, _08028E3C @ =0x00002902 - bl sub_08056378 - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x81 - strb r1, [r0] - movs r0, #1 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08028EDC - movs r0, #0 - bl sub_08078A90 - adds r0, r4, #0 - bl sub_0800445C - adds r0, r4, #0 - bl sub_08004274 -_08028E3A: - pop {r4, pc} - .align 2, 0 -_08028E3C: .4byte 0x00002902 - - thumb_func_start sub_08028E40 -sub_08028E40: @ 0x08028E40 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08028E80 @ =gUnk_02000050 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - bne _08028E72 - ldr r5, [r4, #0x7c] - movs r0, #4 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r0, #1 - strb r0, [r4, #0xe] - ldrh r0, [r5, #0xa] - bl sub_0807CBD0 - cmp r0, #0 - bne _08028E6C - ldrh r0, [r5, #0xa] - bl sub_0807CCB4 -_08028E6C: - movs r0, #0 - bl sub_08078A90 -_08028E72: - adds r0, r4, #0 - bl sub_0800445C - adds r0, r4, #0 - bl sub_08004274 - pop {r4, r5, pc} - .align 2, 0 -_08028E80: .4byte gUnk_02000050 - - thumb_func_start sub_08028E84 -sub_08028E84: @ 0x08028E84 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08028E98 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xe] -_08028E98: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08028E9C -sub_08028E9C: @ 0x08028E9C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r6, _08028ED8 @ =gUnk_080CC954 - adds r4, r1, r6 - adds r0, r4, #0 - bl sub_08029198 - cmp r0, #0 - beq _08028ECA - ldrb r1, [r4] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08028ECA - ldrh r1, [r4, #0xa] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r4, r0, r6 -_08028ECA: - str r4, [r5, #0x7c] - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #0 - strb r0, [r1] - pop {r4, r5, r6, pc} - .align 2, 0 -_08028ED8: .4byte gUnk_080CC954 - - thumb_func_start sub_08028EDC -sub_08028EDC: @ 0x08028EDC - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x7c] - adds r0, r4, #0 - bl sub_08029198 - cmp r0, #0 - beq _08028F04 - ldrb r1, [r4] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08028F04 - ldrh r0, [r4, #0xa] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _08028F08 @ =gUnk_080CC954 - adds r4, r1, r0 - str r4, [r5, #0x7c] -_08028F04: - pop {r4, r5, pc} - .align 2, 0 -_08028F08: .4byte gUnk_080CC954 - - thumb_func_start sub_08028F0C -sub_08028F0C: @ 0x08028F0C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - bne _08028F2C - movs r1, #0 - movs r0, #8 - strb r0, [r5, #0xc] - strb r1, [r2] - adds r0, r5, #0 - bl sub_0806F118 - b _08028F90 -_08028F2C: - cmp r0, #0 - beq _08028F90 - ldr r6, [r5, #0x7c] - movs r4, #0 - strb r4, [r2] - adds r0, r5, #0 - bl sub_0804AA1C - adds r0, r5, #0 - bl sub_0806EDC4 - lsls r0, r0, #3 - strb r0, [r5, #0x15] - adds r0, r5, #0 - movs r1, #3 - bl sub_080290E0 - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #1 - strb r0, [r1] - movs r0, #0x20 - strb r0, [r5, #0xe] - strb r4, [r5, #0xf] - adds r0, r6, #0 - bl sub_08029198 - cmp r0, #0 - beq _08028F6A - ldrh r4, [r6, #6] - b _08028F84 -_08028F6A: - ldrb r1, [r6] - movs r0, #0xfc - ands r0, r1 - cmp r0, #0xc - beq _08028F78 - movs r0, #5 - b _08028F7A -_08028F78: - movs r0, #7 -_08028F7A: - strb r0, [r5, #0xc] - ldrh r4, [r6, #4] - movs r0, #1 - bl sub_08078A90 -_08028F84: - adds r0, r4, #0 - bl sub_08056378 - ldr r1, _08028F94 @ =gUnk_02000050 - ldrh r0, [r6, #2] - str r0, [r1, #0x10] -_08028F90: - pop {r4, r5, r6, pc} - .align 2, 0 -_08028F94: .4byte gUnk_02000050 - - thumb_func_start sub_08028F98 -sub_08028F98: @ 0x08028F98 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - movs r0, #1 - bl sub_08049DF4 - adds r4, r0, #0 - cmp r4, #0 - beq _08028FD4 - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #0x28 - movs r3, #0x28 - bl sub_080041A0 - cmp r0, #0 - bne _08028FD4 - cmp r5, #2 - beq _08028FD8 - movs r3, #0x50 - cmp r5, #0 - beq _08028FC6 - movs r3, #0x58 -_08028FC6: - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r3, #0 - bl sub_080041A0 - cmp r0, #0 - bne _08028FD8 -_08028FD4: - movs r0, #0 - b _08028FDA -_08028FD8: - movs r0, #1 -_08028FDA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08028FDC -sub_08028FDC: @ 0x08028FDC - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049F84 - adds r1, r0, #4 - movs r0, #0x18 - ands r1, r0 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _08028FF8 - strb r1, [r4, #0x15] - movs r0, #1 - b _08028FFA -_08028FF8: - movs r0, #0 -_08028FFA: - pop {r4, pc} - - thumb_func_start sub_08028FFC -sub_08028FFC: @ 0x08028FFC - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_080AE068 - adds r0, r4, #0 - bl sub_0801D230 - adds r1, r4, #0 - adds r1, #0x60 - movs r0, #0xe8 - strh r0, [r1] - ldrb r1, [r4, #0x1a] - subs r0, #0xf8 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - movs r1, #0xf - ands r0, r1 - movs r1, #0x20 - orrs r0, r1 - strb r0, [r4, #0x1a] - movs r0, #0xa7 - strh r0, [r4, #0x12] - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - strh r0, [r4, #0x32] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldr r0, _08029074 @ =0x00004022 - adds r1, r4, #0 - adds r1, #0x76 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - pop {r4, pc} - .align 2, 0 -_08029074: .4byte 0x00004022 - - thumb_func_start sub_08029078 -sub_08029078: @ 0x08029078 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0x72 - bl sub_080ADF80 - cmp r0, #0 - bne _080290AE - adds r0, r4, #0 - bl sub_0805E7BC - b _080290DE -_080290AE: - adds r0, r4, #0 - movs r1, #0x6e - bl sub_0801D040 - movs r0, #0xd0 - strh r0, [r4, #0x12] - adds r0, r4, #0 - bl sub_08028FDC - adds r0, r4, #0 - movs r1, #1 - bl sub_080290E0 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x76 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_080290DE: - pop {r4, pc} - - thumb_func_start sub_080290E0 -sub_080290E0: @ 0x080290E0 - push {lr} - adds r3, r1, #0 - ldrb r1, [r0, #0x15] - lsrs r1, r1, #3 - ldr r2, _080290F8 @ =gUnk_080CCA04 - adds r3, r3, r2 - ldrb r2, [r3] - orrs r1, r2 - bl sub_08004260 - pop {pc} - .align 2, 0 -_080290F8: .4byte gUnk_080CCA04 - - thumb_func_start sub_080290FC -sub_080290FC: @ 0x080290FC - push {r4, r5, lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _08029158 - subs r1, r0, #1 - strb r1, [r2, #0xe] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xf - bhi _08029158 - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08029158 - ldrb r4, [r2, #0x15] - movs r0, #0x10 - ands r0, r4 - movs r5, #1 - cmp r0, #0 - beq _08029128 - subs r5, #2 -_08029128: - movs r3, #8 - adds r0, r3, #0 - ands r0, r4 - cmp r0, #0 - beq _08029146 - movs r4, #0x2e - ldrsh r0, [r2, r4] - ands r1, r3 - cmp r1, #0 - beq _08029140 - subs r0, r0, r5 - b _08029142 -_08029140: - adds r0, r0, r5 -_08029142: - strh r0, [r2, #0x2e] - b _08029158 -_08029146: - movs r4, #0x32 - ldrsh r0, [r2, r4] - ands r1, r3 - cmp r1, #0 - bne _08029154 - subs r0, r0, r5 - b _08029156 -_08029154: - adds r0, r0, r5 -_08029156: - strh r0, [r2, #0x32] -_08029158: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802915C -sub_0802915C: @ 0x0802915C - push {lr} - ldr r0, [r0, #0x7c] - ldrb r0, [r0, #8] - cmp r0, #0x5c - beq _08029190 - cmp r0, #0x5c - bgt _08029174 - cmp r0, #0x1c - beq _08029186 - cmp r0, #0x44 - beq _0802917E - b _08029194 -_08029174: - cmp r0, #0x6c - beq _08029190 - cmp r0, #0x6f - beq _08029190 - b _08029194 -_0802917E: - movs r0, #0x44 - bl sub_0807CA84 - b _0802918C -_08029186: - movs r0, #0x5a - bl sub_0807CC30 -_0802918C: - cmp r0, #0 - bne _08029194 -_08029190: - movs r0, #1 - b _08029196 -_08029194: - movs r0, #0 -_08029196: - pop {pc} - - thumb_func_start sub_08029198 -sub_08029198: @ 0x08029198 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2] - movs r0, #0xfc - ands r0, r1 - cmp r0, #0xc - beq _080291CA - ldrb r0, [r2, #8] - cmp r0, #0x1c - beq _080291BC - cmp r0, #0x1c - bgt _080291B6 - cmp r0, #9 - beq _080291C4 - b _080291D8 -_080291B6: - cmp r0, #0x44 - beq _080291C4 - b _080291D8 -_080291BC: - movs r0, #0x5a - bl sub_0807CC30 - b _080291D0 -_080291C4: - bl sub_0807CA84 - b _080291D0 -_080291CA: - ldrh r0, [r2, #0xa] - bl sub_0807CBD0 -_080291D0: - cmp r0, #0 - beq _080291D8 - movs r0, #1 - b _080291DA -_080291D8: - movs r0, #0 -_080291DA: - pop {pc} - - thumb_func_start sub_080291DC -sub_080291DC: @ 0x080291DC - push {lr} - ldr r0, [r0, #0x7c] - ldrb r0, [r0, #8] - cmp r0, #0x6c - beq _080291EC - cmp r0, #0x6f - beq _08029204 - b _08029228 -_080291EC: - ldr r2, _080291FC @ =gUnk_080FD5A0 - ldr r1, _08029200 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xae - ldrb r0, [r0] - adds r0, r0, r2 - adds r1, #0xac - b _08029212 - .align 2, 0 -_080291FC: .4byte gUnk_080FD5A0 -_08029200: .4byte gUnk_02002A40 -_08029204: - ldr r2, _08029220 @ =gUnk_080FD5A4 - ldr r1, _08029224 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xaf - ldrb r0, [r0] - adds r0, r0, r2 - adds r1, #0xad -_08029212: - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bhi _08029228 - movs r0, #1 - b _0802922A - .align 2, 0 -_08029220: .4byte gUnk_080FD5A4 -_08029224: .4byte gUnk_02002A40 -_08029228: - movs r0, #0 -_0802922A: - pop {pc} - - thumb_func_start sub_0802922C -sub_0802922C: @ 0x0802922C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #6 - strb r1, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x81 - strb r0, [r1] - ldr r0, [r4, #0x7c] - ldrb r0, [r0, #8] - cmp r0, #0x6c - beq _08029252 - cmp r0, #0x6c - bgt _08029252 - cmp r0, #0x1c - bne _08029252 - movs r0, #0x5a - bl sub_0807CD04 -_08029252: - adds r0, r4, #0 - movs r1, #3 - bl sub_080290E0 - pop {r4, pc} - - thumb_func_start sub_0802925C -sub_0802925C: @ 0x0802925C - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08029270 -sub_08029270: @ 0x08029270 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08029296 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #0xe - bl sub_08004260 - b _0802929C -_08029296: - adds r0, r2, #0 - bl sub_08004274 -_0802929C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080292A0 -sub_080292A0: @ 0x080292A0 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xb] - cmp r0, #0 - bne _080292F8 - adds r0, r5, #0 - bl sub_080043E8 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - beq _080292CE - ldrb r0, [r5, #0xc] - cmp r0, #4 - bne _080292C4 - adds r0, r5, #0 - bl sub_080296D8 -_080292C4: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08001290 - b _080292FE -_080292CE: - ldr r4, _080292F4 @ =gUnk_080CCC00 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - b _080292FE - .align 2, 0 -_080292F4: .4byte gUnk_080CCC00 -_080292F8: - adds r0, r5, #0 - bl sub_080293DC -_080292FE: - pop {r4, r5, pc} - - thumb_func_start sub_08029300 -sub_08029300: @ 0x08029300 - push {lr} - ldr r2, _08029314 @ =gUnk_080CCC18 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08029314: .4byte gUnk_080CCC18 - - thumb_func_start sub_08029318 -sub_08029318: @ 0x08029318 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x8e - bne _0802932C - adds r0, r4, #0 - bl sub_08029770 - b _080293A6 -_0802932C: - ldrb r0, [r4, #0xc] - cmp r0, #4 - bne _08029338 - adds r0, r4, #0 - bl sub_080296D8 -_08029338: - ldr r0, [r4, #0x4c] - ldrb r0, [r0, #8] - cmp r0, #1 - bne _08029394 - ldrb r0, [r4, #0xc] - cmp r0, #2 - bne _08029356 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #4 - bl sub_08004260 -_08029356: - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0x41 - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #0xfc - ands r0, r1 - strb r0, [r2] - ldr r0, _08029390 @ =gUnk_03001160 - adds r0, #0x29 - ldrb r0, [r0] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1d - adds r1, r4, #0 - adds r1, #0x80 - strb r0, [r1] - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 - b _080293A6 - .align 2, 0 -_08029390: .4byte gUnk_03001160 -_08029394: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _080293A6 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_080293A6: - ldr r1, _080293B0 @ =gUnk_080CCC00 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_080293B0: .4byte gUnk_080CCC00 - - thumb_func_start sub_080293B4 -sub_080293B4: @ 0x080293B4 - push {lr} - ldr r3, _080293D4 @ =gUnk_080CCC34 - adds r1, r0, #0 - adds r1, #0x84 - ldrb r2, [r1] - lsls r1, r2, #1 - adds r1, r1, r2 - ldrb r2, [r0, #0xa] - adds r1, r1, r2 - adds r1, r1, r3 - ldrb r2, [r1] - movs r1, #0xff - bl sub_0804A7E0 - pop {pc} - .align 2, 0 -_080293D4: .4byte gUnk_080CCC34 - - thumb_func_start nullsub_141 -nullsub_141: @ 0x080293D8 - bx lr - .align 2, 0 - - thumb_func_start sub_080293DC -sub_080293DC: @ 0x080293DC - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - ldr r1, _08029408 @ =gUnk_080CCC3C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08029408: .4byte gUnk_080CCC3C - - thumb_func_start sub_0802940C -sub_0802940C: @ 0x0802940C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - movs r0, #0x17 - bl sub_0804AA60 - adds r5, r0, #0 - cmp r5, #0 - beq _0802944A - adds r0, r4, #0 - bl sub_0804A720 - str r4, [r5, #0x50] - movs r1, #0 - movs r0, #1 - strb r0, [r5, #0xb] - str r5, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x81 - strb r1, [r0] - adds r0, #3 - strb r1, [r0] - ldrb r0, [r4, #0x1a] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - adds r1, r4, #0 - adds r1, #0x82 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080297F0 -_0802944A: - pop {r4, r5, pc} - - thumb_func_start sub_0802944C -sub_0802944C: @ 0x0802944C - push {r4, lr} - adds r4, r0, #0 - bl sub_080296C8 - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _08029470 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08029470 - adds r0, r4, #0 - bl sub_08029770 -_08029470: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08029474 -sub_08029474: @ 0x08029474 - push {r4, lr} - adds r4, r0, #0 - bl sub_080296C8 - adds r3, r4, #0 - adds r3, #0x5a - ldrb r2, [r3] - movs r0, #0x80 - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _080294C0 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - ldr r1, _080294BC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1c - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - ldr r0, [r4, #0x54] - ldrb r1, [r4, #0x14] - adds r1, #4 - bl sub_08004260 - b _080294D2 - .align 2, 0 -_080294BC: .4byte gUnk_03001160 -_080294C0: - lsls r0, r2, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bne _080294D2 - strb r1, [r3] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_080294D2: - pop {r4, pc} - - thumb_func_start sub_080294D4 -sub_080294D4: @ 0x080294D4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802951C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08029508 - movs r0, #8 - strb r0, [r4, #0xe] - ldr r1, _08029518 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - adds r0, r4, #0 - bl sub_0802969C -_08029508: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_080296C8 - b _08029538 - .align 2, 0 -_08029518: .4byte gUnk_03001160 -_0802951C: - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #7 - bl sub_08004260 -_08029538: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802953C -sub_0802953C: @ 0x0802953C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080296C8 - adds r0, r5, #0 - bl sub_080296C8 - bl sub_0807953C - cmp r0, #0 - beq _08029558 - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] -_08029558: - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _08029562 - subs r0, #1 - strb r0, [r5, #0xe] -_08029562: - ldrb r0, [r5, #0xf] - cmp r0, #0x2d - bhi _08029572 - ldr r0, _08029580 @ =gUnk_02002A40 - adds r0, #0xc0 - ldrh r0, [r0] - cmp r0, #0 - bne _08029584 -_08029572: - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _08029584 - adds r0, r5, #0 - bl sub_080296D8 - b _080295FE - .align 2, 0 -_08029580: .4byte gUnk_02002A40 -_08029584: - bl sub_08077B2C - ldr r2, _08029600 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x1a] - ldr r4, _08029604 @ =gUnk_03001160 - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - ldrh r0, [r5, #0x12] - ldrb r1, [r5, #0x1e] - bl sub_080700C8 - ldrb r1, [r0] - adds r2, r4, #0 - adds r2, #0x62 - strb r1, [r2] - ldrb r0, [r0, #1] - subs r0, #1 - adds r1, r4, #0 - adds r1, #0x63 - strb r0, [r1] - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4] - adds r1, r5, #0 - adds r1, #0x83 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080295FE - movs r0, #0x41 - strb r0, [r1] - ldr r0, _08029608 @ =gUnk_02002A40 - adds r0, #0xc0 - ldrh r0, [r0] - cmp r0, #0 - beq _080295FE - ldr r1, _0802960C @ =gUnk_080CCC44 - ldrb r0, [r5, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - bl sub_080526CC - adds r1, r5, #0 - adds r1, #0x84 - movs r0, #1 - strb r0, [r1] -_080295FE: - pop {r4, r5, pc} - .align 2, 0 -_08029600: .4byte gUnk_03003F80 -_08029604: .4byte gUnk_03001160 -_08029608: .4byte gUnk_02002A40 -_0802960C: .4byte gUnk_080CCC44 - - thumb_func_start sub_08029610 -sub_08029610: @ 0x08029610 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xf] - subs r0, #1 - strb r0, [r1, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08029628 - movs r0, #3 - strb r0, [r1, #0xc] - movs r0, #1 - strb r0, [r1, #0xe] -_08029628: - adds r0, r1, #0 - bl sub_080296C8 - pop {pc} - - thumb_func_start sub_08029630 -sub_08029630: @ 0x08029630 - push {r4, lr} - adds r4, r0, #0 - bl sub_080296C8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802965E - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #1 - strb r0, [r1] - ldr r2, [r4, #0x54] - ldrb r1, [r2, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r2, #0x18] - adds r0, r4, #0 - bl sub_080297F0 -_0802965E: - pop {r4, pc} - - thumb_func_start sub_08029660 -sub_08029660: @ 0x08029660 - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0xd1 - strh r1, [r0, #0x12] - ldr r2, _08029684 @ =gUnk_080CCC47 - ldrb r1, [r0, #0xa] - adds r1, r1, r2 - ldrb r2, [r1] - movs r1, #0xf - ands r2, r1 - ldrb r3, [r0, #0x1a] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, #0x1a] - bx lr - .align 2, 0 -_08029684: .4byte gUnk_080CCC47 - - thumb_func_start sub_08029688 -sub_08029688: @ 0x08029688 - push {lr} - adds r1, r0, #0 - ldr r0, [r1, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _0802969A - adds r0, r1, #0 - bl sub_0805E7BC -_0802969A: - pop {pc} - - thumb_func_start sub_0802969C -sub_0802969C: @ 0x0802969C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _080296C4 - lsrs r4, r1, #4 - ldrb r0, [r5, #0x14] - cmp r4, r0 - beq _080296C4 - strb r4, [r5, #0x14] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08004260 - ldr r0, [r5, #0x54] - adds r1, r4, #4 - bl sub_08004260 -_080296C4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080296C8 -sub_080296C8: @ 0x080296C8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldr r0, [r4, #0x54] - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_080296D8 -sub_080296D8: @ 0x080296D8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _08029764 @ =gUnk_03003F80 - movs r0, #0x41 - strb r0, [r2, #2] - ldr r0, [r2, #0x30] - movs r1, #0x11 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r2, #0x30] - ldr r0, _08029768 @ =gUnk_03001160 - mov ip, r0 - ldrb r0, [r0, #0x10] - movs r1, #0x80 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x10] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r1, #0x20] - adds r1, #0x3d - movs r0, #0xa6 - strb r0, [r1] - movs r3, #0 - ldr r0, _0802976C @ =0x0000FFFE - mov r1, ip - strh r0, [r1, #0x36] - ldrb r0, [r1, #0x14] - lsls r0, r0, #2 - strb r0, [r1, #0x15] - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - mov r5, ip - adds r5, #0x29 - movs r1, #7 - ands r1, r0 - lsls r1, r1, #3 - ldrb r2, [r5] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5] - mov r0, ip - adds r0, #0x63 - strb r3, [r0] - movs r0, #0xa0 - lsls r0, r0, #1 - mov r1, ip - strh r0, [r1, #0x24] - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _08029762 - movs r0, #0xf4 - strb r0, [r1] -_08029762: - pop {r4, r5, pc} - .align 2, 0 -_08029764: .4byte gUnk_03003F80 -_08029768: .4byte gUnk_03001160 -_0802976C: .4byte 0x0000FFFE - - thumb_func_start sub_08029770 -sub_08029770: @ 0x08029770 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x73 - bl sub_080ADF80 - cmp r0, #0 - beq _080297E8 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xd1 - strh r0, [r4, #0x12] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x82 - ldrb r1, [r0] - movs r0, #0xf - ands r1, r0 - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x8d - strb r0, [r1] - ldr r0, _080297EC @ =gUnk_080FD260 - str r0, [r4, #0x48] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - ldr r2, [r4, #0x54] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - ldr r0, [r4, #0x54] - movs r1, #6 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080A29BC -_080297E8: - pop {r4, pc} - .align 2, 0 -_080297EC: .4byte gUnk_080FD260 - - thumb_func_start sub_080297F0 -sub_080297F0: @ 0x080297F0 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x8e - strb r0, [r1] - adds r0, r4, #0 - bl sub_080AE068 - ldr r0, _08029850 @ =0x00000143 - strh r0, [r4, #0x12] - ldr r1, _08029854 @ =gUnk_080CCC47 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - movs r0, #0xf - ands r1, r0 - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - adds r1, r4, #0 - adds r1, #0x60 - movs r0, #9 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0x54 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 -_08029850: .4byte 0x00000143 -_08029854: .4byte gUnk_080CCC47 - - thumb_func_start sub_08029858 -sub_08029858: @ 0x08029858 - push {lr} - ldr r2, _0802986C @ =gUnk_080CCD44 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802986C: .4byte gUnk_080CCD44 - - thumb_func_start sub_08029870 -sub_08029870: @ 0x08029870 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08029888 @ =gUnk_080CCD60 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08029888: .4byte gUnk_080CCD60 - - thumb_func_start sub_0802988C -sub_0802988C: @ 0x0802988C - push {lr} - ldr r2, _080298A0 @ =gUnk_080CCD78 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080298A0: .4byte gUnk_080CCD78 - - thumb_func_start sub_080298A4 -sub_080298A4: @ 0x080298A4 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #1 - bne _08029970 - adds r0, r5, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0x1e - bhi _08029948 - lsls r0, r1, #2 - ldr r1, _080298C8 @ =_080298CC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080298C8: .4byte _080298CC -_080298CC: @ jump table - .4byte _08029970 @ case 0 - .4byte _08029970 @ case 1 - .4byte _08029970 @ case 2 - .4byte _08029970 @ case 3 - .4byte _08029948 @ case 4 - .4byte _08029948 @ case 5 - .4byte _08029948 @ case 6 - .4byte _08029948 @ case 7 - .4byte _08029948 @ case 8 - .4byte _08029948 @ case 9 - .4byte _08029948 @ case 10 - .4byte _08029948 @ case 11 - .4byte _08029948 @ case 12 - .4byte _08029948 @ case 13 - .4byte _08029948 @ case 14 - .4byte _08029970 @ case 15 - .4byte _08029948 @ case 16 - .4byte _08029948 @ case 17 - .4byte _08029948 @ case 18 - .4byte _08029970 @ case 19 - .4byte _08029948 @ case 20 - .4byte _08029948 @ case 21 - .4byte _08029948 @ case 22 - .4byte _08029948 @ case 23 - .4byte _08029948 @ case 24 - .4byte _08029948 @ case 25 - .4byte _08029948 @ case 26 - .4byte _08029970 @ case 27 - .4byte _08029948 @ case 28 - .4byte _08029948 @ case 29 - .4byte _08029970 @ case 30 -_08029948: - movs r1, #0 - movs r4, #2 - strb r4, [r5, #0xc] - strb r1, [r5, #0xe] - adds r2, r5, #0 - adds r2, #0x3f - movs r0, #0x6b - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x77 - strb r1, [r0] - adds r0, r5, #0 - movs r1, #0x7f - bl sub_0801D2B4 - movs r0, #0xfe - bl sub_08004488 - ldr r0, [r5, #0x54] - strb r4, [r0, #0xc] -_08029970: - ldr r1, _0802997C @ =gUnk_080CCD60 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_0802997C: .4byte gUnk_080CCD60 - - thumb_func_start sub_08029980 -sub_08029980: @ 0x08029980 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xf] - cmp r0, #0 - beq _08029990 - subs r0, #1 - strb r0, [r1, #0xf] - b _08029996 -_08029990: - adds r0, r1, #0 - bl sub_0804A7D4 -_08029996: - pop {pc} - - thumb_func_start nullsub_14 -nullsub_14: @ 0x08029998 - bx lr - .align 2, 0 - - thumb_func_start sub_0802999C -sub_0802999C: @ 0x0802999C - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldr r0, _08029A90 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x43 - bhi _08029A8E - movs r0, #0x18 - movs r1, #1 - bl sub_0804AA60 - adds r4, r0, #0 - str r7, [r4, #0x50] - adds r0, r7, #0 - adds r1, r4, #0 - movs r2, #0 - movs r3, #5 - bl sub_0806FA48 - str r4, [r7, #0x54] - movs r0, #0x18 - movs r1, #2 - bl sub_0804AA60 - adds r5, r0, #0 - str r7, [r5, #0x50] - adds r0, r7, #0 - adds r1, r5, #0 - movs r2, #0 - movs r3, #4 - bl sub_0806FA48 - str r5, [r4, #0x54] - movs r0, #0x18 - movs r1, #3 - bl sub_0804AA60 - adds r4, r0, #0 - str r7, [r4, #0x50] - adds r0, r7, #0 - adds r1, r4, #0 - movs r2, #0 - movs r3, #3 - bl sub_0806FA48 - str r4, [r5, #0x54] - movs r0, #0x18 - movs r1, #4 - bl sub_0804AA60 - adds r5, r0, #0 - str r7, [r5, #0x50] - adds r0, r7, #0 - adds r1, r5, #0 - movs r2, #0 - movs r3, #2 - bl sub_0806FA48 - str r5, [r4, #0x54] - movs r0, #0x18 - movs r1, #5 - bl sub_0804AA60 - adds r6, r0, #0 - str r7, [r6, #0x50] - adds r0, r7, #0 - adds r1, r6, #0 - movs r2, #0 - movs r3, #1 - bl sub_0806FA48 - str r6, [r5, #0x54] - movs r0, #0x18 - movs r1, #6 - bl sub_0804AA60 - adds r4, r0, #0 - str r7, [r4, #0x54] - str r7, [r4, #0x50] - adds r0, r7, #0 - adds r1, r4, #0 - movs r2, #0 - movs r3, #0 - bl sub_0806FA48 - str r4, [r6, #0x54] - movs r4, #1 - strb r4, [r7, #0xc] - ldrb r1, [r7, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r7, #0x10] - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r7, #0x15] - movs r2, #0 - movs r0, #0xa0 - strh r0, [r7, #0x24] - movs r0, #0xff - strb r0, [r7, #0x14] - ldr r0, [r7, #0x30] - adds r0, #6 - str r0, [r7, #0x30] - str r7, [r7, #0x50] - adds r1, r7, #0 - adds r1, #0x74 - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - adds r0, r7, #0 - adds r0, #0x75 - strb r2, [r0] - adds r0, #2 - strb r4, [r0] - adds r0, r7, #0 - bl sub_08029E0C - adds r0, r7, #0 - bl sub_08029EEC -_08029A8E: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08029A90: .4byte gUnk_03003DBC - - thumb_func_start sub_08029A94 -sub_08029A94: @ 0x08029A94 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0802A098 - pop {r4, pc} - - thumb_func_start sub_08029AA4 -sub_08029AA4: @ 0x08029AA4 - push {lr} - adds r1, r0, #0 - adds r0, #0x77 - ldrb r0, [r0] - cmp r0, #0 - beq _08029ADA - movs r0, #3 - strb r0, [r1, #0xc] - movs r0, #0x84 - lsls r0, r0, #1 - strh r0, [r1, #0x24] - adds r2, r1, #0 - adds r2, #0x3f - movs r0, #0x6a - strb r0, [r2] - adds r2, #0x3b - adds r0, #0xfe - strh r0, [r2] - subs r2, #5 - movs r0, #4 - strb r0, [r2] - adds r0, r1, #0 - bl sub_08029EEC - ldr r0, _08029ADC @ =0x0000019D - bl sub_08004488 -_08029ADA: - pop {pc} - .align 2, 0 -_08029ADC: .4byte 0x0000019D - - thumb_func_start sub_08029AE0 -sub_08029AE0: @ 0x08029AE0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0802A16C - adds r0, r4, #0 - bl sub_0802A098 - adds r1, r4, #0 - adds r1, #0x7a - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08029B28 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xa0 - strh r0, [r4, #0x24] - subs r1, #5 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08029EEC - adds r0, r4, #0 - movs r1, #0x77 - bl sub_0801D2B4 - movs r0, #0xc1 - lsls r0, r0, #1 - bl sub_08004488 -_08029B28: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08029B2C -sub_08029B2C: @ 0x08029B2C - push {r4, lr} - adds r4, r0, #0 - bl sub_0802A14C - cmp r0, #0 - beq _08029B7A - adds r2, r4, #0 - adds r2, #0x86 - ldrb r0, [r2] - cmp r0, #0 - beq _08029B60 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08029B8A - adds r0, r4, #0 - movs r1, #0x48 - movs r2, #0 - bl sub_080A29AC - adds r0, r4, #0 - bl sub_0805E7BC - b _08029B8A -_08029B60: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0xa] - lsls r1, r0, #4 - subs r1, r1, r0 - movs r0, #0x5a - subs r0, r0, r1 - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r2] - b _08029B8A -_08029B7A: - ldr r0, _08029B8C @ =gUnk_080CCD88 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08029B8A: - pop {r4, pc} - .align 2, 0 -_08029B8C: .4byte gUnk_080CCD88 - - thumb_func_start sub_08029B90 -sub_08029B90: @ 0x08029B90 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0802A058 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bhi _08029BBA - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _08029BC2 -_08029BBA: - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 -_08029BC2: - pop {r4, pc} - - thumb_func_start sub_08029BC4 -sub_08029BC4: @ 0x08029BC4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_0802A18C - movs r0, #0x2e - ldrsh r5, [r4, r0] - movs r0, #0x32 - ldrsh r6, [r4, r0] - adds r0, r4, #0 - bl sub_08029FE4 - cmp r0, #0 - beq _08029BF2 - ldrb r0, [r4, #0xa] - movs r2, #4 - cmp r0, #1 - bhi _08029BE8 - movs r2, #0 -_08029BE8: - ldrb r1, [r4, #0x14] - adds r1, r1, r2 - adds r0, r4, #0 - bl sub_08004260 -_08029BF2: - movs r0, #0x2e - ldrsh r1, [r4, r0] - subs r1, r1, r5 - movs r0, #0x32 - ldrsh r2, [r4, r0] - subs r2, r2, r6 - adds r0, r4, #0 - bl sub_08029FB4 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08029C08 -sub_08029C08: @ 0x08029C08 - movs r1, #3 - strb r1, [r0, #0xc] - ldr r2, _08029C28 @ =gUnk_080CCDA0 - ldrb r1, [r0, #0xa] - adds r1, r1, r2 - ldrb r1, [r1] - strb r1, [r0, #0xe] - adds r2, r0, #0 - adds r2, #0x3f - movs r1, #0x6b - strb r1, [r2] - ldr r1, [r0, #0x54] - movs r0, #2 - strb r0, [r1, #0xc] - bx lr - .align 2, 0 -_08029C28: .4byte gUnk_080CCDA0 - - thumb_func_start sub_08029C2C -sub_08029C2C: @ 0x08029C2C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08029C4E - movs r0, #4 - strb r0, [r1, #0xc] - adds r0, r1, #0 - movs r1, #0x7f - bl sub_0801D2B4 - movs r0, #0x6c - bl sub_08004488 -_08029C4E: - pop {pc} - - thumb_func_start sub_08029C50 -sub_08029C50: @ 0x08029C50 - push {lr} - adds r1, r0, #0 - ldr r0, [r1, #0x50] - adds r0, #0x77 - ldrb r0, [r0] - cmp r0, #0 - beq _08029C68 - movs r0, #5 - strb r0, [r1, #0xc] - adds r1, #0x3f - movs r0, #0x6a - strb r0, [r1] -_08029C68: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08029C6C -sub_08029C6C: @ 0x08029C6C - push {r4, lr} - adds r4, r0, #0 - bl sub_0802A18C - adds r0, r4, #0 - bl sub_08029BC4 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #3 - beq _08029C90 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x77 - bl sub_0801D2B4 - b _08029C96 -_08029C90: - adds r0, r4, #0 - bl sub_0802A16C -_08029C96: - pop {r4, pc} - - thumb_func_start sub_08029C98 -sub_08029C98: @ 0x08029C98 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802A14C - cmp r0, #0 - beq _08029CB6 - adds r0, r4, #0 - movs r1, #0x48 - movs r2, #0 - bl sub_080A29AC - adds r0, r4, #0 - bl sub_0805E7BC - b _08029CC6 -_08029CB6: - ldr r0, _08029CC8 @ =gUnk_080CCDA8 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08029CC6: - pop {r4, pc} - .align 2, 0 -_08029CC8: .4byte gUnk_080CCDA8 - - thumb_func_start sub_08029CCC -sub_08029CCC: @ 0x08029CCC - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0802A058 - adds r0, r4, #0 - movs r1, #8 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_08029CF0 -sub_08029CF0: @ 0x08029CF0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08029FE4 - cmp r0, #0 - beq _08029D06 - ldrb r1, [r4, #0x14] - adds r1, #8 - adds r0, r4, #0 - bl sub_08004260 -_08029D06: - pop {r4, pc} - - thumb_func_start sub_08029D08 -sub_08029D08: @ 0x08029D08 - movs r1, #3 - strb r1, [r0, #0xc] - movs r1, #0x47 - strb r1, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_08029D14 -sub_08029D14: @ 0x08029D14 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08029D42 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08029D70 - ldrb r1, [r4, #0x14] - adds r1, #0xc - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #0x7f - bl sub_0801D2B4 - movs r0, #0x6c - bl sub_08004488 - b _08029D70 -_08029D42: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08029D70 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x6c - strb r0, [r1] - ldr r0, _08029D74 @ =gUnk_080FD298 - str r0, [r4, #0x48] - movs r0, #0x6b - bl sub_08004488 -_08029D70: - pop {r4, pc} - .align 2, 0 -_08029D74: .4byte gUnk_080FD298 - - thumb_func_start sub_08029D78 -sub_08029D78: @ 0x08029D78 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802A0F8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08029DA6 - movs r0, #5 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x6a - strb r0, [r1] - ldr r0, _08029DA8 @ =gUnk_080FD2A0 - str r0, [r4, #0x48] - ldrb r1, [r4, #0x14] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_08004260 -_08029DA6: - pop {r4, pc} - .align 2, 0 -_08029DA8: .4byte gUnk_080FD2A0 - - thumb_func_start sub_08029DAC -sub_08029DAC: @ 0x08029DAC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08029DD8 - movs r0, #6 - strb r0, [r4, #0xc] - ldr r0, [r4, #0x50] - adds r0, #0x77 - movs r1, #1 - strb r1, [r0] - ldrb r1, [r4, #0x14] - adds r1, #8 - adds r0, r4, #0 - bl sub_08004260 -_08029DD8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08029DDC -sub_08029DDC: @ 0x08029DDC - movs r1, #7 - strb r1, [r0, #0xc] - bx lr - .align 2, 0 - - thumb_func_start sub_08029DE4 -sub_08029DE4: @ 0x08029DE4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08029CF0 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #3 - beq _08029E02 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x77 - bl sub_0801D2B4 - b _08029E08 -_08029E02: - adds r0, r4, #0 - bl sub_0802A16C -_08029E08: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08029E0C -sub_08029E0C: @ 0x08029E0C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - adds r5, r0, #0 - ldrb r0, [r5, #0x15] - lsrs r0, r0, #3 - lsls r1, r0, #1 - adds r1, r1, r0 - ldr r0, _08029EE0 @ =gUnk_080CCDC8 - adds r1, r1, r0 - str r1, [sp] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - lsls r1, r1, #1 - subs r1, #1 - mov sl, r1 - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #0xf - ands r0, r1 - movs r1, #3 - bl __modsi3 - mov sb, r0 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r3, _08029EE4 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - mov r8, r0 - movs r2, #0x3f - ands r0, r2 - mov r8, r0 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - mov r1, r8 - orrs r1, r0 - mov r8, r1 - movs r7, #0 -_08029E72: - ldr r0, [sp] - add r0, sb - ldrb r4, [r0] - lsrs r0, r4, #3 - lsls r0, r0, #1 - ldr r1, _08029EE8 @ =gUnk_080B4488 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - add r0, r8 - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002E0 - adds r6, r5, #0 - adds r6, #0x74 - cmp r0, #0 - bne _08029EA6 - str r4, [sp, #4] - ldrb r1, [r5, #0x15] - ldrb r0, [r6] - subs r0, r1, r0 - subs r1, r4, r1 - cmp r0, r1 - bne _08029EBA -_08029EA6: - mov r0, sb - add r0, sl - adds r0, #3 - movs r1, #3 - bl __modsi3 - mov sb, r0 - adds r7, #1 - cmp r7, #2 - bls _08029E72 -_08029EBA: - cmp r7, #3 - bne _08029EC0 - ldr r4, [sp, #4] -_08029EC0: - ldrb r1, [r5, #0x15] - ldrb r0, [r6] - cmp r0, r1 - beq _08029ECA - strb r1, [r6] -_08029ECA: - strb r4, [r5, #0x15] - adds r0, r5, #0 - bl sub_08029F0C - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08029EE0: .4byte gUnk_080CCDC8 -_08029EE4: .4byte gUnk_03000BF0 -_08029EE8: .4byte gUnk_080B4488 - - thumb_func_start sub_08029EEC -sub_08029EEC: @ 0x08029EEC - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0x15] - adds r2, r3, #0 - adds r2, #0x75 - lsrs r0, r0, #3 - ldrb r2, [r2] - adds r1, r0, r2 - ldrb r0, [r3, #0x14] - cmp r1, r0 - beq _08029F0A - strb r1, [r3, #0x14] - adds r0, r3, #0 - bl sub_080042AC -_08029F0A: - pop {pc} - - thumb_func_start sub_08029F0C -sub_08029F0C: @ 0x08029F0C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0x15] - lsrs r0, r0, #3 - cmp r0, #1 - beq _08029F30 - cmp r0, #1 - bgt _08029F22 - cmp r0, #0 - beq _08029F2C - b _08029F44 -_08029F22: - cmp r0, #2 - beq _08029F36 - cmp r0, #3 - beq _08029F3C - b _08029F44 -_08029F2C: - ldrh r0, [r1, #0x32] - b _08029F3E -_08029F30: - ldrh r0, [r1, #0x2e] - adds r0, #0x10 - b _08029F40 -_08029F36: - ldrh r0, [r1, #0x32] - adds r0, #0x10 - b _08029F40 -_08029F3C: - ldrh r0, [r1, #0x2e] -_08029F3E: - subs r0, #0x10 -_08029F40: - adds r1, #0x78 - strh r0, [r1] -_08029F44: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08029F48 -sub_08029F48: @ 0x08029F48 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0x15] - lsrs r0, r0, #3 - cmp r0, #1 - beq _08029F78 - cmp r0, #1 - bgt _08029F5E - cmp r0, #0 - beq _08029F68 - b _08029FB0 -_08029F5E: - cmp r0, #2 - beq _08029F88 - cmp r0, #3 - beq _08029F9C - b _08029FB0 -_08029F68: - movs r0, #0x32 - ldrsh r1, [r2, r0] - adds r0, r2, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r1, r0 - bgt _08029FB0 - b _08029F96 -_08029F78: - movs r0, #0x2e - ldrsh r1, [r2, r0] - adds r0, r2, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r1, r0 - blt _08029FB0 - b _08029FAA -_08029F88: - movs r0, #0x32 - ldrsh r1, [r2, r0] - adds r0, r2, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r1, r0 - blt _08029FB0 -_08029F96: - strh r0, [r2, #0x32] - movs r0, #1 - b _08029FB2 -_08029F9C: - movs r0, #0x2e - ldrsh r1, [r2, r0] - adds r0, r2, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r1, r0 - bgt _08029FB0 -_08029FAA: - strh r0, [r2, #0x2e] - movs r0, #1 - b _08029FB2 -_08029FB0: - movs r0, #0 -_08029FB2: - pop {pc} - - thumb_func_start sub_08029FB4 -sub_08029FB4: @ 0x08029FB4 - push {r4, r5, r6, lr} - adds r5, r1, #0 - adds r4, r2, #0 - ldr r6, [r0, #0x54] - adds r6, #0x78 - ldr r0, [r0, #0x50] - adds r0, #0x7e - ldrb r0, [r0] - movs r1, #0xe - bl __modsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r6, r6, r0 - adds r5, #8 - movs r0, #0xf - ands r5, r0 - adds r4, #8 - ands r4, r0 - lsls r4, r4, #4 - orrs r5, r4 - strb r5, [r6] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08029FE4 -sub_08029FE4: @ 0x08029FE4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x78 - ldr r0, [r5, #0x50] - adds r0, #0x7e - ldrb r0, [r0] - adds r0, #1 - movs r1, #0xe - bl __modsi3 - adds r4, r4, r0 - ldrb r1, [r4] - movs r0, #0xf - ands r0, r1 - subs r0, #8 - lsrs r1, r1, #4 - subs r1, #8 - lsls r1, r1, #0x18 - lsls r0, r0, #0x18 - asrs r4, r0, #0x18 - ldrh r0, [r5, #0x2e] - adds r0, r0, r4 - strh r0, [r5, #0x2e] - lsrs r6, r1, #0x18 - asrs r1, r1, #0x18 - ldrh r0, [r5, #0x32] - adds r1, r1, r0 - strh r1, [r5, #0x32] - adds r0, r5, #0 - bl sub_08004274 - movs r1, #0xff - cmp r4, #0 - beq _0802A032 - movs r1, #3 - cmp r4, #0 - ble _0802A032 - movs r1, #1 -_0802A032: - lsls r0, r6, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0802A042 - movs r1, #0 - cmp r0, #0 - ble _0802A042 - movs r1, #2 -_0802A042: - cmp r1, #0xff - beq _0802A052 - ldrb r0, [r5, #0x14] - cmp r1, r0 - beq _0802A052 - strb r1, [r5, #0x14] - movs r0, #1 - b _0802A054 -_0802A052: - movs r0, #0 -_0802A054: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802A058 -sub_0802A058: @ 0x0802A058 - adds r2, r0, #0 - adds r0, #0x78 - movs r1, #0x88 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_0802A098 -sub_0802A098: @ 0x0802A098 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x7e - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - ldrb r0, [r5] - movs r1, #0xe - bl __modsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0802A0B8 - strb r0, [r5] -_0802A0B8: - movs r0, #0x2e - ldrsh r5, [r4, r0] - movs r0, #0x32 - ldrsh r6, [r4, r0] - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08029F48 - cmp r0, #0 - beq _0802A0E4 - adds r0, r4, #0 - bl sub_08029E0C - adds r0, r4, #0 - bl sub_08029EEC - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 -_0802A0E4: - movs r0, #0x2e - ldrsh r1, [r4, r0] - subs r1, r1, r5 - movs r0, #0x32 - ldrsh r2, [r4, r0] - subs r2, r2, r6 - adds r0, r4, #0 - bl sub_08029FB4 - pop {r4, r5, r6, pc} - - thumb_func_start sub_0802A0F8 -sub_0802A0F8: @ 0x0802A0F8 - push {r4, lr} - adds r3, r0, #0 - adds r0, #0x45 - ldrb r4, [r0] - cmp r4, #0 - beq _0802A134 - subs r0, #4 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802A14A - adds r1, r3, #0 - adds r1, #0x3d - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0802A14A - adds r2, r3, #0 - movs r3, #0 - adds r4, r1, #0 -_0802A122: - ldr r2, [r2, #0x54] - ldrb r0, [r4] - adds r1, r2, #0 - adds r1, #0x3d - strb r0, [r1] - adds r3, #1 - cmp r3, #5 - bls _0802A122 - b _0802A14A -_0802A134: - ldr r2, [r3, #0x50] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - ldr r0, [r3, #0x50] - adds r0, #0x45 - strb r4, [r0] - ldr r1, [r3, #0x50] - movs r0, #0x69 - strb r0, [r1, #0xf] -_0802A14A: - pop {r4, pc} - - thumb_func_start sub_0802A14C -sub_0802A14C: @ 0x0802A14C - push {lr} - adds r1, r0, #0 - movs r2, #0 - ldr r0, [r1, #0x50] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _0802A166 - adds r0, r1, #0 - adds r0, #0x86 - ldrb r0, [r0] - cmp r0, #0 - beq _0802A168 -_0802A166: - movs r2, #1 -_0802A168: - adds r0, r2, #0 - pop {pc} - - thumb_func_start sub_0802A16C -sub_0802A16C: @ 0x0802A16C - push {lr} - ldr r3, _0802A188 @ =gUnk_080CCDD4 - ldr r1, [r0, #0x50] - adds r1, #0x7a - ldrh r1, [r1] - lsrs r1, r1, #2 - movs r2, #3 - ands r1, r2 - lsls r1, r1, #1 - adds r1, r1, r3 - ldrh r1, [r1] - bl sub_0801D2B4 - pop {pc} - .align 2, 0 -_0802A188: .4byte gUnk_080CCDD4 - - thumb_func_start sub_0802A18C -sub_0802A18C: @ 0x0802A18C - push {lr} - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802A234 - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x1e - bhi _0802A22C - lsls r0, r0, #2 - ldr r1, _0802A1AC @ =_0802A1B0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802A1AC: .4byte _0802A1B0 -_0802A1B0: @ jump table - .4byte _0802A234 @ case 0 - .4byte _0802A234 @ case 1 - .4byte _0802A234 @ case 2 - .4byte _0802A234 @ case 3 - .4byte _0802A22C @ case 4 - .4byte _0802A22C @ case 5 - .4byte _0802A22C @ case 6 - .4byte _0802A22C @ case 7 - .4byte _0802A22C @ case 8 - .4byte _0802A22C @ case 9 - .4byte _0802A22C @ case 10 - .4byte _0802A22C @ case 11 - .4byte _0802A22C @ case 12 - .4byte _0802A22C @ case 13 - .4byte _0802A22C @ case 14 - .4byte _0802A234 @ case 15 - .4byte _0802A22C @ case 16 - .4byte _0802A22C @ case 17 - .4byte _0802A22C @ case 18 - .4byte _0802A234 @ case 19 - .4byte _0802A22C @ case 20 - .4byte _0802A22C @ case 21 - .4byte _0802A22C @ case 22 - .4byte _0802A22C @ case 23 - .4byte _0802A22C @ case 24 - .4byte _0802A22C @ case 25 - .4byte _0802A22C @ case 26 - .4byte _0802A234 @ case 27 - .4byte _0802A22C @ case 28 - .4byte _0802A22C @ case 29 - .4byte _0802A234 @ case 30 -_0802A22C: - movs r0, #0x97 - lsls r0, r0, #1 - bl sub_08004488 -_0802A234: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802A238 -sub_0802A238: @ 0x0802A238 - push {lr} - ldr r2, _0802A24C @ =gUnk_080CD030 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802A24C: .4byte gUnk_080CD030 - - thumb_func_start sub_0802A250 -sub_0802A250: @ 0x0802A250 - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r5, #0xc] - strb r1, [r5, #0xe] - ldr r0, _0802A2A8 @ =0xFFFD0000 - str r0, [r5, #0x20] - bl sub_08000E50 - ldr r1, _0802A2AC @ =gUnk_080CD03C - movs r4, #3 - ands r0, r4 - adds r0, r0, r1 - ldrb r0, [r0] - strh r0, [r5, #0x24] - bl sub_08000E50 - ldr r1, _0802A2B0 @ =gUnk_080CD040 - ands r0, r4 - adds r0, r0, r1 - ldrb r0, [r0] - adds r0, #0x18 - strb r0, [r5, #0x15] - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r5, #0 - bl sub_08016A04 - movs r0, #0x66 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - cmp r0, #0 - beq _0802A2A6 - str r5, [r0, #0x50] -_0802A2A6: - pop {r4, r5, pc} - .align 2, 0 -_0802A2A8: .4byte 0xFFFD0000 -_0802A2AC: .4byte gUnk_080CD03C -_0802A2B0: .4byte gUnk_080CD040 - - thumb_func_start sub_0802A2B4 -sub_0802A2B4: @ 0x0802A2B4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xa0 - lsls r1, r1, #6 - bl sub_08003FC4 - cmp r0, #0 - bne _0802A2DC - movs r0, #2 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x84 - bl sub_08004488 - b _0802A2E2 -_0802A2DC: - adds r0, r4, #0 - bl sub_0806F69C -_0802A2E2: - adds r0, r4, #0 - bl sub_0802A39C - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #8 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0802A2FA - adds r0, r4, #0 - bl sub_0802A334 -_0802A2FA: - pop {r4, pc} - - thumb_func_start sub_0802A2FC -sub_0802A2FC: @ 0x0802A2FC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802A31A - adds r0, r4, #0 - bl sub_0805E7BC - b _0802A332 -_0802A31A: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802A32C - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - b _0802A332 -_0802A32C: - adds r0, r4, #0 - bl sub_0802A39C -_0802A332: - pop {r4, pc} - - thumb_func_start sub_0802A334 -sub_0802A334: @ 0x0802A334 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0802A380 @ =gUnk_03000BF0 - movs r3, #0xa - ldrsh r0, [r2, r3] - ldr r3, _0802A384 @ =gUnk_03000F50 - subs r1, r1, r0 - ldrh r5, [r3, #0x16] - adds r1, r1, r5 - asrs r1, r1, #3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - movs r5, #0xc - ldrsh r2, [r2, r5] - subs r0, r0, r2 - ldrh r3, [r3, #0x18] - adds r0, r0, r3 - asrs r0, r0, #3 - ldr r3, _0802A388 @ =gUnk_02001A40 - movs r2, #0x1f - ands r1, r2 - ands r0, r2 - lsls r0, r0, #5 - adds r1, r1, r0 - movs r0, #0x80 - lsls r0, r0, #3 - adds r1, r1, r0 - lsls r1, r1, #1 - adds r1, r1, r3 - ldrh r0, [r1] - cmp r0, #0 - beq _0802A38C - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - b _0802A392 - .align 2, 0 -_0802A380: .4byte gUnk_03000BF0 -_0802A384: .4byte gUnk_03000F50 -_0802A388: .4byte gUnk_02001A40 -_0802A38C: - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 -_0802A392: - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - pop {r4, r5, pc} - - thumb_func_start sub_0802A39C -sub_0802A39C: @ 0x0802A39C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r4, _0802A3EC @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0802A3F0 @ =gUnk_03000BF0 - movs r3, #0xa - ldrsh r0, [r2, r3] - ldr r3, _0802A3F4 @ =gUnk_03000F50 - subs r1, r1, r0 - ldrh r6, [r3, #0x16] - adds r1, r1, r6 - asrs r1, r1, #3 - movs r6, #0x32 - ldrsh r0, [r4, r6] - movs r4, #0xc - ldrsh r2, [r2, r4] - subs r0, r0, r2 - ldrh r3, [r3, #0x18] - adds r0, r0, r3 - subs r0, #0xa - asrs r0, r0, #3 - ldr r3, _0802A3F8 @ =gUnk_02001A40 - movs r2, #0x1f - ands r1, r2 - ands r0, r2 - lsls r0, r0, #5 - adds r1, r1, r0 - movs r6, #0x80 - lsls r6, r6, #3 - adds r1, r1, r6 - lsls r1, r1, #1 - adds r1, r1, r3 - ldrh r0, [r1] - cmp r0, #0 - beq _0802A3FC - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - b _0802A402 - .align 2, 0 -_0802A3EC: .4byte gUnk_03001160 -_0802A3F0: .4byte gUnk_03000BF0 -_0802A3F4: .4byte gUnk_03000F50 -_0802A3F8: .4byte gUnk_02001A40 -_0802A3FC: - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 -_0802A402: - strb r0, [r5, #0x10] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802A408 -sub_0802A408: @ 0x0802A408 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0802A430 @ =gUnk_080CD07C - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, r5, pc} - .align 2, 0 -_0802A430: .4byte gUnk_080CD07C - - thumb_func_start sub_0802A434 -sub_0802A434: @ 0x0802A434 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802A78C - ldr r1, _0802A450 @ =gUnk_080CD094 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_0802A450: .4byte gUnk_080CD094 - - thumb_func_start sub_0802A454 -sub_0802A454: @ 0x0802A454 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x75 - beq _0802A4A8 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r2, #0x7f - adds r1, r2, #0 - ands r1, r0 - cmp r1, #0 - beq _0802A474 - cmp r1, #0x1e - bne _0802A4A8 -_0802A474: - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - adds r0, r2, #0 - ands r0, r1 - strb r0, [r4, #0x10] - ldr r1, _0802A4D8 @ =gUnk_03001160 - ldrh r0, [r1, #0x2e] - adds r2, r4, #0 - adds r2, #0x7e - strh r0, [r2] - ldrh r2, [r1, #0x32] - adds r0, r4, #0 - adds r0, #0x80 - strh r2, [r0] - ldrh r0, [r1, #0x36] - adds r1, r4, #0 - adds r1, #0x82 - strh r0, [r1] - ldrb r0, [r4, #0xc] - cmp r0, #3 - beq _0802A4A8 - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0802A4A8: - adds r2, r4, #0 - adds r2, #0x42 - ldrb r0, [r2] - adds r1, r0, #0 - cmp r1, #0 - beq _0802A4BC - cmp r1, #4 - bls _0802A4BC - subs r0, #4 - strb r0, [r2] -_0802A4BC: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802A4CE - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802A4CE: - ldr r1, _0802A4DC @ =gUnk_080CD07C - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_0802A4D8: .4byte gUnk_03001160 -_0802A4DC: .4byte gUnk_080CD07C - - thumb_func_start nullsub_142 -nullsub_142: @ 0x0802A4E0 - bx lr - .align 2, 0 - - thumb_func_start sub_0802A4E4 -sub_0802A4E4: @ 0x0802A4E4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - bl sub_08000E50 - adds r1, r4, #0 - adds r1, #0x7d - strb r0, [r1] - ldrb r1, [r4, #0xb] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - ldrb r1, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x7c - strb r1, [r0] - ldrb r1, [r4, #0xe] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - bl sub_0802A7D0 - pop {r4, pc} - - thumb_func_start sub_0802A534 -sub_0802A534: @ 0x0802A534 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - cmp r0, #0 - beq _0802A548 - subs r0, #1 - strh r0, [r1] - b _0802A5B0 -_0802A548: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - cmp r0, #0 - bne _0802A5B0 - movs r0, #1 - bl sub_08049DF4 - adds r2, r0, #0 - cmp r2, #0 - beq _0802A5B0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrh r0, [r2, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r2, #0x32] - strh r0, [r4, #0x32] - ldr r0, _0802A5B4 @ =0x0000FF80 - strh r0, [r4, #0x36] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x20 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0802A7D0 -_0802A5B0: - pop {r4, pc} - .align 2, 0 -_0802A5B4: .4byte 0x0000FF80 - - thumb_func_start sub_0802A5B8 -sub_0802A5B8: @ 0x0802A5B8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802A7D0 - ldrb r0, [r4, #0xe] - adds r2, r0, #0 - cmp r2, #0 - beq _0802A5E8 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802A60E - ldr r0, _0802A5E4 @ =0x0000012D - bl sub_08004488 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _0802A60E - .align 2, 0 -_0802A5E4: .4byte 0x0000012D -_0802A5E8: - ldrh r0, [r4, #0x36] - adds r0, #3 - strh r0, [r4, #0x36] - lsls r0, r0, #0x10 - cmp r0, #0 - blt _0802A60E - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - strh r2, [r4, #0x36] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0802A60E: - pop {r4, pc} - - thumb_func_start sub_0802A610 -sub_0802A610: @ 0x0802A610 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0802A7D0 - adds r3, r4, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _0802A63A - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - b _0802A64C -_0802A63A: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802A64C - strb r2, [r3] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x75 - strb r0, [r1] -_0802A64C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802A650 -sub_0802A650: @ 0x0802A650 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802A7D0 - ldrh r0, [r4, #0x36] - subs r0, #2 - strh r0, [r4, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0xa0 - rsbs r1, r1, #0 - cmp r0, r1 - bge _0802A69A - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x74 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7c - ldrb r1, [r0] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] -_0802A69A: - pop {r4, pc} - - thumb_func_start sub_0802A69C -sub_0802A69C: @ 0x0802A69C - push {r4, lr} - adds r4, r0, #0 - bl sub_0802A7D0 - ldr r2, _0802A6E4 @ =gUnk_03003F80 - ldrb r1, [r2, #0xa] - movs r0, #0x80 - orrs r1, r0 - strb r1, [r2, #0xa] - ldrb r1, [r2, #0x1a] - orrs r0, r1 - strb r0, [r2, #0x1a] - ldr r1, _0802A6E8 @ =gUnk_03001160 - adds r0, r4, #0 - adds r0, #0x7e - ldrh r0, [r0] - strh r0, [r1, #0x2e] - adds r0, r4, #0 - adds r0, #0x80 - ldrh r0, [r0] - strh r0, [r1, #0x32] - adds r0, r4, #0 - adds r0, #0x82 - ldrh r0, [r0] - strh r0, [r1, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrh r2, [r4, #0x36] - movs r3, #0x36 - ldrsh r1, [r4, r3] - cmp r0, r1 - beq _0802A6F0 - cmp r0, r1 - bge _0802A6EC - subs r0, r2, #1 - b _0802A6EE - .align 2, 0 -_0802A6E4: .4byte gUnk_03003F80 -_0802A6E8: .4byte gUnk_03001160 -_0802A6EC: - adds r0, r2, #1 -_0802A6EE: - strh r0, [r4, #0x36] -_0802A6F0: - adds r0, r4, #0 - bl sub_08004274 - adds r3, r4, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _0802A712 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - b _0802A72E -_0802A712: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802A72E - strb r2, [r3] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #3 - strb r0, [r1] - ldr r2, _0802A730 @ =gUnk_03001160 - ldrb r1, [r2, #0x18] - subs r0, #7 - ands r0, r1 - strb r0, [r2, #0x18] -_0802A72E: - pop {r4, pc} - .align 2, 0 -_0802A730: .4byte gUnk_03001160 - - thumb_func_start sub_0802A734 -sub_0802A734: @ 0x0802A734 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802A7D0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802A768 - bl sub_0805E5A8 - ldr r1, _0802A760 @ =gUnk_0813AB1C - ldr r0, _0802A764 @ =gUnk_02033A90 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl sub_08080840 - b _0802A780 - .align 2, 0 -_0802A760: .4byte gUnk_0813AB1C -_0802A764: .4byte gUnk_02033A90 -_0802A768: - ldr r0, [r4, #0x34] - ldr r1, _0802A784 @ =0xFFFE0000 - adds r0, r0, r1 - str r0, [r4, #0x34] - ldr r1, _0802A788 @ =gUnk_03003F80 - ldrb r0, [r1, #0xa] - movs r2, #0x80 - orrs r0, r2 - strb r0, [r1, #0xa] - ldrb r0, [r1, #0x1a] - orrs r0, r2 - strb r0, [r1, #0x1a] -_0802A780: - pop {r4, pc} - .align 2, 0 -_0802A784: .4byte 0xFFFE0000 -_0802A788: .4byte gUnk_03003F80 - - thumb_func_start sub_0802A78C -sub_0802A78C: @ 0x0802A78C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _0802A7CC - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802A7BC - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - cmp r0, #0 - bne _0802A7CC - adds r1, r4, #0 - adds r1, #0x7a - ldrh r0, [r1] - cmp r0, #0 - beq _0802A7CC - subs r0, #1 - strh r0, [r1] - b _0802A7CC -_0802A7BC: - ldrb r0, [r4, #0xb] - lsls r1, r0, #4 - subs r1, r1, r0 - lsls r1, r1, #2 - adds r1, #1 - adds r0, r4, #0 - adds r0, #0x7a - strh r1, [r0] -_0802A7CC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802A7D0 -sub_0802A7D0: @ 0x0802A7D0 - push {r4, lr} - ldr r3, _0802A800 @ =gUnk_080CD0B0 - movs r1, #0x7d - adds r1, r1, r0 - mov ip, r1 - ldrb r1, [r1] - adds r2, r1, #1 - mov r4, ip - strb r2, [r4] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1b - movs r2, #7 - ands r1, r2 - adds r1, r1, r3 - movs r2, #0 - ldrsb r2, [r1, r2] - movs r1, #0x80 - lsls r1, r1, #1 - adds r2, r2, r1 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - pop {r4, pc} - .align 2, 0 -_0802A800: .4byte gUnk_080CD0B0 - - thumb_func_start sub_0802A804 -sub_0802A804: @ 0x0802A804 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #2 - bne _0802A830 - adds r0, r5, #0 - bl sub_080012DC - adds r1, r0, #0 - cmp r1, #0 - beq _0802A830 - ldr r0, _0802A82C @ =gUnk_080012C8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _0802A844 - .align 2, 0 -_0802A82C: .4byte gUnk_080012C8 -_0802A830: - ldr r4, _0802A848 @ =gUnk_080CD0F0 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 -_0802A844: - pop {r4, r5, pc} - .align 2, 0 -_0802A848: .4byte gUnk_080CD0F0 - - thumb_func_start sub_0802A84C -sub_0802A84C: @ 0x0802A84C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _0802A878 - cmp r0, #3 - beq _0802A894 - ldr r0, _0802A874 @ =gUnk_080CD108 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0802AD54 - b _0802A8A4 - .align 2, 0 -_0802A874: .4byte gUnk_080CD108 -_0802A878: - ldr r0, _0802A890 @ =gUnk_080CD120 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0802B048 - b _0802A8A4 - .align 2, 0 -_0802A890: .4byte gUnk_080CD120 -_0802A894: - ldr r0, _0802A8A8 @ =gUnk_080CD134 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0802A8A4: - pop {r4, pc} - .align 2, 0 -_0802A8A8: .4byte gUnk_080CD134 - - thumb_func_start sub_0802A8AC -sub_0802A8AC: @ 0x0802A8AC - push {lr} - adds r1, r0, #0 - adds r2, r1, #0 - adds r2, #0x81 - movs r0, #0 - strb r0, [r2] - ldrb r0, [r1, #0xa] - cmp r0, #1 - bhi _0802A8C6 - adds r0, r1, #0 - movs r1, #0 - bl sub_08004260 -_0802A8C6: - pop {pc} - - thumb_func_start sub_0802A8C8 -sub_0802A8C8: @ 0x0802A8C8 - push {lr} - ldr r2, _0802A8DC @ =gUnk_080CD140 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802A8DC: .4byte gUnk_080CD140 - - thumb_func_start sub_0802A8E0 -sub_0802A8E0: @ 0x0802A8E0 - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_0802A8EC -sub_0802A8EC: @ 0x0802A8EC - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_0802A8F4 -sub_0802A8F4: @ 0x0802A8F4 - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_0802A8FC -sub_0802A8FC: @ 0x0802A8FC - push {lr} - adds r2, r0, #0 - ldr r0, _0802A914 @ =gUnk_03003F80 - ldrb r0, [r0, #0x1c] - movs r1, #0xf - ands r1, r0 - cmp r1, #0 - bne _0802A912 - adds r0, r2, #0 - adds r0, #0x45 - strb r1, [r0] -_0802A912: - pop {pc} - .align 2, 0 -_0802A914: .4byte gUnk_03003F80 - - thumb_func_start nullsub_143 -nullsub_143: @ 0x0802A918 - bx lr - .align 2, 0 - - thumb_func_start sub_0802A91C -sub_0802A91C: @ 0x0802A91C - adds r0, #0x45 - movs r1, #0 - strb r1, [r0] - bx lr - - thumb_func_start sub_0802A924 -sub_0802A924: @ 0x0802A924 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - movs r5, #0 - movs r6, #1 - movs r0, #1 - strb r0, [r7, #0xc] - strb r5, [r7, #0xd] - strb r5, [r7, #0xe] - strb r5, [r7, #0xf] - ldr r0, _0802A9A0 @ =gUnk_080CD16C - str r0, [r7, #0x48] - movs r4, #0 - ldr r0, _0802A9A4 @ =0x0000FFD0 - strh r0, [r7, #0x36] - bl sub_08000E50 - ands r0, r6 - adds r1, r7, #0 - adds r1, #0x80 - strb r0, [r1] - adds r0, r7, #0 - adds r0, #0x82 - strh r5, [r0] - subs r0, #7 - strb r4, [r0] - adds r0, #6 - strb r4, [r0] - subs r0, #7 - strb r4, [r0] - subs r0, #2 - strb r4, [r0] - adds r0, #1 - strb r4, [r0] - subs r1, #0x48 - movs r0, #3 - strb r0, [r1] - ldrb r2, [r7, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r7, #0x1b] - ldrb r0, [r7, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r7, #0x19] - adds r2, r7, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - ldrb r1, [r7, #0xa] - adds r1, #1 - adds r0, r7, #0 - bl sub_08004260 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0802A9A0: .4byte gUnk_080CD16C -_0802A9A4: .4byte 0x0000FFD0 - - thumb_func_start sub_0802A9A8 -sub_0802A9A8: @ 0x0802A9A8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0802A9B8 - subs r0, #1 - strb r0, [r4, #0xf] - b _0802AA3E -_0802A9B8: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802A9DE - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802AA38 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r0, #0x40 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #8 - bl sub_0802ACDC - b _0802AA38 -_0802A9DE: - ldr r0, _0802AA14 @ =gUnk_03000BF0 - ldrh r1, [r0] - adds r2, r0, #0 - cmp r1, #0 - bne _0802AA3E - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #1 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _0802AA18 - ldrh r0, [r2, #0xa] - subs r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #8 - b _0802AA26 - .align 2, 0 -_0802AA14: .4byte gUnk_03000BF0 -_0802AA18: - movs r1, #0x80 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r1, [r2, #0xa] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - movs r0, #0x18 -_0802AA26: - strb r0, [r4, #0x15] - ldrh r0, [r2, #0xc] - adds r0, #0x40 - strh r0, [r4, #0x32] - movs r0, #0x80 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0802ADDC -_0802AA38: - adds r0, r4, #0 - bl sub_0802AC40 -_0802AA3E: - pop {r4, pc} - - thumb_func_start sub_0802AA40 -sub_0802AA40: @ 0x0802AA40 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802AC40 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802AA66 - adds r0, r4, #0 - movs r1, #8 - bl sub_0802ACDC - adds r1, r4, #0 - adds r1, #0x7b - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] -_0802AA66: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802AA72 - subs r0, #1 - strb r0, [r4, #0xe] - b _0802AABE -_0802AA72: - ldr r2, [r4, #0x54] - cmp r2, #0 - beq _0802AABE - ldr r0, [r2, #4] - cmp r0, #0 - bne _0802AA82 - str r0, [r4, #0x54] - b _0802AABE -_0802AA82: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - lsls r0, r0, #4 - adds r1, r0, #0 - adds r1, #0x18 - movs r0, #0x18 - ands r1, r0 - adds r3, r4, #0 - adds r3, #0x7b - ldrb r0, [r3] - cmp r0, #0x20 - bls _0802AA9E - strb r1, [r4, #0x15] -_0802AA9E: - ldrb r0, [r4, #0x15] - cmp r0, r1 - bne _0802AABE - movs r0, #3 - strb r0, [r4, #0xc] - movs r1, #0 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - strb r1, [r3] - adds r1, r2, #0 - adds r1, #0x80 - movs r0, #1 - strb r0, [r1] - movs r0, #0x96 - strb r0, [r2, #0xe] -_0802AABE: - pop {r4, pc} - - thumb_func_start sub_0802AAC0 -sub_0802AAC0: @ 0x0802AAC0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_0802AC40 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - movs r6, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802AADE - adds r0, r4, #0 - movs r1, #4 - bl sub_0802AD1C -_0802AADE: - adds r2, r4, #0 - adds r2, #0x81 - ldrb r5, [r2] - cmp r5, #0 - beq _0802AB0E - ldr r1, [r4, #0x54] - cmp r1, #0 - bne _0802AAF2 - strb r1, [r2] - b _0802AB3C -_0802AAF2: - ldr r0, [r1, #4] - cmp r0, #0 - bne _0802AAFE - strb r0, [r2] - str r0, [r4, #0x54] - b _0802AB3C -_0802AAFE: - ldrb r3, [r1, #0xe] - cmp r3, #0 - bne _0802AB3C - ldrb r0, [r1, #0xf] - cmp r0, #0x50 - bhi _0802AB3C - strb r3, [r2] - b _0802AB3C -_0802AB0E: - movs r3, #4 - strb r3, [r4, #0xc] - movs r0, #0xc0 - strb r0, [r4, #0xe] - strb r3, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x80 - ldrb r0, [r2] - movs r1, #1 - eors r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x78 - strb r5, [r0] - adds r0, #1 - strb r3, [r0] - ldrb r0, [r4, #0x15] - orrs r0, r6 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0802AB3C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802AB40 -sub_0802AB40: @ 0x0802AB40 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802AC40 - adds r3, r4, #0 - adds r3, #0x78 - ldrb r0, [r3] - cmp r0, #1 - beq _0802AB94 - cmp r0, #1 - bgt _0802AB5C - cmp r0, #0 - beq _0802AB62 - b _0802AC04 -_0802AB5C: - cmp r0, #2 - beq _0802ABC2 - b _0802AC04 -_0802AB62: - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _0802AB86 - adds r1, r4, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802AC04 - movs r0, #4 - strb r0, [r1] - ldrh r0, [r4, #0x36] - adds r0, #1 - strh r0, [r4, #0x36] - b _0802AC04 -_0802AB86: - movs r0, #1 - strb r0, [r3] - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0x30 - strb r0, [r1] - b _0802ABB6 -_0802AB94: - adds r2, r4, #0 - adds r2, #0x79 - ldrb r0, [r2] - subs r1, r0, #1 - strb r1, [r2] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0802ABAE - movs r0, #2 - strb r0, [r3] - movs r0, #4 - strb r0, [r2] - b _0802AC04 -_0802ABAE: - movs r0, #7 - ands r1, r0 - cmp r1, #0 - bne _0802AC04 -_0802ABB6: - adds r0, r4, #0 - movs r1, #0 - bl sub_08049F84 - strb r0, [r4, #0x15] - b _0802AC04 -_0802ABC2: - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x30 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0802ABF2 - adds r1, r4, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802AC04 - movs r0, #4 - strb r0, [r1] - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - adds r0, r4, #0 - movs r1, #4 - bl sub_0802ACDC - b _0802AC04 -_0802ABF2: - movs r1, #0 - movs r0, #5 - strb r0, [r4, #0xc] - strh r1, [r4, #0x24] - ldrb r1, [r4, #0xa] - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 -_0802AC04: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802AC08 -sub_0802AC08: @ 0x0802AC08 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802AC36 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r0, #0x40 - strb r0, [r4, #0xe] - movs r0, #0xc0 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #8 - bl sub_0802ACDC - adds r0, r4, #0 - bl sub_0802ADDC -_0802AC36: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802AC40 -sub_0802AC40: @ 0x0802AC40 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F69C - adds r5, r4, #0 - adds r5, #0x7a - ldrb r0, [r5] - cmp r0, #0 - beq _0802ACA2 - adds r0, r4, #0 - bl sub_0802B234 - cmp r0, #0 - bne _0802AC72 - strb r0, [r5] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - b _0802ACD8 -_0802AC72: - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0802AC92 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x38 - ands r0, r1 - cmp r0, #8 - beq _0802ACDA - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - b _0802ACD6 -_0802AC92: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x38 - ands r0, r1 - cmp r0, #0x18 - beq _0802ACDA - b _0802ACCE -_0802ACA2: - adds r0, r4, #0 - bl sub_0802B234 - cmp r0, #0 - beq _0802ACDA - movs r0, #1 - strb r0, [r5] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0802ACC8 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - b _0802ACD6 -_0802ACC8: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] -_0802ACCE: - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 -_0802ACD6: - orrs r0, r1 -_0802ACD8: - strb r0, [r2] -_0802ACDA: - pop {r4, r5, pc} - - thumb_func_start sub_0802ACDC -sub_0802ACDC: @ 0x0802ACDC - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _0802ACF8 - ldr r0, _0802ACF4 @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r1, [r0, r2] - adds r1, #0x20 - b _0802AD00 - .align 2, 0 -_0802ACF4: .4byte gUnk_03000BF0 -_0802ACF8: - ldr r0, _0802AD18 @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r1, [r0, r2] - adds r1, #0xd0 -_0802AD00: - movs r3, #0xc - ldrsh r2, [r0, r3] - adds r2, #0x60 - adds r0, r4, #0 - bl sub_080045B4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - strb r5, [r4, #0xf] - pop {r4, r5, pc} - .align 2, 0 -_0802AD18: .4byte gUnk_03000BF0 - - thumb_func_start sub_0802AD1C -sub_0802AD1C: @ 0x0802AD1C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #1 - bl sub_08049DF4 - cmp r0, #0 - beq _0802AD48 - movs r1, #0x32 - ldrsh r2, [r0, r1] - subs r2, #0x18 - movs r3, #0x2e - ldrsh r1, [r0, r3] - adds r0, r4, #0 - bl sub_080045B4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - strb r5, [r4, #0xf] - b _0802AD50 -_0802AD48: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0802ACDC -_0802AD50: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802AD54 -sub_0802AD54: @ 0x0802AD54 - push {r4, lr} - adds r2, r0, #0 - adds r0, #0x82 - ldrh r0, [r0] - cmp r0, #0 - beq _0802ADAE - ldr r4, _0802AD7C @ =gUnk_03000BF0 - ldrh r0, [r4] - cmp r0, #0 - beq _0802AD80 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - bl sub_0805E7BC - b _0802ADD8 - .align 2, 0 -_0802AD7C: .4byte gUnk_03000BF0 -_0802AD80: - ldrh r1, [r4, #8] - movs r0, #0x32 - ldrsh r3, [r2, r0] - cmp r1, r3 - bgt _0802AD94 - ldrh r0, [r4, #0x20] - adds r0, r1, r0 - adds r0, #0x20 - cmp r0, r3 - bge _0802ADA0 -_0802AD94: - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - b _0802ADAE -_0802ADA0: - ldrb r0, [r2, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r2, #0x18] -_0802ADAE: - adds r0, r2, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _0802ADD8 - ldr r0, [r2, #0x54] - cmp r0, #0 - beq _0802ADC4 - ldr r0, [r0, #4] - cmp r0, #0 - bne _0802ADD8 -_0802ADC4: - movs r1, #4 - strb r1, [r2, #0xc] - movs r0, #0xc0 - strb r0, [r2, #0xe] - strb r1, [r2, #0xf] - adds r2, #0x80 - ldrb r0, [r2] - movs r1, #1 - eors r0, r1 - strb r0, [r2] -_0802ADD8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802ADDC -sub_0802ADDC: @ 0x0802ADDC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - adds r1, #2 - movs r0, #0x1b - bl sub_0804AA60 - adds r5, r0, #0 - cmp r5, #0 - beq _0802AE20 - adds r0, r4, #0 - bl sub_0802B234 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - strb r1, [r5, #0xb] - str r4, [r5, #0x50] - str r5, [r4, #0x54] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #1 - strb r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0802AE20 - subs r1, #7 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] -_0802AE20: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802AE24 -sub_0802AE24: @ 0x0802AE24 - push {lr} - mov ip, r0 - movs r2, #0 - movs r3, #1 - strb r3, [r0, #0xc] - movs r0, #0xf0 - mov r1, ip - strb r0, [r1, #0xe] - movs r0, #0x80 - lsls r0, r0, #8 - str r0, [r1, #0x20] - ldr r0, _0802AE64 @ =gUnk_080CD174 - str r0, [r1, #0x48] - adds r1, #0x3c - movs r0, #3 - strb r0, [r1] - mov r0, ip - strb r2, [r0, #0x16] - movs r0, #2 - mov r1, ip - strb r0, [r1, #0x1c] - mov r0, ip - adds r0, #0x81 - strb r2, [r0] - subs r0, #6 - strb r3, [r0] - mov r0, ip - movs r1, #3 - bl sub_08004260 - pop {pc} - .align 2, 0 -_0802AE64: .4byte gUnk_080CD174 - - thumb_func_start sub_0802AE68 -sub_0802AE68: @ 0x0802AE68 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802B250 - adds r1, r0, #0 - cmp r1, #0 - bne _0802AE8A - movs r0, #3 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0802B264 - b _0802AEBA -_0802AE8A: - adds r0, r1, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _0802AEA8 - adds r0, r1, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _0802AEBA -_0802AEA8: - movs r0, #3 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0802B264 -_0802AEBA: - pop {r4, pc} - - thumb_func_start sub_0802AEBC -sub_0802AEBC: @ 0x0802AEBC - push {lr} - ldr r2, _0802AED0 @ =gUnk_080CD158 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802AED0: .4byte gUnk_080CD158 - - thumb_func_start sub_0802AED4 -sub_0802AED4: @ 0x0802AED4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r5, r4, #0 - adds r5, #0x81 - ldrb r0, [r5] - cmp r0, #1 - bhi _0802AEFC - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #1 - bne _0802AF0C - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - b _0802AF0C -_0802AEFC: - adds r0, r4, #0 - bl sub_0800442E - cmp r0, #0 - bne _0802AF0C - adds r0, r4, #0 - bl sub_08078930 -_0802AF0C: - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0802AF24 - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _0802AF24 - movs r0, #0 - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] -_0802AF24: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802AF28 -sub_0802AF28: @ 0x0802AF28 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - bl sub_08079BD8 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_0802AF50 -sub_0802AF50: @ 0x0802AF50 - push {lr} - bl sub_08004274 - pop {pc} - - thumb_func_start sub_0802AF58 -sub_0802AF58: @ 0x0802AF58 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802AF74 -sub_0802AF74: @ 0x0802AF74 - push {lr} - adds r2, r0, #0 - movs r0, #0 - movs r1, #3 - strb r1, [r2, #0xc] - strb r0, [r2, #0xd] - ldrb r0, [r2, #0xe] - cmp r0, #0x3c - bls _0802AF8A - movs r0, #0x3c - strb r0, [r2, #0xe] -_0802AF8A: - adds r0, r2, #0 - bl sub_08004274 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802AF94 -sub_0802AF94: @ 0x0802AF94 - push {lr} - bl sub_0805E7BC - pop {pc} - - thumb_func_start sub_0802AF9C -sub_0802AF9C: @ 0x0802AF9C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802AFC6 - ldr r0, [r4, #0x50] - adds r1, r0, #0 - adds r1, #0x7a - ldrb r0, [r1] - cmp r0, #0 - beq _0802AFC0 - subs r0, #1 - strb r0, [r1] -_0802AFC0: - adds r0, r4, #0 - bl sub_0805E7BC -_0802AFC6: - pop {r4, pc} - - thumb_func_start sub_0802AFC8 -sub_0802AFC8: @ 0x0802AFC8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - movs r7, #8 - cmp r0, #0x28 - bhi _0802B022 - movs r7, #4 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r2, [r1] - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r2 - cmp r0, #0 - beq _0802AFEC - adds r0, r2, #0 - subs r0, #0x10 - b _0802AFF0 -_0802AFEC: - adds r0, r2, #0 - adds r0, #0x10 -_0802AFF0: - strh r0, [r1] - adds r5, r1, #0 - ldrh r2, [r5] - movs r6, #0xf0 - adds r3, r6, #0 - ands r3, r2 - subs r0, r3, #1 - cmp r0, #0x7f - bls _0802B00C - movs r3, #0x80 - lsls r3, r3, #8 - adds r0, r3, #0 - eors r0, r2 - strh r0, [r5] -_0802B00C: - ldrh r0, [r1] - adds r3, r6, #0 - ands r3, r0 - movs r2, #0x98 - lsls r2, r2, #1 - subs r2, r2, r3 - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C -_0802B022: - ldrb r0, [r4, #0xf] - ands r0, r7 - cmp r0, #0 - beq _0802B03A - ldrb r0, [r4, #0x1a] - lsrs r2, r0, #4 - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1a] - b _0802B044 -_0802B03A: - ldrb r1, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x1a] -_0802B044: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0802B048 -sub_0802B048: @ 0x0802B048 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x7b - ldrb r0, [r0] - cmp r0, #0 - beq _0802B080 - ldr r0, _0802B074 @ =gUnk_03000BF0 - ldrh r1, [r0, #8] - movs r3, #0x32 - ldrsh r2, [r4, r3] - cmp r1, r2 - bgt _0802B06A - ldrh r0, [r0, #0x20] - adds r0, r1, r0 - adds r0, #0x20 - cmp r0, r2 - bge _0802B078 -_0802B06A: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - b _0802B07E - .align 2, 0 -_0802B074: .4byte gUnk_03000BF0 -_0802B078: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 -_0802B07E: - strb r0, [r4, #0x10] -_0802B080: - ldr r5, [r4, #0x50] - cmp r5, #0 - beq _0802B0CA - ldrb r0, [r4, #0xc] - cmp r0, #1 - bne _0802B0CA - ldrb r1, [r5, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r3, [r4, #0x19] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - lsrs r1, r1, #0x1d - ldrb r3, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldrb r0, [r5, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r1, [r4, #0x1b] - ands r2, r1 - orrs r2, r0 - strb r2, [r4, #0x1b] -_0802B0CA: - ldrb r2, [r4, #0xc] - cmp r2, #4 - beq _0802B19E - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _0802B19E - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802B10E - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802B19E - movs r0, #0x50 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x82 - strh r1, [r0] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - movs r2, #0x80 - lsls r2, r2, #1 - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - b _0802B19E -_0802B10E: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0802B19E - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802B198 - cmp r2, #2 - bne _0802B12E - ldrb r0, [r4, #0xd] - cmp r0, #1 - bne _0802B12E - ldr r0, _0802B188 @ =gUnk_03003F80 - strb r1, [r0, #5] -_0802B12E: - adds r0, r4, #0 - bl sub_0805EC60 - movs r5, #0 - movs r0, #4 - strb r0, [r4, #0xc] - ldr r0, _0802B18C @ =gUnk_080CD17C - str r0, [r4, #0x48] - movs r0, #0xf - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x13 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x7b - strb r5, [r0] - adds r0, r4, #0 - bl sub_08078954 - ldr r1, [r4, #0x50] - ldr r0, [r1, #4] - cmp r0, #0 - beq _0802B16C - adds r0, r1, #0 - adds r0, #0x81 - strb r5, [r0] -_0802B16C: - adds r0, r4, #0 - movs r1, #0x20 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - adds r5, r0, #0 - cmp r5, #0 - beq _0802B190 - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - b _0802B19E - .align 2, 0 -_0802B188: .4byte gUnk_03003F80 -_0802B18C: .4byte gUnk_080CD17C -_0802B190: - adds r0, r4, #0 - bl sub_0805E7BC - b _0802B19E -_0802B198: - adds r0, r4, #0 - bl sub_0802AFC8 -_0802B19E: - pop {r4, r5, pc} - - thumb_func_start sub_0802B1A0 -sub_0802B1A0: @ 0x0802B1A0 - push {lr} - movs r1, #0 - movs r2, #1 - strb r2, [r0, #0xc] - strb r1, [r0, #0xe] - movs r1, #0x4f - strb r1, [r0, #0xf] - adds r1, r0, #0 - adds r1, #0x81 - strb r2, [r1] - movs r1, #0 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_0802B1BC -sub_0802B1BC: @ 0x0802B1BC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802B1CA - subs r0, #1 - strb r0, [r4, #0xe] -_0802B1CA: - adds r0, r4, #0 - bl sub_0802B250 - adds r1, r0, #0 - cmp r1, #0 - bne _0802B1E2 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0802B264 - b _0802B200 -_0802B1E2: - adds r0, r1, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _0802B1F6 - adds r0, r1, #0 - adds r1, r4, #0 - bl sub_0806FA24 - b _0802B200 -_0802B1F6: - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0802B264 -_0802B200: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802B204 -sub_0802B204: @ 0x0802B204 - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #0xa0 - lsls r1, r1, #6 - bl sub_080044EC - cmp r0, #1 - bne _0802B232 - movs r0, #0x22 - movs r1, #1 - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _0802B22E - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r0, [r5, #0x50] - str r0, [r4, #0x50] -_0802B22E: - bl sub_0805E780 -_0802B232: - pop {r4, r5, pc} - - thumb_func_start sub_0802B234 -sub_0802B234: @ 0x0802B234 - push {r4, lr} - movs r4, #0 - bl sub_080002A0 - ldr r1, _0802B24C @ =0xFFFFFE3C - adds r0, r0, r1 - cmp r0, #1 - bls _0802B246 - movs r4, #1 -_0802B246: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_0802B24C: .4byte 0xFFFFFE3C - - thumb_func_start sub_0802B250 -sub_0802B250: @ 0x0802B250 - push {lr} - ldr r1, [r0, #0x50] - cmp r1, #0 - beq _0802B260 - ldr r0, [r1, #4] - cmp r0, #0 - bne _0802B260 - movs r1, #0 -_0802B260: - adds r0, r1, #0 - pop {pc} - - thumb_func_start sub_0802B264 -sub_0802B264: @ 0x0802B264 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0802B234 - cmp r0, #0 - beq _0802B294 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #0x18 - orrs r1, r0 - strb r1, [r2] - b _0802B2A2 -_0802B294: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] -_0802B2A2: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802B2AC -sub_0802B2AC: @ 0x0802B2AC - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0802B2C4 @ =gUnk_080CD234 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0802B2C4: .4byte gUnk_080CD234 - - thumb_func_start sub_0802B2C8 -sub_0802B2C8: @ 0x0802B2C8 - push {lr} - ldr r2, _0802B2DC @ =gUnk_080CD24C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802B2DC: .4byte gUnk_080CD24C - - thumb_func_start sub_0802B2E0 -sub_0802B2E0: @ 0x0802B2E0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802B334 - movs r2, #0x7f - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0x14 - bne _0802B334 - ldrb r1, [r4, #0x10] - adds r0, r2, #0 - ands r0, r1 - movs r1, #0 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x3d - strb r1, [r0] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0802B334 - str r1, [r4, #0x54] - movs r0, #0xe - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0806FA24 -_0802B334: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_15 -nullsub_15: @ 0x0802B338 - bx lr - .align 2, 0 - - thumb_func_start sub_0802B33C -sub_0802B33C: @ 0x0802B33C - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xb] - strb r0, [r4, #0x15] - movs r0, #0x78 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802B35C -sub_0802B35C: @ 0x0802B35C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AEF88 - movs r3, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0802B374 - movs r3, #1 -_0802B374: - ldrh r0, [r4, #0x2a] - adds r2, r0, #0 - cmp r2, #0 - bne _0802B3A4 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0802B38A - b _0802B4A6 -_0802B38A: - movs r0, #0x78 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x15] - cmp r3, #0 - beq _0802B39A - adds r1, r0, #0 - adds r1, #8 - b _0802B39E -_0802B39A: - adds r1, r0, #0 - adds r1, #0x18 -_0802B39E: - movs r0, #0x18 - ands r0, r1 - b _0802B4A4 -_0802B3A4: - movs r0, #0x78 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x15] - movs r1, #0x18 - ands r1, r0 - cmp r1, #8 - beq _0802B474 - cmp r1, #8 - bgt _0802B3BC - cmp r1, #0 - beq _0802B3C6 - b _0802B4A6 -_0802B3BC: - cmp r1, #0x10 - beq _0802B404 - cmp r1, #0x18 - beq _0802B442 - b _0802B4A6 -_0802B3C6: - movs r0, #0xe - ands r0, r2 - cmp r0, #0 - beq _0802B3D8 - movs r0, #8 - cmp r3, #0 - beq _0802B4A4 - movs r0, #0x18 - b _0802B4A4 -_0802B3D8: - movs r0, #0xe0 - lsls r0, r0, #8 - ands r0, r2 - movs r1, #0x80 - lsls r1, r1, #7 - cmp r0, r1 - bne _0802B3EE - cmp r3, #0 - beq _0802B3EE - movs r0, #8 - strb r0, [r4, #0x15] -_0802B3EE: - movs r0, #0xe0 - lsls r0, r0, #4 - ands r0, r2 - movs r1, #0x80 - lsls r1, r1, #3 - cmp r0, r1 - bne _0802B4A6 - cmp r3, #0 - bne _0802B4A6 - movs r0, #0x18 - b _0802B4A4 -_0802B404: - movs r0, #0xe0 - ands r0, r2 - cmp r0, #0 - beq _0802B416 - movs r0, #0x18 - cmp r3, #0 - beq _0802B4A4 - movs r0, #8 - b _0802B4A4 -_0802B416: - movs r0, #0xe0 - lsls r0, r0, #8 - ands r0, r2 - movs r1, #0x80 - lsls r1, r1, #6 - cmp r0, r1 - bne _0802B42C - cmp r3, #0 - bne _0802B42C - movs r0, #8 - strb r0, [r4, #0x15] -_0802B42C: - movs r0, #0xe0 - lsls r0, r0, #4 - ands r0, r2 - movs r1, #0x80 - lsls r1, r1, #2 - cmp r0, r1 - bne _0802B4A6 - cmp r3, #0 - beq _0802B4A6 - movs r0, #0x18 - b _0802B4A4 -_0802B442: - movs r1, #0xe0 - lsls r1, r1, #4 - ands r1, r2 - cmp r1, #0 - beq _0802B458 - rsbs r0, r3, #0 - orrs r0, r3 - asrs r0, r0, #0x1f - movs r1, #0x10 - ands r0, r1 - b _0802B4A4 -_0802B458: - movs r0, #0xe - ands r0, r2 - cmp r0, #4 - bne _0802B466 - cmp r3, #0 - beq _0802B466 - strb r1, [r4, #0x15] -_0802B466: - movs r0, #0xe0 - ands r0, r2 - cmp r0, #0x40 - bne _0802B4A6 - cmp r3, #0 - bne _0802B4A6 - b _0802B4A2 -_0802B474: - movs r0, #0xe0 - lsls r0, r0, #8 - ands r0, r2 - cmp r0, #0 - beq _0802B488 - movs r0, #0 - cmp r3, #0 - bne _0802B4A4 - movs r0, #0x10 - b _0802B4A4 -_0802B488: - movs r0, #0xe - ands r0, r2 - cmp r0, #2 - bne _0802B496 - cmp r3, #0 - bne _0802B496 - strb r3, [r4, #0x15] -_0802B496: - movs r0, #0xe0 - ands r0, r2 - cmp r0, #0x20 - bne _0802B4A6 - cmp r3, #0 - beq _0802B4A6 -_0802B4A2: - movs r0, #0x10 -_0802B4A4: - strb r0, [r4, #0x15] -_0802B4A6: - pop {r4, pc} - - thumb_func_start sub_0802B4A8 -sub_0802B4A8: @ 0x0802B4A8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802B4D6 - adds r0, r4, #0 - movs r1, #0 - movs r2, #0x60 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _0802B4D0 - ldrh r0, [r1, #0x32] - subs r0, #4 - strh r0, [r1, #0x32] -_0802B4D0: - adds r0, r4, #0 - bl sub_0805E7BC -_0802B4D6: - pop {r4, pc} - - thumb_func_start sub_0802B4D8 -sub_0802B4D8: @ 0x0802B4D8 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - adds r1, r0, #0 - cmp r1, #0 - beq _0802B4FC - ldr r0, _0802B4F8 @ =gUnk_080012C8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _0802B510 - .align 2, 0 -_0802B4F8: .4byte gUnk_080012C8 -_0802B4FC: - ldr r4, _0802B514 @ =gUnk_080CD27C - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 -_0802B510: - pop {r4, r5, pc} - .align 2, 0 -_0802B514: .4byte gUnk_080CD27C - - thumb_func_start sub_0802B518 -sub_0802B518: @ 0x0802B518 - push {lr} - ldr r2, _0802B52C @ =gUnk_080CD298 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802B52C: .4byte gUnk_080CD298 - - thumb_func_start sub_0802B530 -sub_0802B530: @ 0x0802B530 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802B540 -sub_0802B540: @ 0x0802B540 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802B550 - subs r0, #1 - strb r0, [r4, #0xe] - b _0802B56A -_0802B550: - adds r0, r4, #0 - movs r1, #1 - movs r2, #0xc - bl sub_0804A024 - adds r1, r0, #0 - cmp r1, #0xff - beq _0802B56A - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x40 - strh r0, [r4, #0x24] - strb r1, [r4, #0x15] -_0802B56A: - pop {r4, pc} - - thumb_func_start sub_0802B56C -sub_0802B56C: @ 0x0802B56C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802B586 - movs r0, #0x40 - strh r0, [r4, #0x24] -_0802B586: - adds r0, r4, #0 - bl sub_080AF038 - cmp r0, #0 - beq _0802B5B8 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - beq _0802B5A2 - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0802B5A2: - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldr r0, _0802B5B4 @ =0x0000021F - cmp r1, r0 - bgt _0802B5C4 - adds r0, r2, #4 - strh r0, [r4, #0x24] - b _0802B5C4 - .align 2, 0 -_0802B5B4: .4byte 0x0000021F -_0802B5B8: - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_0802B5C4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802B5C8 -sub_0802B5C8: @ 0x0802B5C8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802B5EE - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0802B5EE: - pop {r4, pc} - - thumb_func_start sub_0802B5F0 -sub_0802B5F0: @ 0x0802B5F0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0802B60C @ =gUnk_080CD2D8 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_0802B60C: .4byte gUnk_080CD2D8 - - thumb_func_start sub_0802B610 -sub_0802B610: @ 0x0802B610 - push {lr} - ldr r2, _0802B624 @ =gUnk_080CD2F0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802B624: .4byte gUnk_080CD2F0 - - thumb_func_start sub_0802B628 -sub_0802B628: @ 0x0802B628 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0x1d - bhi _0802B706 - lsls r0, r1, #2 - ldr r1, _0802B644 @ =_0802B648 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802B644: .4byte _0802B648 -_0802B648: @ jump table - .4byte _0802B6C0 @ case 0 - .4byte _0802B706 @ case 1 - .4byte _0802B6CC @ case 2 - .4byte _0802B6CC @ case 3 - .4byte _0802B6C0 @ case 4 - .4byte _0802B6C0 @ case 5 - .4byte _0802B6C0 @ case 6 - .4byte _0802B706 @ case 7 - .4byte _0802B6C0 @ case 8 - .4byte _0802B6C0 @ case 9 - .4byte _0802B6C0 @ case 10 - .4byte _0802B6C0 @ case 11 - .4byte _0802B6C0 @ case 12 - .4byte _0802B706 @ case 13 - .4byte _0802B706 @ case 14 - .4byte _0802B706 @ case 15 - .4byte _0802B706 @ case 16 - .4byte _0802B706 @ case 17 - .4byte _0802B706 @ case 18 - .4byte _0802B706 @ case 19 - .4byte _0802B706 @ case 20 - .4byte _0802B706 @ case 21 - .4byte _0802B6CC @ case 22 - .4byte _0802B706 @ case 23 - .4byte _0802B6CC @ case 24 - .4byte _0802B6CC @ case 25 - .4byte _0802B6CC @ case 26 - .4byte _0802B706 @ case 27 - .4byte _0802B706 @ case 28 - .4byte _0802B6CC @ case 29 -_0802B6C0: - ldrb r0, [r4, #0xc] - cmp r0, #4 - bne _0802B706 - movs r0, #1 - strb r0, [r4, #0xe] - b _0802B706 -_0802B6CC: - ldrb r0, [r4, #0xc] - cmp r0, #5 - bhi _0802B706 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r1, #0 - movs r0, #0xc0 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x42 - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xf8 - strb r0, [r1] - adds r1, #2 - movs r0, #0x64 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #9 - bl sub_08004260 -_0802B706: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802B718 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802B718: - ldr r1, _0802B724 @ =gUnk_080CD2D8 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_0802B724: .4byte gUnk_080CD2D8 - - thumb_func_start nullsub_144 -nullsub_144: @ 0x0802B728 - bx lr - .align 2, 0 - - thumb_func_start sub_0802B72C -sub_0802B72C: @ 0x0802B72C - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xe] - movs r0, #0xff - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0802B7A4 - pop {r4, pc} - - thumb_func_start sub_0802B744 -sub_0802B744: @ 0x0802B744 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802B780 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0xc - bl sub_0804A024 - adds r1, r0, #0 - cmp r1, #0xff - beq _0802B780 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #0x18 - ands r1, r0 - strb r1, [r4, #0x15] - adds r0, r4, #0 - movs r1, #8 - bl sub_08004260 - b _0802B7A2 -_0802B780: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802B794 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x1e - b _0802B7A0 -_0802B794: - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _0802B7A2 - movs r0, #1 -_0802B7A0: - strb r0, [r4, #0xe] -_0802B7A2: - pop {r4, pc} - - thumb_func_start sub_0802B7A4 -sub_0802B7A4: @ 0x0802B7A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802B7F4 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _0802B7F8 @ =gUnk_080CD314 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xe] - movs r0, #0x60 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0802B960 - ldrb r0, [r4, #0x15] - lsls r1, r0, #0x18 - lsrs r0, r1, #0x18 - cmp r0, #0xff - beq _0802B7F4 - lsrs r2, r1, #0x1b - ldrb r0, [r4, #0x14] - cmp r2, r0 - beq _0802B7F4 - movs r1, #3 - adds r0, r2, #0 - ands r0, r1 - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_08004260 -_0802B7F4: - pop {r4, pc} - .align 2, 0 -_0802B7F8: .4byte gUnk_080CD314 - - thumb_func_start sub_0802B7FC -sub_0802B7FC: @ 0x0802B7FC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802B81E - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #0xe0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] -_0802B81E: - pop {r4, pc} - - thumb_func_start sub_0802B820 -sub_0802B820: @ 0x0802B820 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - cmp r0, #0 - bne _0802B830 - movs r0, #1 - strb r0, [r4, #0xe] -_0802B830: - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802B84A - adds r0, r4, #0 - bl sub_0802B9B4 - b _0802B87E -_0802B84A: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802B878 - ldrb r1, [r4, #0xe] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _0802B87E - ldr r0, _0802B874 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - b _0802B87E - .align 2, 0 -_0802B874: .4byte gUnk_020000B0 -_0802B878: - adds r0, r4, #0 - bl sub_0802B9B4 -_0802B87E: - pop {r4, pc} - - thumb_func_start sub_0802B880 -sub_0802B880: @ 0x0802B880 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802B8AC - movs r0, #2 - strb r0, [r2, #0xc] - movs r0, #0x3c - strb r0, [r2, #0xe] - ldrb r0, [r2, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #3 - strb r0, [r2, #0x14] - ldrb r1, [r2, #0x14] - adds r0, r2, #0 - bl sub_08004260 -_0802B8AC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802B8B0 -sub_0802B8B0: @ 0x0802B8B0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - beq _0802B8CC - cmp r0, #1 - beq _0802B8D4 - b _0802B8DA -_0802B8CC: - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x96 - strb r0, [r4, #0xe] -_0802B8D4: - ldr r0, _0802B8DC @ =0x0000012B - bl sub_08004488 -_0802B8DA: - pop {r4, pc} - .align 2, 0 -_0802B8DC: .4byte 0x0000012B - - thumb_func_start sub_0802B8E0 -sub_0802B8E0: @ 0x0802B8E0 - push {r4, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xe] - subs r1, r0, #1 - strb r1, [r3, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - beq _0802B91C - adds r4, r0, #0 - lsrs r0, r4, #0x18 - cmp r0, #0x3b - bhi _0802B940 - movs r0, #1 - ands r1, r0 - cmp r1, #0 - beq _0802B940 - adds r3, #0x62 - ldr r2, _0802B918 @ =gUnk_080CD318 - lsrs r0, r4, #0x19 - movs r1, #3 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - ldrb r1, [r3] - adds r0, r0, r1 - strb r0, [r3] - b _0802B940 - .align 2, 0 -_0802B918: .4byte gUnk_080CD318 -_0802B91C: - movs r0, #8 - strb r0, [r3, #0xc] - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r3, #0x20] - movs r0, #0x60 - strh r0, [r3, #0x24] - adds r1, r3, #0 - adds r1, #0x3f - movs r0, #0x63 - strb r0, [r1] - ldrb r1, [r3, #0x14] - adds r0, r3, #0 - bl sub_08004260 - ldr r0, _0802B944 @ =0x0000012B - bl sub_08004488 -_0802B940: - pop {r4, pc} - .align 2, 0 -_0802B944: .4byte 0x0000012B - - thumb_func_start sub_0802B948 -sub_0802B948: @ 0x0802B948 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - cmp r0, #0 - bne _0802B95E - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0xe] -_0802B95E: - pop {r4, pc} - - thumb_func_start sub_0802B960 -sub_0802B960: @ 0x0802B960 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802B986 - bl sub_08000E50 - movs r1, #7 - ands r1, r0 - cmp r1, #0 - bne _0802B9A6 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - adds r0, #4 - b _0802B9AA -_0802B986: - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0802B9A6 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - bne _0802B9A6 - adds r0, r4, #0 - bl sub_08049EE4 - adds r0, #4 - b _0802B9AA -_0802B9A6: - bl sub_08000E50 -_0802B9AA: - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802B9B4 -sub_0802B9B4: @ 0x0802B9B4 - push {lr} - movs r1, #5 - strb r1, [r0, #0xc] - movs r1, #0x3c - strb r1, [r0, #0xe] - ldrb r1, [r0, #0x15] - lsrs r1, r1, #3 - movs r2, #3 - ands r1, r2 - strb r1, [r0, #0x14] - ldrb r1, [r0, #0x14] - adds r1, #4 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802B9D4 -sub_0802B9D4: @ 0x0802B9D4 - push {lr} - ldr r2, _0802B9E8 @ =gUnk_080CD3C4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802B9E8: .4byte gUnk_080CD3C4 - - thumb_func_start sub_0802B9EC -sub_0802B9EC: @ 0x0802B9EC - adds r2, r0, #0 - movs r0, #1 - strb r0, [r2, #0xc] - ldr r1, _0802BA14 @ =gUnk_080CD3D4 - ldrb r0, [r2, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x78 - strh r1, [r0] - adds r0, #0xc - ldrh r1, [r0] - subs r0, #8 - strh r1, [r0] - adds r0, #0xa - ldrh r1, [r0] - subs r0, #8 - strh r1, [r0] - bx lr - .align 2, 0 -_0802BA14: .4byte gUnk_080CD3D4 - - thumb_func_start sub_0802BA18 -sub_0802BA18: @ 0x0802BA18 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #1 - movs r2, #0xe - bl sub_0804A024 - adds r5, r0, #0 - cmp r5, #0xff - beq _0802BA88 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0802BB2C - cmp r0, #0 - bne _0802BA88 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - strh r0, [r4, #0x24] - strb r5, [r4, #0x15] - lsrs r0, r5, #3 - cmp r0, #1 - beq _0802BA60 - cmp r0, #1 - blo _0802BA58 - cmp r0, #2 - beq _0802BA6C - cmp r0, #3 - beq _0802BA78 - b _0802BA88 -_0802BA58: - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r4, #0x32] - b _0802BA7E -_0802BA60: - adds r0, r4, #0 - adds r0, #0x7c - ldrh r0, [r0] - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - b _0802BA82 -_0802BA6C: - adds r0, r4, #0 - adds r0, #0x7e - ldrh r0, [r0] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - b _0802BA82 -_0802BA78: - adds r1, r4, #0 - adds r1, #0x7c - ldrh r0, [r4, #0x2e] -_0802BA7E: - ldrh r1, [r1] - subs r0, r0, r1 -_0802BA82: - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] -_0802BA88: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802BA8C -sub_0802BA8C: @ 0x0802BA8C - push {r4, lr} - adds r4, r0, #0 - bl sub_080AF038 - cmp r0, #0 - beq _0802BADE - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - cmp r0, #1 - beq _0802BAC4 - cmp r0, #1 - bgt _0802BAAA - cmp r0, #0 - beq _0802BAB4 - b _0802BAFA -_0802BAAA: - cmp r0, #2 - beq _0802BAD0 - cmp r0, #3 - beq _0802BAE6 - b _0802BAFA -_0802BAB4: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r1, [r0] - movs r2, #0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _0802BAFA - b _0802BADE -_0802BAC4: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r1, [r0] - movs r2, #0x2e - ldrsh r0, [r4, r2] - b _0802BADA -_0802BAD0: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r1, [r0] - movs r2, #0x32 - ldrsh r0, [r4, r2] -_0802BADA: - cmp r1, r0 - bgt _0802BAFA -_0802BADE: - adds r0, r4, #0 - bl sub_0802BB10 - b _0802BAFA -_0802BAE6: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r1, [r0] - movs r2, #0x2e - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _0802BAFA - adds r0, r4, #0 - bl sub_0802BB10 -_0802BAFA: - pop {r4, pc} - - thumb_func_start sub_0802BAFC -sub_0802BAFC: @ 0x0802BAFC - push {r4, lr} - adds r4, r0, #0 - bl sub_080AF038 - cmp r0, #0 - bne _0802BB0C - movs r0, #1 - strb r0, [r4, #0xc] -_0802BB0C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802BB10 -sub_0802BB10: @ 0x0802BB10 - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - movs r1, #0xc0 - strh r1, [r0, #0x24] - ldrb r1, [r0, #0x15] - movs r2, #0x10 - eors r1, r2 - strb r1, [r0, #0x15] - movs r0, #0x74 - bl sub_08004488 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802BB2C -sub_0802BB2C: @ 0x0802BB2C - push {r4, lr} - adds r2, r0, #0 - adds r0, #0x38 - ldrb r0, [r0] - ldr r4, _0802BB60 @ =gUnk_02027EB4 - cmp r0, #2 - bne _0802BB3C - ldr r4, _0802BB64 @ =gUnk_0200D654 -_0802BB3C: - lsrs r3, r1, #2 - ldr r0, _0802BB68 @ =gUnk_080CD3DC - adds r3, r3, r0 - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r0, #0 - ldrsb r0, [r3, r0] - adds r1, r1, r0 - movs r0, #0x32 - ldrsh r2, [r2, r0] - movs r0, #1 - ldrsb r0, [r3, r0] - adds r2, r2, r0 - adds r0, r4, #0 - movs r3, #0 - bl sub_080AE4CC - pop {r4, pc} - .align 2, 0 -_0802BB60: .4byte gUnk_02027EB4 -_0802BB64: .4byte gUnk_0200D654 -_0802BB68: .4byte gUnk_080CD3DC - - thumb_func_start sub_0802BB6C -sub_0802BB6C: @ 0x0802BB6C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0802BB94 - ldr r1, _0802BB90 @ =gUnk_080CD3E4 - adds r0, r4, #0 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - b _0802BBA4 - .align 2, 0 -_0802BB90: .4byte gUnk_080CD3E4 -_0802BB94: - ldr r0, _0802BBA8 @ =gUnk_080CD3FC - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0802BBA4: - pop {r4, pc} - .align 2, 0 -_0802BBA8: .4byte gUnk_080CD3FC - - thumb_func_start sub_0802BBAC -sub_0802BBAC: @ 0x0802BBAC - push {lr} - ldr r2, _0802BBC0 @ =gUnk_080CD408 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802BBC0: .4byte gUnk_080CD408 - - thumb_func_start sub_0802BBC4 -sub_0802BBC4: @ 0x0802BBC4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x19 - beq _0802BBFE - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - beq _0802BBEA - cmp r1, #0 - blt _0802BBFE - cmp r1, #3 - bgt _0802BBFE - cmp r1, #2 - blt _0802BBFE -_0802BBEA: - ldrb r0, [r4, #0xc] - cmp r0, #4 - bne _0802BBFE - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0802C218 -_0802BBFE: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802BC10 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802BC10: - ldr r1, _0802BC1C @ =gUnk_080CD3E4 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_0802BC1C: .4byte gUnk_080CD3E4 - - thumb_func_start sub_0802BC20 -sub_0802BC20: @ 0x0802BC20 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x19 - beq _0802BC4C - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _0802BC6C - ldr r0, _0802BC48 @ =gUnk_080CD42C - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0802BC6C - .align 2, 0 -_0802BC48: .4byte gUnk_080CD42C -_0802BC4C: - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _0802BC5C - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _0802BC6C -_0802BC5C: - ldr r0, _0802BC70 @ =gUnk_080CD438 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0802BC6C: - pop {r4, pc} - .align 2, 0 -_0802BC70: .4byte gUnk_080CD438 - - thumb_func_start sub_0802BC74 -sub_0802BC74: @ 0x0802BC74 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802C1C0 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0x1d] - ldr r0, _0802BC9C @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - movs r1, #2 - eors r0, r1 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 -_0802BC9C: .4byte gUnk_03001160 - - thumb_func_start sub_0802BCA0 -sub_0802BCA0: @ 0x0802BCA0 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_0802BCA8 -sub_0802BCA8: @ 0x0802BCA8 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x3f - ldrb r0, [r1] - cmp r0, #0x19 - beq _0802BCFA - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0x19 - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x3a - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - movs r0, #0x12 - strb r0, [r4, #0x1c] - movs r0, #0x20 - movs r1, #1 - bl sub_0804AA60 - adds r1, r0, #0 - cmp r1, #0 - beq _0802BCF0 - ldrb r0, [r4, #0x14] - strb r0, [r1, #0x14] - adds r0, r4, #0 - bl sub_0806FA24 -_0802BCF0: - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_0802BCFA: - pop {r4, pc} - - thumb_func_start sub_0802BCFC -sub_0802BCFC: @ 0x0802BCFC - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_0802BD08 -sub_0802BD08: @ 0x0802BD08 - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_0802BD10 -sub_0802BD10: @ 0x0802BD10 - push {lr} - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #2 - bl sub_08004276 - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_145 -nullsub_145: @ 0x0802BD24 - bx lr - .align 2, 0 - - thumb_func_start sub_0802BD28 -sub_0802BD28: @ 0x0802BD28 - push {lr} - adds r2, r0, #0 - ldrb r3, [r2, #0x10] - movs r0, #0x80 - ands r0, r3 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0802BD4C - movs r0, #0x80 - orrs r0, r3 - strb r0, [r2, #0x10] - adds r2, #0x3a - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - b _0802BD52 -_0802BD4C: - adds r0, r2, #0 - adds r0, #0x45 - strb r1, [r0] -_0802BD52: - pop {pc} - - thumb_func_start sub_0802BD54 -sub_0802BD54: @ 0x0802BD54 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - adds r1, r4, #0 - adds r1, #0x78 - strb r0, [r1] - movs r0, #0x3c - strb r0, [r4, #0x1d] - adds r1, #1 - movs r0, #0xff - strb r0, [r1] - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_0802BD8C -sub_0802BD8C: @ 0x0802BD8C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802BD9C - subs r0, #1 - strb r0, [r4, #0xe] - b _0802BDDE -_0802BD9C: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802BDCA - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x10 - bl sub_0804A024 - adds r1, r0, #0 - cmp r1, #0xff - beq _0802BDCA - adds r0, r4, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r1, r0 - beq _0802BDCA - adds r0, r4, #0 - bl sub_0802C058 - b _0802BDDE -_0802BDCA: - adds r0, r4, #0 - bl sub_0802C020 - adds r1, r0, #0 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _0802BDDE - adds r0, r4, #0 - bl sub_0802C058 -_0802BDDE: - pop {r4, pc} - - thumb_func_start sub_0802BDE0 -sub_0802BDE0: @ 0x0802BDE0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802C06C - cmp r0, #0 - beq _0802BDFE - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0xff - strb r0, [r1] - b _0802BE16 -_0802BDFE: - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - adds r0, #0xf - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x79 - strb r1, [r0] -_0802BE16: - pop {r4, pc} - - thumb_func_start sub_0802BE18 -sub_0802BE18: @ 0x0802BE18 - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_08004276 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802BE3E - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - b _0802BE44 -_0802BE3E: - adds r0, r4, #0 - bl sub_0802C18C -_0802BE44: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802BE48 -sub_0802BE48: @ 0x0802BE48 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - cmp r0, #0 - bne _0802BE64 - adds r0, r4, #0 - bl sub_0802C218 - movs r0, #8 - movs r1, #0 - bl sub_08080964 - b _0802BE7E -_0802BE64: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0802C1CC - adds r0, r4, #0 - bl sub_0802C0E8 - cmp r0, #0 - beq _0802BE7E - movs r0, #5 - strb r0, [r4, #0xc] -_0802BE7E: - pop {r4, pc} - - thumb_func_start sub_0802BE80 -sub_0802BE80: @ 0x0802BE80 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x24] - subs r0, #0x20 - strh r0, [r4, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xff - ble _0802BE98 - adds r0, r4, #0 - bl sub_0802C1CC -_0802BE98: - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0 - ble _0802BEAE - adds r0, r4, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - bl sub_0802C18C - b _0802BEBA -_0802BEAE: - adds r0, r4, #0 - bl sub_0802C1C0 - ldrb r0, [r4, #0xe] - adds r0, #0x1e - strb r0, [r4, #0xe] -_0802BEBA: - pop {r4, pc} - - thumb_func_start sub_0802BEBC -sub_0802BEBC: @ 0x0802BEBC - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0x15] - movs r4, #0x10 - eors r0, r4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_080AEFE0 - ldrb r0, [r5, #0x15] - eors r0, r4 - strb r0, [r5, #0x15] - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r5, #0 - bl sub_080044EC - cmp r0, #0 - bne _0802BEE8 - adds r0, r5, #0 - bl sub_0802C1C0 -_0802BEE8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802BEEC -sub_0802BEEC: @ 0x0802BEEC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802BF1E - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0802BF3A - ldrb r0, [r4, #0x14] - movs r1, #2 - eors r0, r1 - strb r0, [r4, #0x14] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - b _0802BF3A -_0802BF1E: - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0802BF3A - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #0x90 - lsls r0, r0, #1 - strh r0, [r4, #0x24] -_0802BF3A: - pop {r4, pc} - - thumb_func_start sub_0802BF3C -sub_0802BF3C: @ 0x0802BF3C - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802BF76 - movs r0, #0x1e - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0802C020 - strb r0, [r4, #0x15] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1b - ldrb r1, [r4, #0x14] - cmp r0, r1 - beq _0802BF76 - strb r0, [r4, #0x14] - adds r1, r0, #4 - adds r0, r4, #0 - bl sub_08004260 -_0802BF76: - pop {r4, pc} - - thumb_func_start sub_0802BF78 -sub_0802BF78: @ 0x0802BF78 - push {lr} - movs r2, #1 - strb r2, [r0, #0xc] - adds r3, r0, #0 - adds r3, #0x3b - movs r1, #4 - strb r1, [r3] - strb r2, [r0, #0x1c] - ldrb r1, [r0, #0x14] - lsls r1, r1, #3 - strb r1, [r0, #0x15] - ldrb r1, [r0, #0x14] - adds r1, #8 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_0802BF98 -sub_0802BF98: @ 0x0802BF98 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - beq _0802BFBC - ldr r0, _0802BFB8 @ =gUnk_080CD450 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0802BFCC - .align 2, 0 -_0802BFB8: .4byte gUnk_080CD450 -_0802BFBC: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] -_0802BFCC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802BFD0 -sub_0802BFD0: @ 0x0802BFD0 - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_0802BFD8 -sub_0802BFD8: @ 0x0802BFD8 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_0802BFE0 -sub_0802BFE0: @ 0x0802BFE0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0802BFF2 - adds r0, r4, #0 - bl sub_0805E7BC -_0802BFF2: - pop {r4, pc} - - thumb_func_start sub_0802BFF4 -sub_0802BFF4: @ 0x0802BFF4 - push {lr} - adds r3, r0, #0 - ldrb r2, [r3, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802C01C - adds r0, r3, #0 - bl sub_0805E7BC -_0802C01C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802C020 -sub_0802C020: @ 0x0802C020 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08000E50 - adds r4, r0, #0 - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0802C03E - movs r6, #1 - adds r0, r4, #0 - ands r0, r6 - cmp r0, #0 - beq _0802C044 -_0802C03E: - movs r0, #0x18 - ands r0, r4 - b _0802C056 -_0802C044: - adds r0, r5, #0 - bl sub_08049EE4 - lsrs r1, r4, #0x10 - ands r1, r6 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r1, #0x18 - ands r0, r1 -_0802C056: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0802C058 -sub_0802C058: @ 0x0802C058 - push {lr} - movs r2, #2 - strb r2, [r0, #0xc] - strb r1, [r0, #0x15] - lsrs r1, r1, #3 - strb r1, [r0, #0x14] - ldrb r1, [r0, #0x14] - bl sub_08004260 - pop {pc} - - thumb_func_start sub_0802C06C -sub_0802C06C: @ 0x0802C06C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - movs r1, #0x2e - ldrsh r2, [r0, r1] - ldr r3, [r0, #0x48] - movs r1, #0 - ldrsb r1, [r3, r1] - adds r6, r2, r1 - movs r1, #0x32 - ldrsh r2, [r0, r1] - movs r1, #1 - ldrsb r1, [r3, r1] - adds r5, r2, r1 - ldr r3, _0802C0CC @ =gUnk_080CD45C - ldrb r1, [r0, #0x15] - lsrs r1, r1, #2 - adds r2, r1, r3 - ldrb r2, [r2] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - mov sb, r2 - adds r1, #1 - adds r1, r1, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov r8, r1 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _0802C0D0 @ =gUnk_02027EB4 - cmp r0, #2 - bne _0802C0B2 - ldr r7, _0802C0D4 @ =gUnk_0200D654 -_0802C0B2: - movs r4, #0 -_0802C0B4: - add r6, sb - add r5, r8 - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r5, #0 - movs r3, #0 - bl sub_080AE4CC - cmp r0, #0 - beq _0802C0D8 - movs r0, #0 - b _0802C0E0 - .align 2, 0 -_0802C0CC: .4byte gUnk_080CD45C -_0802C0D0: .4byte gUnk_02027EB4 -_0802C0D4: .4byte gUnk_0200D654 -_0802C0D8: - adds r4, #1 - cmp r4, #7 - bls _0802C0B4 - movs r0, #1 -_0802C0E0: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0802C0E8 -sub_0802C0E8: @ 0x0802C0E8 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802C0FC - movs r0, #1 - b _0802C178 -_0802C0FC: - ldrb r3, [r5, #0x15] - lsrs r3, r3, #2 - ldr r0, _0802C17C @ =gUnk_080CD45C - adds r3, r3, r0 - movs r0, #0x2e - ldrsh r2, [r5, r0] - ldr r4, [r5, #0x48] - movs r0, #0 - ldrsb r0, [r4, r0] - adds r2, r2, r0 - movs r1, #0 - ldrsb r1, [r3, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r6, r2, r0 - movs r0, #0x32 - ldrsh r2, [r5, r0] - movs r0, #1 - ldrsb r0, [r4, r0] - adds r2, r2, r0 - movs r1, #1 - ldrsb r1, [r3, r1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r4, r2, r0 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _0802C180 @ =gUnk_02027EB4 - cmp r0, #2 - bne _0802C140 - ldr r7, _0802C184 @ =gUnk_0200D654 -_0802C140: - movs r5, #0 - ldr r1, _0802C188 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r0, r6, r0 - asrs r0, r0, #4 - movs r2, #0x3f - ands r0, r2 - ldrh r1, [r1, #8] - subs r1, r4, r1 - asrs r1, r1, #4 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - movs r1, #9 - bl sub_0806FC24 - cmp r0, #0 - bne _0802C176 - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #0 - bl sub_080AE4CC - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r5, r1, #0x1f -_0802C176: - adds r0, r5, #0 -_0802C178: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0802C17C: .4byte gUnk_080CD45C -_0802C180: .4byte gUnk_02027EB4 -_0802C184: .4byte gUnk_0200D654 -_0802C188: .4byte gUnk_03000BF0 - - thumb_func_start sub_0802C18C -sub_0802C18C: @ 0x0802C18C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x78 - ldrb r1, [r0] - subs r1, #1 - strb r1, [r0] - movs r0, #7 - ands r1, r0 - cmp r1, #0 - bne _0802C1BC - movs r0, #0xf - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0802C1BC - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 -_0802C1BC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802C1C0 -sub_0802C1C0: @ 0x0802C1C0 - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x1e - strb r1, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_0802C1CC -sub_0802C1CC: @ 0x0802C1CC - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0x14] - lsls r4, r4, #2 - ldr r0, _0802C214 @ =gUnk_080CD464 - adds r4, r4, r0 - movs r0, #0x2e - ldrsh r2, [r5, r0] - movs r0, #0 - ldrsb r0, [r4, r0] - adds r2, r2, r0 - movs r0, #0x32 - ldrsh r3, [r5, r0] - movs r0, #1 - ldrsb r0, [r4, r0] - adds r3, r3, r0 - adds r0, r5, #0 - movs r1, #9 - bl sub_08008796 - movs r0, #0x2e - ldrsh r2, [r5, r0] - movs r0, #2 - ldrsb r0, [r4, r0] - adds r2, r2, r0 - movs r0, #0x32 - ldrsh r3, [r5, r0] - movs r0, #3 - ldrsb r0, [r4, r0] - adds r3, r3, r0 - adds r0, r5, #0 - movs r1, #9 - bl sub_08008796 - pop {r4, r5, pc} - .align 2, 0 -_0802C214: .4byte gUnk_080CD464 - - thumb_func_start sub_0802C218 -sub_0802C218: @ 0x0802C218 - movs r1, #6 - strb r1, [r0, #0xc] - movs r1, #0xe0 - strh r1, [r0, #0x24] - movs r1, #0xc0 - lsls r1, r1, #9 - str r1, [r0, #0x20] - bx lr - - thumb_func_start sub_0802C228 -sub_0802C228: @ 0x0802C228 - push {lr} - ldr r1, _0802C234 @ =gUnk_080CD540 - bl sub_0800129E - pop {pc} - .align 2, 0 -_0802C234: .4byte gUnk_080CD540 - - thumb_func_start sub_0802C238 -sub_0802C238: @ 0x0802C238 - push {lr} - ldr r2, _0802C24C @ =gUnk_080CD558 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802C24C: .4byte gUnk_080CD558 - - thumb_func_start sub_0802C250 -sub_0802C250: @ 0x0802C250 - bx lr - .align 2, 0 - - thumb_func_start sub_0802C254 -sub_0802C254: @ 0x0802C254 - bx lr - .align 2, 0 - - thumb_func_start sub_0802C258 -sub_0802C258: @ 0x0802C258 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #2 - strb r0, [r4, #0xe] - bl sub_08000E50 - adds r2, r0, #0 - movs r0, #0x70 - ands r2, r0 - adds r3, r4, #0 - adds r3, #0x7a - movs r1, #0 - strh r2, [r3] - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0802C288 - cmp r0, #2 - beq _0802C290 - b _0802C29C -_0802C288: - movs r0, #0x80 - lsls r0, r0, #1 - adds r1, r0, #0 - b _0802C296 -_0802C290: - movs r5, #0x80 - lsls r5, r5, #2 - adds r1, r5, #0 -_0802C296: - adds r0, r2, #0 - orrs r0, r1 - strh r0, [r3] -_0802C29C: - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x80 - movs r2, #0 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x82 - strh r0, [r1] - ldr r0, _0802C310 @ =0x0000FFF0 - strh r0, [r4, #0x36] - subs r1, #0x4a - movs r0, #3 - strb r0, [r1] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x7c - strh r2, [r0] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0802C314 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x7e - strh r1, [r0] - adds r0, r4, #0 - bl sub_0802C62C - adds r0, r4, #0 - bl sub_0802C4B0 - pop {r4, r5, pc} - .align 2, 0 -_0802C310: .4byte 0x0000FFF0 -_0802C314: .4byte gUnk_03000BF0 - - thumb_func_start sub_0802C318 -sub_0802C318: @ 0x0802C318 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x7a - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802C330 - movs r0, #2 - strb r0, [r2, #0xc] -_0802C330: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0802C334 -sub_0802C334: @ 0x0802C334 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r3, r4, #0 - adds r3, #0x7c - ldrh r0, [r3] - cmp r0, #0 - bne _0802C36A - ldr r0, _0802C3C4 @ =gUnk_03000BF0 - ldrh r1, [r0, #8] - ldr r2, _0802C3C8 @ =gUnk_03001160 - cmp r2, #0 - bne _0802C34E - b _0802C4AA -_0802C34E: - movs r5, #0x32 - ldrsh r0, [r2, r5] - subs r0, r0, r1 - cmp r0, #0x38 - bhi _0802C35A - b _0802C4AA -_0802C35A: - movs r0, #1 - strh r0, [r3] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_0802C36A: - adds r0, r4, #0 - bl sub_08004274 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0802C3C4 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x7e - strh r1, [r0] - adds r0, #6 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #1 - bne _0802C3CC - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_08004488 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0xc - strh r0, [r1] - adds r0, r4, #0 - bl sub_0802C4B0 - b _0802C48C - .align 2, 0 -_0802C3C4: .4byte gUnk_03000BF0 -_0802C3C8: .4byte gUnk_03001160 -_0802C3CC: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r1, [r0] - adds r7, r0, #0 - cmp r1, #0 - beq _0802C442 - subs r0, r1, #1 - strh r0, [r7] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0 - beq _0802C3EA - cmp r0, #8 - beq _0802C3F4 - b _0802C442 -_0802C3EA: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - b _0802C442 -_0802C3F4: - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0802C442 - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0802C442 - movs r6, #0 - movs r5, #1 -_0802C408: - adds r0, r4, #0 - movs r1, #0x15 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0802C420 - ldrh r0, [r2, #0x2e] - adds r0, #0xc - subs r0, r0, r6 - strh r0, [r2, #0x2e] -_0802C420: - adds r6, #0x18 - subs r5, #1 - cmp r5, #0 - bge _0802C408 - adds r0, r4, #0 - bl sub_0802C62C - bl sub_08000E50 - movs r1, #0xff - ands r0, r1 - movs r2, #0x80 - lsls r2, r2, #1 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r7] - b _0802C4AA -_0802C442: - ldr r0, _0802C45C @ =gUnk_03000BF0 - ldrh r1, [r0, #8] - ldrh r0, [r0, #0x20] - adds r1, r1, r0 - movs r5, #0x32 - ldrsh r0, [r4, r5] - subs r5, r1, r0 - cmp r5, #4 - ble _0802C460 - adds r0, r4, #0 - bl sub_080AEFB4 - b _0802C48C - .align 2, 0 -_0802C45C: .4byte gUnk_03000BF0 -_0802C460: - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0x36 - ldrsh r0, [r4, r1] - subs r0, r0, r5 - cmp r0, #0x38 - ble _0802C48C - adds r0, r4, #0 - bl sub_0802C62C - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strh r0, [r7] - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _0802C48C - strb r0, [r4, #0xc] -_0802C48C: - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0xb - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08016A04 -_0802C4AA: - pop {r4, r5, r6, r7, pc} - - thumb_func_start nullsub_148 -nullsub_148: @ 0x0802C4AC - bx lr - .align 2, 0 - - thumb_func_start sub_0802C4B0 -sub_0802C4B0: @ 0x0802C4B0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r0, #0x7e - ldrh r0, [r0] - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - adds r1, r0, #0 - ldr r0, _0802C4D8 @ =0x000001AB - cmp r1, r0 - blo _0802C4E4 - adds r0, #4 - cmp r1, r0 - bls _0802C4DC - adds r0, #0x15 - cmp r1, r0 - beq _0802C4E0 - b _0802C4E4 - .align 2, 0 -_0802C4D8: .4byte 0x000001AB -_0802C4DC: - movs r6, #8 - b _0802C4E6 -_0802C4E0: - movs r6, #4 - b _0802C4E6 -_0802C4E4: - movs r6, #0 -_0802C4E6: - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #7 - ands r4, r0 - movs r0, #4 - ands r0, r4 - cmp r0, #0 - beq _0802C518 - movs r0, #3 - ands r4, r0 - cmp r4, #0 - beq _0802C50C - ldr r0, _0802C508 @ =gUnk_080CD568 - movs r1, #2 - orrs r1, r6 - b _0802C532 - .align 2, 0 -_0802C508: .4byte gUnk_080CD568 -_0802C50C: - ldr r0, _0802C514 @ =gUnk_080CD568 - lsls r1, r6, #1 - b _0802C534 - .align 2, 0 -_0802C514: .4byte gUnk_080CD568 -_0802C518: - movs r2, #3 - ands r4, r2 - cmp r4, #0 - beq _0802C52C - ldr r0, _0802C528 @ =gUnk_080CD568 - movs r1, #1 - orrs r1, r6 - b _0802C532 - .align 2, 0 -_0802C528: .4byte gUnk_080CD568 -_0802C52C: - ldr r0, _0802C570 @ =gUnk_080CD568 - adds r1, r6, #0 - orrs r1, r2 -_0802C532: - lsls r1, r1, #1 -_0802C534: - adds r1, r1, r0 - ldrh r0, [r1] - strh r0, [r5, #0x24] - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #7 - ands r4, r0 - movs r0, #4 - ands r0, r4 - cmp r0, #0 - beq _0802C584 - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _0802C55E - movs r0, #0 - strb r0, [r5, #0xe] - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 -_0802C55E: - movs r0, #3 - ands r4, r0 - cmp r4, #0 - beq _0802C578 - ldr r0, _0802C574 @ =gUnk_080CD580 - movs r1, #1 - orrs r1, r6 - b _0802C5B2 - .align 2, 0 -_0802C570: .4byte gUnk_080CD568 -_0802C574: .4byte gUnk_080CD580 -_0802C578: - ldr r0, _0802C580 @ =gUnk_080CD580 - adds r0, r6, r0 - ldrb r0, [r0] - b _0802C5B6 - .align 2, 0 -_0802C580: .4byte gUnk_080CD580 -_0802C584: - ldrb r0, [r5, #0xe] - cmp r0, #1 - beq _0802C596 - movs r0, #1 - strb r0, [r5, #0xe] - adds r0, r5, #0 - movs r1, #1 - bl sub_08004260 -_0802C596: - movs r2, #3 - ands r4, r2 - cmp r4, #0 - beq _0802C5AC - ldr r0, _0802C5A8 @ =gUnk_080CD580 - movs r1, #2 - orrs r1, r6 - b _0802C5B2 - .align 2, 0 -_0802C5A8: .4byte gUnk_080CD580 -_0802C5AC: - ldr r0, _0802C5E4 @ =gUnk_080CD580 - adds r1, r6, #0 - orrs r1, r2 -_0802C5B2: - adds r1, r1, r0 - ldrb r0, [r1] -_0802C5B6: - strb r0, [r5, #0x15] - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #7 - ands r4, r0 - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r5, #0x20] - movs r0, #4 - ands r0, r4 - cmp r0, #0 - beq _0802C5FC - movs r0, #3 - ands r4, r0 - cmp r4, #0 - beq _0802C5EC - adds r2, r5, #0 - adds r2, #0x84 - ldr r1, _0802C5E8 @ =gUnk_080CD58C - movs r0, #1 - orrs r6, r0 - b _0802C61A - .align 2, 0 -_0802C5E4: .4byte gUnk_080CD580 -_0802C5E8: .4byte gUnk_080CD58C -_0802C5EC: - adds r2, r5, #0 - adds r2, #0x84 - ldr r1, _0802C5F8 @ =gUnk_080CD58C - orrs r6, r0 - b _0802C61A - .align 2, 0 -_0802C5F8: .4byte gUnk_080CD58C -_0802C5FC: - movs r0, #3 - ands r4, r0 - cmp r4, #0 - beq _0802C614 - adds r2, r5, #0 - adds r2, #0x84 - ldr r1, _0802C610 @ =gUnk_080CD58C - movs r0, #2 - orrs r6, r0 - b _0802C61A - .align 2, 0 -_0802C610: .4byte gUnk_080CD58C -_0802C614: - adds r2, r5, #0 - adds r2, #0x84 - ldr r1, _0802C628 @ =gUnk_080CD58C -_0802C61A: - lsls r0, r6, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - str r0, [r2] - pop {r4, r5, r6, pc} - .align 2, 0 -_0802C628: .4byte gUnk_080CD58C - - thumb_func_start sub_0802C62C -sub_0802C62C: @ 0x0802C62C - adds r3, r0, #0 - movs r2, #0 - movs r0, #1 - strb r0, [r3, #0xc] - adds r0, r3, #0 - adds r0, #0x82 - ldrh r0, [r0] - strh r0, [r3, #0x32] - adds r0, r3, #0 - adds r0, #0x80 - ldrh r0, [r0] - strh r0, [r3, #0x2e] - ldrb r1, [r3, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r3, #0x18] - ldrb r1, [r3, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r3, #0x10] - adds r0, r3, #0 - adds r0, #0x7c - strh r2, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_0802C660 -sub_0802C660: @ 0x0802C660 - push {lr} - ldr r1, _0802C66C @ =gUnk_080CD5D4 - bl sub_0800129E - pop {pc} - .align 2, 0 -_0802C66C: .4byte gUnk_080CD5D4 - - thumb_func_start sub_0802C670 -sub_0802C670: @ 0x0802C670 - push {lr} - ldr r2, _0802C684 @ =gUnk_080CD5EC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802C684: .4byte gUnk_080CD5EC - - thumb_func_start sub_0802C688 -sub_0802C688: @ 0x0802C688 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0802C69A - b _0802C79E -_0802C69A: - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x16 - bhi _0802C740 - lsls r0, r0, #2 - ldr r1, _0802C6AC @ =_0802C6B0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802C6AC: .4byte _0802C6B0 -_0802C6B0: @ jump table - .4byte _0802C70C @ case 0 - .4byte _0802C70C @ case 1 - .4byte _0802C740 @ case 2 - .4byte _0802C740 @ case 3 - .4byte _0802C740 @ case 4 - .4byte _0802C740 @ case 5 - .4byte _0802C740 @ case 6 - .4byte _0802C740 @ case 7 - .4byte _0802C740 @ case 8 - .4byte _0802C740 @ case 9 - .4byte _0802C740 @ case 10 - .4byte _0802C740 @ case 11 - .4byte _0802C740 @ case 12 - .4byte _0802C740 @ case 13 - .4byte _0802C72C @ case 14 - .4byte _0802C740 @ case 15 - .4byte _0802C740 @ case 16 - .4byte _0802C740 @ case 17 - .4byte _0802C740 @ case 18 - .4byte _0802C740 @ case 19 - .4byte _0802C72C @ case 20 - .4byte _0802C72C @ case 21 - .4byte _0802C72C @ case 22 -_0802C70C: - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - beq _0802C7A6 - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - ldr r0, _0802C728 @ =gUnk_03001160 - adds r0, #0x42 - movs r1, #4 - strb r1, [r0] - b _0802C7A6 - .align 2, 0 -_0802C728: .4byte gUnk_03001160 -_0802C72C: - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x42 - strb r1, [r0] - adds r0, r4, #0 - bl sub_0802CBC4 - b _0802C7A6 -_0802C740: - adds r2, r4, #0 - adds r2, #0x82 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #0x1c - strb r0, [r1] - ldrb r0, [r2] - cmp r0, #1 - beq _0802C75E - cmp r0, #2 - beq _0802C770 - b _0802C79E -_0802C75E: - adds r0, r4, #0 - bl sub_0802CB68 - ldr r0, _0802C76C @ =0x0000014D - bl sub_08004488 - b _0802C79E - .align 2, 0 -_0802C76C: .4byte 0x0000014D -_0802C770: - movs r0, #3 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x6e - strb r0, [r1] - movs r1, #1 - strb r1, [r4, #0xf] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x81 - strb r1, [r0] - ldrb r1, [r4, #0x15] - lsrs r1, r1, #4 - movs r0, #6 - orrs r1, r0 - adds r0, r4, #0 - bl sub_08004260 -_0802C79E: - ldr r1, _0802C7A8 @ =gUnk_080CD5D4 - adds r0, r4, #0 - bl sub_0804AA30 -_0802C7A6: - pop {r4, pc} - .align 2, 0 -_0802C7A8: .4byte gUnk_080CD5D4 - - thumb_func_start sub_0802C7AC -sub_0802C7AC: @ 0x0802C7AC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _0802C7F6 - adds r0, r4, #0 - bl sub_0806F520 - adds r1, r0, #0 - cmp r1, #0 - bne _0802C7F6 - strb r1, [r4, #0xd] - movs r0, #1 - strb r0, [r4, #0xf] - strh r1, [r4, #0x36] - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #2 - beq _0802C7E2 - movs r1, #0x80 - cmp r0, #0 - beq _0802C7E0 - movs r0, #0x80 - lsls r0, r0, #2 - adds r1, r0, #0 -_0802C7E0: - strh r1, [r4, #0x24] -_0802C7E2: - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r0, r4, #0 - adds r0, #0x83 - movs r1, #0 - strb r1, [r0] - subs r0, #2 - strb r1, [r0] - b _0802C816 -_0802C7F6: - ldr r0, _0802C818 @ =0x0000FFFF - strh r0, [r4, #0x36] - ldr r1, _0802C81C @ =gUnk_080CD600 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802C816 - adds r0, r4, #0 - bl sub_08004274 -_0802C816: - pop {r4, pc} - .align 2, 0 -_0802C818: .4byte 0x0000FFFF -_0802C81C: .4byte gUnk_080CD600 - - thumb_func_start sub_0802C820 -sub_0802C820: @ 0x0802C820 - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_0802C82C -sub_0802C82C: @ 0x0802C82C - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_0802C834 -sub_0802C834: @ 0x0802C834 - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_0802C83C -sub_0802C83C: @ 0x0802C83C - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x82 - ldrb r0, [r1] - cmp r0, #0 - beq _0802C88C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802C884 - movs r0, #3 - strb r0, [r4, #0xc] - ldr r0, _0802C86C @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - movs r1, #6 - ands r1, r0 - cmp r1, #2 - beq _0802C870 - cmp r1, #6 - beq _0802C876 - b _0802C87C - .align 2, 0 -_0802C86C: .4byte gUnk_03001160 -_0802C870: - ldrh r0, [r4, #0x2e] - subs r0, #6 - b _0802C87A -_0802C876: - ldrh r0, [r4, #0x2e] - adds r0, #6 -_0802C87A: - strh r0, [r4, #0x2e] -_0802C87C: - adds r0, r4, #0 - bl sub_0802CBC4 - b _0802C8B2 -_0802C884: - adds r0, r4, #0 - bl sub_0802CC18 - b _0802C8A2 -_0802C88C: - movs r0, #2 - strb r0, [r1] - movs r0, #0x78 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x15] - lsrs r1, r1, #4 - movs r0, #6 - orrs r1, r0 - adds r0, r4, #0 - bl sub_08004260 -_0802C8A2: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x6e - strb r0, [r1] -_0802C8B2: - pop {r4, pc} - - thumb_func_start nullsub_149 -nullsub_149: @ 0x0802C8B4 - bx lr - .align 2, 0 - - thumb_func_start sub_0802C8B8 -sub_0802C8B8: @ 0x0802C8B8 - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - bl sub_0802CBC4 - pop {pc} - - thumb_func_start sub_0802C8C4 -sub_0802C8C4: @ 0x0802C8C4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A7D4 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - pop {r4, pc} - - thumb_func_start sub_0802C8D8 -sub_0802C8D8: @ 0x0802C8D8 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0x3c - strb r0, [r5, #0xe] - strb r4, [r5, #0xf] - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r5, #0x15] - strb r4, [r5, #0x16] - movs r0, #0x12 - strb r0, [r5, #0x1c] - adds r0, r5, #0 - adds r0, #0x82 - strb r4, [r0] - adds r0, #1 - strb r4, [r0] - subs r0, #3 - strb r4, [r0] - adds r0, #1 - strb r4, [r0] - ldrb r1, [r5, #0x15] - lsrs r1, r1, #4 - adds r0, r5, #0 - bl sub_08004260 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802C91C -sub_0802C91C: @ 0x0802C91C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - beq _0802C97A - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _0802C950 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E - ldrb r1, [r4, #0x15] - lsrs r1, r1, #4 - movs r0, #2 - orrs r1, r0 - adds r0, r4, #0 - bl sub_08004260 -_0802C950: - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0802C964 - adds r0, r4, #0 - bl sub_0802CBC4 - b _0802C9B4 -_0802C964: - movs r0, #0xf - ands r1, r0 - cmp r1, #8 - bne _0802C972 - adds r0, r4, #0 - bl sub_080A29FC -_0802C972: - adds r0, r4, #0 - bl sub_0802CC18 - b _0802C9B4 -_0802C97A: - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _0802C992 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E - ldrb r1, [r4, #0x15] - lsrs r1, r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_0802C992: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802C9B4 - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x15] - adds r1, #8 - movs r0, #0x1c - ands r1, r0 - strb r1, [r4, #0x15] - lsrs r1, r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_0802C9B4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802C9B8 -sub_0802C9B8: @ 0x0802C9B8 - push {lr} - ldr r2, _0802C9CC @ =gUnk_080CD618 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802C9CC: .4byte gUnk_080CD618 - - thumb_func_start sub_0802C9D0 -sub_0802C9D0: @ 0x0802C9D0 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - strb r2, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x83 - strb r2, [r0] - adds r0, r4, #0 - bl sub_0802CC18 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #4 - movs r0, #6 - orrs r1, r0 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_0802CA10 -sub_0802CA10: @ 0x0802CA10 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0802CA30 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #5 - beq _0802CA42 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802CA34 - adds r0, r4, #0 - bl sub_0802CBC4 - b _0802CA66 - .align 2, 0 -_0802CA30: .4byte gUnk_03003F80 -_0802CA34: - adds r0, r4, #0 - bl sub_0802CC18 - adds r0, r4, #0 - bl sub_08004274 - b _0802CA66 -_0802CA42: - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #2 - strb r0, [r1] - ldr r0, _0802CA68 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsls r0, r0, #2 - movs r1, #4 - orrs r0, r1 - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0802CC18 - adds r0, r4, #0 - bl sub_08004274 -_0802CA66: - pop {r4, pc} - .align 2, 0 -_0802CA68: .4byte gUnk_03001160 - - thumb_func_start sub_0802CA6C -sub_0802CA6C: @ 0x0802CA6C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802CA84 - adds r0, r4, #0 - bl sub_0802CBC4 - b _0802CA90 -_0802CA84: - adds r0, r4, #0 - bl sub_0802CC18 - adds r0, r4, #0 - bl sub_08004274 -_0802CA90: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802CA94 -sub_0802CA94: @ 0x0802CA94 - push {lr} - adds r3, r0, #0 - movs r2, #0 - movs r0, #3 - strb r0, [r3, #0xc] - ldrb r1, [r3, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r3, #0x10] - movs r0, #1 - strb r0, [r3, #0xf] - movs r0, #0x29 - adds r0, r0, r3 - mov ip, r0 - ldrb r1, [r0] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r3, #0x20] - movs r0, #0 - strh r2, [r3, #0x24] - adds r1, r3, #0 - adds r1, #0x83 - strb r0, [r1] - subs r1, #2 - strb r0, [r1] - ldr r0, _0802CAF4 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - lsls r1, r1, #2 - movs r0, #4 - orrs r1, r0 - movs r0, #0x1c - ands r1, r0 - strb r1, [r3, #0x15] - lsrs r1, r1, #4 - movs r0, #6 - orrs r1, r0 - adds r0, r3, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 -_0802CAF4: .4byte gUnk_03001160 - - thumb_func_start sub_0802CAF8 -sub_0802CAF8: @ 0x0802CAF8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802CB10 - adds r0, r4, #0 - bl sub_0802CBC4 - b _0802CB62 -_0802CB10: - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _0802CB30 - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #1 - bne _0802CB30 - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 -_0802CB30: - adds r0, r4, #0 - bl sub_0802CC18 - adds r0, r4, #0 - bl sub_08078930 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0802CB5C - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0802CB5C - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r1, r0 - strb r1, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x6e - strb r0, [r1] -_0802CB5C: - adds r0, r4, #0 - bl sub_08004274 -_0802CB62: - pop {r4, pc} - - thumb_func_start nullsub_150 -nullsub_150: @ 0x0802CB64 - bx lr - .align 2, 0 - - thumb_func_start sub_0802CB68 -sub_0802CB68: @ 0x0802CB68 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r5, #0xc] - strb r1, [r5, #0xd] - bl sub_08000E50 - adds r2, r0, #0 - movs r0, #0x18 - ands r2, r0 - movs r0, #4 - orrs r2, r0 - orrs r2, r4 - strb r2, [r5, #0x15] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r0, r5, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - beq _0802CBB2 - movs r0, #0xc8 - strb r0, [r5, #0xe] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - lsrs r1, r2, #4 - movs r0, #2 - orrs r1, r0 - adds r0, r5, #0 - bl sub_08004260 - b _0802CBC2 -_0802CBB2: - movs r0, #0x3c - strb r0, [r5, #0xe] - movs r0, #0x80 - strh r0, [r5, #0x24] - lsrs r1, r2, #4 - adds r0, r5, #0 - bl sub_08004260 -_0802CBC2: - pop {r4, r5, pc} - - thumb_func_start sub_0802CBC4 -sub_0802CBC4: @ 0x0802CBC4 - push {r4, lr} - adds r4, r0, #0 - movs r2, #0 - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #8 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x45 - strb r2, [r0] - adds r0, #0x3e - ldrb r0, [r0] - cmp r0, #0 - beq _0802CBF0 - bl sub_08079184 -_0802CBF0: - adds r0, r4, #0 - bl sub_08078954 - adds r0, r4, #0 - movs r1, #0x20 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - adds r2, r0, #0 - cmp r2, #0 - beq _0802CC14 - adds r0, r4, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] -_0802CC14: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802CC18 -sub_0802CC18: @ 0x0802CC18 - push {lr} - adds r1, r0, #0 - adds r1, #0x80 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802CC34 - movs r0, #0x1c - strb r0, [r1] - ldr r0, _0802CC38 @ =0x0000014D - bl sub_08004488 -_0802CC34: - pop {pc} - .align 2, 0 -_0802CC38: .4byte 0x0000014D - - thumb_func_start sub_0802CC3C -sub_0802CC3C: @ 0x0802CC3C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0802CC64 @ =gUnk_080CD6FC - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, r5, pc} - .align 2, 0 -_0802CC64: .4byte gUnk_080CD6FC - - thumb_func_start sub_0802CC68 -sub_0802CC68: @ 0x0802CC68 - push {lr} - ldr r2, _0802CC7C @ =gUnk_080CD714 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802CC7C: .4byte gUnk_080CD714 - - thumb_func_start sub_0802CC80 -sub_0802CC80: @ 0x0802CC80 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r5, #0x7f - adds r1, r5, #0 - ands r1, r0 - cmp r1, #0 - blt _0802CCB8 - cmp r1, #1 - ble _0802CC9A - cmp r1, #0x1e - bne _0802CCB8 -_0802CC9A: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - ldr r2, _0802CCD4 @ =gUnk_03001160 - ldrb r1, [r2, #0x10] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r2, #0x10] -_0802CCB8: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802CCCA - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802CCCA: - ldr r1, _0802CCD8 @ =gUnk_080CD6FC - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_0802CCD4: .4byte gUnk_03001160 -_0802CCD8: .4byte gUnk_080CD6FC - - thumb_func_start nullsub_151 -nullsub_151: @ 0x0802CCDC - bx lr - .align 2, 0 - - thumb_func_start sub_0802CCE0 -sub_0802CCE0: @ 0x0802CCE0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r5, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - bl sub_08000E50 - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x20 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xff - strb r0, [r4, #0x14] - ldr r0, _0802CD50 @ =0x0000FFFE - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - bl sub_08000E50 - adds r1, r4, #0 - adds r1, #0x7a - strb r0, [r1] - lsrs r0, r0, #8 - movs r1, #0x60 - ands r0, r1 - adds r1, r4, #0 - adds r1, #0x7b - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7c - strh r5, [r0] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0802CF64 - adds r0, r4, #0 - bl sub_0802CFD8 - pop {r4, r5, pc} - .align 2, 0 -_0802CD50: .4byte 0x0000FFFE - - thumb_func_start sub_0802CD54 -sub_0802CD54: @ 0x0802CD54 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08004274 - adds r0, r5, #0 - bl sub_0802CFD8 - adds r1, r5, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0 - beq _0802CD76 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802CDC8 -_0802CD76: - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802CDC8 - adds r6, r5, #0 - adds r6, #0x7b - ldrb r0, [r6] - cmp r0, #0 - bne _0802CDC4 - movs r0, #2 - strb r0, [r5, #0xc] - bl sub_08000E50 - adds r4, r0, #0 - lsrs r0, r4, #0x10 - strb r0, [r5, #0xe] - movs r0, #0xc0 - strh r0, [r5, #0x24] - bl sub_08000E50 - ldr r2, _0802CDC0 @ =gUnk_080CD728 - movs r1, #3 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - adds r0, r5, #0 - adds r0, #0x78 - strh r1, [r0] - lsrs r4, r4, #0x18 - movs r0, #0x60 - ands r4, r0 - strb r4, [r6] - b _0802CDE4 - .align 2, 0 -_0802CDC0: .4byte gUnk_080CD728 -_0802CDC4: - subs r0, #1 - strb r0, [r6] -_0802CDC8: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802CDDE - movs r0, #0x3c - strb r0, [r5, #0xe] - adds r0, r5, #0 - bl sub_0802CF64 -_0802CDDE: - adds r0, r5, #0 - bl sub_0806F69C -_0802CDE4: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802CDE8 -sub_0802CDE8: @ 0x0802CDE8 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0802CE3C - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802CE3C - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _0802CE2E - ldr r0, _0802CE38 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - adds r0, r4, #0 - bl sub_0802CF8C -_0802CE2E: - adds r0, r4, #0 - bl sub_0806F69C - b _0802CE58 - .align 2, 0 -_0802CE38: .4byte gUnk_020000B0 -_0802CE3C: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x60 - strh r0, [r4, #0x24] - bl sub_08000E50 - movs r1, #0x38 - ands r0, r1 - adds r0, #0x96 - adds r1, r4, #0 - adds r1, #0x7c - strh r0, [r1] -_0802CE58: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0802CFD8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802CE68 -sub_0802CE68: @ 0x0802CE68 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _0802CED4 @ =gUnk_03003F80 - ldrb r1, [r2, #0xa] - movs r0, #0x80 - orrs r1, r0 - strb r1, [r2, #0xa] - ldrb r1, [r2, #0x1a] - orrs r0, r1 - strb r0, [r2, #0x1a] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r5, _0802CED8 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - bne _0802CEAC - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F69C -_0802CEAC: - adds r0, r4, #0 - bl sub_0802CFD8 - adds r0, r4, #0 - bl sub_08004274 - adds r3, r4, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _0802CEDC - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - b _0802CEF0 - .align 2, 0 -_0802CED4: .4byte gUnk_03003F80 -_0802CED8: .4byte gUnk_03001160 -_0802CEDC: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802CEF0 - strb r2, [r3] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r5, #0x18] -_0802CEF0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802CEF4 -sub_0802CEF4: @ 0x0802CEF4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802CFD8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802CF28 - bl sub_0805E5A8 - ldr r1, _0802CF20 @ =gUnk_0813AB1C - ldr r0, _0802CF24 @ =gUnk_02033A90 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl sub_08080840 - b _0802CF5A - .align 2, 0 -_0802CF20: .4byte gUnk_0813AB1C -_0802CF24: .4byte gUnk_02033A90 -_0802CF28: - ldr r0, [r4, #0x34] - ldr r1, _0802CF5C @ =0xFFFE0000 - adds r0, r0, r1 - str r0, [r4, #0x34] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x30 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0802CF4A - ldrb r0, [r4, #0x18] - movs r1, #0x31 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #0x10 - orrs r1, r0 - strb r1, [r4, #0x18] -_0802CF4A: - ldr r1, _0802CF60 @ =gUnk_03003F80 - ldrb r0, [r1, #0xa] - movs r2, #0x80 - orrs r0, r2 - strb r0, [r1, #0xa] - ldrb r0, [r1, #0x1a] - orrs r0, r2 - strb r0, [r1, #0x1a] -_0802CF5A: - pop {r4, pc} - .align 2, 0 -_0802CF5C: .4byte 0xFFFE0000 -_0802CF60: .4byte gUnk_03003F80 - - thumb_func_start sub_0802CF64 -sub_0802CF64: @ 0x0802CF64 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0802CF76 - bl sub_08000E50 - b _0802CF7E -_0802CF76: - adds r0, r4, #0 - bl sub_08049EE4 - adds r0, #2 -_0802CF7E: - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0802CF8C - pop {r4, pc} - - thumb_func_start sub_0802CF8C -sub_0802CF8C: @ 0x0802CF8C - push {r4, lr} - adds r3, r0, #0 - ldrb r1, [r3, #0x15] - adds r2, r1, #2 - movs r0, #0x1c - ands r2, r0 - ldrb r4, [r3, #0x14] - lsls r0, r4, #2 - subs r0, r2, r0 - adds r0, #6 - cmp r0, #0xc - bls _0802CFA8 - lsrs r0, r2, #2 - b _0802CFB8 -_0802CFA8: - adds r0, r1, #1 - movs r1, #7 - ands r0, r1 - cmp r0, #2 - ble _0802CFD0 - lsrs r0, r2, #2 - cmp r0, r4 - beq _0802CFD0 -_0802CFB8: - strb r0, [r3, #0x14] - lsrs r0, r2, #3 - lsls r0, r0, #2 - ldr r1, _0802CFD4 @ =gUnk_080CD730 - adds r2, r0, r1 - ldrh r1, [r2] - adds r0, r3, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r1, [r2, #2] - adds r0, #2 - strh r1, [r0] -_0802CFD0: - pop {r4, pc} - .align 2, 0 -_0802CFD4: .4byte gUnk_080CD730 - - thumb_func_start sub_0802CFD8 -sub_0802CFD8: @ 0x0802CFD8 - push {lr} - mov ip, r0 - ldr r2, _0802D014 @ =gUnk_080CD740 - mov r3, ip - adds r3, #0x7a - ldrb r0, [r3] - adds r1, r0, #1 - strb r1, [r3] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1b - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - mov r0, ip - adds r0, #0x74 - movs r3, #0 - ldrsh r1, [r0, r3] - adds r1, r1, r2 - movs r0, #0x80 - lsls r0, r0, #1 - adds r2, r2, r0 - mov r0, ip - adds r0, #0x76 - ldrh r3, [r0] - mov r0, ip - bl sub_0805EC9C - pop {pc} - .align 2, 0 -_0802D014: .4byte gUnk_080CD740 - - thumb_func_start sub_0802D018 -sub_0802D018: @ 0x0802D018 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0802D030 @ =gUnk_080CD748 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0802D030: .4byte gUnk_080CD748 - - thumb_func_start sub_0802D034 -sub_0802D034: @ 0x0802D034 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08078B48 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0802D0F4 - cmp r0, #1 - bgt _0802D04C - cmp r0, #0 - beq _0802D104 - b _0802D148 -_0802D04C: - cmp r0, #2 - bne _0802D148 - ldrb r1, [r4, #0xb] - cmp r1, #0 - bne _0802D090 - movs r0, #1 - strb r0, [r4, #0xb] - strb r1, [r4, #0xe] - movs r0, #0x3c - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x74 - movs r0, #0x10 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x75 - strb r1, [r0] - ldr r1, _0802D088 @ =gUnk_03000F50 - ldrb r2, [r2] - adds r0, r1, #0 - adds r0, #0x68 - strh r2, [r0] - adds r1, #0x66 - ldr r0, _0802D08C @ =0x00001442 - strh r0, [r1] - movs r0, #0xf6 - bl sub_080A3268 - b _0802D148 - .align 2, 0 -_0802D088: .4byte gUnk_03000F50 -_0802D08C: .4byte 0x00001442 -_0802D090: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _0802D0D2 - adds r3, r4, #0 - adds r3, #0x75 - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - ldr r2, _0802D0EC @ =gUnk_03000F50 - ldrb r1, [r1] - ldrb r0, [r3] - lsls r0, r0, #8 - orrs r1, r0 - adds r2, #0x68 - strh r1, [r2] - movs r0, #0x80 - lsls r0, r0, #5 - cmp r1, r0 - bne _0802D0D2 - ldr r0, _0802D0F0 @ =gUnk_03001160 - bl sub_0807AABC - bl sub_0805E780 -_0802D0D2: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0802D148 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802D148 - movs r0, #0xf7 - bl sub_080A3268 - b _0802D148 - .align 2, 0 -_0802D0EC: .4byte gUnk_03000F50 -_0802D0F0: .4byte gUnk_03001160 -_0802D0F4: - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_0804A7D4 - b _0802D148 -_0802D104: - ldr r5, _0802D14C @ =gUnk_03003F80 - movs r0, #1 - strb r0, [r5, #0x14] - ldr r1, _0802D150 @ =gUnk_03001160 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0x3f - ands r2, r0 - adds r0, r4, #0 - bl sub_0806FC80 - cmp r0, #0 - beq _0802D128 - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0xfa - strb r0, [r1] -_0802D128: - ldr r1, _0802D154 @ =gUnk_080CD75C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0802E518 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - bl sub_0802E7E4 -_0802D148: - pop {r4, r5, pc} - .align 2, 0 -_0802D14C: .4byte gUnk_03003F80 -_0802D150: .4byte gUnk_03001160 -_0802D154: .4byte gUnk_080CD75C - - thumb_func_start sub_0802D158 -sub_0802D158: @ 0x0802D158 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - ldr r0, _0802D16C @ =gUnk_02034490 - strb r1, [r0] - movs r0, #7 - movs r1, #8 - bl sub_08050054 - pop {pc} - .align 2, 0 -_0802D16C: .4byte gUnk_02034490 - - thumb_func_start sub_0802D170 -sub_0802D170: @ 0x0802D170 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r0, _0802D1F0 @ =gUnk_03000FD0 - ldrb r3, [r0] - cmp r3, #0 - bne _0802D216 - ldrb r0, [r5, #0xc] - cmp r0, #1 - bne _0802D1FC - adds r4, r5, #0 - adds r4, #0x84 - ldr r0, [r4] - movs r1, #0x10 - strb r1, [r0, #1] - ldr r0, [r4] - strb r1, [r0, #0x19] - ldr r0, [r4] - movs r1, #0x40 - movs r2, #2 - bl sub_0802EB08 - cmp r0, #0 - bne _0802D216 - ldr r0, [r4] - bl sub_0802EA88 - cmp r0, #0 - bne _0802D216 - movs r0, #2 - strb r0, [r5, #0xc] - ldr r2, _0802D1F4 @ =gUnk_03001160 - ldr r4, _0802D1F8 @ =gUnk_03000BF0 - ldrh r0, [r4, #6] - adds r0, #0x98 - movs r1, #0 - strh r0, [r2, #0x2e] - ldrh r0, [r4, #8] - adds r0, #0xd8 - strh r0, [r2, #0x32] - strb r1, [r2, #0x14] - movs r1, #0x2e - ldrsh r0, [r2, r1] - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r6, #0x32 - ldrsh r1, [r2, r6] - ldrh r2, [r4, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - movs r1, #2 - bl sub_0807BA8C - str r5, [r4, #0x30] - movs r0, #6 - movs r1, #8 - bl sub_08050054 - b _0802D216 - .align 2, 0 -_0802D1F0: .4byte gUnk_03000FD0 -_0802D1F4: .4byte gUnk_03001160 -_0802D1F8: .4byte gUnk_03000BF0 -_0802D1FC: - movs r0, #3 - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x80 - strb r3, [r0] - adds r2, r5, #0 - adds r2, #0x84 - ldr r0, [r2] - ldr r1, [r0, #0x50] - movs r0, #0x18 - strb r0, [r1, #0xe] - ldr r0, [r2] - strb r3, [r0, #0x19] -_0802D216: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0802D218 -sub_0802D218: @ 0x0802D218 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x84 - ldr r0, [r5] - movs r1, #0x40 - movs r2, #2 - bl sub_0802EB08 - adds r1, r0, #0 - cmp r1, #0 - bne _0802D254 - movs r0, #4 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - strb r1, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x7c - movs r0, #0xb4 - strh r0, [r2] - ldr r0, [r5] - ldr r1, [r0, #0x50] - movs r0, #0xc - strb r0, [r1, #0xe] - ldrh r3, [r2] - adds r0, r4, #0 - movs r1, #0x67 - movs r2, #2 - bl sub_080A2988 -_0802D254: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802D258 -sub_0802D258: @ 0x0802D258 - push {r4, r5, lr} - adds r5, r0, #0 - adds r1, r5, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0 - bne _0802D276 - adds r0, r5, #0 - bl sub_0802E1D0 - ldrb r0, [r5, #0xb] - cmp r0, #5 - bne _0802D288 - strb r0, [r5, #0xc] - b _0802D334 -_0802D276: - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802D288 - adds r0, r5, #0 - movs r1, #0x4e - bl sub_08004260 -_0802D288: - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _0802D2B4 - ldr r1, _0802D2B0 @ =gUnk_080CD774 - ldrb r0, [r5, #0xf] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0xe] - ldrb r0, [r5, #0xf] - adds r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0x15] - ldrb r1, [r5, #0xf] - movs r0, #0x3f - ands r0, r1 - adds r0, #2 - strb r0, [r5, #0xf] - b _0802D2B8 - .align 2, 0 -_0802D2B0: .4byte gUnk_080CD774 -_0802D2B4: - subs r0, #1 - strb r0, [r5, #0xe] -_0802D2B8: - ldrb r0, [r5, #0x15] - cmp r0, #1 - bhi _0802D2D0 - adds r4, r5, #0 - adds r4, #0x84 - ldr r0, [r4] - ldrb r3, [r5, #0x15] - movs r1, #5 - movs r2, #0x40 - bl sub_0802EA48 - b _0802D2E4 -_0802D2D0: - adds r4, r5, #0 - adds r4, #0x84 - cmp r0, #0xff - beq _0802D2E4 - ldr r0, [r4] - ldrb r3, [r5, #0x15] - movs r1, #5 - movs r2, #0x40 - bl sub_0802EA68 -_0802D2E4: - ldr r5, _0802D338 @ =gUnk_030010A0 - ldr r0, [r5] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0802D2F8 - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 -_0802D2F8: - ldr r0, [r5] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _0802D32E - bl sub_08000E50 - movs r1, #5 - ands r1, r0 - ldr r0, [r4] - lsls r1, r1, #2 - adds r0, #0x3c - adds r0, r0, r1 - ldr r0, [r0] - movs r1, #0x48 - movs r2, #0 - bl sub_080A29AC - cmp r0, #0 - beq _0802D32E - adds r2, r0, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] -_0802D32E: - ldr r0, [r4] - bl sub_0802E768 -_0802D334: - pop {r4, r5, pc} - .align 2, 0 -_0802D338: .4byte gUnk_030010A0 - - thumb_func_start sub_0802D33C -sub_0802D33C: @ 0x0802D33C - push {r4, r5, r6, r7, lr} - adds r0, #0x84 - ldr r6, [r0] - movs r4, #0 - adds r7, r6, #0 - adds r7, #0x3c - adds r5, r7, #0 -_0802D34A: - ldm r5!, {r0} - bl sub_0805E7BC - adds r4, #1 - cmp r4, #3 - bls _0802D34A - lsls r1, r4, #2 - adds r1, r7, r1 - ldr r0, [r1] - adds r0, #0x45 - movs r3, #0 - strb r3, [r0] - ldr r1, [r1] - adds r1, #0x6d - ldrb r2, [r1] - movs r0, #1 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r6, #0x50] - adds r0, #0x45 - strb r3, [r0] - ldr r0, [r6, #0x50] - strb r3, [r0, #0xb] - ldr r3, [r6, #0x50] - ldrb r2, [r3, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #2 - rsbs r0, r0, #0 - ands r1, r0 - subs r0, #2 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] - bl sub_0805E780 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0802D394 -sub_0802D394: @ 0x0802D394 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0802D3B4 @ =gUnk_080CD7B8 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - pop {r4, pc} - .align 2, 0 -_0802D3B4: .4byte gUnk_080CD7B8 - - thumb_func_start sub_0802D3B8 -sub_0802D3B8: @ 0x0802D3B8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - beq _0802D3DE - ldr r2, _0802D3F4 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0802D3F8 @ =0x0000FDFF - ands r0, r1 - strh r0, [r2] - ldr r0, _0802D3FC @ =gUnk_03001160 - bl sub_0807AABC - bl sub_0805E780 -_0802D3DE: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #6 - bls _0802D3EA - b _0802D63C -_0802D3EA: - lsls r0, r0, #2 - ldr r1, _0802D400 @ =_0802D404 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D3F4: .4byte gUnk_03000F50 -_0802D3F8: .4byte 0x0000FDFF -_0802D3FC: .4byte gUnk_03001160 -_0802D400: .4byte _0802D404 -_0802D404: @ jump table - .4byte _0802D420 @ case 0 - .4byte _0802D544 @ case 1 - .4byte _0802D58C @ case 2 - .4byte _0802D5A8 @ case 3 - .4byte _0802D5EC @ case 4 - .4byte _0802D5F6 @ case 5 - .4byte _0802D61A @ case 6 -_0802D420: - movs r2, #0 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x75 - strb r2, [r0] - adds r0, #0xb - strb r2, [r0] - subs r0, #7 - strb r2, [r0] - movs r0, #0x96 - str r0, [r4, #0x7c] - adds r0, r4, #0 - bl sub_0802EB9C - movs r0, #0x54 - bl sub_0801D8E0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - adds r5, r0, #0 - adds r7, r1, #0 - cmp r5, #0 - bne _0802D470 - adds r0, r4, #0 - bl sub_0804A7D4 - bl sub_0805E780 -_0802D470: - ldr r0, [r7] - str r0, [r4, #0x64] - movs r6, #0 - movs r0, #0 - mov r8, r0 -_0802D47A: - movs r0, #0x24 - movs r1, #1 - bl sub_0804AA60 - str r0, [r4, #0x54] - adds r3, r6, #1 - cmp r0, #0 - beq _0802D4D6 - strb r3, [r0, #0xb] - ldr r1, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - adds r1, #0x38 - strb r0, [r1] - ldr r1, [r4, #0x54] - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x2e] - ldr r1, [r4, #0x54] - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #2 - ldrh r2, [r4, #0x32] - adds r0, r0, r2 - strh r0, [r1, #0x32] - ldr r0, [r4, #0x54] - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - adds r0, #0x84 - ldr r1, [r7] - str r1, [r0] - lsls r2, r6, #2 - adds r0, r5, #0 - adds r0, #0x3c - adds r0, r0, r2 - ldr r1, [r4, #0x54] - str r1, [r0] - adds r2, r5, r2 - movs r0, #0x10 - strb r0, [r2, #1] - mov r0, r8 - strb r0, [r2, #0x19] - adds r0, r5, #0 - adds r0, #0x35 - mov r1, r8 - strb r1, [r0] -_0802D4D6: - adds r6, r3, #0 - cmp r6, #4 - bls _0802D47A - movs r0, #0x24 - movs r1, #2 - bl sub_0804AA60 - adds r2, r0, #0 - str r2, [r4, #0x54] - cmp r2, #0 - beq _0802D52E - adds r0, r4, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - ldr r1, [r4, #0x54] - ldrh r0, [r4, #0x2e] - movs r3, #0 - strh r0, [r1, #0x2e] - ldr r2, [r4, #0x54] - adds r1, r6, #1 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldr r0, [r4, #0x54] - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - adds r0, #0x84 - ldr r1, [r7] - str r1, [r0] - ldr r0, [r4, #0x54] - str r0, [r5, #0x50] - movs r0, #0x10 - strb r0, [r5, #0x15] - adds r0, r5, #0 - adds r0, #0x2d - strb r3, [r0] - adds r0, #8 - strb r3, [r0] -_0802D52E: - ldr r0, _0802D540 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - adds r0, r4, #0 - movs r1, #0x4c - bl sub_08004260 - b _0802D63C - .align 2, 0 -_0802D540: .4byte gUnk_03003F80 -_0802D544: - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _0802D55C - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x3b - ldrb r0, [r2] - orrs r1, r0 - strb r1, [r2] -_0802D55C: - ldr r1, _0802D588 @ =gUnk_080CD7C4 - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0, #1] - adds r3, r4, #0 - adds r3, #0x29 - movs r1, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, #0 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0x24 - bl sub_08004260 - b _0802D63C - .align 2, 0 -_0802D588: .4byte gUnk_080CD7C4 -_0802D58C: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - strb r1, [r2] - movs r0, #0 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _0802D63C -_0802D5A8: - ldr r0, _0802D5E8 @ =gUnk_080CD884 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x74 - movs r2, #0 - strb r1, [r0] - adds r0, #1 - strb r2, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r2, #0x12 - ldrb r1, [r2] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - movs r1, #0x4f - bl sub_08004260 - b _0802D63C - .align 2, 0 -_0802D5E8: .4byte gUnk_080CD884 -_0802D5EC: - adds r0, r4, #0 - movs r1, #0x2c - bl sub_080042AC - b _0802D63C -_0802D5F6: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - movs r1, #0x2d - bl sub_080042AC - b _0802D63C -_0802D61A: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - movs r1, #0x50 - bl sub_08004260 -_0802D63C: - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0802D648 - adds r0, r4, #0 - bl sub_0802D86C -_0802D648: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0802D650 -sub_0802D650: @ 0x0802D650 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0802D670 @ =gUnk_080CD7E4 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r4, #0x84 - ldr r0, [r4] - bl sub_0802E7E4 - pop {r4, pc} - .align 2, 0 -_0802D670: .4byte gUnk_080CD7E4 - - thumb_func_start sub_0802D674 -sub_0802D674: @ 0x0802D674 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r0, _0802D6B4 @ =gUnk_02034490 - movs r7, #1 - strb r7, [r0] - ldr r5, _0802D6B8 @ =gUnk_03001160 - ldr r6, [r5, #0x34] - cmp r6, #0 - bne _0802D6EC - ldr r0, [r4, #0x7c] - cmp r0, #0x96 - bne _0802D692 - ldr r0, _0802D6BC @ =0x00000127 - bl sub_080A3268 -_0802D692: - ldr r0, [r4, #0x7c] - subs r1, r0, #1 - str r1, [r4, #0x7c] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _0802D6C4 - strb r7, [r4, #0xd] - movs r0, #0x5a - str r0, [r4, #0x7c] - ldr r0, _0802D6C0 @ =gUnk_03000BF0 - str r4, [r0, #0x30] - ldr r0, _0802D6BC @ =0x00000127 - bl sub_080A3268 - b _0802D6EC - .align 2, 0 -_0802D6B4: .4byte gUnk_02034490 -_0802D6B8: .4byte gUnk_03001160 -_0802D6BC: .4byte 0x00000127 -_0802D6C0: .4byte gUnk_03000BF0 -_0802D6C4: - cmp r1, #0x3c - bhi _0802D6DC - cmp r1, #0x3c - bne _0802D6D8 - movs r2, #0x18 - rsbs r2, r2, #0 - adds r0, r5, #0 - movs r1, #0xc - bl sub_080A2CFC -_0802D6D8: - strb r6, [r5, #0x14] - b _0802D6EC -_0802D6DC: - cmp r1, #0x59 - bhi _0802D6E4 - movs r0, #2 - b _0802D6EA -_0802D6E4: - cmp r1, #0x77 - bhi _0802D6EC - movs r0, #6 -_0802D6EA: - strb r0, [r5, #0x14] -_0802D6EC: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0802D6F0 -sub_0802D6F0: @ 0x0802D6F0 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x7c] - subs r0, #1 - str r0, [r2, #0x7c] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _0802D712 - movs r0, #2 - strb r0, [r2, #0xd] - movs r0, #0x5a - str r0, [r2, #0x7c] - movs r0, #0x96 - movs r1, #0 - bl sub_08080964 -_0802D712: - pop {pc} - - thumb_func_start sub_0802D714 -sub_0802D714: @ 0x0802D714 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x7c] - subs r0, #1 - str r0, [r4, #0x7c] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _0802D77A - adds r0, r4, #0 - adds r0, #0x84 - ldr r5, [r0] - movs r1, #0 - movs r3, #0 - movs r2, #0x10 - adds r0, r5, #0 -_0802D734: - strh r3, [r0, #0x18] - strb r2, [r0, #1] - adds r0, #4 - adds r1, #1 - cmp r1, #5 - bls _0802D734 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xd] - strb r1, [r4, #0xb] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0x4d - bl sub_08004260 - movs r0, #0x24 - movs r1, #5 - bl sub_0804AA60 - str r0, [r4, #0x54] - cmp r0, #0 - beq _0802D774 - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - str r0, [r5, #0x38] - adds r0, #0x84 - str r5, [r0] -_0802D774: - ldr r1, [r5, #0x50] - movs r0, #0x18 - strb r0, [r1, #0xe] -_0802D77A: - pop {r4, r5, pc} - - thumb_func_start sub_0802D77C -sub_0802D77C: @ 0x0802D77C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0802D7B0 @ =gUnk_030010A0 - ldr r4, [r0] - movs r0, #1 - ands r4, r0 - cmp r4, #0 - bne _0802D7AC - adds r0, r5, #0 - bl sub_0802E430 - ldrb r0, [r5, #0xb] - cmp r0, #2 - bne _0802D7AC - strb r4, [r5, #0xf] - strb r4, [r5, #0xe] - movs r0, #4 - strb r0, [r5, #0xd] - adds r0, r5, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r1, [r0, #0x50] - movs r0, #0xc - strb r0, [r1, #0xe] -_0802D7AC: - pop {r4, r5, pc} - .align 2, 0 -_0802D7B0: .4byte gUnk_030010A0 - - thumb_func_start sub_0802D7B4 -sub_0802D7B4: @ 0x0802D7B4 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - adds r3, r0, #0 - cmp r3, #0 - bne _0802D82C - ldr r4, _0802D7FC @ =gUnk_080CD7F8 - ldrb r2, [r5, #0xf] - adds r0, r2, r4 - ldrb r1, [r0] - adds r0, r1, #0 - cmp r0, #0xff - bne _0802D810 - strb r3, [r5, #0xf] - strb r3, [r5, #0xe] - movs r2, #1 - strb r2, [r5, #0xc] - strb r3, [r5, #0xd] - adds r0, r5, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r1, [r0, #0x50] - movs r0, #0x18 - strb r0, [r1, #0xe] - ldr r1, _0802D800 @ =gUnk_03000BF0 - ldr r0, _0802D804 @ =gUnk_03001160 - str r0, [r1, #0x30] - ldr r0, _0802D808 @ =gUnk_03003F80 - adds r0, #0x8b - strb r2, [r0] - ldr r0, _0802D80C @ =gUnk_02034490 - strb r3, [r0] - movs r0, #0x2e - bl sub_080A3268 - b _0802D868 - .align 2, 0 -_0802D7FC: .4byte gUnk_080CD7F8 -_0802D800: .4byte gUnk_03000BF0 -_0802D804: .4byte gUnk_03001160 -_0802D808: .4byte gUnk_03003F80 -_0802D80C: .4byte gUnk_02034490 -_0802D810: - strb r1, [r5, #0xe] - adds r0, r2, #1 - adds r0, r0, r4 - ldrb r0, [r0] - strb r0, [r5, #0x15] - ldrb r0, [r5, #0xf] - adds r0, #2 - strb r0, [r5, #0xf] - ldr r0, _0802D828 @ =0x00000127 - bl sub_080A3268 - b _0802D830 - .align 2, 0 -_0802D828: .4byte 0x00000127 -_0802D82C: - subs r0, #1 - strb r0, [r5, #0xe] -_0802D830: - ldrb r0, [r5, #0x15] - cmp r0, #1 - bhi _0802D848 - adds r4, r5, #0 - adds r4, #0x84 - ldr r0, [r4] - ldrb r3, [r5, #0x15] - movs r1, #5 - movs r2, #0x40 - bl sub_0802EA48 - b _0802D85C -_0802D848: - adds r4, r5, #0 - adds r4, #0x84 - cmp r0, #0xff - beq _0802D85C - ldr r0, [r4] - ldrb r3, [r5, #0x15] - movs r1, #5 - movs r2, #0x40 - bl sub_0802EA68 -_0802D85C: - ldr r0, [r4] - bl sub_0802E768 - adds r0, r5, #0 - bl sub_0802E518 -_0802D868: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802D86C -sub_0802D86C: @ 0x0802D86C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #6 - bls _0802D878 - b _0802DB7E -_0802D878: - lsls r0, r0, #2 - ldr r1, _0802D884 @ =_0802D888 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D884: .4byte _0802D888 -_0802D888: @ jump table - .4byte _0802DB64 @ case 0 - .4byte _0802D8A4 @ case 1 - .4byte _0802D8CE @ case 2 - .4byte _0802DA54 @ case 3 - .4byte _0802D94C @ case 4 - .4byte _0802D9A2 @ case 5 - .4byte _0802D9F8 @ case 6 -_0802D8A4: - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _0802D8CE - ldr r0, [r4, #0x50] - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _0802D8BE - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - beq _0802D8C6 -_0802D8BE: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - b _0802D8CC -_0802D8C6: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 -_0802D8CC: - strb r0, [r4, #0x10] -_0802D8CE: - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0802D8DE - b _0802DB7E -_0802D8DE: - ldr r0, [r4, #0x50] - adds r0, #0x3d - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x3d - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802D918 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0802D906 - adds r0, r4, #0 - bl sub_0801D230 - adds r0, r4, #0 - movs r1, #0xc9 - bl sub_0801D040 - b _0802D918 -_0802D906: - subs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_0801D230 - adds r0, r4, #0 - movs r1, #0xca - bl sub_0801D040 -_0802D918: - ldr r0, [r4, #0x50] - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _0802D924 - b _0802DB7E -_0802D924: - ldr r1, _0802D944 @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #8 - movs r3, #8 - bl sub_080041A0 - cmp r0, #0 - bne _0802D936 - b _0802DB7E -_0802D936: - ldr r0, _0802D948 @ =gUnk_03003F80 - movs r1, #1 - strb r1, [r0, #0x14] - adds r0, #0x3f - movs r1, #0xfc - strb r1, [r0] - b _0802DB7E - .align 2, 0 -_0802D944: .4byte gUnk_03001160 -_0802D948: .4byte gUnk_03003F80 -_0802D94C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - bne _0802D95E - adds r0, r4, #0 - bl sub_080042B8 - b _0802DB7E -_0802D95E: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - adds r2, r0, #0 - cmp r2, #0 - beq _0802D970 - b _0802DB7E -_0802D970: - ldr r0, [r4, #0x50] - adds r0, #0x7b - movs r1, #1 - strb r1, [r0] - strb r2, [r4, #0xe] -_0802D97A: - ldrb r3, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x67 - movs r2, #0 - bl sub_080A2988 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bls _0802D97A - movs r0, #0xa8 - lsls r0, r0, #1 - bl sub_080A3268 -_0802D99C: - bl sub_0805E780 - b _0802DB7E -_0802D9A2: - ldr r0, _0802D9F4 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _0802D9B8 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #2 - bne _0802D9B8 - b _0802DB7E -_0802D9B8: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0802D9CE - b _0802DB7E -_0802D9CE: - movs r0, #0x24 - movs r1, #6 - bl sub_0804AA60 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _0802D99C - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - adds r2, r4, #0 - adds r2, #0x84 - ldr r1, [r2] - ldr r0, [r4, #0x54] - str r0, [r1, #0x38] - adds r0, #0x84 - ldr r1, [r2] - str r1, [r0] - b _0802D99C - .align 2, 0 -_0802D9F4: .4byte gUnk_030010A0 -_0802D9F8: - ldr r0, _0802DA50 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _0802DA0E - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #2 - bne _0802DA0E - b _0802DB7E -_0802DA0E: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0802DA24 - b _0802DB7E -_0802DA24: - movs r0, #0x24 - movs r1, #3 - bl sub_0804AA60 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _0802D99C - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - adds r1, r4, #0 - adds r1, #0x84 - ldr r0, [r1] - ldrb r0, [r0, #1] - strb r0, [r4, #0xe] - ldr r2, [r1] - ldr r0, [r4, #0x54] - str r0, [r2, #0x38] - adds r0, #0x84 - ldr r1, [r1] - str r1, [r0] - b _0802D99C - .align 2, 0 -_0802DA50: .4byte gUnk_030010A0 -_0802DA54: - adds r0, r4, #0 - adds r0, #0x74 - ldrb r1, [r0] - adds r6, r0, #0 - cmp r1, #0 - beq _0802DA96 - subs r0, r1, #1 - strb r0, [r6] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802DA96 - adds r5, r4, #0 - adds r5, #0x75 - ldrb r0, [r5] - adds r0, #2 - strb r0, [r5] - ldr r7, _0802DAD4 @ =gUnk_080CD884 - ldrb r0, [r5] - adds r0, r0, r7 - ldrb r0, [r0] - strb r0, [r6] - cmp r0, #0 - beq _0802DA96 - adds r0, r4, #0 - bl sub_0801D230 - ldrb r0, [r5] - adds r0, #1 - adds r0, r0, r7 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_0801D040 -_0802DA96: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802DAD8 - ldrb r2, [r6] - cmp r2, #0 - bne _0802DAD8 - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x1d - bne _0802DB20 - movs r0, #0xc0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldr r1, [r4, #0x50] - movs r0, #4 - strb r0, [r1, #0xd] - ldr r0, [r4, #0x50] - strb r2, [r0, #0xb] - ldr r0, [r4, #0x50] - adds r0, #0x7b - strb r2, [r0] - movs r0, #0x86 - lsls r0, r0, #1 - bl sub_080A3268 - b _0802DB20 - .align 2, 0 -_0802DAD4: .4byte gUnk_080CD884 -_0802DAD8: - adds r0, r4, #0 - adds r0, #0x84 - ldr r2, [r0] - ldrb r1, [r4, #0xe] - adds r3, r0, #0 - ldrb r0, [r2, #1] - cmp r1, r0 - beq _0802DB20 - adds r0, r1, #0 - ldrb r1, [r2, #1] - subs r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0x10 - ble _0802DB08 - ldrb r0, [r4, #0x1e] - adds r0, #1 - strb r0, [r4, #0x1e] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x30 - bls _0802DB1A - movs r0, #0x28 - b _0802DB18 -_0802DB08: - ldrb r0, [r4, #0x1e] - subs r0, #1 - strb r0, [r4, #0x1e] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x27 - bhi _0802DB1A - movs r0, #0x30 -_0802DB18: - strb r0, [r4, #0x1e] -_0802DB1A: - ldr r0, [r3] - ldrb r0, [r0, #1] - strb r0, [r4, #0xe] -_0802DB20: - ldr r0, [r4, #0x20] - cmp r0, #0 - ble _0802DB7E - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - ldr r0, [r4, #0x20] - cmp r0, #0 - bgt _0802DB7E - movs r0, #0x24 - movs r1, #4 - bl sub_0804AA60 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _0802DB7E - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - adds r2, r4, #0 - adds r2, #0x84 - ldr r1, [r2] - ldr r0, [r4, #0x54] - str r0, [r1, #0x38] - adds r0, #0x84 - ldr r1, [r2] - str r1, [r0] - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 - b _0802D99C -_0802DB64: - ldr r1, _0802DB80 @ =gUnk_080CD810 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - bl sub_0802E7E4 -_0802DB7E: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0802DB80: .4byte gUnk_080CD810 - - thumb_func_start sub_0802DB84 -sub_0802DB84: @ 0x0802DB84 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r1, _0802DBB0 @ =gUnk_03001160 - bl sub_080045C4 - strb r0, [r5, #0x15] - adds r1, r5, #0 - adds r1, #0x84 - ldr r2, [r1] - ldrb r1, [r2, #1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r1, r0 - bne _0802DBB4 - movs r0, #1 - strb r0, [r5, #0xd] - adds r1, r5, #0 - adds r1, #0x78 - movs r0, #0 - strb r0, [r1] - b _0802DC1A - .align 2, 0 -_0802DBB0: .4byte gUnk_03001160 -_0802DBB4: - ldrb r0, [r2, #1] - ldrb r1, [r5, #0x15] - subs r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0x10 - ble _0802DBCE - movs r3, #0 - ldrb r1, [r5, #0xe] - movs r0, #0xfe - ands r0, r1 - strb r0, [r5, #0xe] - b _0802DBD2 -_0802DBCE: - movs r3, #1 - strb r3, [r5, #0xe] -_0802DBD2: - adds r0, r5, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #1 - beq _0802DBF0 - cmp r0, #1 - bgt _0802DBE6 - cmp r0, #0 - beq _0802DBEC - b _0802DBF8 -_0802DBE6: - cmp r0, #2 - beq _0802DBF4 - b _0802DBF8 -_0802DBEC: - movs r0, #0x30 - b _0802DBF6 -_0802DBF0: - movs r0, #0x40 - b _0802DBF6 -_0802DBF4: - movs r0, #0x50 -_0802DBF6: - strh r0, [r5, #0x24] -_0802DBF8: - adds r4, r5, #0 - adds r4, #0x84 - ldr r0, [r4] - movs r1, #0x24 - ldrsh r2, [r5, r1] - movs r1, #5 - bl sub_0802EA48 - ldr r0, [r4] - bl sub_0802E768 - adds r0, r5, #0 - bl sub_0802E518 - adds r0, r5, #0 - bl sub_0802EBC4 -_0802DC1A: - pop {r4, r5, pc} - - thumb_func_start sub_0802DC1C -sub_0802DC1C: @ 0x0802DC1C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r1, _0802DC40 @ =gUnk_03001160 - bl sub_080045C4 - adds r3, r0, #0 - adds r1, r5, #0 - adds r1, #0x84 - ldr r0, [r1] - ldrb r0, [r0, #1] - subs r3, r0, r3 - movs r0, #0x1f - ands r3, r0 - cmp r3, #0x10 - bls _0802DC44 - cmp r3, #0x1d - bhi _0802DC54 - b _0802DC48 - .align 2, 0 -_0802DC40: .4byte gUnk_03001160 -_0802DC44: - cmp r3, #2 - bls _0802DC54 -_0802DC48: - movs r0, #0 - strb r0, [r5, #0xd] - ldr r1, [r1] - ldr r1, [r1, #0x50] - strb r0, [r1, #0xe] - b _0802DCDE -_0802DC54: - adds r0, r5, #0 - adds r0, #0x78 - ldrb r1, [r0] - adds r6, r0, #0 - cmp r1, #0 - beq _0802DC6A - subs r0, r1, #1 - strb r0, [r6] - adds r4, r5, #0 - adds r4, #0x84 - b _0802DCC6 -_0802DC6A: - ldrb r0, [r5, #0xe] - movs r3, #0 - cmp r0, #1 - bne _0802DC74 - movs r3, #1 -_0802DC74: - adds r4, r5, #0 - adds r4, #0x84 - ldr r0, [r4] - movs r1, #5 - movs r2, #0x20 - bl sub_0802EA48 - ldr r1, [r4] - ldrh r0, [r1] - ldrh r1, [r1, #0x14] - movs r2, #4 - bl sub_0802EA18 - cmp r0, #0 - beq _0802DCC6 - ldrb r0, [r5, #0xe] - cmp r0, #1 - bne _0802DCAC - ldr r2, [r4] - ldrb r0, [r2, #1] - subs r0, #4 - movs r1, #0x1f - ands r0, r1 - lsls r0, r0, #8 - movs r1, #0xff - orrs r0, r1 - strh r0, [r2, #0x14] - b _0802DCBA -_0802DCAC: - ldr r0, [r4] - ldrb r1, [r0, #1] - adds r1, #4 - movs r2, #0x1f - ands r1, r2 - lsls r1, r1, #8 - strh r1, [r0, #0x14] -_0802DCBA: - ldrb r0, [r5, #0xe] - movs r1, #1 - eors r0, r1 - strb r0, [r5, #0xe] - movs r0, #0xc - strb r0, [r6] -_0802DCC6: - adds r0, r5, #0 - bl sub_0802E9B0 - ldr r0, [r4] - bl sub_0802E768 - adds r0, r5, #0 - bl sub_0802E518 - adds r0, r5, #0 - bl sub_0802EBC4 -_0802DCDE: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0802DCE0 -sub_0802DCE0: @ 0x0802DCE0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x84 - ldr r0, [r5] - ldr r1, [r0, #0x50] - ldrb r0, [r1, #0xe] - cmp r0, #0xc - beq _0802DD44 - ldr r1, _0802DD1C @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - ldr r2, [r5] - ldrb r1, [r2, #0x15] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r1, r0 - bne _0802DD20 - ldr r1, [r2, #0x50] - movs r0, #0xc - strb r0, [r1, #0xe] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #4 - strb r0, [r1] - movs r0, #0 - strb r0, [r4, #0xf] - b _0802DDD0 - .align 2, 0 -_0802DD1C: .4byte gUnk_03001160 -_0802DD20: - ldrb r0, [r2, #0x15] - ldrb r1, [r4, #0x15] - subs r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - movs r3, #1 - cmp r0, #0x10 - ble _0802DD32 - movs r3, #0 -_0802DD32: - adds r0, r2, #0 - movs r1, #5 - movs r2, #0x20 - bl sub_0802EA48 - ldr r0, [r5] - bl sub_0802E768 - b _0802DDD0 -_0802DD44: - ldrb r0, [r4, #0xf] - cmp r0, #5 - bhi _0802DD74 - adds r1, r4, #0 - adds r1, #0x82 - ldrb r0, [r1] - cmp r0, #0 - bne _0802DD6E - movs r2, #4 - strb r2, [r1] - ldr r1, [r5] - ldrb r0, [r4, #0xf] - lsls r0, r0, #2 - adds r1, #0x3c - adds r1, r1, r0 - ldr r0, [r1] - strb r2, [r0, #0xf] - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - b _0802DDD0 -_0802DD6E: - subs r0, #1 - strb r0, [r1] - b _0802DDD0 -_0802DD74: - ldrb r6, [r1, #0xf] - cmp r6, #0 - bne _0802DDD0 - adds r0, r4, #0 - movs r1, #0xa - movs r2, #0 - bl sub_0804A98C - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _0802DDB2 - ldr r0, [r5] - ldrb r0, [r0, #0x15] - strb r0, [r1, #0x15] - ldr r2, [r4, #0x54] - ldr r0, [r5] - ldr r0, [r0, #0x50] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - strb r0, [r2, #0xb] - ldr r1, [r4, #0x54] - ldr r0, [r5] - ldr r0, [r0, #0x50] - str r0, [r1, #0x50] - ldr r1, [r4, #0x54] - ldr r0, [r5] - ldr r0, [r0, #0x3c] - str r0, [r1, #0x54] -_0802DDB2: - ldr r0, [r5] - ldr r0, [r0, #0x50] - strb r6, [r0, #0xe] - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #0 - bne _0802DDC8 - movs r0, #1 - strb r0, [r1] - b _0802DDD0 -_0802DDC8: - strb r6, [r4, #0xd] - adds r0, r4, #0 - bl sub_0802EB9C -_0802DDD0: - adds r0, r4, #0 - bl sub_0802E518 - pop {r4, r5, r6, pc} - - thumb_func_start sub_0802DDD8 -sub_0802DDD8: @ 0x0802DDD8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r0, #0x76 - ldrb r0, [r0] - movs r7, #4 - cmp r0, #0 - beq _0802DE06 - movs r7, #6 - adds r0, r5, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #2 - bne _0802DE06 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - bne _0802DE06 - movs r7, #0xc -_0802DE06: - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _0802DE2E - cmp r0, #0 - bge _0802DE12 - b _0802DF9A -_0802DE12: - cmp r0, #2 - ble _0802DE18 - b _0802DF9A -_0802DE18: - adds r6, r5, #0 - adds r6, #0x84 - cmp r0, #1 - beq _0802DEFE - adds r0, r5, #0 - adds r0, #0x76 - ldrb r1, [r0] - mov sb, r0 - cmp r1, #0 - bne _0802DE76 - b _0802DE6C -_0802DE2E: - adds r6, r5, #0 - adds r6, #0x84 - ldr r0, [r6] - bl sub_0802EA88 - cmp r0, #0 - beq _0802DE3E - b _0802DF9A -_0802DE3E: - movs r4, #1 - strb r4, [r5, #0xb] - strb r0, [r5, #0xf] - bl sub_08000E50 - ands r0, r4 - cmp r0, #0 - bne _0802DE58 - strb r0, [r5, #0x15] - ldr r0, [r6] - ldrb r0, [r0, #1] - adds r0, r0, r7 - b _0802DE60 -_0802DE58: - strb r4, [r5, #0x15] - ldr r0, [r6] - ldrb r0, [r0, #1] - subs r0, r0, r7 -_0802DE60: - movs r1, #0x1f - ands r0, r1 - adds r1, r5, #0 - adds r1, #0x7a - strb r0, [r1] - b _0802DF9A -_0802DE6C: - movs r2, #1 - movs r0, #2 - mov r8, r0 - movs r4, #1 - b _0802DE7E -_0802DE76: - movs r2, #2 - movs r1, #6 - mov r8, r1 - movs r4, #0 -_0802DE7E: - adds r1, r5, #0 - adds r1, #0x84 - ldr r0, [r1] - ldr r0, [r0, #0x50] - ldrb r0, [r0, #0xf] - adds r6, r1, #0 - cmp r0, #1 - bne _0802DEC4 - adds r0, r5, #0 - movs r1, #0xa - bl sub_0804A98C - adds r1, r0, #0 - str r1, [r5, #0x54] - cmp r1, #0 - beq _0802DEC4 - ldr r0, [r6] - ldrb r0, [r0, #0x15] - strb r0, [r1, #0x15] - ldr r2, [r5, #0x54] - ldr r0, [r6] - ldr r0, [r0, #0x50] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - strb r0, [r2, #0xb] - ldr r1, [r5, #0x54] - ldr r0, [r6] - ldr r0, [r0, #0x50] - str r0, [r1, #0x50] - ldr r1, [r5, #0x54] - ldr r0, [r6] - ldr r0, [r0, #0x3c] - str r0, [r1, #0x54] -_0802DEC4: - adds r1, r5, #0 - adds r1, #0x74 - ldrb r0, [r1] - adds r2, r0, #0 - cmp r2, #0 - bne _0802DEF4 - strb r4, [r1] - ldr r1, [r6] - ldrb r0, [r5, #0xf] - lsls r0, r0, #2 - adds r1, #0x3c - adds r1, r1, r0 - ldr r0, [r1] - mov r1, r8 - strb r1, [r0, #0xf] - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #5 - bls _0802DEF8 - strb r2, [r5, #0xf] - b _0802DEF8 -_0802DEF4: - subs r0, #1 - strb r0, [r1] -_0802DEF8: - ldrb r0, [r5, #0xb] - cmp r0, #1 - bne _0802DF0C -_0802DEFE: - ldr r0, [r6] - ldrb r3, [r5, #0x15] - movs r1, #5 - movs r2, #0x40 - bl sub_0802EA48 - b _0802DF2E -_0802DF0C: - mov r1, sb - ldrb r0, [r1] - cmp r0, #0 - bne _0802DF22 - ldr r0, [r6] - ldrb r3, [r5, #0x15] - movs r1, #5 - movs r2, #0x20 - bl sub_0802EA48 - b _0802DF2E -_0802DF22: - ldr r0, [r6] - ldrb r3, [r5, #0x15] - movs r1, #5 - movs r2, #0x10 - bl sub_0802EA48 -_0802DF2E: - adds r4, r6, #0 - ldr r0, [r4] - bl sub_0802E768 - adds r2, r5, #0 - adds r2, #0x7a - ldr r1, [r4] - ldrb r0, [r2] - ldrb r1, [r1, #0x15] - cmp r0, r1 - bne _0802DF9A - ldrb r0, [r5, #0xb] - cmp r0, #1 - bne _0802DF8A - movs r0, #2 - strb r0, [r5, #0xb] - ldrb r0, [r5, #0x15] - movs r1, #1 - eors r0, r1 - strb r0, [r5, #0x15] - adds r3, r0, #0 - cmp r3, #1 - bne _0802DF6C - lsls r0, r7, #1 - ldrb r1, [r2] - subs r1, r1, r0 - movs r0, #0x1f - ands r1, r0 - strb r1, [r2] - strb r3, [r5, #0xe] - b _0802DF80 -_0802DF6C: - lsls r0, r7, #1 - ldrb r1, [r2] - adds r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r2] - ldrb r1, [r5, #0xe] - movs r0, #0xfe - ands r0, r1 - strb r0, [r5, #0xe] -_0802DF80: - ldr r0, [r6] - ldr r1, [r0, #0x50] - movs r0, #0xc - strb r0, [r1, #0xe] - b _0802DF9A -_0802DF8A: - movs r0, #0 - strb r0, [r5, #0xd] - ldr r1, [r6] - ldr r1, [r1, #0x50] - strb r0, [r1, #0xe] - adds r0, r5, #0 - bl sub_0802EB9C -_0802DF9A: - adds r0, r5, #0 - bl sub_0802E518 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0802DFA8 -sub_0802DFA8: @ 0x0802DFA8 - push {lr} - ldr r2, _0802DFBC @ =gUnk_080CD828 - ldrb r1, [r0, #0xb] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802DFBC: .4byte gUnk_080CD828 - - thumb_func_start sub_0802DFC0 -sub_0802DFC0: @ 0x0802DFC0 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x84 - ldr r2, [r4] - ldrb r0, [r2, #1] - movs r1, #7 - ands r1, r0 - cmp r1, #0 - beq _0802DFF8 - cmp r1, #4 - bls _0802DFDC - movs r0, #0 - b _0802DFDE -_0802DFDC: - movs r0, #1 -_0802DFDE: - strb r0, [r5, #0x15] - adds r4, r5, #0 - adds r4, #0x84 - ldr r0, [r4] - ldrb r3, [r5, #0x15] - movs r1, #0 - movs r2, #0x20 - bl sub_0802EA48 - ldr r0, [r4] - bl sub_0802EA88 - b _0802E026 -_0802DFF8: - adds r0, r2, #0 - bl sub_0802EA88 - cmp r0, #0 - bne _0802E026 - adds r0, r5, #0 - adds r0, #0x7b - ldrb r0, [r0] - cmp r0, #0 - beq _0802E026 - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - movs r0, #1 - strb r0, [r5, #0xb] - ldr r0, [r4] - ldr r1, [r0, #0x50] - movs r0, #0x18 - strb r0, [r1, #0xe] - ldr r0, _0802E030 @ =0x00000127 - bl sub_080A3268 -_0802E026: - adds r0, r5, #0 - bl sub_0802E518 - pop {r4, r5, pc} - .align 2, 0 -_0802E030: .4byte 0x00000127 - - thumb_func_start sub_0802E034 -sub_0802E034: @ 0x0802E034 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x84 - ldr r5, [r0] - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _0802E04A - movs r0, #2 - strb r0, [r4, #0x15] - movs r0, #0 - b _0802E058 -_0802E04A: - movs r0, #3 - strb r0, [r4, #0x15] - ldr r1, _0802E078 @ =gUnk_080CD840 - ldrb r0, [r5, #1] - lsrs r0, r0, #3 - adds r0, r0, r1 - ldrb r0, [r0] -_0802E058: - ldrb r1, [r5, #0x19] - cmp r0, r1 - beq _0802E07C - ldrb r3, [r4, #0x15] - adds r0, r5, #0 - movs r1, #0 - movs r2, #0x40 - bl sub_0802EA68 - adds r0, r5, #0 - movs r1, #0x40 - movs r2, #2 - bl sub_0802EB08 - b _0802E0B0 - .align 2, 0 -_0802E078: .4byte gUnk_080CD840 -_0802E07C: - adds r0, r5, #0 - movs r1, #0x80 - movs r2, #2 - bl sub_0802EB08 - cmp r0, #0 - bne _0802E0B0 - ldrb r0, [r4, #0xb] - cmp r0, #2 - bne _0802E0A6 - adds r1, r4, #0 - adds r1, #0x7c - movs r2, #0 - movs r0, #0xb4 - lsls r0, r0, #1 - strh r0, [r1] - adds r1, #4 - movs r0, #1 - strb r0, [r1] - ldr r0, [r5, #0x50] - strb r2, [r0, #0xe] -_0802E0A6: - ldrb r0, [r4, #0xb] - adds r0, #1 - strb r0, [r4, #0xb] - movs r0, #1 - strb r0, [r5, #0x19] -_0802E0B0: - adds r0, r4, #0 - bl sub_0802E518 - pop {r4, r5, pc} - - thumb_func_start sub_0802E0B8 -sub_0802E0B8: @ 0x0802E0B8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x32] - subs r0, #4 - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_0800445C - ldrh r0, [r4, #0x32] - adds r0, #4 - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0x3f - ands r2, r0 - cmp r2, #0 - beq _0802E0F4 - ldr r1, _0802E128 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_0806FC80 - cmp r0, #0 - beq _0802E0F4 - ldr r0, _0802E12C @ =gUnk_03003F80 - movs r1, #1 - strb r1, [r0, #0x14] - adds r0, #0x3f - movs r1, #0xfa - strb r1, [r0] -_0802E0F4: - ldr r0, _0802E130 @ =gUnk_080CD844 - adds r3, r4, #0 - adds r3, #0x79 - ldrb r5, [r3] - movs r6, #0x7f - adds r1, r6, #0 - ands r1, r5 - adds r1, r1, r0 - adds r2, r4, #0 - adds r2, #0x45 - ldrb r0, [r1] - ldrb r1, [r2] - cmp r0, r1 - blo _0802E158 - cmp r5, #1 - bls _0802E134 - movs r0, #0 - strb r0, [r2] - strb r0, [r4, #0xc] - bl sub_08078B48 - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - b _0802E1CA - .align 2, 0 -_0802E128: .4byte gUnk_03001160 -_0802E12C: .4byte gUnk_03003F80 -_0802E130: .4byte gUnk_080CD844 -_0802E134: - ldrb r1, [r4, #0x10] - adds r0, r6, #0 - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r3] - adds r0, #1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r3] - movs r0, #0xff - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0x78 - bls _0802E158 - movs r0, #0x78 - strh r0, [r1] -_0802E158: - adds r0, r4, #0 - adds r0, #0x7c - ldrh r1, [r0] - subs r1, #1 - strh r1, [r0] - lsls r1, r1, #0x10 - ldr r2, _0802E18C @ =0xFFFF0000 - adds r5, r0, #0 - cmp r1, r2 - bne _0802E190 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x62 - movs r0, #0 - strb r0, [r1] - movs r0, #4 - strb r0, [r4, #0xb] - adds r0, r4, #0 - movs r1, #0x4e - bl sub_08004260 - b _0802E1C4 - .align 2, 0 -_0802E18C: .4byte 0xFFFF0000 -_0802E190: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802E1B2 - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _0802E1B2 - ldr r0, _0802E1CC @ =0x00000127 - bl sub_080A3268 -_0802E1B2: - ldrh r0, [r5] - cmp r0, #0x77 - bhi _0802E1C4 - adds r2, r4, #0 - adds r2, #0x62 - ldrb r0, [r2] - movs r1, #1 - eors r0, r1 - strb r0, [r2] -_0802E1C4: - adds r0, r4, #0 - bl sub_0802E518 -_0802E1CA: - pop {r4, r5, r6, pc} - .align 2, 0 -_0802E1CC: .4byte 0x00000127 - - thumb_func_start sub_0802E1D0 -sub_0802E1D0: @ 0x0802E1D0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - adds r0, #0x84 - ldr r0, [r0] - mov r8, r0 - adds r4, r5, #0 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0802E1F6 - adds r0, r5, #0 - bl sub_08004274 -_0802E1F6: - ldrb r0, [r4] - movs r2, #0x3f - ands r2, r0 - cmp r2, #0 - beq _0802E218 - ldr r1, _0802E280 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_0806FC80 - cmp r0, #0 - beq _0802E218 - ldr r0, _0802E284 @ =gUnk_03003F80 - movs r1, #1 - strb r1, [r0, #0x14] - adds r0, #0x3f - movs r1, #0xfa - strb r1, [r0] -_0802E218: - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0802E2F0 - movs r4, #0 - mov r2, r8 - adds r2, #0x30 - adds r7, r5, #0 - adds r7, #0x7c - ldr r0, _0802E288 @ =gUnk_03000F50 - mov sb, r0 - movs r1, #0x66 - add r1, sb - mov sl, r1 -_0802E23A: - adds r1, r2, r4 - ldrb r0, [r1] - cmp r0, #0 - beq _0802E2EA - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r6, r0, #0x18 - cmp r6, #0 - bne _0802E2F0 - mov r1, r8 - ldr r0, [r1, #0x3c] - movs r1, #0xc - movs r2, #0 - bl sub_080A29AC - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_080A3268 - cmp r4, #5 - bne _0802E2F0 - adds r0, r5, #0 - adds r0, #0x79 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0802E28C - movs r0, #0xf0 - strh r0, [r7] - movs r1, #0 - bl sub_08080964 - b _0802E2E4 - .align 2, 0 -_0802E280: .4byte gUnk_03001160 -_0802E284: .4byte gUnk_03003F80 -_0802E288: .4byte gUnk_03000F50 -_0802E28C: - adds r4, r7, #0 - strh r6, [r4] - movs r0, #0x7c - adds r0, r0, r5 - mov r8, r0 - adds r6, r5, #0 - adds r6, #0x74 - adds r7, r5, #0 - adds r7, #0x75 -_0802E29E: - ldrh r3, [r4] - adds r0, r5, #0 - movs r1, #0x67 - movs r2, #1 - bl sub_080A2988 - ldrh r0, [r4] - adds r0, #1 - strh r0, [r4] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #3 - bls _0802E29E - movs r0, #0 - strb r0, [r6] - movs r0, #0x10 - strb r0, [r7] - movs r0, #0xb - mov r1, r8 - strh r0, [r1] - ldrb r1, [r6] - ldrb r0, [r7] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, sb - adds r0, #0x68 - strh r1, [r0] - movs r0, #0x90 - lsls r0, r0, #2 - mov r1, sl - strh r0, [r1] - movs r0, #0x1e - movs r1, #0 - bl sub_08080964 -_0802E2E4: - movs r0, #5 - strb r0, [r5, #0xb] - b _0802E2F0 -_0802E2EA: - adds r4, #1 - cmp r4, #5 - bls _0802E23A -_0802E2F0: - adds r0, r5, #0 - bl sub_0802E518 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0802E300 -sub_0802E300: @ 0x0802E300 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x79 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0802E31E - adds r1, r4, #0 - adds r1, #0x7c - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - adds r5, r1, #0 - b _0802E35E -_0802E31E: - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - adds r5, r4, #0 - adds r5, #0x7c - cmp r0, #0x10 - beq _0802E35E - ldrh r0, [r5] - cmp r0, #0 - beq _0802E364 - subs r0, #1 - strh r0, [r5] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802E40C - movs r0, #0xb - strh r0, [r5] - adds r3, r4, #0 - adds r3, #0x75 - ldrb r0, [r3] - subs r0, #1 - strb r0, [r3] - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r2, _0802E3A0 @ =gUnk_03000F50 - ldrb r1, [r1] - ldrb r0, [r3] - lsls r0, r0, #8 - orrs r1, r0 - adds r2, #0x68 - strh r1, [r2] -_0802E35E: - ldrh r0, [r5] - cmp r0, #0 - bne _0802E40C -_0802E364: - adds r2, r4, #0 - adds r2, #0x79 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802E3A4 - adds r3, r4, #0 - adds r3, #0x75 - ldrb r0, [r3] - cmp r0, #0x10 - beq _0802E3A4 - movs r0, #0xb - strh r0, [r5] - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - ldr r2, _0802E3A0 @ =gUnk_03000F50 - ldrb r1, [r1] - ldrb r0, [r3] - lsls r0, r0, #8 - orrs r1, r0 - adds r2, #0x68 - strh r1, [r2] - b _0802E428 - .align 2, 0 -_0802E3A0: .4byte gUnk_03000F50 -_0802E3A4: - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x84 - ldr r5, [r0] - ldr r1, _0802E408 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - lsls r0, r0, #3 - movs r2, #0 - adds r6, r4, #0 - adds r6, #0x80 - movs r3, #0 - adds r1, r5, #0 -_0802E3CA: - strh r3, [r1, #0x18] - strb r0, [r1, #1] - adds r1, #4 - adds r2, #1 - cmp r2, #5 - bls _0802E3CA - movs r1, #0 - movs r0, #5 - strb r0, [r4, #0xd] - strb r1, [r4, #0xb] - strb r1, [r6] - adds r0, r4, #0 - movs r1, #0x4d - bl sub_08004260 - movs r0, #0x24 - movs r1, #5 - bl sub_0804AA60 - str r0, [r4, #0x54] - cmp r0, #0 - beq _0802E400 - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - str r0, [r5, #0x38] - adds r0, #0x84 - str r5, [r0] -_0802E400: - ldr r1, [r5, #0x50] - movs r0, #0x18 - strb r0, [r1, #0xe] - b _0802E422 - .align 2, 0 -_0802E408: .4byte gUnk_03001160 -_0802E40C: - ldr r0, _0802E42C @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _0802E422 - adds r0, r4, #0 - movs r1, #0xa - movs r2, #3 - bl sub_0804A98C -_0802E422: - adds r0, r4, #0 - bl sub_0802E518 -_0802E428: - pop {r4, r5, r6, pc} - .align 2, 0 -_0802E42C: .4byte gUnk_030010A0 - - thumb_func_start sub_0802E430 -sub_0802E430: @ 0x0802E430 - push {lr} - ldr r2, _0802E444 @ =gUnk_080CD848 - ldrb r1, [r0, #0xb] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802E444: .4byte gUnk_080CD848 - - thumb_func_start sub_0802E448 -sub_0802E448: @ 0x0802E448 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r0, #0x84 - ldr r6, [r0] - movs r5, #5 -_0802E452: - adds r0, r6, #0 - adds r0, #0x30 - adds r4, r0, r5 - ldrb r0, [r4] - cmp r0, #0 - bne _0802E46E - ldr r0, [r6, #0x3c] - movs r1, #0xc - movs r2, #0 - bl sub_080A29AC - movs r0, #0x7d - bl sub_080A3268 -_0802E46E: - ldrb r0, [r4] - cmp r0, #0xa - beq _0802E48A - adds r0, #1 - strb r0, [r4] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xa - bne _0802E490 - cmp r5, #0 - bne _0802E490 - movs r0, #1 - strb r0, [r7, #0xb] - b _0802E490 -_0802E48A: - subs r5, #1 - cmp r5, #0 - bge _0802E452 -_0802E490: - adds r0, r6, #0 - adds r0, #0x2d - ldrb r0, [r0] - cmp r0, #9 - bhi _0802E4A6 - adds r0, r6, #0 - movs r1, #5 - movs r2, #0x40 - movs r3, #3 - bl sub_0802EA68 -_0802E4A6: - adds r0, r7, #0 - bl sub_08004274 - adds r0, r7, #0 - adds r0, #0x84 - ldr r0, [r0] - bl sub_0802E768 - adds r0, r7, #0 - bl sub_0802E518 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0802E4C0 -sub_0802E4C0: @ 0x0802E4C0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802E510 - ldrb r0, [r4, #0xc] - cmp r0, #2 - beq _0802E50A - adds r0, r4, #0 - adds r0, #0x74 - movs r2, #0 - strb r2, [r0] - adds r1, r4, #0 - adds r1, #0x75 - movs r0, #8 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #0 - beq _0802E502 - adds r0, r4, #0 - adds r0, #0x76 - strb r2, [r0] - adds r1, #2 - movs r0, #3 - strb r0, [r1] -_0802E502: - adds r0, r4, #0 - bl sub_0802EBC4 - b _0802E510 -_0802E50A: - ldrb r0, [r4, #0xb] - adds r0, #1 - strb r0, [r4, #0xb] -_0802E510: - adds r0, r4, #0 - bl sub_0802E518 - pop {r4, pc} - - thumb_func_start sub_0802E518 -sub_0802E518: @ 0x0802E518 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - str r0, [sp] - adds r0, #0x84 - ldr r0, [r0] - mov sb, r0 - ldr r1, [r0, #0x3c] - ldr r0, [r1, #0x50] - bl sub_0806FA24 - mov r0, sb - ldr r1, [r0, #0x3c] - ldrb r0, [r0, #1] - strb r0, [r1, #0x15] - mov r1, sb - ldrb r6, [r1, #1] - cmp r6, #0x10 - bls _0802E54C - movs r0, #0xf - eors r6, r0 - adds r6, #1 - ands r6, r0 -_0802E54C: - cmp r6, #0x10 - bne _0802E552 - movs r6, #0xf -_0802E552: - mov r2, sb - ldr r1, [r2, #0x3c] - movs r0, #0xf - eors r6, r0 - adds r0, r6, #0 - adds r0, #0x12 - lsls r0, r0, #8 - strh r0, [r1, #0x24] - ldr r0, [r2, #0x3c] - bl sub_0806F69C - movs r6, #0 - movs r0, #0x3c - add r0, sb - mov sl, r0 - mov r1, sb - adds r1, #0x30 - str r1, [sp, #4] - ldr r2, [sp] - adds r2, #0x80 - str r2, [sp, #8] - movs r7, #0x80 - lsls r7, r7, #1 -_0802E580: - lsls r0, r6, #2 - add r0, sl - ldr r0, [r0] - adds r1, r6, #1 - mov r8, r1 - lsls r4, r1, #2 - mov r2, sl - adds r5, r2, r4 - ldr r1, [r5] - bl sub_0806FA24 - add r4, sb - ldrb r0, [r4, #0x19] - lsls r0, r0, #4 - ldr r1, _0802E644 @ =gUnk_080C9160 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - ldr r1, [sp, #4] - adds r6, r1, r6 - ldrb r1, [r6] - lsls r1, r1, #0x18 - asrs r1, r1, #0x10 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r7, #0 - bl sub_0806FA04 - adds r1, r0, #0 - ldrb r0, [r4, #1] - lsls r0, r0, #4 - ldr r2, _0802E644 @ =gUnk_080C9160 - adds r0, r0, r2 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r7, #0 - bl sub_0806FA04 - ldr r2, [r5] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r2, #0x2c] - adds r1, r1, r0 - str r1, [r2, #0x2c] - ldrb r0, [r4, #0x19] - lsls r0, r0, #4 - adds r0, #0x80 - ldr r1, _0802E644 @ =gUnk_080C9160 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - ldrb r1, [r6] - lsls r1, r1, #0x18 - asrs r1, r1, #0x10 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r7, #0 - bl sub_0806FA04 - ldr r2, [r5] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r2, #0x30] - subs r1, r1, r0 - str r1, [r2, #0x30] - mov r6, r8 - cmp r6, #4 - bls _0802E580 - mov r1, sb - ldr r0, [r1, #0x50] - ldrb r1, [r0, #0xe] - adds r2, r0, #0 - cmp r1, #0x18 - bne _0802E662 - mov r1, sb - ldrb r0, [r1, #0x15] - lsrs r0, r0, #3 - lsls r7, r0, #2 - mov r0, sb - adds r0, #0x2d - ldrb r0, [r0] - lsls r1, r0, #0x18 - lsrs r0, r1, #0x18 - cmp r0, #0xc - bls _0802E648 - adds r7, #3 - b _0802E64C - .align 2, 0 -_0802E644: .4byte gUnk_080C9160 -_0802E648: - lsrs r0, r1, #0x1a - adds r7, r7, r0 -_0802E64C: - adds r0, r2, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r7, #0 - adds r1, #0x18 - cmp r0, r1 - beq _0802E6E8 - adds r0, r2, #0 - bl sub_080042AC - b _0802E6E8 -_0802E662: - ldr r2, [sp, #8] - ldrb r0, [r2] - cmp r0, #0 - bne _0802E688 - mov r0, sb - movs r1, #5 - movs r2, #0 - movs r3, #0 - bl sub_0802E7CC - mov r0, sb - ldr r2, [r0, #0x50] - ldrb r1, [r2, #0x14] - lsrs r0, r1, #1 - adds r7, r1, r0 - lsrs r0, r7, #2 - ldrb r2, [r2, #0xe] - adds r7, r0, r2 - b _0802E6CA -_0802E688: - ldr r0, [sp] - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0802E6C0 - ldr r0, [sp] - adds r0, #0x58 - ldrb r3, [r0] - mov r1, sb - ldrb r0, [r1, #0x15] - lsrs r2, r0, #3 - adds r0, r2, #0 - adds r0, #0x2f - cmp r3, r0 - bne _0802E6BA - ldr r0, [sp] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - adds r7, r3, #0 - cmp r0, #0 - beq _0802E6CA -_0802E6BA: - adds r7, r2, #0 - adds r7, #0x28 - b _0802E6CA -_0802E6C0: - mov r2, sb - ldrb r0, [r2, #0x15] - lsrs r0, r0, #3 - adds r7, r0, #0 - adds r7, #0x2f -_0802E6CA: - mov r0, sb - ldr r1, [r0, #0x50] - adds r0, r1, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, r7 - beq _0802E6E2 - adds r0, r1, #0 - adds r1, r7, #0 - bl sub_080042AC - b _0802E6E8 -_0802E6E2: - adds r0, r1, #0 - bl sub_080042B8 -_0802E6E8: - movs r6, #0 -_0802E6EA: - ldr r1, [sp, #8] - ldrb r0, [r1] - cmp r0, #0 - bne _0802E72E - lsls r1, r6, #0x18 - lsrs r1, r1, #0x18 - mov r0, sb - movs r2, #0 - movs r3, #0 - bl sub_0802E7CC - lsls r5, r6, #2 - mov r2, sl - adds r0, r2, r5 - ldr r0, [r0] - ldrb r1, [r0, #0x14] - lsrs r0, r1, #1 - adds r7, r1, r0 - lsrs r7, r7, #2 - adds r4, r6, #1 - lsls r0, r4, #2 - add r0, sb - ldrb r0, [r0, #0x19] - movs r1, #3 - bl __divsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - adds r7, r7, r1 - adds r1, r5, #0 - b _0802E73E -_0802E72E: - lsls r1, r6, #2 - mov r2, sb - adds r0, r2, r1 - ldrb r0, [r0, #1] - lsrs r0, r0, #3 - adds r7, r0, #0 - adds r7, #0x48 - adds r4, r6, #1 -_0802E73E: - mov r2, sl - adds r0, r2, r1 - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, r7 - beq _0802E756 - adds r0, r1, #0 - adds r1, r7, #0 - bl sub_08004260 -_0802E756: - adds r6, r4, #0 - cmp r6, #4 - bls _0802E6EA - add sp, #0xc - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0802E768 -sub_0802E768: @ 0x0802E768 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r2, #0 - movs r6, #0x1f -_0802E770: - lsls r3, r2, #2 - adds r0, r4, r3 - ldrb r1, [r0, #1] - adds r2, #1 - lsls r0, r2, #2 - adds r0, r4, r0 - ldrb r0, [r0, #1] - subs r0, r1, r0 - ands r0, r6 - adds r5, r2, #0 - cmp r0, #0x10 - ble _0802E790 - cmp r0, #0x1e - bgt _0802E798 - adds r1, #1 - b _0802E796 -_0802E790: - cmp r0, #1 - ble _0802E798 - subs r1, #1 -_0802E796: - ands r1, r6 -_0802E798: - adds r0, r4, r3 - strb r1, [r0, #1] - ldrb r1, [r0, #0x19] - lsls r0, r5, #2 - adds r0, r4, r0 - ldrb r0, [r0, #0x19] - subs r0, r1, r0 - movs r2, #0x1f - ands r0, r2 - cmp r0, #0x10 - ble _0802E7B6 - cmp r0, #0x1d - bgt _0802E7BE - adds r1, #1 - b _0802E7BC -_0802E7B6: - cmp r0, #2 - ble _0802E7BE - subs r1, #1 -_0802E7BC: - ands r1, r2 -_0802E7BE: - adds r0, r4, r3 - strb r1, [r0, #0x19] - adds r2, r5, #0 - cmp r2, #4 - bls _0802E770 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802E7CC -sub_0802E7CC: @ 0x0802E7CC - lsls r1, r1, #0x18 - lsrs r1, r1, #0x16 - adds r2, r0, #0 - adds r2, #0x3c - adds r2, r2, r1 - ldr r3, [r2] - adds r0, r0, r1 - ldrb r0, [r0, #1] - strb r0, [r3, #0x14] - ldr r0, [r2] - ldrb r0, [r0, #0x14] - bx lr - - thumb_func_start sub_0802E7E4 -sub_0802E7E4: @ 0x0802E7E4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov ip, r0 - ldr r0, [r0, #0x50] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0802E8D0 - movs r6, #0 - movs r5, #0 - mov r7, ip - adds r7, #0x3c - movs r0, #0x30 - add r0, ip - mov r8, r0 - movs r1, #8 - rsbs r1, r1, #0 - mov sl, r1 - movs r2, #4 - rsbs r2, r2, #0 - mov sb, r2 -_0802E818: - lsls r0, r5, #2 - adds r4, r7, r0 - ldr r3, [r4] - adds r3, #0x29 - movs r1, #7 - ands r1, r6 - ldrb r2, [r3] - mov r0, sl - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r6, #1 - mov r1, r8 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, #0 - bne _0802E852 - ldr r3, [r4] - ldrb r2, [r3, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #2 - rsbs r0, r0, #0 - ands r1, r0 - mov r0, sb - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] - b _0802E860 -_0802E852: - ldr r2, [r4] - ldrb r1, [r2, #0x18] - mov r0, sb - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] -_0802E860: - adds r5, #1 - cmp r5, #5 - bls _0802E818 - movs r5, #0 - movs r2, #7 - mov sb, r2 - movs r0, #8 - rsbs r0, r0, #0 - mov r8, r0 -_0802E872: - lsls r1, r5, #2 - mov r2, ip - adds r0, r2, r1 - ldrb r0, [r0, #1] - subs r0, #8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r5, #1 - cmp r0, #0x10 - bhi _0802E8BA - adds r0, r7, r1 - ldr r3, [r0] - adds r3, #0x29 - ldrb r4, [r3] - lsls r0, r4, #0x1d - lsrs r6, r0, #0x1d - lsls r2, r5, #2 - adds r2, r7, r2 - ldr r0, [r2] - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - mov r0, r8 - ands r0, r4 - orrs r0, r1 - strb r0, [r3] - ldr r1, [r2] - adds r1, #0x29 - mov r0, sb - ands r6, r0 - ldrb r2, [r1] - mov r0, r8 - ands r0, r2 - orrs r0, r6 - strb r0, [r1] -_0802E8BA: - cmp r5, #4 - bls _0802E872 - mov r1, ip - ldr r0, [r1, #0x38] - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r0] - b _0802E9A4 -_0802E8D0: - movs r6, #5 - movs r5, #0 - mov r7, ip - adds r7, #0x3c - movs r2, #0x30 - add r2, ip - mov r8, r2 - movs r0, #8 - rsbs r0, r0, #0 - mov sl, r0 - movs r1, #4 - rsbs r1, r1, #0 - mov sb, r1 -_0802E8EA: - lsls r0, r5, #2 - adds r4, r7, r0 - ldr r3, [r4] - adds r3, #0x29 - movs r1, #7 - ands r1, r6 - ldrb r2, [r3] - mov r0, sl - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - subs r6, #1 - mov r2, r8 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, #0 - bne _0802E924 - ldr r3, [r4] - ldrb r2, [r3, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #2 - rsbs r0, r0, #0 - ands r1, r0 - mov r0, sb - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] - b _0802E932 -_0802E924: - ldr r2, [r4] - ldrb r1, [r2, #0x18] - mov r0, sb - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] -_0802E932: - adds r5, #1 - cmp r5, #5 - bls _0802E8EA - movs r5, #0 - movs r0, #7 - mov sb, r0 - movs r1, #8 - rsbs r1, r1, #0 - mov r8, r1 -_0802E944: - lsls r1, r5, #2 - mov r2, ip - adds r0, r2, r1 - ldrb r0, [r0, #1] - subs r0, #8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r5, #1 - cmp r0, #0x10 - bls _0802E98C - adds r0, r7, r1 - ldr r3, [r0] - adds r3, #0x29 - ldrb r4, [r3] - lsls r0, r4, #0x1d - lsrs r6, r0, #0x1d - lsls r2, r5, #2 - adds r2, r7, r2 - ldr r0, [r2] - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - mov r0, r8 - ands r0, r4 - orrs r0, r1 - strb r0, [r3] - ldr r1, [r2] - adds r1, #0x29 - mov r0, sb - ands r6, r0 - ldrb r2, [r1] - mov r0, r8 - ands r0, r2 - orrs r0, r6 - strb r0, [r1] -_0802E98C: - cmp r5, #4 - bls _0802E944 - mov r1, ip - ldr r2, [r1, #0x38] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] -_0802E9A4: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0802E9B0 -sub_0802E9B0: @ 0x0802E9B0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0802E9D0 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - bl sub_080041DC - lsrs r2, r0, #4 - cmp r2, #0x5f - bgt _0802E9D4 - movs r2, #0xa - b _0802E9EA - .align 2, 0 -_0802E9D0: .4byte gUnk_03001160 -_0802E9D4: - adds r1, r2, #0 - subs r1, #0x60 - cmp r1, #0 - bge _0802E9DE - adds r1, #3 -_0802E9DE: - asrs r1, r1, #2 - movs r0, #0xa - subs r2, r0, r1 - cmp r2, #3 - bgt _0802E9EA - movs r2, #4 -_0802E9EA: - adds r0, r4, #0 - adds r0, #0x84 - ldr r3, [r0] - adds r0, r3, #0 - adds r0, #0x2d - ldrb r0, [r0] - cmp r2, r0 - beq _0802EA10 - cmp r2, r0 - ble _0802EA04 - ldrh r0, [r3, #0x2c] - adds r0, #0x20 - b _0802EA08 -_0802EA04: - ldrh r0, [r3, #0x2c] - subs r0, #0x20 -_0802EA08: - ldr r2, _0802EA14 @ =0x00001FFF - adds r1, r2, #0 - ands r0, r1 - strh r0, [r3, #0x2c] -_0802EA10: - pop {r4, pc} - .align 2, 0 -_0802EA14: .4byte 0x00001FFF - - thumb_func_start sub_0802EA18 -sub_0802EA18: @ 0x0802EA18 - push {lr} - adds r3, r2, #0 - movs r2, #0x80 - lsls r2, r2, #5 - adds r1, r1, r2 - subs r1, r1, r0 - ldr r0, _0802EA40 @ =0x00001FFF - ands r1, r0 - lsls r3, r3, #8 - subs r2, r2, r3 - cmp r1, r2 - blo _0802EA44 - movs r2, #0x80 - lsls r2, r2, #5 - adds r0, r3, r2 - cmp r1, r0 - bhi _0802EA44 - movs r0, #0 - b _0802EA46 - .align 2, 0 -_0802EA40: .4byte 0x00001FFF -_0802EA44: - movs r0, #1 -_0802EA46: - pop {pc} - - thumb_func_start sub_0802EA48 -sub_0802EA48: @ 0x0802EA48 - push {r4, lr} - adds r4, r0, #0 - cmp r3, #1 - bne _0802EA52 - rsbs r2, r2, #0 -_0802EA52: - lsls r0, r1, #2 - adds r0, r4, r0 - ldrh r1, [r0] - adds r1, r1, r2 - ldr r3, _0802EA64 @ =0x00001FFF - adds r2, r3, #0 - ands r1, r2 - strh r1, [r0] - pop {r4, pc} - .align 2, 0 -_0802EA64: .4byte 0x00001FFF - - thumb_func_start sub_0802EA68 -sub_0802EA68: @ 0x0802EA68 - push {r4, lr} - adds r4, r0, #0 - cmp r3, #2 - bne _0802EA72 - rsbs r2, r2, #0 -_0802EA72: - lsls r0, r1, #2 - adds r0, r4, r0 - ldrh r1, [r0, #0x18] - adds r1, r1, r2 - ldr r3, _0802EA84 @ =0x00001FFF - adds r2, r3, #0 - ands r1, r2 - strh r1, [r0, #0x18] - pop {r4, pc} - .align 2, 0 -_0802EA84: .4byte 0x00001FFF - - thumb_func_start sub_0802EA88 -sub_0802EA88: @ 0x0802EA88 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r6, #0 - movs r3, #0 -_0802EA90: - lsls r0, r3, #2 - adds r4, r5, r0 - adds r2, r3, #1 - lsls r0, r2, #2 - adds r1, r5, r0 - ldrb r0, [r4, #1] - ldrb r3, [r1, #1] - cmp r0, r3 - beq _0802EAC2 - movs r6, #1 - ldrb r0, [r1, #1] - ldrb r1, [r4, #1] - subs r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - movs r3, #1 - cmp r0, #0x10 - ble _0802EAB6 - movs r3, #0 -_0802EAB6: - adds r0, r5, #0 - adds r1, r2, #0 - movs r2, #0x20 - bl sub_0802EA48 - b _0802EAC8 -_0802EAC2: - adds r3, r2, #0 - cmp r3, #4 - bls _0802EA90 -_0802EAC8: - movs r3, #0 - movs r4, #0x1f -_0802EACC: - adds r2, r3, #1 - lsls r0, r2, #2 - adds r0, r5, r0 - ldrb r1, [r0, #1] - lsls r0, r3, #2 - adds r0, r5, r0 - ldrb r0, [r0, #1] - subs r0, r1, r0 - ands r0, r4 - adds r3, r1, #0 - adds r1, r2, #0 - cmp r0, #0x10 - ble _0802EAEE - cmp r0, #0x1e - bgt _0802EAF6 - adds r3, #1 - b _0802EAF4 -_0802EAEE: - cmp r0, #1 - ble _0802EAF6 - subs r3, #1 -_0802EAF4: - ands r3, r4 -_0802EAF6: - lsls r0, r1, #2 - adds r0, r5, r0 - strb r3, [r0, #1] - adds r3, r1, #0 - cmp r3, #4 - bls _0802EACC - adds r0, r6, #0 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802EB08 -sub_0802EB08: @ 0x0802EB08 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r2, #0 - movs r0, #0 - mov r8, r0 - movs r3, #0 -_0802EB1A: - lsls r0, r3, #2 - adds r4, r5, r0 - adds r2, r3, #1 - lsls r0, r2, #2 - adds r1, r5, r0 - ldrb r0, [r4, #0x19] - ldrb r3, [r1, #0x19] - cmp r0, r3 - beq _0802EB4E - movs r0, #1 - mov r8, r0 - ldrb r0, [r1, #0x19] - ldrb r1, [r4, #0x19] - subs r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - movs r3, #2 - cmp r0, #0x10 - ble _0802EB42 - movs r3, #3 -_0802EB42: - adds r0, r5, #0 - adds r1, r2, #0 - adds r2, r6, #0 - bl sub_0802EA68 - b _0802EB54 -_0802EB4E: - adds r3, r2, #0 - cmp r3, #4 - bls _0802EB1A -_0802EB54: - movs r3, #0 - movs r4, #0x1f - rsbs r6, r7, #0 - ands r6, r4 -_0802EB5C: - adds r2, r3, #1 - lsls r0, r2, #2 - adds r0, r5, r0 - ldrb r1, [r0, #0x19] - lsls r0, r3, #2 - adds r0, r5, r0 - ldrb r0, [r0, #0x19] - subs r0, r1, r0 - ands r0, r4 - adds r3, r1, #0 - adds r1, r2, #0 - cmp r0, #0x10 - ble _0802EB7E - cmp r6, r0 - ble _0802EB86 - adds r3, #1 - b _0802EB84 -_0802EB7E: - cmp r7, r0 - bge _0802EB86 - subs r3, #1 -_0802EB84: - ands r3, r4 -_0802EB86: - lsls r0, r1, #2 - adds r0, r5, r0 - strb r3, [r0, #0x19] - adds r3, r1, #0 - cmp r3, #4 - bls _0802EB5C - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0802EB9C -sub_0802EB9C: @ 0x0802EB9C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0802EBBC @ =gUnk_080CD850 - bl sub_080028F4 - ldr r1, _0802EBC0 @ =gUnk_080CD854 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x74 - strb r1, [r0] - adds r4, #0x75 - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_0802EBBC: .4byte gUnk_080CD850 -_0802EBC0: .4byte gUnk_080CD854 - - thumb_func_start sub_0802EBC4 -sub_0802EBC4: @ 0x0802EBC4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - adds r6, r0, #0 - cmp r6, #0 - bne _0802EC66 - ldr r1, _0802EC18 @ =gUnk_080CD86C - adds r5, r4, #0 - adds r5, #0x79 - ldrb r0, [r5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl sub_080028F4 - ldr r2, _0802EC1C @ =gUnk_080CD878 - ldrb r1, [r5] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - adds r1, r1, r0 - adds r2, r4, #0 - adds r2, #0x75 - ldrb r0, [r1] - ldrb r1, [r2] - cmp r0, r1 - bhs _0802EC60 - strb r6, [r2] - ldrb r1, [r5] - cmp r1, #0 - bne _0802EC20 - adds r0, r4, #0 - adds r0, #0x76 - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x77 - movs r0, #3 - strb r0, [r1] - b _0802EC56 - .align 2, 0 -_0802EC18: .4byte gUnk_080CD86C -_0802EC1C: .4byte gUnk_080CD878 -_0802EC20: - bl sub_08000E50 - adds r1, r0, #0 - movs r5, #1 - ands r1, r5 - adds r3, r4, #0 - adds r3, #0x76 - ldrb r0, [r3] - cmp r1, r0 - beq _0802EC3E - strb r1, [r3] - adds r0, r4, #0 - adds r0, #0x77 - strb r5, [r0] - b _0802EC56 -_0802EC3E: - adds r2, r4, #0 - adds r2, #0x77 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #2 - bls _0802EC54 - eors r1, r5 - strb r5, [r2] -_0802EC54: - strb r1, [r3] -_0802EC56: - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xd] - strb r1, [r4, #0xb] - b _0802EC6A -_0802EC60: - movs r0, #2 - strb r0, [r4, #0xd] - b _0802EC6A -_0802EC66: - subs r0, #1 - strb r0, [r1] -_0802EC6A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0802EC6C -sub_0802EC6C: @ 0x0802EC6C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0802EC94 @ =gUnk_080CDE34 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, r5, pc} - .align 2, 0 -_0802EC94: .4byte gUnk_080CDE34 - - thumb_func_start sub_0802EC98 -sub_0802EC98: @ 0x0802EC98 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0802ECBC @ =gUnk_080CDE4C - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bhi _0802ECB8 - adds r0, r4, #0 - bl sub_0802EF90 -_0802ECB8: - pop {r4, pc} - .align 2, 0 -_0802ECBC: .4byte gUnk_080CDE4C - - thumb_func_start sub_0802ECC0 -sub_0802ECC0: @ 0x0802ECC0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0802ED2A - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r5, r0, #0 - ldr r3, _0802ED00 @ =gUnk_030010A0 - cmp r1, #0 - bne _0802ECEE - adds r2, r3, #0 - adds r2, #0x39 - adds r0, r3, #0 - adds r0, #0x3c - ldrb r0, [r0] - adds r0, #2 - movs r1, #1 - lsls r1, r0 - ldrb r0, [r2] - bics r0, r1 - strb r0, [r2] -_0802ECEE: - ldr r0, _0802ED04 @ =gUnk_03000BF0 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _0802ED08 - ldrb r1, [r5] - adds r0, r3, #0 - adds r0, #0x3a - b _0802ED0E - .align 2, 0 -_0802ED00: .4byte gUnk_030010A0 -_0802ED04: .4byte gUnk_03000BF0 -_0802ED08: - ldrb r1, [r5] - adds r0, r3, #0 - adds r0, #0x3b -_0802ED0E: - strb r1, [r0] - adds r6, r4, #0 - adds r6, #0x79 - ldrb r0, [r6] - ldrb r1, [r5] - cmp r0, r1 - beq _0802ED24 - movs r0, #0xbd - lsls r0, r0, #1 - bl sub_08004488 -_0802ED24: - ldrb r0, [r5] - strb r0, [r6] - b _0802ED52 -_0802ED2A: - cmp r0, #1 - bne _0802ED52 - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _0802ED3E - rsbs r0, r0, #0 - strb r0, [r1] -_0802ED3E: - adds r5, r4, #0 - adds r5, #0x45 - ldrb r0, [r5] - cmp r0, #0xff - beq _0802ED4E - movs r0, #0xe5 - bl sub_08004488 -_0802ED4E: - movs r0, #0xff - strb r0, [r5] -_0802ED52: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802ED64 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802ED64: - ldr r1, _0802ED70 @ =gUnk_080CDE34 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_0802ED70: .4byte gUnk_080CDE34 - - thumb_func_start sub_0802ED74 -sub_0802ED74: @ 0x0802ED74 - push {lr} - ldr r2, _0802ED88 @ =gUnk_080CDE5C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802ED88: .4byte gUnk_080CDE5C - - thumb_func_start sub_0802ED8C -sub_0802ED8C: @ 0x0802ED8C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0802EDD0 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x46 - bhi _0802EE0A - bl sub_0805E8D4 - adds r1, r0, #0 - cmp r1, #0 - beq _0802EE0A - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x34 - strb r0, [r1, #9] - str r4, [r1, #0x14] - adds r0, r1, #0 - movs r1, #8 - bl sub_0805EA2C - movs r0, #0x25 - movs r1, #2 - bl sub_0804AA60 - str r4, [r0, #0x50] - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0802EDD4 @ =gUnk_03000BF0 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _0802EDDC - ldr r0, _0802EDD8 @ =gUnk_030010A0 - adds r0, #0x3a - b _0802EDE0 - .align 2, 0 -_0802EDD0: .4byte gUnk_03003DBC -_0802EDD4: .4byte gUnk_03000BF0 -_0802EDD8: .4byte gUnk_030010A0 -_0802EDDC: - ldr r0, _0802EE0C @ =gUnk_030010A0 - adds r0, #0x3b -_0802EDE0: - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x45 - strb r0, [r1] - adds r1, #0x34 - strb r0, [r1] - bl sub_08000E50 - adds r1, r4, #0 - adds r1, #0x78 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0802EFB8 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0802EF58 -_0802EE0A: - pop {r4, pc} - .align 2, 0 -_0802EE0C: .4byte gUnk_030010A0 - - thumb_func_start sub_0802EE10 -sub_0802EE10: @ 0x0802EE10 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802F04C - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_0802EE20 -sub_0802EE20: @ 0x0802EE20 - push {lr} - ldr r2, _0802EE34 @ =gUnk_080CDE64 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802EE34: .4byte gUnk_080CDE64 - - thumb_func_start sub_0802EE38 -sub_0802EE38: @ 0x0802EE38 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0802EE84 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x46 - bhi _0802EE82 - movs r0, #0x25 - movs r1, #3 - bl sub_0804AA60 - str r5, [r0, #0x50] - movs r0, #1 - strb r0, [r5, #0xc] - bl sub_08000E50 - adds r4, r0, #0 - movs r1, #3 - ands r0, r1 - adds r0, #1 - strb r0, [r5, #0xe] - bl sub_08000E50 - lsrs r0, r0, #8 - adds r1, r5, #0 - adds r1, #0x78 - strb r0, [r1] - ldr r1, _0802EE88 @ =gUnk_080CDE6C - lsrs r4, r4, #0x10 - movs r0, #3 - ands r4, r0 - adds r4, r4, r1 - ldrb r0, [r4] - strb r0, [r5, #0x15] - adds r0, r5, #0 - movs r1, #1 - bl sub_08004260 -_0802EE82: - pop {r4, r5, pc} - .align 2, 0 -_0802EE84: .4byte gUnk_03003DBC -_0802EE88: .4byte gUnk_080CDE6C - - thumb_func_start sub_0802EE8C -sub_0802EE8C: @ 0x0802EE8C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r2, [r0, #4] - cmp r2, #0 - bne _0802EEA8 - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x45 - strb r2, [r0] - b _0802EEB4 -_0802EEA8: - adds r0, r4, #0 - bl sub_0802F04C - adds r0, r4, #0 - bl sub_08004274 -_0802EEB4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802EEB8 -sub_0802EEB8: @ 0x0802EEB8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _0802EEC8 - bl sub_0805E780 -_0802EEC8: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0802EED6 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xff - strb r0, [r4, #0x14] -_0802EED6: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C - ldr r1, _0802EF14 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #1 - movs r1, #0x1e - ands r0, r1 - ldr r1, _0802EF18 @ =gUnk_080CDE70 - adds r0, r0, r1 - ldrb r2, [r0] - ldrb r1, [r4, #0x1e] - cmp r2, r1 - beq _0802EF00 - ldrb r0, [r0, #1] - cmp r0, r1 - beq _0802EF00 - strb r2, [r4, #0x1e] -_0802EF00: - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - pop {r4, pc} - .align 2, 0 -_0802EF14: .4byte gUnk_03001160 -_0802EF18: .4byte gUnk_080CDE70 - - thumb_func_start sub_0802EF1C -sub_0802EF1C: @ 0x0802EF1C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _0802EF2C - bl sub_0805E780 -_0802EF2C: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0802EF4A - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x11 - strb r0, [r4, #0x1e] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x19 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] -_0802EF4A: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C - movs r0, #0 - strh r0, [r4, #0x36] - pop {r4, pc} - - thumb_func_start sub_0802EF58 -sub_0802EF58: @ 0x0802EF58 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r5, #0 -_0802EF5E: - movs r0, #0x25 - movs r1, #1 - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _0802EF86 - strb r5, [r4, #0xb] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - str r6, [r4, #0x50] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_0802EF86: - adds r5, #1 - cmp r5, #6 - bls _0802EF5E - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802EF90 -sub_0802EF90: @ 0x0802EF90 - push {r4, lr} - ldr r4, _0802EFB4 @ =gUnk_080CDE90 - adds r3, r0, #0 - adds r3, #0x78 - ldrb r1, [r3] - adds r2, r1, #1 - strb r2, [r3] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1b - movs r2, #7 - ands r1, r2 - adds r1, r1, r4 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - strh r1, [r0, #0x36] - pop {r4, pc} - .align 2, 0 -_0802EFB4: .4byte gUnk_080CDE90 - - thumb_func_start sub_0802EFB8 -sub_0802EFB8: @ 0x0802EFB8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r6, r0, #0 - lsrs r0, r6, #0x10 - movs r1, #3 - ands r0, r1 - cmp r0, #0 - beq _0802EFD2 - movs r5, #0x18 - ands r5, r6 - b _0802EFE0 -_0802EFD2: - ldr r0, _0802F01C @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_080045C4 - adds r5, r0, #4 - movs r0, #0x18 - ands r5, r0 -_0802EFE0: - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _0802F020 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r7, #0x32 - ldrsh r1, [r4, r7] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - ldr r2, _0802F024 @ =gUnk_080B4488 - lsrs r1, r5, #2 - adds r1, r1, r2 - movs r2, #0 - ldrsh r1, [r1, r2] - adds r0, r0, r1 - movs r1, #1 - bl sub_080002E0 - cmp r0, #0 - beq _0802F028 - movs r0, #0xff - strb r0, [r4, #0x15] - b _0802F044 - .align 2, 0 -_0802F01C: .4byte gUnk_03001160 -_0802F020: .4byte gUnk_03000BF0 -_0802F024: .4byte gUnk_080B4488 -_0802F028: - movs r1, #3 - adds r0, r6, #0 - ands r0, r1 - adds r0, #1 - strb r0, [r4, #0xe] - strb r5, [r4, #0x15] - ldr r2, _0802F048 @ =gUnk_080CDE98 - lsrs r0, r6, #0x18 - movs r1, #3 - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r4, #0x24] -_0802F044: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0802F048: .4byte gUnk_080CDE98 - - thumb_func_start sub_0802F04C -sub_0802F04C: @ 0x0802F04C - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r5, [r4, r0] - movs r1, #0x32 - ldrsh r6, [r4, r1] - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _0802F06A - adds r0, r4, #0 - bl sub_0802EFB8 - b _0802F112 -_0802F06A: - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - cmp r0, #1 - beq _0802F098 - cmp r0, #1 - bgt _0802F07C - cmp r0, #0 - beq _0802F082 - b _0802F0DC -_0802F07C: - cmp r0, #2 - beq _0802F0AE - b _0802F0DC -_0802F082: - movs r2, #0xf - adds r0, r6, #0 - ands r0, r2 - cmp r0, #8 - ble _0802F102 - ldrh r1, [r4, #0x32] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #8 - bgt _0802F102 - b _0802F0C2 -_0802F098: - movs r2, #0xf - adds r0, r5, #0 - ands r0, r2 - cmp r0, #7 - bgt _0802F102 - ldrh r1, [r4, #0x2e] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #7 - ble _0802F102 - b _0802F0F0 -_0802F0AE: - movs r2, #0xf - adds r0, r6, #0 - ands r0, r2 - cmp r0, #7 - bgt _0802F102 - ldrh r1, [r4, #0x32] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #7 - ble _0802F102 -_0802F0C2: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldr r1, _0802F0D8 @ =0x0000FFF0 - ands r0, r1 - adds r6, r0, #0 - adds r6, #8 - b _0802F102 - .align 2, 0 -_0802F0D8: .4byte 0x0000FFF0 -_0802F0DC: - movs r2, #0xf - adds r0, r5, #0 - ands r0, r2 - cmp r0, #8 - ble _0802F102 - ldrh r1, [r4, #0x2e] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #8 - bgt _0802F102 -_0802F0F0: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r1, _0802F114 @ =0x0000FFF0 - ands r0, r1 - adds r5, r0, #0 - adds r5, #8 -_0802F102: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0802F112 - strh r5, [r4, #0x2e] - strh r6, [r4, #0x32] - adds r0, r4, #0 - bl sub_0802EFB8 -_0802F112: - pop {r4, r5, r6, pc} - .align 2, 0 -_0802F114: .4byte 0x0000FFF0 - - thumb_func_start sub_0802F118 -sub_0802F118: @ 0x0802F118 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0802F134 @ =gUnk_080CDED0 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_0802F134: .4byte gUnk_080CDED0 - - thumb_func_start sub_0802F138 -sub_0802F138: @ 0x0802F138 - push {lr} - ldr r2, _0802F14C @ =gUnk_080CDEE8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802F14C: .4byte gUnk_080CDEE8 - - thumb_func_start sub_0802F150 -sub_0802F150: @ 0x0802F150 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802F164 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802F164: - ldr r1, _0802F18C @ =gUnk_080CDED0 - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802F1E8 - movs r0, #0x3f - ands r0, r1 - cmp r0, #0x14 - beq _0802F196 - cmp r0, #0x14 - bgt _0802F190 - cmp r0, #0xe - beq _0802F1E0 - b _0802F1E8 - .align 2, 0 -_0802F18C: .4byte gUnk_080CDED0 -_0802F190: - cmp r0, #0x15 - beq _0802F1E0 - b _0802F1E8 -_0802F196: - movs r0, #0 - movs r1, #1 - strb r1, [r4, #0xc] - strb r0, [r4, #0xd] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0802F1A8 - movs r0, #0xc0 - b _0802F1B6 -_0802F1A8: - bl sub_08000E50 - ldr r2, _0802F1DC @ =gUnk_080CDEF8 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] -_0802F1B6: - strb r0, [r4, #0xe] - movs r1, #0 - strb r1, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x7c - strb r1, [r0] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _0802F1CE - ldr r0, [r4, #0x20] - asrs r0, r0, #2 -_0802F1CE: - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _0802F1E8 - .align 2, 0 -_0802F1DC: .4byte gUnk_080CDEF8 -_0802F1E0: - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0 - strb r0, [r1] -_0802F1E8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_16 -nullsub_16: @ 0x0802F1EC - bx lr - .align 2, 0 - - thumb_func_start sub_0802F1F0 -sub_0802F1F0: @ 0x0802F1F0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08001242 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _0802F20C - adds r0, r4, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, r4, #0 - bl sub_08003FC4 -_0802F20C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802F210 -sub_0802F210: @ 0x0802F210 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0804A720 - movs r4, #0 - movs r0, #1 - strb r0, [r5, #0xc] - strb r4, [r5, #0xd] - bl sub_08000E50 - ldr r2, _0802F280 @ =gUnk_080CDEF8 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r5, #0xe] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - ldrb r1, [r5, #0xe] - adds r0, r0, r1 - strb r0, [r5, #0xe] - strb r4, [r5, #0xf] - adds r0, r5, #0 - adds r0, #0x7c - strb r4, [r0] - ldrb r0, [r5, #0xa] - movs r2, #0xa0 - lsls r2, r2, #6 - adds r1, r2, #0 - cmp r0, #0 - bne _0802F258 - movs r0, #0xc0 - lsls r0, r0, #5 - adds r1, r0, #0 -_0802F258: - adds r0, r5, #0 - adds r0, #0x80 - strh r1, [r0] - ldrb r0, [r5, #0xa] - movs r2, #0xc0 - lsls r2, r2, #6 - adds r1, r2, #0 - cmp r0, #0 - bne _0802F270 - movs r0, #0xa0 - lsls r0, r0, #6 - adds r1, r0, #0 -_0802F270: - adds r0, r5, #0 - adds r0, #0x82 - strh r1, [r0] - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, r5, pc} - .align 2, 0 -_0802F280: .4byte gUnk_080CDEF8 - - thumb_func_start sub_0802F284 -sub_0802F284: @ 0x0802F284 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0x60 - bls _0802F298 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004276 - b _0802F29E -_0802F298: - adds r0, r4, #0 - bl sub_08004274 -_0802F29E: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0802F2AA - subs r0, #1 - strb r0, [r4, #0xe] - b _0802F2FE -_0802F2AA: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0802F2E4 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802F2FE - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xa] - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x82 - ldrh r0, [r0] - lsls r0, r0, #4 - str r0, [r4, #0x20] - adds r0, r4, #0 - bl sub_0802F45C - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _0802F2FE -_0802F2E4: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802F2FE - movs r0, #0x40 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0802F2FE: - pop {r4, pc} - - thumb_func_start sub_0802F300 -sub_0802F300: @ 0x0802F300 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AEF88 - movs r0, #0x36 - ldrsh r6, [r4, r0] - bl sub_08000E50 - adds r5, r0, #0 - movs r0, #0xf - ands r5, r0 - adds r0, r4, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #1 - bne _0802F364 - movs r0, #0 - movs r2, #3 - strb r2, [r4, #0xc] - strb r0, [r4, #0xd] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0802F33C - movs r5, #0 -_0802F33C: - cmp r5, #0 - bne _0802F344 - movs r0, #0xc0 - b _0802F350 -_0802F344: - ldr r0, _0802F360 @ =gUnk_080CDEF8 - adds r1, r5, #0 - ands r1, r2 - adds r1, r1, r0 - ldrb r0, [r1] - adds r0, r0, r5 -_0802F350: - strb r0, [r4, #0xe] - movs r0, #0 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - b _0802F3F0 - .align 2, 0 -_0802F360: .4byte gUnk_080CDEF8 -_0802F364: - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _0802F374 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E - b _0802F38C -_0802F374: - adds r0, r4, #0 - bl sub_080002B8 - movs r1, #0xf0 - ands r1, r0 - cmp r1, #0x50 - bne _0802F38C - ldrb r0, [r4, #0x15] - adds r0, #0x10 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_0802F38C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802F3AC - movs r0, #0x10 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0802F3AC - subs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_0802F45C -_0802F3AC: - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0802F3C6 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r6, r0 - bge _0802F3C6 - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - movs r0, #1 - strb r0, [r4, #0xd] -_0802F3C6: - movs r0, #0xc - rsbs r0, r0, #0 - cmp r6, r0 - bge _0802F3DA - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - b _0802F3E4 -_0802F3DA: - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 -_0802F3E4: - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] -_0802F3F0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802F3F4 -sub_0802F3F4: @ 0x0802F3F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0802F45A - adds r0, r4, #0 - adds r0, #0x7c - ldrb r1, [r0] - adds r2, r0, #0 - cmp r1, #1 - bhi _0802F44C - ldrb r0, [r4, #0xa] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _0802F44C - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xa] - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x82 - ldrh r0, [r0] - lsls r0, r0, #4 - str r0, [r4, #0x20] - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0802F45C - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _0802F45A -_0802F44C: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r2] - adds r0, r4, #0 - bl sub_08004260 -_0802F45A: - pop {r4, pc} - - thumb_func_start sub_0802F45C -sub_0802F45C: @ 0x0802F45C - push {r4, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0802F472 - adds r0, r4, #0 - bl sub_08049EE4 - strb r0, [r4, #0x15] - b _0802F49E -_0802F472: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802F48A - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - b _0802F49E -_0802F48A: - bl sub_08000E50 - movs r1, #0xf - ands r1, r0 - adds r1, #0x18 - ldrb r0, [r4, #0x15] - adds r1, r1, r0 - movs r0, #0x1f - ands r1, r0 - strb r1, [r4, #0x15] -_0802F49E: - pop {r4, pc} - - thumb_func_start sub_0802F4A0 -sub_0802F4A0: @ 0x0802F4A0 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0802F4C8 @ =gUnk_080CDF50 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, r5, pc} - .align 2, 0 -_0802F4C8: .4byte gUnk_080CDF50 - - thumb_func_start sub_0802F4CC -sub_0802F4CC: @ 0x0802F4CC - push {lr} - ldr r2, _0802F4E0 @ =gUnk_080CDF68 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802F4E0: .4byte gUnk_080CDF68 - - thumb_func_start sub_0802F4E4 -sub_0802F4E4: @ 0x0802F4E4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802F4F8 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802F4F8: - ldr r1, _0802F558 @ =gUnk_080CDF50 - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x87 - bne _0802F536 - movs r0, #0x2a - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0802F536 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, #0 - adds r1, #0x63 - movs r0, #0xfc - strb r0, [r1] - str r4, [r2, #0x50] -_0802F536: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0802F556 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x84 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0802F556: - pop {r4, pc} - .align 2, 0 -_0802F558: .4byte gUnk_080CDF50 - - thumb_func_start sub_0802F55C -sub_0802F55C: @ 0x0802F55C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0802F594 - movs r0, #3 - strb r0, [r4, #0xc] - movs r2, #0 - movs r0, #0xc0 - strh r0, [r4, #0x24] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] - ldrb r0, [r4, #0xe] - bl sub_0804B128 - str r0, [r4, #0x54] - adds r0, r4, #0 - bl sub_0802FA48 - adds r0, r4, #0 - bl sub_0802FA88 - b _0802F5B8 -_0802F594: - adds r0, r4, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0xff - strb r0, [r1] - subs r1, #1 - movs r0, #0x28 - strb r0, [r1] - strb r0, [r4, #0xe] - movs r0, #0x60 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_0802F888 -_0802F5B8: - adds r0, r4, #0 - movs r1, #7 - movs r2, #0 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _0802F5D0 - str r1, [r4, #0x50] - str r4, [r1, #0x50] - ldrb r0, [r4, #0x15] - strb r0, [r1, #0x15] -_0802F5D0: - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_0802F5DC -sub_0802F5DC: @ 0x0802F5DC - push {r4, r5, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x82 - ldrb r3, [r2] - cmp r3, #1 - beq _0802F62A - cmp r3, #1 - bgt _0802F5F4 - cmp r3, #0 - beq _0802F60A - b _0802F660 -_0802F5F4: - cmp r3, #0xff - bne _0802F660 - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0802F660 - strb r0, [r2] - b _0802F660 -_0802F60A: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802F660 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0x10 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - b _0802F660 -_0802F62A: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802F660 - movs r0, #2 - strb r0, [r5, #0xc] - strb r1, [r2] - movs r0, #0x28 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x15] - lsrs r1, r1, #3 - ldr r2, [r5, #0x50] - movs r4, #1 - strb r3, [r2, #0xe] - ldrb r3, [r2, #0x18] - subs r0, #0x2c - ands r0, r3 - orrs r0, r4 - strb r0, [r2, #0x18] - movs r0, #4 - orrs r1, r0 - adds r0, r5, #0 - bl sub_08004260 -_0802F660: - adds r0, r5, #0 - bl sub_0802F9C8 - pop {r4, r5, pc} - - thumb_func_start sub_0802F668 -sub_0802F668: @ 0x0802F668 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x82 - ldrb r0, [r2] - cmp r0, #1 - beq _0802F6F0 - cmp r0, #1 - bgt _0802F680 - cmp r0, #0 - beq _0802F68A - b _0802F7A2 -_0802F680: - cmp r0, #2 - beq _0802F742 - cmp r0, #3 - beq _0802F76C - b _0802F7A2 -_0802F68A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0802F69E - cmp r1, #8 - beq _0802F6B6 - b _0802F7A2 -_0802F69E: - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0x38 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldr r2, [r4, #0x50] - ldrb r1, [r2, #0x18] - subs r0, #0x3c - ands r0, r1 - strb r0, [r2, #0x18] - b _0802F7A2 -_0802F6B6: - ldr r1, _0802F6EC @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #0xa0 - movs r3, #0xa0 - bl sub_080041A0 - cmp r0, #0 - beq _0802F7A2 - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - beq _0802F7A2 - adds r0, r4, #0 - movs r1, #7 - movs r2, #1 - bl sub_0804A98C - adds r2, r0, #0 - cmp r2, #0 - beq _0802F7A2 - ldrb r1, [r4, #0x15] - movs r0, #0x18 - ands r0, r1 - strb r0, [r2, #0x15] - b _0802F7A2 - .align 2, 0 -_0802F6EC: .4byte gUnk_03001160 -_0802F6F0: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _0802F7A2 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x28 - strb r0, [r1] - strb r0, [r4, #0xe] - strb r3, [r4, #0xf] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xab - lsls r0, r0, #1 - bl sub_08004488 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x84 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 - b _0802F7A2 -_0802F742: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802F7A2 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x20 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _0802F7A2 -_0802F76C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802F7A2 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r2] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x28 - strb r0, [r1] - strb r0, [r4, #0xe] - movs r0, #0xab - lsls r0, r0, #1 - bl sub_08004488 - adds r0, r4, #0 - bl sub_0802F8E4 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 -_0802F7A2: - adds r0, r4, #0 - bl sub_0802F9C8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802F7AC -sub_0802F7AC: @ 0x0802F7AC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0802FA88 - adds r0, r4, #0 - bl sub_0802F9C8 - ldr r5, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - bne _0802F86E - adds r2, r4, #0 - adds r2, #0x82 - ldrb r1, [r2] - cmp r1, #1 - beq _0802F7EA - cmp r1, #1 - bgt _0802F7DA - cmp r1, #0 - beq _0802F7E0 - b _0802F884 -_0802F7DA: - cmp r1, #2 - beq _0802F818 - b _0802F884 -_0802F7E0: - movs r0, #1 - strb r0, [r2] - movs r0, #0x40 - strb r0, [r4, #0xe] - b _0802F884 -_0802F7EA: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802F884 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0x28 - strb r0, [r4, #0xe] - movs r2, #1 - strb r1, [r5, #0xe] - ldrb r1, [r5, #0x18] - subs r0, #0x2c - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - movs r0, #4 - orrs r1, r0 - b _0802F844 -_0802F818: - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0802F84C - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x30 - strb r0, [r4, #0xe] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r5, #0x18] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 -_0802F844: - adds r0, r4, #0 - bl sub_08004260 - b _0802F884 -_0802F84C: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #8 - bne _0802F884 - adds r0, r4, #0 - movs r1, #7 - movs r2, #1 - bl sub_0804A98C - adds r5, r0, #0 - cmp r5, #0 - beq _0802F884 - ldrb r1, [r4, #0x15] - movs r0, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] - b _0802F884 -_0802F86E: - adds r1, r4, #0 - adds r1, #0x82 - ldrb r0, [r1] - cmp r0, #0 - beq _0802F884 - movs r0, #0 - strb r0, [r1] - ldrb r1, [r5, #0x18] - subs r0, #4 - ands r0, r1 - strb r0, [r5, #0x18] -_0802F884: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802F888 -sub_0802F888: @ 0x0802F888 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r1, #3 - bl sub_08049F84 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0802F8DC @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x84 - strh r1, [r5] - ldrh r0, [r5] - adds r6, r4, #0 - adds r6, #0x38 - ldrb r1, [r6] - bl sub_080001DA - adds r4, #0x86 - strh r0, [r4] - ldr r0, _0802F8E0 @ =0x00004071 - ldrh r1, [r5] - ldrb r2, [r6] - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_0802F8DC: .4byte gUnk_03000BF0 -_0802F8E0: .4byte 0x00004071 - - thumb_func_start sub_0802F8E4 -sub_0802F8E4: @ 0x0802F8E4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x14 - adds r7, r0, #0 - ldrb r0, [r7, #0xb] - cmp r0, #0 - bne _0802F9AE - movs r0, #1 - str r0, [sp] - adds r1, r7, #0 - adds r1, #0x70 - str r1, [sp, #0xc] - adds r2, r7, #0 - adds r2, #0x6e - str r2, [sp, #4] - adds r0, r7, #0 - adds r0, #0x72 - str r0, [sp, #0x10] - subs r1, #1 - str r1, [sp, #8] - movs r2, #0x38 - adds r2, r2, r7 - mov r8, r2 - movs r0, #8 - mov sl, r0 - ldr r1, _0802F9BC @ =gUnk_03000BF0 - mov sb, r1 -_0802F920: - bl sub_08000E50 - adds r4, r0, #0 - ldr r2, [sp, #0xc] - ldrh r5, [r2] - ldr r1, _0802F9C0 @ =0x00007FF0 - ands r0, r1 - ldr r2, [sp, #4] - ldrb r1, [r2] - lsls r1, r1, #3 - bl __modsi3 - adds r6, r5, r0 - mov r0, sl - orrs r6, r0 - lsrs r4, r4, #0x10 - ldr r1, [sp, #0x10] - ldrh r5, [r1] - ldr r2, _0802F9C0 @ =0x00007FF0 - ands r4, r2 - ldr r0, [sp, #8] - ldrb r1, [r0] - lsls r1, r1, #3 - adds r0, r4, #0 - bl __modsi3 - adds r5, r5, r0 - mov r1, sl - orrs r5, r1 - mov r2, sb - ldrh r0, [r2, #6] - subs r0, r6, r0 - lsrs r4, r0, #4 - movs r1, #0x3f - ands r4, r1 - ldrh r0, [r2, #8] - subs r0, r5, r0 - lsrs r0, r0, #4 - ands r0, r1 - lsls r0, r0, #6 - orrs r4, r0 - mov r0, r8 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080002E0 - cmp r0, #0 - bne _0802F9A2 - mov r2, r8 - ldrb r1, [r2] - adds r0, r4, #0 - bl sub_080001DA - ldr r1, _0802F9C4 @ =0x00004071 - cmp r0, r1 - beq _0802F9A2 - strh r6, [r7, #0x2e] - strh r5, [r7, #0x32] - adds r0, r7, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0802F9A2 - movs r0, #0 - str r0, [sp] -_0802F9A2: - ldr r1, [sp] - cmp r1, #0 - bne _0802F920 - adds r0, r7, #0 - bl sub_0802F888 -_0802F9AE: - add sp, #0x14 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0802F9BC: .4byte gUnk_03000BF0 -_0802F9C0: .4byte 0x00007FF0 -_0802F9C4: .4byte 0x00004071 - - thumb_func_start sub_0802F9C8 -sub_0802F9C8: @ 0x0802F9C8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0802FA44 - adds r5, r4, #0 - adds r5, #0x81 - ldrb r0, [r5] - adds r6, r5, #0 - cmp r0, #0 - beq _0802FA20 - subs r0, #1 - strb r0, [r5] - movs r1, #0xff - ands r0, r1 - movs r2, #1 - ands r0, r2 - cmp r0, #0 - beq _0802F9F8 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - b _0802FA02 -_0802F9F8: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 -_0802FA02: - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0802FA3E - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r6] - cmp r0, #0 - bne _0802FA3E - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - b _0802FA3E -_0802FA20: - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0802FA3E - adds r0, r4, #0 - bl sub_080AEF88 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _0802FA3E - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - movs r0, #0x28 - strb r0, [r5] -_0802FA3E: - adds r0, r4, #0 - bl sub_08004274 -_0802FA44: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802FA48 -sub_0802FA48: @ 0x0802FA48 - push {r4, lr} - mov ip, r0 - ldr r4, [r0, #0x54] - mov r2, ip - adds r2, #0x80 - ldrb r0, [r2] - lsls r0, r0, #2 - adds r3, r4, r0 - ldrh r1, [r3] - ldr r0, _0802FA80 @ =0x0000FFFF - cmp r1, r0 - bne _0802FA66 - movs r0, #0 - strb r0, [r2] - adds r3, r4, #0 -_0802FA66: - ldr r2, _0802FA84 @ =gUnk_03000BF0 - ldrh r0, [r3] - ldrh r1, [r2, #6] - adds r0, r0, r1 - mov r1, ip - adds r1, #0x78 - strh r0, [r1] - ldrh r0, [r3, #2] - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r1, #2 - strh r0, [r1] - pop {r4, pc} - .align 2, 0 -_0802FA80: .4byte 0x0000FFFF -_0802FA84: .4byte gUnk_03000BF0 - - thumb_func_start sub_0802FA88 -sub_0802FA88: @ 0x0802FA88 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - movs r7, #0 - adds r5, r4, #0 - adds r5, #0x78 - ldrh r1, [r5] - adds r6, r4, #0 - adds r6, #0x7a - ldrh r2, [r6] - movs r3, #2 - bl sub_0806FCB8 - cmp r0, #0 - beq _0802FAF6 - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0802FA48 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r5] - ldrh r3, [r6] - bl sub_080045D4 - adds r2, r0, #0 - strb r2, [r4, #0x15] - adds r0, r2, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - beq _0802FAEA - lsrs r1, r2, #3 - movs r0, #4 - orrs r1, r0 - adds r0, r4, #0 - bl sub_08004260 - b _0802FAF2 -_0802FAEA: - lsrs r1, r2, #3 - adds r0, r4, #0 - bl sub_08004260 -_0802FAF2: - movs r7, #1 - b _0802FB2A -_0802FAF6: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r5] - ldrh r3, [r6] - bl sub_080045D4 - adds r2, r0, #0 - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_08004596 - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r2, r0, #2 - ldrb r0, [r4, #0x14] - cmp r2, r0 - beq _0802FB2A - strb r2, [r4, #0x14] - lsrs r1, r2, #1 - adds r0, r4, #0 - bl sub_08004260 -_0802FB2A: - adds r0, r7, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0802FB30 -sub_0802FB30: @ 0x0802FB30 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0802FB58 @ =gUnk_080CDFC4 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, r5, pc} - .align 2, 0 -_0802FB58: .4byte gUnk_080CDFC4 - - thumb_func_start sub_0802FB5C -sub_0802FB5C: @ 0x0802FB5C - push {lr} - ldr r2, _0802FB70 @ =gUnk_080CDFDC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802FB70: .4byte gUnk_080CDFDC - - thumb_func_start sub_0802FB74 -sub_0802FB74: @ 0x0802FB74 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802FB88 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802FB88: - ldr r1, _0802FBB4 @ =gUnk_080CDFC4 - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0802FBB0 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x84 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0802FBB0: - pop {r4, pc} - .align 2, 0 -_0802FBB4: .4byte gUnk_080CDFC4 - - thumb_func_start sub_0802FBB8 -sub_0802FBB8: @ 0x0802FBB8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0xff - strb r0, [r1] - subs r1, #1 - movs r0, #0x28 - strb r0, [r1] - strb r0, [r4, #0xe] - movs r0, #0x60 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_0802F888 - adds r0, r4, #0 - movs r1, #8 - movs r2, #0 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _0802FBF6 - str r1, [r4, #0x54] - str r4, [r1, #0x50] - ldrb r0, [r4, #0x15] - strb r0, [r1, #0x15] -_0802FBF6: - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802FC04 -sub_0802FC04: @ 0x0802FC04 - push {r4, r5, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x82 - ldrb r3, [r2] - cmp r3, #1 - beq _0802FC52 - cmp r3, #1 - bgt _0802FC1C - cmp r3, #0 - beq _0802FC32 - b _0802FC88 -_0802FC1C: - cmp r3, #0xff - bne _0802FC88 - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0802FC88 - strb r0, [r2] - b _0802FC88 -_0802FC32: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802FC88 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0xe - strb r0, [r5, #0xe] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - b _0802FC88 -_0802FC52: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802FC88 - movs r0, #2 - strb r0, [r5, #0xc] - strb r1, [r2] - movs r0, #0x20 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x15] - lsrs r1, r1, #3 - ldr r2, [r5, #0x54] - movs r4, #1 - strb r3, [r2, #0xe] - ldrb r3, [r2, #0x18] - subs r0, #0x24 - ands r0, r3 - orrs r0, r4 - strb r0, [r2, #0x18] - movs r0, #4 - orrs r1, r0 - adds r0, r5, #0 - bl sub_08004260 -_0802FC88: - adds r0, r5, #0 - bl sub_0802F9C8 - pop {r4, r5, pc} - - thumb_func_start sub_0802FC90 -sub_0802FC90: @ 0x0802FC90 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x82 - ldrb r0, [r2] - cmp r0, #1 - beq _0802FD18 - cmp r0, #1 - bgt _0802FCA8 - cmp r0, #0 - beq _0802FCB2 - b _0802FDCA -_0802FCA8: - cmp r0, #2 - beq _0802FD6A - cmp r0, #3 - beq _0802FD94 - b _0802FDCA -_0802FCB2: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0802FCC6 - cmp r1, #6 - beq _0802FCDE - b _0802FDCA -_0802FCC6: - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0x38 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldr r2, [r4, #0x54] - ldrb r1, [r2, #0x18] - subs r0, #0x3c - ands r0, r1 - strb r0, [r2, #0x18] - b _0802FDCA -_0802FCDE: - ldr r1, _0802FD14 @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #0xa0 - movs r3, #0xa0 - bl sub_080041A0 - cmp r0, #0 - beq _0802FDCA - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - beq _0802FDCA - adds r0, r4, #0 - movs r1, #8 - movs r2, #1 - bl sub_0804A98C - adds r2, r0, #0 - cmp r2, #0 - beq _0802FDCA - ldrb r1, [r4, #0x15] - movs r0, #0x18 - ands r0, r1 - strb r0, [r2, #0x15] - b _0802FDCA - .align 2, 0 -_0802FD14: .4byte gUnk_03001160 -_0802FD18: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _0802FDCA - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x28 - strb r0, [r1] - strb r0, [r4, #0xe] - strb r3, [r4, #0xf] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x84 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - movs r0, #0xab - lsls r0, r0, #1 - bl sub_08004488 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 - b _0802FDCA -_0802FD6A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802FDCA - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x1c - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _0802FDCA -_0802FD94: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802FDCA - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r2] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x28 - strb r0, [r1] - strb r0, [r4, #0xe] - movs r0, #0xab - lsls r0, r0, #1 - bl sub_08004488 - adds r0, r4, #0 - bl sub_0802F8E4 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 -_0802FDCA: - adds r0, r4, #0 - bl sub_0802F9C8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802FDD4 -sub_0802FDD4: @ 0x0802FDD4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0802FDFC @ =gUnk_080CE074 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, r5, pc} - .align 2, 0 -_0802FDFC: .4byte gUnk_080CE074 - - thumb_func_start sub_0802FE00 -sub_0802FE00: @ 0x0802FE00 - push {lr} - ldr r2, _0802FE14 @ =gUnk_080CE08C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802FE14: .4byte gUnk_080CE08C - - thumb_func_start sub_0802FE18 -sub_0802FE18: @ 0x0802FE18 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802FE2C - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802FE2C: - ldr r1, _0802FE8C @ =gUnk_080CE074 - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x87 - bne _0802FE6A - movs r0, #0x2a - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0802FE6A - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, #0 - adds r1, #0x63 - movs r0, #0xfc - strb r0, [r1] - str r4, [r2, #0x50] -_0802FE6A: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0802FE8A - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x84 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0802FE8A: - pop {r4, pc} - .align 2, 0 -_0802FE8C: .4byte gUnk_080CE074 - - thumb_func_start sub_0802FE90 -sub_0802FE90: @ 0x0802FE90 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0xff - strb r0, [r1] - subs r1, #1 - movs r0, #0x28 - strb r0, [r1] - strb r0, [r4, #0xe] - movs r0, #0x60 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_0802F888 - adds r0, r4, #0 - movs r1, #9 - movs r2, #0 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _0802FECE - str r1, [r4, #0x54] - str r4, [r1, #0x50] - ldrb r0, [r4, #0x15] - strb r0, [r1, #0x15] -_0802FECE: - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802FEDC -sub_0802FEDC: @ 0x0802FEDC - push {r4, r5, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x82 - ldrb r3, [r2] - cmp r3, #1 - beq _0802FF2A - cmp r3, #1 - bgt _0802FEF4 - cmp r3, #0 - beq _0802FF0A - b _0802FF60 -_0802FEF4: - cmp r3, #0xff - bne _0802FF60 - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0802FF60 - strb r0, [r2] - b _0802FF60 -_0802FF0A: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802FF60 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0xc - strb r0, [r5, #0xe] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - b _0802FF60 -_0802FF2A: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0802FF60 - movs r0, #2 - strb r0, [r5, #0xc] - strb r1, [r2] - movs r0, #0x20 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x15] - lsrs r1, r1, #3 - ldr r2, [r5, #0x54] - movs r4, #1 - strb r3, [r2, #0xe] - ldrb r3, [r2, #0x18] - subs r0, #0x24 - ands r0, r3 - orrs r0, r4 - strb r0, [r2, #0x18] - movs r0, #4 - orrs r1, r0 - adds r0, r5, #0 - bl sub_08004260 -_0802FF60: - adds r0, r5, #0 - bl sub_0802F9C8 - pop {r4, r5, pc} - - thumb_func_start sub_0802FF68 -sub_0802FF68: @ 0x0802FF68 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x82 - ldrb r0, [r2] - cmp r0, #1 - beq _0802FFF0 - cmp r0, #1 - bgt _0802FF80 - cmp r0, #0 - beq _0802FF8A - b _080300A2 -_0802FF80: - cmp r0, #2 - beq _08030042 - cmp r0, #3 - beq _0803006C - b _080300A2 -_0802FF8A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0802FF9E - cmp r1, #0xa - beq _0802FFB6 - b _080300A2 -_0802FF9E: - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0x38 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldr r2, [r4, #0x54] - ldrb r1, [r2, #0x18] - subs r0, #0x3c - ands r0, r1 - strb r0, [r2, #0x18] - b _080300A2 -_0802FFB6: - ldr r1, _0802FFEC @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #0xa0 - movs r3, #0xa0 - bl sub_080041A0 - cmp r0, #0 - beq _080300A2 - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - beq _080300A2 - adds r0, r4, #0 - movs r1, #9 - movs r2, #1 - bl sub_0804A98C - adds r2, r0, #0 - cmp r2, #0 - beq _080300A2 - ldrb r1, [r4, #0x15] - movs r0, #0x18 - ands r0, r1 - strb r0, [r2, #0x15] - b _080300A2 - .align 2, 0 -_0802FFEC: .4byte gUnk_03001160 -_0802FFF0: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _080300A2 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x28 - strb r0, [r1] - strb r0, [r4, #0xe] - strb r3, [r4, #0xf] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x84 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - movs r0, #0xab - lsls r0, r0, #1 - bl sub_08004488 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 - b _080300A2 -_08030042: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080300A2 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x18 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _080300A2 -_0803006C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080300A2 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r2] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0x28 - strb r0, [r1] - strb r0, [r4, #0xe] - movs r0, #0xab - lsls r0, r0, #1 - bl sub_08004488 - adds r0, r4, #0 - bl sub_0802F8E4 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 -_080300A2: - adds r0, r4, #0 - bl sub_0802F9C8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080300AC -sub_080300AC: @ 0x080300AC - push {r4, lr} - ldr r4, _080300C0 @ =gUnk_0300110C - adds r0, r4, #0 - movs r1, #0x44 - bl sub_0801D630 - adds r4, #0x42 - movs r0, #0xff - strh r0, [r4] - pop {r4, pc} - .align 2, 0 -_080300C0: .4byte gUnk_0300110C - - thumb_func_start sub_080300C4 -sub_080300C4: @ 0x080300C4 - push {lr} - ldr r2, _080300E4 @ =gUnk_030010A0 - adds r0, r2, #0 - adds r0, #0xae - ldrh r0, [r0] - cmp r0, #0xff - bne _080300E2 - adds r0, r2, #0 - adds r0, #0xac - movs r1, #0 - strh r1, [r0] - subs r0, #0x40 - movs r1, #0x40 - bl sub_0801D630 -_080300E2: - pop {pc} - .align 2, 0 -_080300E4: .4byte gUnk_030010A0 - - thumb_func_start sub_080300E8 -sub_080300E8: @ 0x080300E8 - push {lr} - ldr r1, _08030110 @ =gUnk_030010A0 - adds r3, r1, #0 - adds r3, #0xae - ldrh r0, [r3] - cmp r0, #0xff - beq _0803010C - lsls r0, r0, #2 - adds r1, #0x6c - adds r0, r0, r1 - ldr r2, _08030114 @ =gUnk_03001160 - ldrh r1, [r0] - strh r1, [r2, #0x2e] - ldrh r0, [r0, #2] - adds r0, #0xc - strh r0, [r2, #0x32] - movs r0, #0xff - strh r0, [r3] -_0803010C: - pop {pc} - .align 2, 0 -_08030110: .4byte gUnk_030010A0 -_08030114: .4byte gUnk_03001160 - - thumb_func_start sub_08030118 -sub_08030118: @ 0x08030118 - push {lr} - adds r2, r0, #0 - ldr r0, _0803013C @ =gUnk_030010A0 - adds r0, #0xac - ldrh r0, [r0] - asrs r0, r2 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08030140 - movs r0, #0xc0 - lsls r0, r0, #2 - adds r1, r2, #0 - adds r1, #0x67 - bl sub_0807CC9C - b _0803014C - .align 2, 0 -_0803013C: .4byte gUnk_030010A0 -_08030140: - movs r0, #0xc0 - lsls r0, r0, #2 - adds r1, r2, #0 - adds r1, #0x67 - bl sub_0807CD20 -_0803014C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08030150 -sub_08030150: @ 0x08030150 - push {r4, r5, lr} - mov ip, r0 - ldr r2, _08030194 @ =gUnk_030010A0 - adds r5, r2, #0 - adds r5, #0xac - mov r3, ip - adds r3, #0x80 - ldrb r4, [r3] - movs r0, #1 - lsls r0, r4 - ldrh r1, [r5] - bics r1, r0 - mov r0, ip - adds r0, #0x84 - ldr r0, [r0] - lsls r0, r4 - orrs r1, r0 - strh r1, [r5] - ldrb r0, [r3] - lsls r0, r0, #2 - adds r2, #0x6c - adds r0, r0, r2 - mov r4, ip - ldrh r1, [r4, #0x2e] - strh r1, [r0] - ldrb r0, [r3] - lsls r0, r0, #1 - adds r0, #1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r1, [r4, #0x32] - strh r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_08030194: .4byte gUnk_030010A0 - - thumb_func_start sub_08030198 -sub_08030198: @ 0x08030198 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080301B8 @ =gUnk_080CE124 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - adds r0, r4, #0 - bl sub_08030150 - pop {r4, pc} - .align 2, 0 -_080301B8: .4byte gUnk_080CE124 - - thumb_func_start sub_080301BC -sub_080301BC: @ 0x080301BC - push {lr} - ldr r2, _080301D0 @ =gUnk_080CE13C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080301D0: .4byte gUnk_080CE13C - - thumb_func_start sub_080301D4 -sub_080301D4: @ 0x080301D4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - bne _080301EE - ldr r1, [r4, #0x4c] - ldr r0, _08030238 @ =gUnk_03001160 - cmp r1, r0 - bne _080301EE - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xe2 - strb r0, [r1] -_080301EE: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r6, r0, #0 - adds r5, r4, #0 - adds r5, #0x81 - cmp r1, #0 - beq _08030216 - ldrb r0, [r5] - cmp r1, r0 - beq _08030216 - movs r0, #8 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #6 - bl sub_080309C8 - adds r0, r4, #0 - bl sub_080309E8 -_08030216: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08030228 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08030228: - ldrb r0, [r6] - strb r0, [r5] - ldr r1, _0803023C @ =gUnk_080CE124 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08030238: .4byte gUnk_03001160 -_0803023C: .4byte gUnk_080CE124 - - thumb_func_start sub_08030240 -sub_08030240: @ 0x08030240 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #6 - bne _08030260 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08030260 - adds r0, r4, #0 - bl sub_08004274 -_08030260: - adds r0, r4, #0 - bl sub_08001242 - pop {r4, pc} - - thumb_func_start nullsub_17 -nullsub_17: @ 0x08030268 - bx lr - .align 2, 0 - - thumb_func_start sub_0803026C -sub_0803026C: @ 0x0803026C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - ldrb r0, [r4, #0xe] - adds r3, r4, #0 - adds r3, #0x80 - strb r0, [r3] - ldrb r2, [r3] - lsls r0, r2, #2 - ldr r5, _080302A8 @ =gUnk_0300110C - adds r0, r0, r5 - ldrh r1, [r0] - cmp r1, #0 - beq _080302AC - strh r1, [r4, #0x2e] - ldrh r0, [r0, #2] - strh r0, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x84 - adds r0, r5, #0 - adds r0, #0x40 - ldrh r0, [r0] - ldrb r3, [r3] - asrs r0, r3 - movs r1, #1 - ands r0, r1 - str r0, [r2] - b _080302BA - .align 2, 0 -_080302A8: .4byte gUnk_0300110C -_080302AC: - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, _08030304 @ =0x0000047D - asrs r1, r2 - movs r2, #1 - ands r1, r2 - str r1, [r0] -_080302BA: - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _080302C6 - bl sub_0804B128 - str r0, [r4, #0x7c] -_080302C6: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x81 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08030580 - adds r0, r4, #0 - bl sub_080307EC - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #2 - bne _08030302 - ldr r0, _08030308 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - adds r0, #0x80 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _08030302 - movs r0, #7 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #7 - bl sub_080309C8 -_08030302: - pop {r4, r5, pc} - .align 2, 0 -_08030304: .4byte 0x0000047D -_08030308: .4byte gUnk_03000BF0 - - thumb_func_start sub_0803030C -sub_0803030C: @ 0x0803030C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0803086C - adds r5, r0, #0 - cmp r5, #0 - bne _08030334 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - cmp r0, #0 - beq _08030334 - adds r0, r4, #0 - bl sub_08030650 - cmp r0, #0 - beq _08030334 - movs r0, #2 - strb r0, [r4, #0xc] - strb r5, [r4, #0xd] -_08030334: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08030338 -sub_08030338: @ 0x08030338 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #2 - beq _0803034C - adds r0, r4, #0 - bl sub_080309A8 - b _08030368 -_0803034C: - adds r0, r4, #0 - movs r1, #3 - bl sub_08004276 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - cmp r0, #0 - beq _08030368 - ldrb r0, [r4, #0x1e] - cmp r0, #0x25 - bne _08030368 - movs r0, #0x19 - strb r0, [r4, #0x1e] -_08030368: - adds r3, r4, #0 - adds r3, #0x5a - ldrb r2, [r3] - adds r1, r2, #0 - cmp r1, #1 - bne _0803039C - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0803037C - strb r1, [r4, #0xd] -_0803037C: - ldrb r0, [r4, #0xe] - adds r2, r0, #1 - strb r2, [r4, #0xe] - ands r1, r2 - cmp r1, #0 - beq _0803042C - ldr r1, _08030398 @ =gUnk_080CE160 - movs r0, #6 - ands r2, r0 - lsrs r0, r2, #1 - adds r0, r0, r1 - ldrb r1, [r0] - b _08030426 - .align 2, 0 -_08030398: .4byte gUnk_080CE160 -_0803039C: - cmp r1, #2 - bne _080303D4 - movs r0, #0 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #2 - beq _080303C0 - adds r1, r4, #0 - adds r1, #0x3b - movs r0, #0xb - strb r0, [r1] - adds r1, #4 - movs r0, #8 - strb r0, [r1] - ldr r0, _080303D0 @ =gUnk_080FD2F0 - str r0, [r4, #0x48] -_080303C0: - adds r0, r4, #0 - bl sub_08030834 - movs r0, #0x95 - lsls r0, r0, #1 - bl sub_08004488 - b _0803042C - .align 2, 0 -_080303D0: .4byte gUnk_080FD2F0 -_080303D4: - movs r0, #0x80 - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _08030426 - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #2 - beq _08030412 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0xff - strb r0, [r4, #0x14] - adds r2, r4, #0 - adds r2, #0x7a - movs r1, #0 - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r2] - adds r0, r4, #0 - adds r0, #0x82 - strb r1, [r0] - adds r0, r4, #0 - bl sub_080306C4 - adds r0, r4, #0 - bl sub_080309E8 - b _0803042C -_08030412: - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x1a - strb r0, [r4, #0xe] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - movs r0, #0x10 - strb r0, [r4, #0x15] - b _0803042C -_08030426: - adds r0, r4, #0 - adds r0, #0x62 - strb r1, [r0] -_0803042C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08030430 -sub_08030430: @ 0x08030430 - push {r4, lr} - adds r4, r0, #0 - bl sub_08030A04 - movs r0, #0x24 - ldrsh r1, [r4, r0] - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - ble _0803044A - adds r0, r4, #0 - bl sub_08004274 -_0803044A: - adds r0, r4, #0 - bl sub_080309A8 - adds r1, r4, #0 - adds r1, #0x7a - ldrh r0, [r1] - cmp r0, #0 - beq _0803045E - subs r0, #1 - strh r0, [r1] -_0803045E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08030470 - adds r0, r4, #0 - bl sub_080306C4 -_08030470: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08030474 -sub_08030474: @ 0x08030474 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803049C - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0x3c - strh r0, [r1] - adds r0, r4, #0 - bl sub_080309E8 - b _080304BA -_0803049C: - adds r0, r4, #0 - bl sub_080305BC - cmp r0, #0 - beq _080304AE - adds r0, r4, #0 - bl sub_08030590 - b _080304BA -_080304AE: - adds r0, r4, #0 - bl sub_080307D4 - adds r0, r4, #0 - bl sub_080309A8 -_080304BA: - pop {r4, pc} - - thumb_func_start sub_080304BC -sub_080304BC: @ 0x080304BC - push {r4, lr} - adds r4, r0, #0 - bl sub_080309A8 - adds r3, r4, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _080304DE - adds r0, r4, #0 - bl sub_08030580 - b _080304F0 -_080304DE: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bne _080304F0 - strb r2, [r3] - movs r0, #0x95 - lsls r0, r0, #1 - bl sub_08004488 -_080304F0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080304F4 -sub_080304F4: @ 0x080304F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_080309A8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08030520 - movs r0, #7 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #5 - bl sub_080309C8 - adds r0, r4, #0 - bl sub_080307EC -_08030520: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08030524 -sub_08030524: @ 0x08030524 - push {lr} - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0803053E - adds r0, r2, #0 - bl sub_080309A8 - b _08030552 -_0803053E: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bne _08030552 - movs r0, #0 - strb r0, [r3] - movs r0, #0x95 - lsls r0, r0, #1 - bl sub_08004488 -_08030552: - pop {pc} - - thumb_func_start sub_08030554 -sub_08030554: @ 0x08030554 - push {r4, lr} - adds r4, r0, #0 - bl sub_080309A8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803057C - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080309C8 - adds r0, r4, #0 - bl sub_080306C4 -_0803057C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08030580 -sub_08030580: @ 0x08030580 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #4 - bl sub_080309C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08030590 -sub_08030590: @ 0x08030590 - push {r4, lr} - adds r4, r0, #0 - movs r0, #5 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3b - movs r0, #1 - strb r0, [r1] - adds r1, #4 - strb r0, [r1] - ldr r0, _080305B8 @ =gUnk_080FD2F8 - str r0, [r4, #0x48] - adds r0, r4, #0 - movs r1, #5 - bl sub_080309C8 - adds r0, r4, #0 - bl sub_080307EC - pop {r4, pc} - .align 2, 0 -_080305B8: .4byte gUnk_080FD2F8 - - thumb_func_start sub_080305BC -sub_080305BC: @ 0x080305BC - push {r4, lr} - adds r4, r0, #0 - ldrh r1, [r4, #0x2e] - movs r2, #0xf - adds r0, r2, #0 - ands r0, r1 - movs r3, #0 - cmp r0, #8 - bne _080305D0 - movs r3, #1 -_080305D0: - ldrh r0, [r4, #0x32] - ands r2, r0 - cmp r2, #8 - bne _080305DC - movs r0, #2 - orrs r3, r0 -_080305DC: - cmp r3, #3 - bne _080305E4 - movs r0, #1 - b _0803064C -_080305E4: - ldrb r1, [r4, #0x15] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0803061E - movs r0, #1 - ands r0, r3 - cmp r0, #0 - bne _08030608 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _0803064A - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - b _08030648 -_08030608: - cmp r2, #8 - ble _08030610 - movs r0, #0x10 - b _08030612 -_08030610: - movs r0, #0 -_08030612: - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x15] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - bne _0803064A -_0803061E: - movs r0, #2 - ands r3, r0 - cmp r3, #0 - bne _08030638 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _0803064A - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - b _08030648 -_08030638: - ldrh r1, [r4, #0x2e] - movs r0, #0xf - ands r0, r1 - cmp r0, #8 - ble _08030646 - movs r0, #8 - b _08030648 -_08030646: - movs r0, #0x18 -_08030648: - strb r0, [r4, #0x15] -_0803064A: - movs r0, #0 -_0803064C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08030650 -sub_08030650: @ 0x08030650 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08030668 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _080306B6 -_08030664: - movs r0, #1 - b _080306B8 -_08030668: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #2 - beq _08030698 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080306B6 - ldr r0, _08030694 @ =gUnk_020000B0 - ldr r0, [r0] - movs r1, #0x2e - ldrsh r0, [r0, r1] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r0, #0x10 - cmp r0, #0x20 - bhi _080306B6 - b _08030664 - .align 2, 0 -_08030694: .4byte gUnk_020000B0 -_08030698: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080306B6 - ldr r0, _080306BC @ =gUnk_020000B0 - ldr r0, [r0] - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r0, _080306C0 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - adds r0, #0xa8 - cmp r1, r0 - blt _08030664 -_080306B6: - movs r0, #0 -_080306B8: - pop {r4, pc} - .align 2, 0 -_080306BC: .4byte gUnk_020000B0 -_080306C0: .4byte gUnk_03000BF0 - - thumb_func_start sub_080306C4 -sub_080306C4: @ 0x080306C4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080307C0 - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - cmp r0, #0 - beq _080307C0 - movs r0, #0x18 - strb r0, [r4, #0xe] - ldr r0, _080307B0 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0800132C - adds r5, r0, #0 - cmp r5, #0xff - beq _080307CC - movs r0, #0 - mov r8, r0 - bl sub_08000E50 - movs r1, #7 - ands r1, r0 - cmp r1, #0 - bne _0803070E - ldrb r0, [r4, #0x14] - adds r6, r4, #0 - adds r6, #0x82 - cmp r0, #0xff - bne _0803072A -_0803070E: - adds r2, r4, #0 - adds r2, #0x82 - ldrb r1, [r2] - movs r0, #3 - ands r0, r1 - adds r6, r2, #0 - cmp r0, #3 - beq _0803072A - adds r0, r5, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - movs r1, #1 - mov r8, r1 -_0803072A: - mov r7, r8 - cmp r7, #0 - bne _08030746 - bl sub_08000E50 - movs r1, #2 - ands r1, r0 - subs r1, #1 - lsls r1, r1, #3 - adds r1, #4 - adds r1, r5, r1 - movs r0, #0x18 - ands r1, r0 - strb r1, [r4, #0x15] -_08030746: - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - ldr r1, _080307B4 @ =gUnk_02027EB4 - mov ip, r1 - cmp r0, #2 - bne _08030758 - ldr r7, _080307B8 @ =gUnk_0200D654 - mov ip, r7 -_08030758: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r3, _080307BC @ =gUnk_080CE164 - ldrb r0, [r4, #0x15] - lsrs r0, r0, #2 - adds r2, r0, r3 - ldrb r2, [r2] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - adds r1, r1, r2 - movs r7, #0x32 - ldrsh r2, [r4, r7] - adds r0, #1 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r2, r2, r0 - mov r0, ip - movs r3, #0 - bl sub_080AE4CC - cmp r0, #0 - beq _0803079E - movs r0, #4 - adds r1, r5, #0 - ands r1, r0 - eors r1, r0 - lsls r1, r1, #1 - movs r0, #0x10 - ands r5, r0 - orrs r1, r5 - strb r1, [r4, #0x15] - movs r0, #0 - mov r8, r0 -_0803079E: - adds r0, r4, #0 - bl sub_080307D4 - ldrb r0, [r6] - lsls r0, r0, #1 - mov r1, r8 - orrs r0, r1 - strb r0, [r6] - b _080307CC - .align 2, 0 -_080307B0: .4byte gUnk_020000B0 -_080307B4: .4byte gUnk_02027EB4 -_080307B8: .4byte gUnk_0200D654 -_080307BC: .4byte gUnk_080CE164 -_080307C0: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #0xa0 - strh r0, [r4, #0x24] -_080307CC: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080307D4 -sub_080307D4: @ 0x080307D4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0x15] - lsrs r1, r0, #3 - ldrb r0, [r2, #0x14] - cmp r1, r0 - beq _080307EA - strb r1, [r2, #0x14] - adds r0, r2, #0 - bl sub_080309C8 -_080307EA: - pop {pc} - - thumb_func_start sub_080307EC -sub_080307EC: @ 0x080307EC - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #0x2e - ldrsh r4, [r5, r0] - ldr r1, _0803082C @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r2, #0x3f - ands r4, r2 - movs r3, #0x32 - ldrsh r0, [r5, r3] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r6, r5, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r4, #0 - bl sub_080001DA - adds r5, #0x78 - strh r0, [r5] - ldr r0, _08030830 @ =0x00004022 - ldrb r2, [r6] - adds r1, r4, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_0803082C: .4byte gUnk_03000BF0 -_08030830: .4byte 0x00004022 - - thumb_func_start sub_08030834 -sub_08030834: @ 0x08030834 - push {r4, r5, r6, lr} - adds r1, r0, #0 - adds r1, #0x78 - ldrh r5, [r1] - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r3, _08030868 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r0, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r5, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_08030868: .4byte gUnk_03000BF0 - - thumb_func_start sub_0803086C -sub_0803086C: @ 0x0803086C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - ldr r0, [r5, #0x7c] - cmp r0, #0 - bne _08030880 - b _0803099C -_08030880: - ldr r0, _08030928 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0803088E - b _0803098A -_0803088E: - ldr r0, _0803092C @ =gUnk_03000BF0 - mov sb, r0 - ldrh r0, [r5, #0x2e] - mov r2, sb - ldrh r1, [r2, #6] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - ldrh r0, [r5, #0x32] - ldrh r1, [r2, #8] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - movs r3, #0x2e - ldrsh r0, [r5, r3] - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r2, #0x3f - ands r4, r2 - movs r1, #0x32 - ldrsh r0, [r5, r1] - mov r3, sb - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - movs r0, #0x38 - adds r0, r0, r5 - mov r8, r0 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080002B0 - ldr r1, _08030930 @ =0x00004049 - mov sl, r1 - cmp r0, sl - bne _08030950 - adds r0, r7, #0 - adds r1, r6, #0 - movs r2, #2 - movs r3, #0xc - bl sub_0800293E - cmp r0, #0 - beq _0803093C - subs r1, r6, #4 - adds r0, r7, #0 - movs r2, #2 - movs r3, #4 - bl sub_0800293E - cmp r0, #0 - beq _0803098A - ldr r2, _08030934 @ =gUnk_03001160 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r5, #0x7c] - bl sub_08080840 - ldr r0, _08030938 @ =gUnk_030010A0 - adds r1, r5, #0 - adds r1, #0x80 - ldrb r1, [r1] - adds r0, #0xae - strh r1, [r0] - movs r0, #1 - b _0803099E - .align 2, 0 -_08030928: .4byte gUnk_03003F80 -_0803092C: .4byte gUnk_03000BF0 -_08030930: .4byte 0x00004049 -_08030934: .4byte gUnk_03001160 -_08030938: .4byte gUnk_030010A0 -_0803093C: - ldr r0, _0803094C @ =0x00004022 - mov r3, r8 - ldrb r2, [r3] - adds r1, r4, #0 - bl sub_0800015E - b _0803098A - .align 2, 0 -_0803094C: .4byte 0x00004022 -_08030950: - adds r1, r6, #6 - adds r0, r7, #0 - movs r2, #2 - movs r3, #5 - bl sub_0800293E - cmp r0, #0 - beq _0803098A - movs r4, #0x2e - ldrsh r1, [r5, r4] - mov r2, sb - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r5, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - mov r0, r8 - ldrb r2, [r0] - mov r0, sl - bl sub_0800015E -_0803098A: - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] -_0803099C: - movs r0, #0 -_0803099E: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080309A8 -sub_080309A8: @ 0x080309A8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - cmp r0, #0 - beq _080309C4 - ldrb r0, [r4, #0x1e] - cmp r0, #0x25 - bne _080309C4 - movs r0, #0x19 - strb r0, [r4, #0x1e] -_080309C4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080309C8 -sub_080309C8: @ 0x080309C8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004260 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - cmp r0, #0 - beq _080309E4 - ldrb r0, [r4, #0x1e] - cmp r0, #0x25 - bne _080309E4 - movs r0, #0x19 - strb r0, [r4, #0x1e] -_080309E4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080309E8 -sub_080309E8: @ 0x080309E8 - push {lr} - adds r1, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #4 - bhi _080309FA - movs r0, #0x90 - lsls r0, r0, #1 - b _08030A00 -_080309FA: - cmp r0, #8 - bhi _08030A02 - movs r0, #0xe0 -_08030A00: - strh r0, [r1, #0x24] -_08030A02: - pop {pc} - - thumb_func_start sub_08030A04 -sub_08030A04: @ 0x08030A04 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEF88 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08030A24 - movs r0, #0xfe - ands r0, r1 - strb r0, [r4] - ldr r0, _08030A28 @ =0x00000101 - bl sub_08004488 -_08030A24: - pop {r4, pc} - .align 2, 0 -_08030A28: .4byte 0x00000101 - - thumb_func_start sub_08030A2C -sub_08030A2C: @ 0x08030A2C - push {lr} - ldr r1, _08030A38 @ =gUnk_080CE288 - bl sub_0800129E - pop {pc} - .align 2, 0 -_08030A38: .4byte gUnk_080CE288 - - thumb_func_start sub_08030A3C -sub_08030A3C: @ 0x08030A3C - push {lr} - ldr r2, _08030A50 @ =gUnk_080CE2A0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08030A50: .4byte gUnk_080CE2A0 - - thumb_func_start sub_08030A54 -sub_08030A54: @ 0x08030A54 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r6, [r0] - cmp r6, #0x95 - beq _08030A68 - adds r5, r4, #0 - adds r5, #0x45 - cmp r6, #0x8e - bne _08030B0E -_08030A68: - ldr r2, [r4, #0x4c] - ldrb r0, [r2, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - movs r1, #0x10 - eors r0, r1 - asrs r0, r0, #3 - adds r5, r4, #0 - adds r5, #0x45 - ldrb r1, [r4, #0x14] - cmp r0, r1 - bne _08030B0E - movs r3, #1 - ands r3, r0 - cmp r3, #0 - beq _08030AC0 - movs r3, #0x32 - ldrsh r0, [r2, r3] - movs r3, #0x36 - ldrsh r1, [r2, r3] - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - movs r3, #0x36 - ldrsh r2, [r4, r3] - adds r1, r1, r2 - subs r0, r0, r1 - adds r0, #0x14 - cmp r0, #0x10 - bhi _08030B0E - cmp r6, #0x8e - bne _08030AAE - movs r0, #0 - b _08030AB2 -_08030AAE: - ldrb r0, [r5] - subs r0, #1 -_08030AB2: - strb r0, [r5] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0x10 - strb r0, [r1] - movs r0, #0xfe - b _08030AE0 -_08030AC0: - movs r1, #0x2e - ldrsh r0, [r2, r1] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r0, #8 - cmp r0, #0x10 - bhi _08030B0E - ldrb r0, [r4, #0xc] - cmp r0, #1 - bne _08030AEC - adds r0, r4, #0 - bl sub_08031320 - movs r0, #0x86 - lsls r0, r0, #1 -_08030AE0: - bl sub_08004488 - adds r0, r4, #0 - bl sub_08031344 - b _08030B0E -_08030AEC: - cmp r6, #0x8e - bne _08030AF4 - strb r3, [r5] - b _08030AFA -_08030AF4: - ldrb r0, [r5] - subs r0, #1 - strb r0, [r5] -_08030AFA: - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xf - strb r0, [r1] - movs r0, #0xfe - bl sub_08004488 - adds r0, r4, #0 - bl sub_08031344 -_08030B0E: - ldrb r0, [r5] - cmp r0, #0 - bne _08030B24 - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0x78 - strb r0, [r1] -_08030B24: - ldr r1, _08030B30 @ =gUnk_080CE288 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08030B30: .4byte gUnk_080CE288 - - thumb_func_start sub_08030B34 -sub_08030B34: @ 0x08030B34 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - cmp r0, #0 - beq _08030B52 - subs r0, #1 - strb r0, [r1] - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - b _08030B70 -_08030B52: - adds r0, r4, #0 - adds r0, #0x3a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08030B6A - adds r0, r4, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC -_08030B6A: - adds r0, r4, #0 - bl sub_0804A7D4 -_08030B70: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_18 -nullsub_18: @ 0x08030B74 - bx lr - .align 2, 0 - - thumb_func_start sub_08030B78 -sub_08030B78: @ 0x08030B78 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #2 - strb r0, [r4, #0x14] - ldrh r2, [r4, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - ands r1, r0 - adds r1, #0xc - strh r1, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - adds r1, #8 - movs r0, #0x3c - strb r0, [r1] - adds r0, r4, #0 - bl sub_08030F00 - adds r0, r4, #0 - adds r0, #0x7c - ldrh r0, [r0] - cmp r0, #0 - beq _08030BE0 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #0xa - bl sub_08004260 - b _08030BE8 -_08030BE0: - adds r0, r4, #0 - movs r1, #0xe - bl sub_08004260 -_08030BE8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08030BEC -sub_08030BEC: @ 0x08030BEC - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0 - beq _08030C08 - bl sub_0807CBE4 - cmp r0, #0 - beq _08030C08 - adds r0, r4, #0 - bl sub_08031320 -_08030C08: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08030C0C -sub_08030C0C: @ 0x08030C0C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08030C1C - subs r0, #1 - strb r0, [r4, #0xe] - b _08030C68 -_08030C1C: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08030C68 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, [r4, #0x48] - movs r1, #0 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r4, r3] - ldrb r2, [r2, #1] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - adds r1, r1, r2 - ldr r2, _08030C6C @ =gUnk_020000B0 - ldr r3, [r2] - movs r5, #0x2e - ldrsh r2, [r3, r5] - movs r5, #0x32 - ldrsh r3, [r3, r5] - bl sub_080045D4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0xa - bl sub_08004260 -_08030C68: - pop {r4, r5, pc} - .align 2, 0 -_08030C6C: .4byte gUnk_020000B0 - - thumb_func_start sub_08030C70 -sub_08030C70: @ 0x08030C70 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08030C98 - ldr r2, _08030C94 @ =gUnk_080CE2BC - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #3 - ands r0, r1 - adds r0, r0, r2 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x62 - strb r1, [r0] - b _08030CCC - .align 2, 0 -_08030C94: .4byte gUnk_080CE2BC -_08030C98: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08030CCC - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r1, r0 - strb r1, [r4, #0x10] - movs r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08030E58 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08030FB4 -_08030CCC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08030CD0 -sub_08030CD0: @ 0x08030CD0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #7 - ands r0, r1 - cmp r0, #1 - beq _08030D0C - cmp r0, #2 - beq _08030D1A - movs r5, #0x80 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _08030D66 - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - adds r0, #0x79 - ldrb r1, [r0] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _08030D66 - b _08030D5A -_08030D0C: - adds r0, r4, #0 - bl sub_08031024 - adds r0, r4, #0 - bl sub_08030E3C - b _08030D66 -_08030D1A: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08030D34 - adds r0, r4, #0 - adds r0, #0x7f - ldrb r0, [r0] - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_08030D34: - adds r0, r4, #0 - adds r0, #0x7a - ldrb r0, [r0] - cmp r0, #0 - beq _08030D44 - adds r0, r4, #0 - bl sub_08031250 -_08030D44: - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08030D66 - adds r0, r4, #0 - bl sub_08030E70 - b _08030D66 -_08030D5A: - movs r0, #0 - movs r1, #5 - strb r1, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x7a - strb r0, [r1] -_08030D66: - pop {r4, r5, pc} - - thumb_func_start sub_08030D68 -sub_08030D68: @ 0x08030D68 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #7 - ands r0, r1 - cmp r0, #1 - beq _08030DA0 - cmp r0, #2 - beq _08030DC4 - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08030E1C - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08030DFC - b _08030DF4 -_08030DA0: - ldrb r0, [r4, #0x14] - adds r1, r0, #0 - cmp r1, #2 - beq _08030DBC - cmp r1, #2 - bls _08030DB0 - subs r0, #1 - b _08030DB2 -_08030DB0: - adds r0, #1 -_08030DB2: - movs r1, #3 - ands r0, r1 - adds r1, r4, #0 - adds r1, #0x7f - strb r0, [r1] -_08030DBC: - adds r0, r4, #0 - bl sub_08030E3C - b _08030E1C -_08030DC4: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08030DDE - adds r0, r4, #0 - adds r0, #0x7f - ldrb r0, [r0] - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_08030DDE: - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08030E1C - adds r0, r4, #0 - bl sub_08030E70 - b _08030E1C -_08030DF4: - adds r0, r4, #0 - bl sub_08030E58 - b _08030E1C -_08030DFC: - ldrb r0, [r4, #0x14] - cmp r0, #2 - bne _08030E1C - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #0xe - bl sub_08004260 - adds r0, r4, #0 - bl sub_08030F00 -_08030E1C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08030E20 -sub_08030E20: @ 0x08030E20 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08030E3A - movs r0, #2 - strb r0, [r4, #0xc] -_08030E3A: - pop {r4, pc} - - thumb_func_start sub_08030E3C -sub_08030E3C: @ 0x08030E3C - push {lr} - adds r2, r0, #0 - adds r2, #0x5a - movs r1, #0 - strb r1, [r2] - movs r1, #0x8c - lsls r1, r1, #9 - str r1, [r0, #0x20] - ldr r0, _08030E54 @ =0x00000157 - bl sub_08004488 - pop {pc} - .align 2, 0 -_08030E54: .4byte 0x00000157 - - thumb_func_start sub_08030E58 -sub_08030E58: @ 0x08030E58 - adds r2, r0, #0 - movs r0, #0 - movs r1, #4 - strb r1, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x7a - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - bx lr - - thumb_func_start sub_08030E70 -sub_08030E70: @ 0x08030E70 - push {lr} - bl sub_08030E80 - movs r0, #0xac - lsls r0, r0, #1 - bl sub_08004488 - pop {pc} - - thumb_func_start sub_08030E80 -sub_08030E80: @ 0x08030E80 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0x14] - lsls r5, r0, #2 - movs r0, #0xf - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08030EC0 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r1, _08030EFC @ =gUnk_080CE2F4 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r2, [r4, #0x2e] - adds r0, r0, r2 - strh r0, [r4, #0x2e] - adds r0, r5, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] -_08030EC0: - movs r0, #0xf - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08030EFA - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r1, _08030EFC @ =gUnk_080CE2F4 - adds r0, r5, #2 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r2, [r4, #0x2e] - adds r0, r0, r2 - strh r0, [r4, #0x2e] - adds r0, r5, #3 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] -_08030EFA: - pop {r4, r5, r6, pc} - .align 2, 0 -_08030EFC: .4byte gUnk_080CE2F4 - - thumb_func_start sub_08030F00 -sub_08030F00: @ 0x08030F00 - push {r4, r5, r6, lr} - mov r6, sl - mov r5, sb - mov r4, r8 - push {r4, r5, r6} - adds r5, r0, #0 - movs r0, #0x2e - ldrsh r4, [r5, r0] - ldr r1, _08030FAC @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #8 - subs r4, r4, r0 - asrs r4, r4, #4 - movs r2, #0x3f - ands r4, r2 - movs r3, #0x32 - ldrsh r0, [r5, r3] - ldrh r1, [r1, #8] - adds r1, #0x14 - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r6, r5, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r4, #0 - bl sub_080001DA - adds r1, r5, #0 - adds r1, #0x80 - strh r0, [r1] - adds r0, r4, #1 - mov sl, r0 - ldrb r1, [r6] - bl sub_080001DA - adds r1, r5, #0 - adds r1, #0x82 - strh r0, [r1] - movs r3, #0x40 - adds r3, r3, r4 - mov sb, r3 - ldrb r1, [r6] - mov r0, sb - bl sub_080001DA - adds r1, r5, #0 - adds r1, #0x84 - strh r0, [r1] - movs r0, #0x41 - adds r0, r0, r4 - mov r8, r0 - ldrb r1, [r6] - bl sub_080001DA - adds r1, r5, #0 - adds r1, #0x86 - strh r0, [r1] - ldr r5, _08030FB0 @ =0x00004022 - ldrb r2, [r6] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0800015E - ldrb r2, [r6] - adds r0, r5, #0 - mov r1, sl - bl sub_0800015E - ldrb r2, [r6] - adds r0, r5, #0 - mov r1, sb - bl sub_0800015E - ldrb r2, [r6] - adds r0, r5, #0 - mov r1, r8 - bl sub_0800015E - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, pc} - .align 2, 0 -_08030FAC: .4byte gUnk_03000BF0 -_08030FB0: .4byte 0x00004022 - - thumb_func_start sub_08030FB4 -sub_08030FB4: @ 0x08030FB4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r0, #0x2e - ldrsh r4, [r6, r0] - ldr r1, _08031020 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #8 - subs r4, r4, r0 - asrs r4, r4, #4 - movs r2, #0x3f - ands r4, r2 - movs r3, #0x32 - ldrsh r0, [r6, r3] - ldrh r1, [r1, #8] - adds r1, #0x14 - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r0, r6, #0 - adds r0, #0x80 - ldrh r0, [r0] - adds r5, r6, #0 - adds r5, #0x38 - ldrb r2, [r5] - adds r1, r4, #0 - bl sub_0800015E - adds r0, r6, #0 - adds r0, #0x82 - ldrh r0, [r0] - adds r1, r4, #1 - ldrb r2, [r5] - bl sub_0800015E - adds r0, r6, #0 - adds r0, #0x84 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x40 - ldrb r2, [r5] - bl sub_0800015E - adds r0, r6, #0 - adds r0, #0x86 - ldrh r0, [r0] - adds r4, #0x41 - ldrb r2, [r5] - adds r1, r4, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_08031020: .4byte gUnk_03000BF0 - - thumb_func_start sub_08031024 -sub_08031024: @ 0x08031024 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - movs r1, #1 - bl sub_08049FDC - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - adds r2, r7, #0 - adds r2, #0x79 - ldrb r0, [r2] - cmp r0, #0 - bne _08031084 - cmp r1, #0 - beq _08031074 - movs r1, #0x2e - ldrsh r0, [r7, r1] - ldr r2, [r7, #0x48] - movs r1, #0 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r7, r3] - ldrb r2, [r2, #1] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - adds r1, r1, r2 - ldr r2, _08031070 @ =gUnk_020000B0 - ldr r3, [r2] - movs r4, #0x2e - ldrsh r2, [r3, r4] - movs r4, #0x32 - ldrsh r3, [r3, r4] - b _080311E8 - .align 2, 0 -_08031070: .4byte gUnk_020000B0 -_08031074: - movs r0, #1 - strb r0, [r2] - adds r0, r7, #0 - adds r0, #0x78 - strb r1, [r0] - movs r1, #0x2e - ldrsh r0, [r7, r1] - b _080311D8 -_08031084: - cmp r1, #0 - beq _0803108E - movs r0, #0 - strb r0, [r2] - b _080311EE -_0803108E: - adds r0, r7, #0 - adds r0, #0x78 - ldrb r2, [r0] - adds r1, r2, #0 - mov sl, r0 - cmp r1, #0 - bne _0803109E - b _080311D4 -_0803109E: - cmp r1, #1 - bne _080310E2 - movs r0, #0x80 - orrs r0, r2 - mov r3, sl - strb r0, [r3] - movs r4, #0x2e - ldrsh r0, [r7, r4] - movs r2, #0x32 - ldrsh r1, [r7, r2] - adds r2, r7, #0 - adds r2, #0x74 - ldrh r2, [r2] - adds r3, r7, #0 - adds r3, #0x76 - ldrh r3, [r3] - bl sub_080045D4 - strb r0, [r7, #0x15] - adds r0, #4 - movs r2, #0x18 - ands r0, r2 - adds r1, r7, #0 - adds r1, #0x7b - strb r0, [r1] - ldrb r3, [r7, #0x15] - cmp r0, r3 - bhs _080310DC - adds r0, #8 - ands r0, r2 - b _080310F0 -_080310DC: - subs r0, #8 - ands r0, r2 - b _080310F0 -_080310E2: - movs r0, #2 - ands r0, r2 - cmp r0, #0 - beq _080310F2 - ldrb r0, [r7, #0x15] - movs r1, #0x10 - eors r0, r1 -_080310F0: - strb r0, [r7, #0x15] -_080310F2: - mov r4, sl - ldrb r2, [r4] - movs r0, #0x70 - ands r0, r2 - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08031120 - lsrs r0, r0, #0x19 - movs r1, #0x8f - ands r1, r2 - orrs r0, r1 - strb r0, [r4] - movs r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _080311EE - adds r0, r7, #0 - adds r0, #0x7b - ldrb r0, [r0] - strb r0, [r7, #0x15] - movs r0, #0 - strb r0, [r4] - b _080311EE -_08031120: - movs r0, #0x7b - adds r0, r0, r7 - mov sb, r0 - ldrb r4, [r0] - lsrs r4, r4, #1 - movs r1, #0x2e - ldrsh r0, [r7, r1] - ldr r5, _080311B4 @ =gUnk_080CE2C0 - adds r1, r4, r5 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r7, r2] - adds r2, r4, #1 - adds r2, r2, r5 - ldrb r2, [r2] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - adds r1, r1, r2 - movs r3, #0x38 - adds r3, r3, r7 - mov r8, r3 - ldrb r2, [r3] - bl sub_080002A4 - adds r6, r0, #0 - movs r1, #0x2e - ldrsh r0, [r7, r1] - adds r1, r4, #2 - adds r1, r1, r5 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r7, r2] - adds r4, #3 - adds r4, r4, r5 - movs r2, #0 - ldrsb r2, [r4, r2] - adds r1, r1, r2 - mov r3, r8 - ldrb r2, [r3] - bl sub_080002A4 - adds r1, r0, #0 - ldr r2, _080311B8 @ =gUnk_080B3E80 - adds r6, r6, r2 - ldrb r0, [r6] - mov r3, sb - cmp r0, #0 - bne _08031194 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, #0 - beq _080311C8 -_08031194: - movs r0, #1 - cmp r0, #0 - beq _080311C8 - ldrb r0, [r7, #0x15] - lsrs r0, r0, #3 - ldrb r4, [r7, #0x14] - cmp r0, r4 - bne _080311BC - mov r0, sl - ldrb r1, [r0] - movs r0, #0x20 - orrs r0, r1 - mov r1, sl - strb r0, [r1] - b _080311EE - .align 2, 0 -_080311B4: .4byte gUnk_080CE2C0 -_080311B8: .4byte gUnk_080B3E80 -_080311BC: - mov r2, sl - ldrb r1, [r2] - movs r0, #0x40 - orrs r0, r1 - strb r0, [r2] - b _080311EE -_080311C8: - ldrb r0, [r3] - movs r1, #0 - strb r0, [r7, #0x15] - mov r3, sl - strb r1, [r3] - b _080311EE -_080311D4: - movs r4, #0x2e - ldrsh r0, [r7, r4] -_080311D8: - movs r2, #0x32 - ldrsh r1, [r7, r2] - adds r2, r7, #0 - adds r2, #0x74 - ldrh r2, [r2] - adds r3, r7, #0 - adds r3, #0x76 - ldrh r3, [r3] -_080311E8: - bl sub_080045D4 - strb r0, [r7, #0x15] -_080311EE: - ldrb r0, [r7, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #3 - ldrb r3, [r7, #0x14] - cmp r0, r3 - bne _0803120C - adds r1, r7, #0 - adds r1, #0x7a - movs r0, #1 - strb r0, [r1] - ldrb r0, [r7, #0x14] - adds r1, #5 - b _08031232 -_0803120C: - adds r1, r7, #0 - adds r1, #0x7a - movs r0, #0 - strb r0, [r1] - ldrb r0, [r7, #0x15] - ldrb r2, [r7, #0x14] - lsls r1, r2, #3 - subs r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0x10 - bls _08031228 - subs r0, r2, #1 - b _0803122A -_08031228: - adds r0, r2, #1 -_0803122A: - movs r1, #3 - ands r0, r1 - adds r1, r7, #0 - adds r1, #0x7f -_08031232: - strb r0, [r1] - ldrb r0, [r7, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - movs r1, #0 - strb r0, [r7, #0x15] - strh r1, [r7, #0x2c] - strh r1, [r7, #0x30] - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08031250 -sub_08031250: @ 0x08031250 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r4, [r6, #0x14] - lsls r4, r4, #2 - movs r0, #0x2e - ldrsh r2, [r6, r0] - ldr r5, _0803130C @ =gUnk_080CE2C0 - adds r0, r4, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r2, r2, r0 - movs r1, #0x32 - ldrsh r3, [r6, r1] - adds r0, r4, #1 - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r3, r3, r0 - adds r0, r6, #0 - movs r1, #9 - bl sub_08008796 - movs r0, #0x2e - ldrsh r2, [r6, r0] - adds r0, r4, #2 - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r2, r2, r0 - movs r1, #0x32 - ldrsh r3, [r6, r1] - adds r4, #3 - adds r4, r4, r5 - movs r0, #0 - ldrsb r0, [r4, r0] - adds r3, r3, r0 - adds r0, r6, #0 - movs r1, #9 - bl sub_08008796 - adds r2, r6, #0 - adds r2, #0x79 - ldrb r0, [r2] - cmp r0, #0 - beq _08031316 - movs r3, #0 - movs r1, #0x2e - ldrsh r0, [r6, r1] - adds r1, r6, #0 - adds r1, #0x74 - ldrh r1, [r1] - subs r0, r0, r1 - adds r0, #2 - cmp r0, #4 - bhi _080312C8 - strh r1, [r6, #0x2e] - movs r3, #0x80 -_080312C8: - movs r1, #0x32 - ldrsh r0, [r6, r1] - adds r1, r6, #0 - adds r1, #0x76 - ldrh r1, [r1] - subs r0, r0, r1 - adds r0, #2 - cmp r0, #4 - bhi _080312E2 - strh r1, [r6, #0x32] - ldrb r0, [r2] - orrs r3, r0 - strb r3, [r2] -_080312E2: - ldrb r1, [r2] - movs r4, #0x80 - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - bne _0803131C - adds r0, r6, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _0803131C - adds r2, r6, #0 - adds r2, #0x78 - ldrb r1, [r2] - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - beq _08031310 - movs r0, #0x82 - strb r0, [r2] - b _0803131C - .align 2, 0 -_0803130C: .4byte gUnk_080CE2C0 -_08031310: - movs r0, #1 - strb r0, [r2] - b _0803131C -_08031316: - adds r0, r6, #0 - bl sub_080AEF88 -_0803131C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08031320 -sub_08031320: @ 0x08031320 - push {lr} - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #0x1e - strb r1, [r0, #0xe] - ldr r1, _08031340 @ =gUnk_080FD308 - str r1, [r0, #0x48] - movs r1, #0xa - bl sub_08004260 - pop {pc} - .align 2, 0 -_08031340: .4byte gUnk_080FD308 - - thumb_func_start sub_08031344 -sub_08031344: @ 0x08031344 - push {lr} - adds r1, r0, #0 - ldr r0, [r1, #0x4c] - bl sub_08017A90 - adds r3, r0, #0 - cmp r3, #0 - beq _0803136C - ldrb r0, [r3, #0x14] - lsls r0, r0, #1 - ldr r1, _08031370 @ =gUnk_080CE304 - adds r0, r0, r1 - ldrb r1, [r0] - adds r2, r3, #0 - adds r2, #0x62 - strb r1, [r2] - ldrb r1, [r0, #1] - adds r0, r3, #0 - adds r0, #0x63 - strb r1, [r0] -_0803136C: - pop {pc} - .align 2, 0 -_08031370: .4byte gUnk_080CE304 - - thumb_func_start sub_08031374 -sub_08031374: @ 0x08031374 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08031390 @ =gUnk_080CE448 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_08031390: .4byte gUnk_080CE448 - - thumb_func_start sub_08031394 -sub_08031394: @ 0x08031394 - push {lr} - ldr r2, _080313A8 @ =gUnk_080CE460 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080313A8: .4byte gUnk_080CE460 - - thumb_func_start sub_080313AC -sub_080313AC: @ 0x080313AC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _080313C8 - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0x3c - strb r0, [r1] - adds r0, r4, #0 - bl sub_08031600 -_080313C8: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _080313DA - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_080313DA: - ldr r1, _080313E4 @ =gUnk_080CE448 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_080313E4: .4byte gUnk_080CE448 - - thumb_func_start sub_080313E8 -sub_080313E8: @ 0x080313E8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08031404 - ldr r0, _08031408 @ =gUnk_080CE470 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08031404: - pop {r4, pc} - .align 2, 0 -_08031408: .4byte gUnk_080CE470 - - thumb_func_start sub_0803140C -sub_0803140C: @ 0x0803140C - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_08031418 -sub_08031418: @ 0x08031418 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_08031420 -sub_08031420: @ 0x08031420 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _08031432 - adds r0, r4, #0 - bl sub_0804A7D4 -_08031432: - pop {r4, pc} - - thumb_func_start sub_08031434 -sub_08031434: @ 0x08031434 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - rsbs r0, r0, #0 - adds r3, r0, #0 - movs r0, #0xff - strb r0, [r4, #0x14] - movs r2, #1 - strb r2, [r4, #0x1c] - ldrh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08031460 - adds r0, r4, #0 - bl sub_08031600 - b _0803147A -_08031460: - strb r2, [r4, #0xc] - movs r0, #0 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, _0803147C @ =0x0000FF80 - strh r0, [r4, #0x36] - ldrb r0, [r4, #0x1e] - orrs r0, r3 - strb r0, [r4, #0x1e] -_0803147A: - pop {r4, pc} - .align 2, 0 -_0803147C: .4byte 0x0000FF80 - - thumb_func_start sub_08031480 -sub_08031480: @ 0x08031480 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _080314CC - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08031496 - subs r0, #1 - strb r0, [r4, #0xe] - b _080314FA -_08031496: - adds r0, r4, #0 - bl sub_08031600 - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - ldr r0, _080314C8 @ =0x0000012D - bl sub_080A3268 - b _080314FA - .align 2, 0 -_080314C8: .4byte 0x0000012D -_080314CC: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080314FA - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x18] - subs r0, #0x13 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_08016A04 - movs r0, #0x84 - bl sub_08004488 -_080314FA: - pop {r4, pc} - - thumb_func_start sub_080314FC -sub_080314FC: @ 0x080314FC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08031510 - subs r0, #1 - strb r0, [r4, #0xf] - b _080315BA -_08031510: - adds r5, r4, #0 - adds r5, #0x78 - ldrb r0, [r5] - cmp r0, #0 - beq _0803151E - subs r0, #1 - strb r0, [r5] -_0803151E: - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _08031578 - ldrb r0, [r5] - cmp r0, #0 - bne _080315A2 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080315A2 - ldr r0, _08031574 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0xc - bl sub_0804A044 - adds r1, r0, #0 - cmp r1, #0xff - beq _080315A2 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #0xd0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r2, r4, #0 - adds r2, #0x7a - strh r0, [r2] - strb r1, [r4, #0x15] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x1b - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - b _080315BA - .align 2, 0 -_08031574: .4byte gUnk_020000B0 -_08031578: - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _080315A2 - adds r0, r4, #0 - bl sub_08049EE4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r1, r0, #3 - ldrb r0, [r4, #0x14] - cmp r1, r0 - beq _080315A2 - strb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_080315A2: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080315B4 - adds r0, r4, #0 - bl sub_08031600 -_080315B4: - adds r0, r4, #0 - bl sub_0803163C -_080315BA: - pop {r4, r5, pc} - - thumb_func_start sub_080315BC -sub_080315BC: @ 0x080315BC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080315D4 - subs r0, #1 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004276 - b _080315FC -_080315D4: - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _080315EE - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0803163C - cmp r0, #0 - bne _080315FC -_080315EE: - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0x1e - strb r0, [r1] - adds r0, r4, #0 - bl sub_08031600 -_080315FC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08031600 -sub_08031600: @ 0x08031600 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x30 - ands r0, r1 - adds r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r1, r0, #3 - ldrb r0, [r4, #0x14] - cmp r1, r0 - beq _08031638 - strb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_08031638: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803163C -sub_0803163C: @ 0x0803163C - push {r4, lr} - adds r4, r0, #0 - bl sub_080002B8 - cmp r0, #0x13 - bne _08031652 - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - lsrs r0, r0, #1 - b _08031658 -_08031652: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] -_08031658: - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_080AEF88 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08031664 -sub_08031664: @ 0x08031664 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0803167C @ =gUnk_080CE530 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0803167C: .4byte gUnk_080CE530 - - thumb_func_start sub_08031680 -sub_08031680: @ 0x08031680 - push {lr} - ldr r2, _08031694 @ =gUnk_080CE548 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08031694: .4byte gUnk_080CE548 - - thumb_func_start nullsub_152 -nullsub_152: @ 0x08031698 - bx lr - .align 2, 0 - - thumb_func_start sub_0803169C -sub_0803169C: @ 0x0803169C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - bne _080316C4 - movs r2, #1 - strb r2, [r4, #0xc] - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x40 - strh r0, [r4, #0x24] - strb r2, [r4, #0xf] - b _080316D4 -_080316C4: - ldr r0, _080316D8 @ =gUnk_080CE554 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_080316D4: - pop {r4, pc} - .align 2, 0 -_080316D8: .4byte gUnk_080CE554 - - thumb_func_start sub_080316DC -sub_080316DC: @ 0x080316DC - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_080316E8 -sub_080316E8: @ 0x080316E8 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_080316F0 -sub_080316F0: @ 0x080316F0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _08031702 - adds r0, r4, #0 - bl sub_0804A7D4 -_08031702: - pop {r4, pc} - - thumb_func_start sub_08031704 -sub_08031704: @ 0x08031704 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r0, r4, #0 - bl sub_080317F8 - pop {r4, pc} - - thumb_func_start sub_08031714 -sub_08031714: @ 0x08031714 - push {r4, lr} - adds r4, r0, #0 - bl sub_080317B4 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803176E - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - adds r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08031750 - ldrb r1, [r4, #0xf] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08031750 - adds r0, r4, #0 - bl sub_08049EE4 - b _08031766 -_08031750: - ldrb r0, [r4, #0x15] - adds r0, #0x18 - strb r0, [r4, #0x15] - bl sub_08000E50 - movs r1, #0xe - ands r0, r1 - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x1f - ands r0, r1 -_08031766: - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080317E0 -_0803176E: - pop {r4, pc} - - thumb_func_start sub_08031770 -sub_08031770: @ 0x08031770 - push {r4, lr} - adds r1, r0, #0 - adds r4, r1, #0 - adds r4, #0x80 - ldrh r0, [r4] - cmp r0, #0 - beq _08031790 - subs r0, #1 - strh r0, [r4] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080317B2 - adds r0, r1, #0 - bl sub_08031840 - b _080317B2 -_08031790: - ldr r0, [r1, #0x54] - cmp r0, #0 - bne _080317AA - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - movs r2, #0x80 - lsls r2, r2, #2 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r4] - b _080317B2 -_080317AA: - ldr r0, [r0, #4] - cmp r0, #0 - bne _080317B2 - str r0, [r1, #0x54] -_080317B2: - pop {r4, pc} - - thumb_func_start sub_080317B4 -sub_080317B4: @ 0x080317B4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #0x30 - ands r1, r0 - movs r2, #0xd - rsbs r2, r2, #0 - adds r0, r2, #0 - cmp r1, #0 - beq _080317D0 - movs r1, #0xc - rsbs r1, r1, #0 - adds r0, r1, #0 -_080317D0: - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_080317E0 -sub_080317E0: @ 0x080317E0 - push {lr} - ldrb r1, [r0, #0x15] - adds r1, #2 - movs r2, #0x1c - ands r1, r2 - lsrs r1, r1, #2 - strb r1, [r0, #0x14] - ldrb r1, [r0, #0x14] - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080317F8 -sub_080317F8: @ 0x080317F8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - movs r5, #1 - strb r5, [r4, #0xc] - movs r6, #0 - ldr r1, _08031838 @ =0x0000FFF4 - strh r1, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x38 - strb r5, [r1] - adds r3, r4, #0 - adds r3, #0x3c - ldrb r2, [r3] - movs r1, #0x10 - orrs r1, r2 - strb r1, [r3] - strb r5, [r4, #0x1c] - strb r0, [r4, #0x15] - ldr r0, _0803183C @ =gUnk_080CE560 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_080317E0 - strb r6, [r4, #0xe] - movs r0, #0x20 - strb r0, [r4, #0xf] - pop {r4, r5, r6, pc} - .align 2, 0 -_08031838: .4byte 0x0000FFF4 -_0803183C: .4byte gUnk_080CE560 - - thumb_func_start sub_08031840 -sub_08031840: @ 0x08031840 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xa] - movs r0, #0x2d - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _08031862 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - str r5, [r4, #0x50] - str r4, [r5, #0x54] - movs r0, #1 - strb r0, [r4, #0xb] -_08031862: - pop {r4, r5, pc} - - thumb_func_start sub_08031864 -sub_08031864: @ 0x08031864 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - adds r4, r0, #0 - cmp r4, #0 - beq _0803189C - adds r0, r5, #0 - adds r0, #0x3a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08031886 - adds r0, r5, #0 - bl sub_08032338 -_08031886: - ldr r0, _08031898 @ =gUnk_080012C8 - lsls r1, r4, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _080318BE - .align 2, 0 -_08031898: .4byte gUnk_080012C8 -_0803189C: - ldr r4, _080318C0 @ =gUnk_080CE56C - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC -_080318BE: - pop {r4, r5, pc} - .align 2, 0 -_080318C0: .4byte gUnk_080CE56C - - thumb_func_start sub_080318C4 -sub_080318C4: @ 0x080318C4 - push {lr} - ldr r2, _080318D8 @ =gUnk_080CE584 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080318D8: .4byte gUnk_080CE584 - - thumb_func_start sub_080318DC -sub_080318DC: @ 0x080318DC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - adds r0, #0x80 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _080318FA - b _08031A36 -_080318FA: - ldrb r0, [r4, #0xa] - adds r5, r4, #0 - adds r5, #0x42 - cmp r0, #1 - bne _080319DE - ldrb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x45 - str r1, [sp] - cmp r0, #6 - bhi _080319AC - ldrb r0, [r5] - cmp r0, #0 - beq _080319AC - ldr r3, [r4, #0x54] - movs r0, #0x29 - adds r0, r0, r4 - mov sb, r0 - movs r1, #0x3e - adds r1, r1, r4 - mov sl, r1 - cmp r3, #0 - beq _08031960 - ldr r0, [r4, #0x50] - str r0, [r3, #0x50] - movs r0, #5 - mov ip, r0 - movs r1, #0x39 - rsbs r1, r1, #0 - mov r8, r1 - movs r7, #8 - movs r6, #0xf4 -_0803193A: - mov r0, ip - strb r0, [r3, #0xc] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r0, [r2] - mov r1, r8 - ands r1, r0 - orrs r1, r7 - strb r1, [r2] - adds r1, r3, #0 - adds r1, #0x3d - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _0803195A - strb r6, [r1] -_0803195A: - ldr r3, [r3, #0x54] - cmp r3, #0 - bne _0803193A -_08031960: - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _0803196C - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] - b _08031974 -_0803196C: - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _08031974 - str r4, [r4, #0x50] -_08031974: - movs r0, #9 - strb r0, [r4, #0xc] - mov r0, sb - ldrb r1, [r0] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - mov r1, sb - strb r0, [r1] - mov r1, sl - ldrb r0, [r1] - cmp r0, #0xf - bhi _0803199C - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _080319A2 -_0803199C: - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 -_080319A2: - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0xe - bl sub_08004260 -_080319AC: - ldr r1, [sp] - ldrb r0, [r1] - cmp r0, #0 - bne _080319DE - bl sub_08000E50 - adds r2, r4, #0 - adds r2, #0x3e - movs r1, #7 - ands r0, r1 - ldrb r1, [r2] - adds r0, r0, r1 - subs r0, #4 - movs r1, #0x1f - ands r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0xb] - lsls r0, r1, #1 - adds r0, r0, r1 - ldrb r1, [r5] - adds r0, r0, r1 - strb r0, [r5] - adds r0, r4, #0 - bl sub_08032338 -_080319DE: - ldrb r0, [r5] - cmp r0, #0 - beq _08031A36 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08031A36 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080319FC - movs r0, #8 - b _080319FE -_080319FC: - movs r0, #9 -_080319FE: - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - cmp r0, #0xf - bhi _08031A14 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _08031A1A -_08031A14: - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 -_08031A1A: - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strb r1, [r2] - adds r0, r4, #0 - movs r1, #0xe - bl sub_08004260 -_08031A36: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08031A48 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08031A48: - ldr r1, _08031A5C @ =gUnk_080CE56C - adds r0, r4, #0 - bl sub_0804AA30 - add sp, #4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08031A5C: .4byte gUnk_080CE56C - - thumb_func_start sub_08031A60 -sub_08031A60: @ 0x08031A60 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08031A7A - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 -_08031A7A: - adds r0, r4, #0 - bl sub_08001324 - - thumb_func_start nullsub_153 -nullsub_153: @ 0x08031A80 - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_154 -nullsub_154: @ 0x08031A84 - bx lr - .align 2, 0 - - thumb_func_start sub_08031A88 -sub_08031A88: @ 0x08031A88 - push {lr} - ldr r2, _08031A9C @ =gUnk_080CE58C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08031A9C: .4byte gUnk_080CE58C - - thumb_func_start sub_08031AA0 -sub_08031AA0: @ 0x08031AA0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - bl sub_08000E50 - adds r4, #0x79 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08031AC8 -sub_08031AC8: @ 0x08031AC8 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0xe] - cmp r0, #0 - beq _08031AD8 - subs r0, #1 - strb r0, [r6, #0xe] - b _08031B44 -_08031AD8: - adds r0, r6, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08031B44 - bl sub_08000E50 - adds r5, r0, #0 - adds r0, r6, #0 - adds r0, #0x74 - ldrh r4, [r0] - adds r0, r5, #0 - movs r1, #5 - bl __modsi3 - lsls r0, r0, #4 - adds r4, r4, r0 - adds r7, r4, #0 - subs r7, #0x20 - adds r0, r6, #0 - adds r0, #0x76 - ldrh r4, [r0] - lsrs r5, r5, #4 - adds r0, r5, #0 - movs r1, #5 - bl __modsi3 - lsls r0, r0, #4 - adds r4, r4, r0 - subs r4, #0x20 - adds r0, r6, #0 - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_080002D4 - cmp r0, #0 - bne _08031B44 - movs r0, #2 - strb r0, [r6, #0xc] - ldrb r1, [r6, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r6, #0x18] - strh r7, [r6, #0x2e] - strh r4, [r6, #0x32] - adds r0, r6, #0 - movs r1, #0 - bl sub_08004260 -_08031B44: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08031B48 -sub_08031B48: @ 0x08031B48 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08031B6C - movs r0, #0 - strb r0, [r2] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - b _08031B90 -_08031B6C: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08031B90 - movs r0, #3 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _08031B94 @ =gUnk_080CE5B0 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08031B90: - pop {r4, pc} - .align 2, 0 -_08031B94: .4byte gUnk_080CE5B0 - - thumb_func_start sub_08031B98 -sub_08031B98: @ 0x08031B98 - push {r4, lr} - adds r4, r0, #0 - bl sub_08031E04 - cmp r0, #0 - beq _08031BDA - movs r0, #5 - strb r0, [r4, #0xc] - ldr r0, _08031BC4 @ =gUnk_020000B0 - ldr r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r2, #0x2e - ldrsh r0, [r0, r2] - cmp r1, r0 - ble _08031BC8 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _08031BCE - .align 2, 0 -_08031BC4: .4byte gUnk_020000B0 -_08031BC8: - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 -_08031BCE: - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - b _08031C1A -_08031BDA: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08031BFA - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08031BFA - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] -_08031BFA: - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08031C1A - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_08031C1A: - pop {r4, pc} - - thumb_func_start sub_08031C1C -sub_08031C1C: @ 0x08031C1C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08031C50 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _08031C54 @ =gUnk_080CE5B8 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_08031C50: - pop {r4, pc} - .align 2, 0 -_08031C54: .4byte gUnk_080CE5B8 - - thumb_func_start sub_08031C58 -sub_08031C58: @ 0x08031C58 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - bl sub_08004274 - adds r3, r7, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _08031D54 - ldr r0, _08031D50 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x42 - bhi _08031D66 - bl sub_08000E50 - adds r6, r0, #0 - movs r0, #3 - mov sb, r0 - ands r6, r0 - movs r0, #0x2e - movs r1, #1 - bl sub_0804AA60 - adds r4, r0, #0 - movs r0, #0 - mov r8, r0 - mov r0, r8 - strb r0, [r4, #0xb] - mov r0, r8 - str r0, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_08031E48 - movs r0, #0x2e - movs r1, #1 - bl sub_0804AA60 - adds r5, r0, #0 - str r5, [r4, #0x54] - movs r0, #1 - strb r0, [r5, #0xb] - str r4, [r5, #0x50] - adds r0, r5, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - adds r1, r5, #0 - bl sub_08031E48 - movs r0, #0x2e - movs r1, #1 - bl sub_0804AA60 - adds r4, r0, #0 - str r4, [r5, #0x54] - movs r0, #2 - strb r0, [r4, #0xb] - str r5, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_08031E48 - movs r0, #0x2e - movs r1, #1 - bl sub_0804AA60 - adds r5, r0, #0 - str r5, [r4, #0x54] - mov r0, sb - strb r0, [r5, #0xb] - str r4, [r5, #0x50] - adds r0, r5, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - adds r1, r5, #0 - bl sub_08031E48 - movs r0, #0x2e - movs r1, #1 - bl sub_0804AA60 - adds r1, r0, #0 - str r1, [r5, #0x54] - movs r0, #4 - strb r0, [r1, #0xb] - str r5, [r1, #0x50] - mov r0, r8 - str r0, [r1, #0x54] - adds r0, r1, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, r7, #0 - bl sub_08031E48 - movs r0, #6 - strb r0, [r7, #0xc] - movs r0, #0x14 - strb r0, [r7, #0xe] - adds r2, r7, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r7, #0 - movs r1, #7 - bl sub_08004260 - b _08031D66 - .align 2, 0 -_08031D50: .4byte gUnk_03003DBC -_08031D54: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08031D66 - strb r2, [r3] - ldrb r1, [r7, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r7, #0x10] -_08031D66: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08031D70 -sub_08031D70: @ 0x08031D70 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08031D9C - movs r0, #7 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #5 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #9 - ands r0, r1 - strb r0, [r4, #0x18] -_08031D9C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08031DA0 -sub_08031DA0: @ 0x08031DA0 - push {lr} - adds r1, r0, #0 - ldrb r2, [r1, #0xe] - movs r0, #0xf - ands r0, r2 - cmp r0, #0 - bne _08031DC2 - cmp r2, #0x50 - bne _08031DBA - adds r0, r1, #0 - bl sub_0805E7BC - b _08031DC2 -_08031DBA: - movs r0, #1 - strb r0, [r1, #0xc] - movs r0, #0xb4 - strb r0, [r1, #0xe] -_08031DC2: - pop {pc} - - thumb_func_start sub_08031DC4 -sub_08031DC4: @ 0x08031DC4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08031DE8 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xb4 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0xb8 - ands r0, r1 - strb r0, [r4, #0x18] - b _08031E00 -_08031DE8: - adds r0, r4, #0 - bl sub_08004274 - ldrb r1, [r5] - movs r0, #0xf - ands r0, r1 - cmp r0, #2 - bne _08031E00 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] -_08031E00: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08031E04 -sub_08031E04: @ 0x08031E04 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r2, r0, #0 - cmp r2, #0 - beq _08031E44 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r3, #6 - ands r3, r0 - ldr r0, _08031E40 @ =gUnk_080CE5C0 - adds r3, r3, r0 - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r0, #0 - ldrsb r0, [r3, r0] - adds r1, r1, r0 - movs r0, #0x32 - ldrsh r2, [r2, r0] - movs r0, #1 - ldrsb r0, [r3, r0] - adds r2, r2, r0 - adds r0, r4, #0 - movs r3, #0x50 - bl sub_0806FCB8 - b _08031E46 - .align 2, 0 -_08031E40: .4byte gUnk_080CE5C0 -_08031E44: - movs r0, #0 -_08031E46: - pop {r4, pc} - - thumb_func_start sub_08031E48 -sub_08031E48: @ 0x08031E48 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r0, #0x6c - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x6c - strb r1, [r0] - adds r0, r5, #0 - adds r0, #0x70 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x70 - strh r1, [r0] - adds r0, r5, #0 - adds r0, #0x72 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0x6e - ldrb r0, [r0] - subs r1, #4 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x6f - ldrb r0, [r0] - adds r1, #1 - strb r0, [r1] - str r5, [r4, #0x7c] - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08031E90 -sub_08031E90: @ 0x08031E90 - push {lr} - ldr r2, _08031EA4 @ =gUnk_080CE5C8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08031EA4: .4byte gUnk_080CE5C8 - - thumb_func_start sub_08031EA8 -sub_08031EA8: @ 0x08031EA8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x3a - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x80 - lsls r0, r0, #0xb - str r0, [r4, #0x20] - ldrb r0, [r4, #0xb] - movs r1, #4 - subs r1, r1, r0 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #1 - strh r0, [r4, #0x36] - bl sub_08000E50 - adds r1, r4, #0 - adds r1, #0x79 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_08031EE8 -sub_08031EE8: @ 0x08031EE8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x34] - ldr r1, [r4, #0x20] - subs r0, r0, r1 - str r0, [r4, #0x34] - ldr r0, _08031F4C @ =0xFFFFE800 - adds r1, r1, r0 - str r1, [r4, #0x20] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bgt _08031F1E - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - bne _08031F10 - ldr r0, _08031F50 @ =0x0000012B - bl sub_08004488 -_08031F10: - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] -_08031F1E: - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _08031F2E - adds r0, r4, #0 - bl sub_08004274 -_08031F2E: - ldr r0, [r4, #0x20] - cmp r0, #0 - bgt _08031F48 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 -_08031F48: - pop {r4, pc} - .align 2, 0 -_08031F4C: .4byte 0xFFFFE800 -_08031F50: .4byte 0x0000012B - - thumb_func_start sub_08031F54 -sub_08031F54: @ 0x08031F54 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08031FAC @ =gUnk_080CE5F0 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r4, #0 - bl sub_08003FC4 - ldrb r1, [r4, #0xb] - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #1 - rsbs r0, r0, #0 - movs r2, #0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - bgt _08031FAA - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x14 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0xb] - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #1 - rsbs r0, r0, #0 - strh r0, [r4, #0x36] - ldr r0, [r4, #0x50] - cmp r0, #0 - beq _08031FA2 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] -_08031FA2: - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 -_08031FAA: - pop {r4, pc} - .align 2, 0 -_08031FAC: .4byte gUnk_080CE5F0 - - thumb_func_start sub_08031FB0 -sub_08031FB0: @ 0x08031FB0 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08004274 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08032006 - ldr r0, [r5, #0x50] - cmp r0, #0 - bne _08031FD8 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032006 -_08031FD8: - movs r4, #0 - movs r0, #4 - strb r0, [r5, #0xc] - adds r0, r5, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r5, #0x15] - adds r0, r5, #0 - adds r0, #0x76 - strb r4, [r0] - ldr r0, [r5, #0x54] - cmp r0, #0 - beq _08031FFE - adds r0, r5, #0 - movs r1, #9 - bl sub_08004260 - b _08032006 -_08031FFE: - adds r0, r5, #0 - movs r1, #8 - bl sub_08004260 -_08032006: - pop {r4, r5, pc} - - thumb_func_start sub_08032008 -sub_08032008: @ 0x08032008 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - bl sub_080322A4 - adds r7, r0, #0 - cmp r7, #0 - beq _08032018 - b _08032144 -_08032018: - ldr r5, [r4, #0x50] - cmp r5, #0 - bne _080320D4 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08032060 - adds r1, r4, #0 - adds r1, #0x79 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r1, #0xff - ands r0, r1 - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08032052 - ldr r0, _0803205C @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_08032052: - adds r0, r4, #0 - adds r0, #0x76 - strb r7, [r0] - b _080320AC - .align 2, 0 -_0803205C: .4byte gUnk_020000B0 -_08032060: - adds r1, r4, #0 - adds r1, #0x76 - ldrb r0, [r1] - cmp r0, #0 - beq _0803207C - subs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7a - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004596 - b _080320AC -_0803207C: - movs r0, #0x10 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0803209E - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0803209E - adds r0, r4, #0 - bl sub_08049EE4 - b _080320A6 -_0803209E: - bl sub_08000E50 - movs r1, #0x1e - ands r0, r1 -_080320A6: - adds r1, r4, #0 - adds r1, #0x7a - strb r0, [r1] -_080320AC: - ldrb r1, [r4, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _080320CC - lsrs r1, r1, #4 - movs r0, #1 - eors r1, r0 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_080320CC: - adds r0, r4, #0 - bl sub_080AEF88 - b _0803213E -_080320D4: - adds r6, r4, #0 - adds r6, #0x77 - ldrb r0, [r6] - cmp r0, #0 - bne _0803210E - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - movs r3, #1 - bl sub_0806FCB8 - cmp r0, #0 - bne _0803213E - movs r0, #1 - strb r0, [r6] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080322E8 - adds r0, r4, #0 - bl sub_0806F69C - b _0803213E -_0803210E: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080322E8 - adds r0, r4, #0 - bl sub_0806F69C - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r2, #0x2e - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0803213E - movs r0, #0x32 - ldrsh r1, [r4, r0] - movs r2, #0x32 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0803213E - strb r7, [r6] -_0803213E: - adds r0, r4, #0 - bl sub_08004274 -_08032144: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08032148 -sub_08032148: @ 0x08032148 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - cmp r0, #0 - bne _0803215E - adds r0, r4, #0 - bl sub_08032290 -_0803215E: - pop {r4, pc} - - thumb_func_start sub_08032160 -sub_08032160: @ 0x08032160 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _080321C2 - movs r0, #7 - strb r0, [r4, #0xc] - ldr r2, _08032190 @ =gUnk_080CE5FA - adds r0, r4, #0 - adds r0, #0x74 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - ldrb r1, [r4, #0xb] - adds r0, r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r4, #0x15] - cmp r0, #0xf - bls _08032194 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - b _0803219C - .align 2, 0 -_08032190: .4byte gUnk_080CE5FA -_08032194: - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 -_0803219C: - strb r0, [r4, #0x18] - movs r0, #0xf0 - strh r0, [r4, #0x24] - movs r0, #0x90 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0xc - bl sub_08004260 -_080321C2: - ldr r0, [r4, #0x54] - cmp r0, #0 - bne _080321E6 - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _080321E2 - movs r2, #0 -_080321D0: - adds r0, r1, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _080321DC - strb r2, [r1, #0xe] -_080321DC: - ldr r1, [r1, #0x50] - cmp r1, #0 - bne _080321D0 -_080321E2: - movs r0, #0 - strb r0, [r4, #0xe] -_080321E6: - pop {r4, pc} - - thumb_func_start sub_080321E8 -sub_080321E8: @ 0x080321E8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - bne _08032202 - movs r0, #8 - strb r0, [r4, #0xc] -_08032202: - pop {r4, pc} - - thumb_func_start sub_08032204 -sub_08032204: @ 0x08032204 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08032230 - movs r0, #0 - strb r0, [r2] - bl sub_08000E50 - movs r1, #0x30 - ands r0, r1 - adds r0, #0x1e - adds r1, r4, #0 - adds r1, #0x59 - strb r0, [r1] - b _08032244 -_08032230: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08032244 - movs r0, #9 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0xd - bl sub_08004260 -_08032244: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08032248 -sub_08032248: @ 0x08032248 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - cmp r0, #0 - bne _0803228E - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08032276 - ldr r1, [r4, #0x7c] - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - adds r0, r4, #0 - bl sub_0805E7BC - b _0803228E -_08032276: - adds r0, r4, #0 - bl sub_08004274 - ldrb r1, [r5] - movs r0, #0xf - ands r0, r1 - cmp r0, #2 - bne _0803228E - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] -_0803228E: - pop {r4, r5, pc} - - thumb_func_start sub_08032290 -sub_08032290: @ 0x08032290 - push {lr} - movs r1, #6 - strb r1, [r0, #0xc] - movs r1, #0xc - strb r1, [r0, #0xe] - movs r1, #0xb - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080322A4 -sub_080322A4: @ 0x080322A4 - push {r4, lr} - adds r2, r0, #0 - ldr r3, [r2, #0x54] - cmp r3, #0 - beq _080322E2 - movs r1, #0x36 - ldrsh r0, [r3, r1] - adds r0, #8 - movs r4, #0x36 - ldrsh r1, [r2, r4] - cmp r0, r1 - blt _080322E2 - adds r0, r1, #0 - cmp r0, #0 - beq _080322D8 - movs r0, #5 - strb r0, [r2, #0xc] - ldrh r0, [r3, #0x36] - adds r0, #8 - strh r0, [r2, #0x36] - adds r0, r2, #0 - movs r1, #0xb - bl sub_08004260 - movs r0, #1 - b _080322E4 -_080322D8: - adds r0, r2, #0 - bl sub_08032290 - movs r0, #1 - b _080322E4 -_080322E2: - movs r0, #0 -_080322E4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080322E8 -sub_080322E8: @ 0x080322E8 - push {lr} - adds r3, r0, #0 - adds r2, r3, #0 - adds r2, #0x78 - ldrb r0, [r2] - cmp r0, #0 - beq _08032316 - subs r0, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032334 - ldrb r2, [r3, #0x18] - lsls r1, r2, #0x19 - lsrs r1, r1, #0x1f - movs r0, #1 - eors r1, r0 - lsls r1, r1, #6 - subs r0, #0x42 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] - b _08032334 -_08032316: - ldrb r1, [r3, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _08032334 - lsrs r1, r1, #4 - movs r0, #1 - eors r1, r0 - ldrb r0, [r3, #0x18] - lsls r0, r0, #0x19 - lsrs r0, r0, #0x1f - cmp r1, r0 - beq _08032334 - movs r0, #6 - strb r0, [r2] -_08032334: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08032338 -sub_08032338: @ 0x08032338 - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #0x7c] - ldrb r0, [r1, #0xe] - adds r0, #0xf - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x50 - beq _08032354 - adds r1, r2, #0 - adds r1, #0x6c - movs r0, #0 - strb r0, [r1] -_08032354: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08032358 -sub_08032358: @ 0x08032358 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0803237C - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - bl sub_0804B128 - str r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x54 - adds r2, r4, #0 - adds r2, #0x74 - adds r0, r4, #0 - bl sub_080A2CC0 -_0803237C: - ldrb r1, [r4, #0x15] - movs r6, #0x80 - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - bne _0803238E - adds r0, r4, #0 - bl sub_0806F69C -_0803238E: - adds r5, r4, #0 - adds r5, #0x74 - ldrh r0, [r5] - subs r0, #1 - strh r0, [r5] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080323BA - ldrb r1, [r4, #0x15] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - bne _080323AE - movs r0, #0x74 - bl sub_08004488 -_080323AE: - adds r1, r4, #0 - adds r1, #0x54 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_080A2CC0 -_080323BA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080323BC -sub_080323BC: @ 0x080323BC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080323D8 @ =gUnk_080CE7B0 - bl sub_0800129E - movs r3, #0x12 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_080323D8: .4byte gUnk_080CE7B0 - - thumb_func_start sub_080323DC -sub_080323DC: @ 0x080323DC - push {lr} - ldr r2, _080323F0 @ =gUnk_080CE7C8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080323F0: .4byte gUnk_080CE7C8 - - thumb_func_start sub_080323F4 -sub_080323F4: @ 0x080323F4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - subs r0, #3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bls _0803242C - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0xc - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r1, [r0] - adds r1, #4 - movs r0, #0x18 - ands r1, r0 - movs r0, #0x10 - eors r1, r0 - strb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_080042AC - adds r5, r4, #0 - adds r5, #0x43 - b _08032446 -_0803242C: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - adds r5, r4, #0 - adds r5, #0x43 - cmp r0, #0xcc - bne _08032446 - ldrb r0, [r5] - cmp r0, #0 - bne _0803244C - adds r0, r4, #0 - bl sub_0803275C -_08032446: - ldrb r0, [r5] - cmp r0, #0 - beq _08032454 -_0803244C: - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08032454: - ldr r1, _08032460 @ =gUnk_080CE7B0 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08032460: .4byte gUnk_080CE7B0 - - thumb_func_start nullsub_155 -nullsub_155: @ 0x08032464 - bx lr - .align 2, 0 - - thumb_func_start sub_08032468 -sub_08032468: @ 0x08032468 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #0 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_080326FC - adds r0, r4, #0 - bl sub_08032740 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803248C -sub_0803248C: @ 0x0803248C - push {r4, lr} - adds r4, r0, #0 - bl sub_080325E8 - cmp r0, #0 - bne _080324C8 - adds r0, r4, #0 - bl sub_0803271C - cmp r0, #0 - bne _080324C8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080324B4 - adds r0, r4, #0 - bl sub_08032650 -_080324B4: - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _080324C2 - movs r0, #1 - strb r0, [r4, #0xe] -_080324C2: - adds r0, r4, #0 - bl sub_080042B8 -_080324C8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080324CC -sub_080324CC: @ 0x080324CC - push {r4, lr} - adds r4, r0, #0 - bl sub_080325E8 - cmp r0, #0 - bne _080324F8 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080324F8 - adds r0, r4, #0 - bl sub_080326FC - adds r0, r4, #0 - bl sub_08032740 -_080324F8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080324FC -sub_080324FC: @ 0x080324FC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08032524 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032572 - movs r0, #0x1e - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC -_08032524: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xf] - subs r1, r0, #1 - strb r1, [r4, #0xf] - lsls r0, r1, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _08032564 - movs r0, #4 - strb r0, [r4, #0xc] - movs r1, #0 - movs r0, #0xf0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r2, r4, #0 - adds r2, #0x76 - movs r0, #0x46 - strh r0, [r2] - adds r0, r4, #0 - adds r0, #0x78 - strh r3, [r0] - adds r0, #3 - strb r1, [r0] - adds r0, r4, #0 - bl sub_080327C8 - b _08032572 -_08032564: - movs r0, #3 - ands r1, r0 - cmp r1, #0 - bne _08032572 - adds r0, r4, #0 - bl sub_08032794 -_08032572: - pop {r4, pc} - - thumb_func_start sub_08032574 -sub_08032574: @ 0x08032574 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _0803258A - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080325A4 -_0803258A: - adds r5, r4, #0 - adds r5, #0x76 - ldrh r0, [r5] - subs r0, #1 - strh r0, [r5] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _080325A4 - adds r0, r4, #0 - bl sub_080AEFE0 - cmp r0, #0 - bne _080325AC -_080325A4: - adds r0, r4, #0 - bl sub_0803275C - b _080325C2 -_080325AC: - adds r0, r4, #0 - bl sub_080042B8 - ldrh r1, [r5] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _080325C2 - adds r0, r4, #0 - bl sub_08032794 -_080325C2: - pop {r4, r5, pc} - - thumb_func_start sub_080325C4 -sub_080325C4: @ 0x080325C4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080325E4 - adds r0, r4, #0 - bl sub_080325E8 - cmp r0, #0 - bne _080325E4 - adds r0, r4, #0 - bl sub_08032784 -_080325E4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080325E8 -sub_080325E8: @ 0x080325E8 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0803264C - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0803264C - ldr r5, _08032648 @ =gUnk_020000B0 - ldr r1, [r5] - adds r0, r4, #0 - movs r2, #0x68 - movs r3, #0x40 - bl sub_080041A0 - cmp r0, #0 - beq _0803264C - ldr r1, [r5] - adds r0, r4, #0 - bl sub_080045C4 - adds r3, r4, #0 - adds r3, #0x5a - ldrb r2, [r3] - movs r5, #0x18 - adds r1, r5, #0 - ands r1, r2 - subs r0, r0, r1 - adds r0, #2 - movs r1, #0x1f - ands r0, r1 - cmp r0, #4 - bhi _0803264C - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0xc - strb r0, [r4, #0xe] - ldrb r1, [r3] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #1 - b _0803264E - .align 2, 0 -_08032648: .4byte gUnk_020000B0 -_0803264C: - movs r0, #0 -_0803264E: - pop {r4, r5, pc} - - thumb_func_start sub_08032650 -sub_08032650: @ 0x08032650 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - ldr r1, _08032680 @ =gUnk_080CE7E0 - movs r0, #0xf - ands r0, r5 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0803267A - lsrs r0, r5, #8 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08032684 -_0803267A: - lsrs r0, r5, #0x10 - b _0803268C - .align 2, 0 -_08032680: .4byte gUnk_080CE7E0 -_08032684: - adds r0, r4, #0 - bl sub_08049EE4 - adds r0, #4 -_0803268C: - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - bl sub_0803269C - pop {r4, r5, pc} - - thumb_func_start sub_0803269C -sub_0803269C: @ 0x0803269C - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - subs r0, r2, #3 - movs r1, #7 - ands r0, r1 - cmp r0, #2 - bhi _080326D6 - adds r0, r2, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r2, r0, #3 - ldrb r0, [r3, #0x14] - subs r0, r0, r2 - movs r1, #3 - ands r0, r1 - cmp r0, #1 - bls _080326F8 - strb r2, [r3, #0x14] - adds r0, r3, #0 - adds r0, #0x58 - ldrb r0, [r0] - movs r1, #0xfc - ands r1, r0 - adds r1, r1, r2 - adds r0, r3, #0 - bl sub_080042AC - b _080326F8 -_080326D6: - adds r0, r2, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r2, r0, #3 - ldrb r0, [r3, #0x14] - cmp r2, r0 - beq _080326F8 - strb r2, [r3, #0x14] - adds r0, r3, #0 - adds r0, #0x58 - ldrb r0, [r0] - movs r1, #0xfc - ands r1, r0 - adds r1, r1, r2 - adds r0, r3, #0 - bl sub_080042AC -_080326F8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080326FC -sub_080326FC: @ 0x080326FC - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _08032718 @ =gUnk_080CE7F0 - movs r1, #0xf - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r1] - adds r4, #0x74 - strh r0, [r4] - pop {r4, pc} - .align 2, 0 -_08032718: .4byte gUnk_080CE7F0 - - thumb_func_start sub_0803271C -sub_0803271C: @ 0x0803271C - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08032734 - movs r0, #0 - b _0803273C -_08032734: - adds r0, r2, #0 - bl sub_08032784 - movs r0, #1 -_0803273C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08032740 -sub_08032740: @ 0x08032740 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x80 - strh r0, [r4, #0x24] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08032650 - pop {r4, pc} - - thumb_func_start sub_0803275C -sub_0803275C: @ 0x0803275C - push {r4, lr} - adds r4, r0, #0 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0x2d - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - bl sub_0803269C - adds r0, r4, #0 - bl sub_080327E0 - pop {r4, pc} - - thumb_func_start sub_08032784 -sub_08032784: @ 0x08032784 - push {lr} - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r1, [r0, #0x14] - adds r1, #8 - bl sub_080042AC - pop {pc} - - thumb_func_start sub_08032794 -sub_08032794: @ 0x08032794 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r5, r0, #0 - cmp r5, #0 - beq _080327C2 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - ldr r1, _080327C4 @ =gUnk_080CE810 - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA48 -_080327C2: - pop {r4, r5, pc} - .align 2, 0 -_080327C4: .4byte gUnk_080CE810 - - thumb_func_start sub_080327C8 -sub_080327C8: @ 0x080327C8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xb - movs r2, #0 - bl sub_0804A98C - cmp r0, #0 - beq _080327DC - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_080327DC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080327E0 -sub_080327E0: @ 0x080327E0 - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #0x54] - cmp r1, #0 - beq _080327F0 - movs r0, #0 - str r0, [r1, #0x50] - str r0, [r2, #0x54] -_080327F0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080327F4 -sub_080327F4: @ 0x080327F4 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0803280C @ =gUnk_080CE978 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0803280C: .4byte gUnk_080CE978 - - thumb_func_start sub_08032810 -sub_08032810: @ 0x08032810 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08032840 @ =gUnk_080CE990 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0803283C - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803283C - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_0803283C: - pop {r4, pc} - .align 2, 0 -_08032840: .4byte gUnk_080CE990 - - thumb_func_start sub_08032844 -sub_08032844: @ 0x08032844 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r2, #0x80 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080328AE - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - bne _08032896 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r3, #0x10 - strb r3, [r4, #0xf] - ldrb r2, [r4, #0x15] - adds r0, r2, #4 - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _08032886 - adds r0, r2, #0 - ands r0, r3 - cmp r0, #0 - beq _08032882 - adds r0, r2, #2 - b _08032884 -_08032882: - subs r0, r2, #2 -_08032884: - strb r0, [r4, #0x15] -_08032886: - ldrb r1, [r4, #0x15] - movs r0, #0x20 - subs r0, r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08032AF4 - b _080328AE -_08032896: - adds r0, r4, #0 - adds r0, #0x3d - ldrb r1, [r0] - adds r0, r2, #0 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _080328AE - adds r1, r4, #0 - adds r1, #0x45 - strb r0, [r1] -_080328AE: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080328B8 -sub_080328B8: @ 0x080328B8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080328FC @ =gUnk_080CE9A4 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - bne _080328F8 - movs r1, #2 - strb r1, [r4, #0xc] - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x84 - strb r1, [r0] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0xe0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08032AF4 -_080328F8: - pop {r4, pc} - .align 2, 0 -_080328FC: .4byte gUnk_080CE9A4 - - thumb_func_start sub_08032900 -sub_08032900: @ 0x08032900 - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_0803290C -sub_0803290C: @ 0x0803290C - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_08032914 -sub_08032914: @ 0x08032914 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _08032926 - adds r0, r4, #0 - bl sub_0804A7D4 -_08032926: - pop {r4, pc} - - thumb_func_start sub_08032928 -sub_08032928: @ 0x08032928 - push {r4, r5, r6, lr} - adds r6, r0, #0 - bl sub_0804A720 - movs r4, #0 - movs r5, #1 - strb r5, [r6, #0xc] - strb r4, [r6, #0xf] - adds r0, r6, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r6, #0x15] - adds r0, r6, #0 - adds r0, #0x80 - strb r4, [r0] - adds r0, #1 - strb r4, [r0] - strb r5, [r6, #0x1c] - adds r2, r6, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r1, r6, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - ldrb r1, [r6, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r6, #0x1b] - ldrh r1, [r6, #0x2e] - adds r0, r6, #0 - adds r0, #0x78 - strh r1, [r0] - ldrh r0, [r6, #0x32] - adds r1, r6, #0 - adds r1, #0x7a - strh r0, [r1] - adds r0, r6, #0 - bl sub_08016A04 - adds r0, r6, #0 - bl sub_08032AF4 - pop {r4, r5, r6, pc} - - thumb_func_start sub_0803298C -sub_0803298C: @ 0x0803298C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08032AB0 - adds r0, r4, #0 - bl sub_08004274 - movs r0, #1 - bl sub_08049DF4 - cmp r0, #0 - beq _080329E2 - ldr r5, _080329E4 @ =gUnk_020000B0 - ldr r1, [r5] - adds r0, r4, #0 - movs r2, #0x88 - movs r3, #0x50 - bl sub_080041A0 - cmp r0, #0 - beq _080329E2 - ldr r0, [r5] - movs r2, #0x32 - ldrsh r1, [r0, r2] - movs r2, #0x32 - ldrsh r0, [r4, r2] - adds r0, #8 - cmp r1, r0 - ble _080329E2 - movs r1, #0 - movs r2, #2 - strb r2, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x84 - strb r1, [r0] - movs r0, #0x10 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x81 - strb r2, [r0] - adds r0, r4, #0 - bl sub_08032AF4 -_080329E2: - pop {r4, r5, pc} - .align 2, 0 -_080329E4: .4byte gUnk_020000B0 - - thumb_func_start sub_080329E8 -sub_080329E8: @ 0x080329E8 - push {lr} - bl sub_08032B38 - pop {pc} - - thumb_func_start sub_080329F0 -sub_080329F0: @ 0x080329F0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080040A8 - cmp r0, #0 - bne _08032A3A - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #8 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - strh r0, [r4, #0x32] - ldrh r0, [r4, #0x36] - adds r0, #8 - strh r0, [r4, #0x36] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - b _08032A46 -_08032A3A: - adds r0, r4, #0 - bl sub_08032B10 - adds r0, r4, #0 - bl sub_08004274 -_08032A46: - pop {r4, pc} - - thumb_func_start sub_08032A48 -sub_08032A48: @ 0x08032A48 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080040A8 - adds r5, r0, #0 - cmp r5, #0 - bne _08032AAE - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #8 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x80 - strb r5, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x81 - strb r5, [r0] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - bl sub_08032AF4 -_08032AAE: - pop {r4, r5, pc} - - thumb_func_start sub_08032AB0 -sub_08032AB0: @ 0x08032AB0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032AF0 - ldrb r0, [r4, #0x15] - adds r5, r4, #0 - adds r5, #0x80 - strb r0, [r5] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - cmp r0, #0xff - beq _08032AD6 - strb r0, [r4, #0x15] -_08032AD6: - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r2, [r5] - movs r0, #0x10 - adds r1, r0, #0 - ands r1, r2 - ldrb r2, [r4, #0x15] - ands r0, r2 - cmp r1, r0 - beq _08032AF0 - adds r0, r4, #0 - bl sub_08032AF4 -_08032AF0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08032AF4 -sub_08032AF4: @ 0x08032AF4 - push {lr} - ldrb r2, [r0, #0x15] - movs r1, #0x10 - ands r1, r2 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1c - adds r2, r0, #0 - adds r2, #0x81 - ldrb r2, [r2] - adds r1, r1, r2 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08032B10 -sub_08032B10: @ 0x08032B10 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - pop {r4, pc} - - thumb_func_start sub_08032B38 -sub_08032B38: @ 0x08032B38 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x84 - ldrb r0, [r2] - cmp r0, #1 - beq _08032B88 - cmp r0, #1 - bgt _08032B50 - cmp r0, #0 - beq _08032B56 - b _08032C6A -_08032B50: - cmp r0, #2 - beq _08032BB2 - b _08032C6A -_08032B56: - ldrb r1, [r5, #0xe] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08032B68 - ldrh r0, [r5, #0x36] - subs r0, #1 - strh r0, [r5, #0x36] -_08032B68: - subs r0, r1, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032C6A - strb r3, [r2] - movs r0, #0x18 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x81 - movs r0, #2 - b _08032BA8 -_08032B88: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032C6A - movs r0, #2 - strb r0, [r2] - movs r0, #8 - strb r0, [r5, #0xe] - movs r0, #0xe0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r1, r5, #0 - adds r1, #0x81 - movs r0, #4 -_08032BA8: - strb r0, [r1] - adds r0, r5, #0 - bl sub_08032AF4 - b _08032C6A -_08032BB2: - adds r1, r5, #0 - adds r1, #0x82 - ldrh r0, [r1] - subs r0, #1 - movs r3, #0 - strh r0, [r1] - lsls r0, r0, #0x10 - adds r6, r1, #0 - cmp r0, #0 - bne _08032BF4 - movs r0, #3 - strb r0, [r5, #0xc] - strb r3, [r2] - strb r3, [r5, #0xe] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - ldrb r2, [r5, #0x15] - adds r0, r2, #0 - adds r0, #0x18 - movs r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08032BEC - movs r0, #0x10 - subs r0, r0, r2 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] -_08032BEC: - adds r0, r5, #0 - bl sub_08032AF4 - b _08032C64 -_08032BF4: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032C64 - movs r0, #8 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0x15] - adds r4, r5, #0 - adds r4, #0x80 - strb r0, [r4] - adds r0, r5, #0 - movs r1, #1 - bl sub_08049F84 - adds r1, r0, #0 - adds r0, r5, #0 - bl sub_08004596 - ldrb r3, [r5, #0x15] - adds r0, r3, #0 - adds r0, #0x18 - movs r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08032C46 - ldrb r0, [r4] - cmp r0, #0x10 - bne _08032C3E - ands r3, r0 - cmp r3, #0 - beq _08032C3A - movs r0, #0x12 - b _08032C3C -_08032C3A: - movs r0, #0xe -_08032C3C: - strb r0, [r4] -_08032C3E: - ldrb r0, [r4] - strb r0, [r5, #0x15] - movs r0, #1 - strh r0, [r6] -_08032C46: - ldrb r2, [r4] - movs r0, #0x10 - adds r1, r0, #0 - ands r1, r2 - lsls r1, r1, #0x18 - ldrb r2, [r5, #0x15] - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x1c - cmp r1, r0 - beq _08032C64 - adds r1, r2, #4 - adds r0, r5, #0 - bl sub_08004260 -_08032C64: - adds r0, r5, #0 - bl sub_08032B10 -_08032C6A: - adds r0, r5, #0 - bl sub_08004274 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08032C74 -sub_08032C74: @ 0x08032C74 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08032C90 @ =gUnk_080CEA1C - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_08032C90: .4byte gUnk_080CEA1C - - thumb_func_start sub_08032C94 -sub_08032C94: @ 0x08032C94 - push {lr} - ldr r2, _08032CA8 @ =gUnk_080CEA34 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08032CA8: .4byte gUnk_080CEA34 - - thumb_func_start sub_08032CAC -sub_08032CAC: @ 0x08032CAC - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08032CC0 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08032CC0: - ldr r1, _08032D18 @ =gUnk_080CEA1C - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08032D3A - movs r0, #0x3f - ands r0, r1 - cmp r0, #3 - bgt _08032D2C - cmp r0, #2 - blt _08032D2C - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - movs r1, #0xc8 - cmp r0, #0 - beq _08032CF0 - movs r1, #0x5a -_08032CF0: - strb r1, [r4, #0xe] - movs r0, #2 - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #3 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r4, #0x15] - ldrb r5, [r4, #0x15] - bl sub_08000E50 - movs r1, #0x40 - ands r1, r0 - cmp r1, #0 - beq _08032D1C - adds r2, r5, #4 - b _08032D20 - .align 2, 0 -_08032D18: .4byte gUnk_080CEA1C -_08032D1C: - adds r2, r5, #0 - adds r2, #0x1c -_08032D20: - movs r1, #0 - movs r0, #0x1f - ands r0, r2 - strb r0, [r4, #0x15] - strh r1, [r4, #0x24] - b _08032D3A -_08032D2C: - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #4 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08033174 -_08032D3A: - pop {r4, r5, pc} - - thumb_func_start sub_08032D3C -sub_08032D3C: @ 0x08032D3C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032D66 - movs r0, #2 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x14] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08032F24 - adds r0, r4, #0 - bl sub_080331E8 -_08032D66: - adds r0, r4, #0 - bl sub_08001324 - - thumb_func_start nullsub_156 -nullsub_156: @ 0x08032D6C - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_157 -nullsub_157: @ 0x08032D70 - bx lr - .align 2, 0 - - thumb_func_start sub_08032D74 -sub_08032D74: @ 0x08032D74 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r0, r4, #0 - bl sub_08033058 - pop {r4, pc} - - thumb_func_start sub_08032D84 -sub_08032D84: @ 0x08032D84 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032D9C - adds r0, r4, #0 - bl sub_080330C0 - b _08032DAC -_08032D9C: - adds r0, r4, #0 - bl sub_08033364 - cmp r0, #0 - beq _08032DAC - adds r0, r4, #0 - bl sub_08033100 -_08032DAC: - adds r0, r4, #0 - bl sub_08032F64 - pop {r4, pc} - - thumb_func_start sub_08032DB4 -sub_08032DB4: @ 0x08032DB4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032DCA - adds r0, r4, #0 - bl sub_08033058 -_08032DCA: - adds r0, r4, #0 - bl sub_08032F48 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08032DD4 -sub_08032DD4: @ 0x08032DD4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032E3C - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xf] - movs r0, #0xf0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_080331B4 - adds r2, r4, #0 - adds r2, #0x82 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08032E18 - ldrb r0, [r4, #0x15] - adds r0, #0x1c - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - b _08032E28 -_08032E18: - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r0, [r2] - movs r1, #0x80 - orrs r0, r1 -_08032E28: - strb r0, [r2] - ldrb r0, [r4, #0x15] - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - b _08032E4E -_08032E3C: - adds r0, r4, #0 - bl sub_08032F90 - adds r0, r4, #0 - bl sub_080331E8 - adds r0, r4, #0 - bl sub_08032F64 -_08032E4E: - pop {r4, pc} - - thumb_func_start sub_08032E50 -sub_08032E50: @ 0x08032E50 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032E70 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #4 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08033174 - b _08032E82 -_08032E70: - adds r0, r4, #0 - bl sub_08033000 - adds r0, r4, #0 - bl sub_080331E8 - adds r0, r4, #0 - bl sub_08032F64 -_08032E82: - pop {r4, pc} - - thumb_func_start sub_08032E84 -sub_08032E84: @ 0x08032E84 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032EA4 - adds r0, r4, #0 - bl sub_08033320 - adds r0, r4, #0 - bl sub_080330C0 - b _08032EC0 -_08032EA4: - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08032EC0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - cmp r0, #0 - bne _08032EC0 - movs r0, #4 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_080332A8 -_08032EC0: - adds r0, r4, #0 - bl sub_080331E8 - adds r0, r4, #0 - bl sub_080AEF88 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08032ED0 -sub_08032ED0: @ 0x08032ED0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08032F48 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - movs r5, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032F06 - movs r0, #2 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x14] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08032F24 - adds r0, r4, #0 - bl sub_080331E8 -_08032F06: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - ands r0, r5 - cmp r0, #0 - bne _08032F20 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #4 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08033174 -_08032F20: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08032F24 -sub_08032F24: @ 0x08032F24 - push {lr} - adds r2, r0, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _08032F38 - movs r1, #0 - ldrb r0, [r2, #0x14] - lsrs r0, r0, #1 - b _08032F3C -_08032F38: - movs r1, #4 - ldrb r0, [r2, #0x14] -_08032F3C: - adds r1, r1, r0 - adds r0, r2, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08032F48 -sub_08032F48: @ 0x08032F48 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #2 - bne _08032F5A - adds r0, r4, #0 - bl sub_08004274 -_08032F5A: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08032F64 -sub_08032F64: @ 0x08032F64 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _08032F82 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E - ldrb r0, [r4, #0x15] - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08032F24 -_08032F82: - adds r0, r4, #0 - bl sub_08032F48 - adds r0, r4, #0 - bl sub_080AEF88 - pop {r4, pc} - - thumb_func_start sub_08032F90 -sub_08032F90: @ 0x08032F90 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _08032FC0 - ldrb r0, [r2, #0xe] - cmp r0, #0x10 - bne _08032FA8 - adds r1, r2, #0 - adds r1, #0x80 - movs r0, #2 - strb r0, [r1] -_08032FA8: - ldrb r0, [r2, #0xf] - subs r0, #1 - strb r0, [r2, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032FFE - movs r0, #8 - strb r0, [r2, #0xf] - adds r0, r2, #0 - bl sub_08033280 - b _08032FFE -_08032FC0: - ldrb r0, [r2, #0xf] - subs r0, #1 - strb r0, [r2, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08032FFE - movs r0, #4 - strb r0, [r2, #0xf] - adds r0, r2, #0 - adds r0, #0x82 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08032FE4 - ldrb r0, [r2, #0x15] - adds r0, #0x1c - b _08032FE8 -_08032FE4: - ldrb r0, [r2, #0x15] - adds r0, #4 -_08032FE8: - movs r1, #0x1c - ands r0, r1 - strb r0, [r2, #0x15] - ldrb r0, [r2, #0x15] - lsrs r0, r0, #2 - strb r0, [r2, #0x14] - ldrb r1, [r2, #0x14] - adds r1, #4 - adds r0, r2, #0 - bl sub_08004260 -_08032FFE: - pop {pc} - - thumb_func_start sub_08033000 -sub_08033000: @ 0x08033000 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xf] - subs r0, #1 - strb r0, [r2, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08033056 - movs r0, #0x10 - strb r0, [r2, #0xf] - adds r3, r2, #0 - adds r3, #0x82 - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08033034 - ldrb r0, [r2, #0x15] - adds r0, #0x18 - movs r1, #0x1c - ands r0, r1 - strb r0, [r2, #0x15] - ldrb r1, [r3] - movs r0, #0x7f - ands r0, r1 - b _08033044 -_08033034: - ldrb r0, [r2, #0x15] - adds r0, #8 - movs r1, #0x1c - ands r0, r1 - strb r0, [r2, #0x15] - ldrb r0, [r3] - movs r1, #0x80 - orrs r0, r1 -_08033044: - strb r0, [r3] - ldrb r0, [r2, #0x15] - lsrs r0, r0, #2 - strb r0, [r2, #0x14] - ldrb r1, [r2, #0x14] - adds r1, #4 - adds r0, r2, #0 - bl sub_08004260 -_08033056: - pop {pc} - - thumb_func_start sub_08033058 -sub_08033058: @ 0x08033058 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r6, #1 - strb r6, [r5, #0xc] - adds r0, #0x80 - strb r6, [r0] - bl sub_08000E50 - ldr r1, _080330A0 @ =gUnk_080CEA50 - movs r4, #3 - ands r0, r4 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0xe] - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _080330A8 - bl sub_08000E50 - ands r0, r4 - cmp r0, #0 - beq _080330A8 - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl sub_08000E50 - ldr r1, _080330A4 @ =gUnk_080CEA54 - ands r0, r6 - adds r0, r0, r1 - ldrb r0, [r0] - adds r0, r0, r4 - b _080330AC - .align 2, 0 -_080330A0: .4byte gUnk_080CEA50 -_080330A4: .4byte gUnk_080CEA54 -_080330A8: - bl sub_08000E50 -_080330AC: - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] - ldrb r0, [r5, #0x15] - lsrs r0, r0, #2 - strb r0, [r5, #0x14] - adds r0, r5, #0 - bl sub_08032F24 - pop {r4, r5, r6, pc} - - thumb_func_start sub_080330C0 -sub_080330C0: @ 0x080330C0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080330E2 - bl sub_08000E50 - movs r1, #0x38 - ands r0, r1 - adds r0, #0x18 - b _080330E4 -_080330E2: - movs r0, #6 -_080330E4: - strb r0, [r4, #0xe] - movs r0, #0x60 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08032F24 - pop {r4, pc} - - thumb_func_start sub_08033100 -sub_08033100: @ 0x08033100 - push {r4, lr} - adds r4, r0, #0 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r2, [r4, #0xa] - cmp r2, #0 - bne _08033132 - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #1 - strb r0, [r1] - movs r0, #0x30 - strb r0, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - strh r2, [r4, #0x24] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - b _08033150 -_08033132: - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080331B4 - ldrb r0, [r4, #0xe] - adds r0, #0x10 - strb r0, [r4, #0xe] - movs r0, #4 - strb r0, [r4, #0xf] - movs r0, #0xb0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] -_08033150: - adds r1, r4, #0 - adds r1, #0x83 - movs r0, #0 - strb r0, [r1] - bl sub_08000E50 - movs r1, #0x80 - ands r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - strb r0, [r1] - ldrb r0, [r4, #0x15] - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08032F24 - pop {r4, pc} - - thumb_func_start sub_08033174 -sub_08033174: @ 0x08033174 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x80 - movs r2, #0 - movs r0, #1 - strb r0, [r1] - ldrb r0, [r4, #0x15] - adds r1, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x82 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080331A4 - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - adds r0, #0x18 - b _080331A6 -_080331A4: - movs r0, #0xc -_080331A6: - strb r0, [r4, #0xe] - movs r0, #0xa0 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08032F24 - pop {r4, pc} - - thumb_func_start sub_080331B4 -sub_080331B4: @ 0x080331B4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #0xf0 - ands r1, r0 - movs r2, #0x1e - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080331D0 - movs r2, #0x3c - b _080331E4 -_080331D0: - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080331DA - movs r2, #0x2d -_080331DA: - movs r0, #0x20 - ands r1, r0 - cmp r1, #0 - beq _080331E4 - movs r2, #0x4b -_080331E4: - strb r2, [r4, #0xe] - pop {r4, pc} - - thumb_func_start sub_080331E8 -sub_080331E8: @ 0x080331E8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r3, #0 - ldrb r0, [r5, #0xc] - cmp r0, #5 - beq _08033220 - adds r1, r5, #0 - adds r1, #0x83 - ldrb r0, [r1] - adds r2, r0, #1 - strb r2, [r1] - adds r0, r5, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #2 - beq _0803320C - movs r0, #0xf - b _0803320E -_0803320C: - movs r0, #7 -_0803320E: - ands r2, r0 - strb r2, [r1] - ldrb r0, [r1] - cmp r0, #0 - bne _08033238 - movs r3, #1 - ldrb r0, [r5, #0x14] - lsls r6, r0, #1 - b _08033238 -_08033220: - adds r2, r5, #0 - adds r2, #0x83 - ldrb r0, [r2] - adds r0, #1 - movs r1, #0xf - ands r0, r1 - strb r0, [r2] - cmp r0, #0 - bne _08033238 - movs r3, #1 - ldrb r0, [r5, #0x15] - lsrs r6, r0, #1 -_08033238: - cmp r3, #0 - beq _08033278 - adds r0, r5, #0 - movs r1, #2 - movs r2, #0x40 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _08033278 - ldr r2, _0803327C @ =gUnk_080CEA56 - adds r2, r6, r2 - adds r3, r5, #0 - adds r3, #0x5a - ldrb r0, [r3] - movs r1, #0x20 - eors r0, r1 - strb r0, [r3] - movs r0, #0 - ldrsb r0, [r2, r0] - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - movs r0, #1 - ldrsb r0, [r2, r0] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - movs r0, #0x86 - lsls r0, r0, #1 - bl sub_08004488 -_08033278: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803327C: .4byte gUnk_080CEA56 - - thumb_func_start sub_08033280 -sub_08033280: @ 0x08033280 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049F84 - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #2 - ldrb r1, [r4, #0x14] - cmp r0, r1 - beq _080332A4 - strb r0, [r4, #0x14] - adds r1, r0, #4 - adds r0, r4, #0 - bl sub_08004260 -_080332A4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080332A8 -sub_080332A8: @ 0x080332A8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r6, [r4, #0x15] - adds r5, r4, #0 - adds r5, #0x81 - ldrb r0, [r5] - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - ldrb r0, [r4, #0x15] - strb r0, [r5] - strb r6, [r4, #0x15] - ldrb r0, [r5] - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - asrs r6, r0, #2 - ldrb r0, [r4, #0x14] - cmp r6, r0 - beq _080332E4 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080332E8 -_080332E4: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080332E8 -sub_080332E8: @ 0x080332E8 - push {r4, lr} - adds r4, r0, #0 - adds r3, r4, #0 - adds r3, #0x82 - movs r0, #0 - strb r0, [r3] - ldrb r0, [r4, #0x14] - subs r2, r1, r0 - cmp r2, #0 - ble _08033304 - cmp r2, #4 - bgt _08033310 - movs r0, #1 - b _08033312 -_08033304: - movs r0, #4 - rsbs r0, r0, #0 - cmp r2, r0 - bge _08033310 - movs r0, #1 - b _08033312 -_08033310: - movs r0, #2 -_08033312: - strb r0, [r3] - strb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_08033320 -sub_08033320: @ 0x08033320 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x14] - lsls r5, r0, #2 - movs r0, #4 - ands r0, r5 - cmp r0, #0 - beq _08033360 - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - movs r1, #3 - ands r1, r0 - cmp r1, #1 - beq _08033350 - cmp r1, #2 - beq _08033354 - bl sub_08000E50 - movs r1, #0x10 - ands r1, r0 - movs r0, #0x1c - cmp r1, #0 - beq _08033356 -_08033350: - movs r0, #4 - b _08033356 -_08033354: - movs r0, #0x1c -_08033356: - adds r0, r0, r5 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - b _08033362 -_08033360: - strb r5, [r4, #0x15] -_08033362: - pop {r4, r5, pc} - - thumb_func_start sub_08033364 -sub_08033364: @ 0x08033364 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08049DF4 - adds r1, r0, #0 - cmp r1, #0 - beq _080333B4 - ldrb r0, [r4, #0xa] - movs r3, #0x38 - cmp r0, #0 - beq _0803337E - movs r3, #0x48 -_0803337E: - adds r0, r4, #0 - adds r2, r3, #0 - bl sub_080041A0 - cmp r0, #0 - beq _080333B4 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080333AA - ldr r0, _080333B0 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r1, #2 - movs r0, #0x1c - ands r1, r0 - lsrs r1, r1, #2 - ldrb r0, [r4, #0x14] - cmp r0, r1 - bne _080333B4 -_080333AA: - movs r0, #1 - b _080333B6 - .align 2, 0 -_080333B0: .4byte gUnk_020000B0 -_080333B4: - movs r0, #0 -_080333B6: - pop {r4, pc} - - thumb_func_start sub_080333B8 -sub_080333B8: @ 0x080333B8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080333D0 @ =gUnk_080CEB38 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080333D0: .4byte gUnk_080CEB38 - - thumb_func_start sub_080333D4 -sub_080333D4: @ 0x080333D4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0803340E - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0803340E - bl sub_0804B128 - str r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x54 - adds r2, r4, #0 - adds r2, #0x76 - adds r0, r4, #0 - bl sub_080A2CC0 -_0803340E: - ldr r2, _08033444 @ =gUnk_080CEB50 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1c - movs r1, #7 - ands r0, r1 - ldrb r1, [r4, #0xb] - lsls r1, r1, #3 - adds r0, r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08033440 - adds r0, r4, #0 - bl sub_0803350C -_08033440: - pop {r4, pc} - .align 2, 0 -_08033444: .4byte gUnk_080CEB50 - - thumb_func_start sub_08033448 -sub_08033448: @ 0x08033448 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - subs r0, #1 - cmp r0, #0x1d - bhi _080334E0 - lsls r0, r0, #2 - ldr r1, _08033464 @ =_08033468 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033464: .4byte _08033468 -_08033468: @ jump table - .4byte _080334FA @ case 0 - .4byte _080334E0 @ case 1 - .4byte _080334E0 @ case 2 - .4byte _080334E0 @ case 3 - .4byte _080334E0 @ case 4 - .4byte _080334E0 @ case 5 - .4byte _080334E0 @ case 6 - .4byte _080334E0 @ case 7 - .4byte _080334E0 @ case 8 - .4byte _080334E0 @ case 9 - .4byte _080334E0 @ case 10 - .4byte _080334E0 @ case 11 - .4byte _080334E0 @ case 12 - .4byte _080334E0 @ case 13 - .4byte _080334FA @ case 14 - .4byte _080334E0 @ case 15 - .4byte _080334E0 @ case 16 - .4byte _080334E0 @ case 17 - .4byte _080334FA @ case 18 - .4byte _080334E0 @ case 19 - .4byte _080334E0 @ case 20 - .4byte _080334E0 @ case 21 - .4byte _080334E0 @ case 22 - .4byte _080334E0 @ case 23 - .4byte _080334E0 @ case 24 - .4byte _080334E0 @ case 25 - .4byte _080334FA @ case 26 - .4byte _080334E0 @ case 27 - .4byte _080334FA @ case 28 - .4byte _080334FA @ case 29 -_080334E0: - movs r0, #0x20 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _080334F6 - adds r0, r4, #0 - bl sub_0806FA24 -_080334F6: - bl sub_0805E780 -_080334FA: - ldr r1, _08033504 @ =gUnk_080CEB38 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08033504: .4byte gUnk_080CEB38 - - thumb_func_start nullsub_158 -nullsub_158: @ 0x08033508 - bx lr - .align 2, 0 - - thumb_func_start sub_0803350C -sub_0803350C: @ 0x0803350C - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08033520 - adds r0, r4, #0 - bl sub_0806F69C -_08033520: - adds r2, r4, #0 - adds r2, #0x76 - ldrh r0, [r2] - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803353A - adds r1, r4, #0 - adds r1, #0x54 - adds r0, r4, #0 - bl sub_080A2CC0 -_0803353A: - pop {r4, pc} - - thumb_func_start sub_0803353C -sub_0803353C: @ 0x0803353C - push {lr} - ldr r1, _08033548 @ =gUnk_080CEB74 - bl sub_0800129E - pop {pc} - .align 2, 0 -_08033548: .4byte gUnk_080CEB74 - - thumb_func_start sub_0803354C -sub_0803354C: @ 0x0803354C - push {lr} - ldr r2, _08033560 @ =gUnk_080CEB8C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08033560: .4byte gUnk_080CEB8C - - thumb_func_start sub_08033564 -sub_08033564: @ 0x08033564 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08033628 - movs r0, #0x3f - ands r0, r1 - cmp r0, #0xe - beq _080335E4 - cmp r0, #0xe - bgt _08033586 - cmp r0, #0 - beq _08033590 - b _08033628 -_08033586: - cmp r0, #0x14 - beq _080335EE - cmp r0, #0x15 - beq _080335E4 - b _08033628 -_08033590: - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0x9f - lsls r0, r0, #2 - strh r0, [r1] - ldr r2, _080335DC @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #7 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r1, _080335E0 @ =gUnk_02002A40 - ldrb r2, [r4, #0xa] - adds r0, r2, #1 - adds r3, r1, #0 - adds r3, #0xba - strb r0, [r3] - adds r1, #0xc8 - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r1] - lsls r2, r2, #0x18 - cmp r2, #0 - beq _08033628 - bl sub_0805E780 - b _08033628 - .align 2, 0 -_080335DC: .4byte gUnk_03003F80 -_080335E0: .4byte gUnk_02002A40 -_080335E4: - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0 - strb r0, [r1] - b _08033628 -_080335EE: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - movs r1, #0 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x3d - strb r1, [r0] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08033624 - str r1, [r4, #0x54] - movs r0, #0xe - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0806FA24 -_08033624: - bl sub_0805E780 -_08033628: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803362C -sub_0803362C: @ 0x0803362C - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08033648 - ldr r0, _0803364C @ =gUnk_080CEB98 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08033648: - pop {r4, pc} - .align 2, 0 -_0803364C: .4byte gUnk_080CEB98 - - thumb_func_start sub_08033650 -sub_08033650: @ 0x08033650 - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_08033658 -sub_08033658: @ 0x08033658 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_08033660 -sub_08033660: @ 0x08033660 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _08033672 - adds r0, r4, #0 - bl sub_0804A7D4 -_08033672: - pop {r4, pc} - - thumb_func_start sub_08033674 -sub_08033674: @ 0x08033674 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r0, #0 - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0x1c] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x80 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x82 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08033744 - ldrb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080336A8 -sub_080336A8: @ 0x080336A8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080336C0 - adds r0, r4, #0 - bl sub_08033744 - b _080336CE -_080336C0: - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _080336CE - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E -_080336CE: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_080336DC -sub_080336DC: @ 0x080336DC - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x7c - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xc - beq _0803371E - cmp r0, #0xc - bgt _080336FC - cmp r0, #0 - beq _0803372E - b _08033740 -_080336FC: - cmp r0, #0x18 - beq _08033716 - cmp r0, #0x24 - bne _08033740 - adds r0, r2, #0 - adds r0, #0x80 - ldrh r0, [r0] - strh r0, [r2, #0x2e] - adds r0, r2, #0 - adds r0, #0x82 - ldrh r0, [r0] - strh r0, [r2, #0x32] - b _08033740 -_08033716: - adds r0, r2, #0 - bl sub_080A29BC - b _08033740 -_0803371E: - ldrb r0, [r2, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r2, #0x18] - b _08033740 -_0803372E: - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r0, r2, #0 - bl sub_08033744 -_08033740: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08033744 -sub_08033744: @ 0x08033744 - push {r4, r5, r6, lr} - adds r6, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - movs r0, #0xff - ands r5, r0 - ldr r1, _0803378C @ =gUnk_080CEBA4 - movs r0, #0x70 - ands r0, r5 - lsrs r0, r0, #4 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r6, #0xe] - movs r0, #0xc - ands r0, r5 - lsls r4, r0, #1 - adds r0, r6, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08033796 - movs r0, #3 - ands r0, r5 - cmp r0, #0 - beq _08033796 - adds r0, r6, #0 - bl sub_08049EE4 - adds r4, r0, #0 - movs r0, #0x80 - ands r5, r0 - cmp r5, #0 - beq _08033790 - adds r4, #4 - b _08033792 - .align 2, 0 -_0803378C: .4byte gUnk_080CEBA4 -_08033790: - adds r4, #0x1c -_08033792: - movs r0, #0x18 - ands r4, r0 -_08033796: - strb r4, [r6, #0x15] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0803379C -sub_0803379C: @ 0x0803379C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080337B8 @ =gUnk_080CEBEC - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_080337B8: .4byte gUnk_080CEBEC - - thumb_func_start sub_080337BC -sub_080337BC: @ 0x080337BC - push {lr} - ldr r2, _080337D0 @ =gUnk_080CEC04 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080337D0: .4byte gUnk_080CEC04 - - thumb_func_start sub_080337D4 -sub_080337D4: @ 0x080337D4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _080337E8 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_080337E8: - ldr r1, _08033868 @ =gUnk_080CEBEC - adds r0, r4, #0 - bl sub_0804AA30 - adds r2, r4, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - adds r5, r2, #0 - cmp r0, #0 - beq _08033864 - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _0803381A - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _0803381A - adds r0, r4, #0 - bl sub_08033E1C -_0803381A: - ldrb r1, [r5] - movs r0, #0x3f - ands r0, r1 - cmp r0, #0x14 - bne _08033864 - ldrb r0, [r4, #0xc] - cmp r0, #5 - beq _08033864 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x49 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08033D78 - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 -_08033864: - pop {r4, r5, pc} - .align 2, 0 -_08033868: .4byte gUnk_080CEBEC - - thumb_func_start nullsub_159 -nullsub_159: @ 0x0803386C - bx lr - .align 2, 0 - - thumb_func_start sub_08033870 -sub_08033870: @ 0x08033870 - push {r4, lr} - adds r4, r0, #0 - bl sub_08001242 - ldrb r0, [r4, #0xc] - cmp r0, #5 - beq _0803388E - adds r0, r4, #0 - bl sub_08033DF0 - cmp r0, #0 - beq _0803388E - adds r0, r4, #0 - bl sub_08033E1C -_0803388E: - pop {r4, pc} - - thumb_func_start sub_08033890 -sub_08033890: @ 0x08033890 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r6, #0xc] - strb r1, [r6, #0xe] - strb r1, [r6, #0xf] - ldr r0, [r6, #0x2c] - ldr r3, _0803394C @ =0xFFF00000 - ands r0, r3 - movs r2, #0x80 - lsls r2, r2, #0xc - orrs r0, r2 - str r0, [r6, #0x7c] - adds r4, r6, #0 - adds r4, #0x80 - ldr r0, [r6, #0x30] - ands r0, r3 - orrs r0, r2 - str r0, [r4] - ldr r0, [r6, #0x7c] - str r0, [r6, #0x2c] - ldr r0, [r4] - str r0, [r6, #0x30] - adds r0, r6, #0 - adds r0, #0x79 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - subs r0, #2 - strb r1, [r0] - adds r0, #3 - strb r1, [r0] - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, _08033950 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r4, r6, #0 - adds r4, #0x74 - strh r1, [r4] - ldrh r0, [r4] - adds r5, r6, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r0, _08033954 @ =0x00004022 - ldrh r1, [r4] - ldrb r2, [r5] - bl sub_0800015E - ldrb r1, [r6, #0xa] - movs r0, #0x7d - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - bne _08033928 - bl sub_0805E780 -_08033928: - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 - str r4, [r6, #0x54] - str r6, [r4, #0x50] - ldrb r0, [r6, #0xa] - cmp r0, #1 - bne _08033940 - adds r0, r6, #0 - bl sub_08033EA8 -_08033940: - adds r0, r6, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, r5, r6, pc} - .align 2, 0 -_0803394C: .4byte 0xFFF00000 -_08033950: .4byte gUnk_03000BF0 -_08033954: .4byte 0x00004022 - - thumb_func_start sub_08033958 -sub_08033958: @ 0x08033958 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08033DF0 - cmp r0, #0 - beq _08033982 - adds r0, r4, #0 - bl sub_08033E1C - adds r0, r4, #0 - adds r0, #0x76 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x74 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B9B8 - b _08033A72 -_08033982: - adds r1, r4, #0 - adds r1, #0x7b - ldrb r0, [r1] - cmp r0, #0 - beq _08033992 - subs r0, #1 - strb r0, [r1] - b _08033A72 -_08033992: - ldr r0, [r4, #0x7c] - str r0, [r4, #0x2c] - adds r0, r4, #0 - adds r0, #0x80 - ldr r0, [r0] - str r0, [r4, #0x30] - adds r0, r4, #0 - movs r1, #1 - movs r2, #0x10 - bl sub_0804A024 - adds r5, r0, #0 - cmp r5, #0x10 - beq _080339E0 - cmp r5, #0x10 - bhi _080339BC - cmp r5, #0 - beq _080339C6 - cmp r5, #8 - beq _080339F0 - b _08033A10 -_080339BC: - cmp r5, #0x18 - beq _08033A00 - cmp r5, #0xff - bne _08033A10 - b _08033A72 -_080339C6: - adds r0, r4, #0 - adds r0, #0x78 - ldrb r0, [r0] - cmp r0, #0 - beq _08033A72 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldr r1, _080339DC @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r1, r2] - b _08033A0A - .align 2, 0 -_080339DC: .4byte gUnk_03001160 -_080339E0: - ldr r0, _080339EC @ =gUnk_03001160 - movs r1, #0x32 - ldrsh r0, [r0, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - b _08033A0A - .align 2, 0 -_080339EC: .4byte gUnk_03001160 -_080339F0: - ldr r0, _080339FC @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r0, r1] - movs r2, #0x2e - ldrsh r1, [r4, r2] - b _08033A0A - .align 2, 0 -_080339FC: .4byte gUnk_03001160 -_08033A00: - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r1, _08033A74 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r1, r2] -_08033A0A: - subs r0, r0, r1 - cmp r0, #0x30 - bgt _08033A72 -_08033A10: - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _08033A1E - bl sub_0806F520 - cmp r0, #0 - bne _08033A72 -_08033A1E: - adds r1, r4, #0 - adds r1, #0x78 - ldrb r0, [r1] - cmp r0, #0 - bne _08033A2C - movs r0, #1 - strb r0, [r1] -_08033A2C: - movs r0, #2 - strb r0, [r4, #0xc] - strb r5, [r4, #0x15] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldr r0, [r4, #0x30] - ldr r1, _08033A78 @ =0xFFF00000 - ands r0, r1 - movs r1, #0xc0 - lsls r1, r1, #0xc - orrs r0, r1 - str r0, [r4, #0x30] - adds r0, r4, #0 - adds r0, #0x76 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x74 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B9B8 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_08033A72: - pop {r4, r5, pc} - .align 2, 0 -_08033A74: .4byte gUnk_03001160 -_08033A78: .4byte 0xFFF00000 - - thumb_func_start sub_08033A7C -sub_08033A7C: @ 0x08033A7C - push {r4, lr} - adds r4, r0, #0 - bl sub_08033DF0 - cmp r0, #0 - beq _08033A90 - adds r0, r4, #0 - bl sub_08033E1C - b _08033AC8 -_08033A90: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08033AC8 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #0x20 - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x59 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 -_08033AC8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08033ACC -sub_08033ACC: @ 0x08033ACC - push {r4, lr} - adds r4, r0, #0 - bl sub_08033DF0 - cmp r0, #0 - beq _08033AE0 - adds r0, r4, #0 - bl sub_08033E1C - b _08033B42 -_08033AE0: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08033AF8 - subs r0, #1 - strb r0, [r4, #0xf] - b _08033B42 -_08033AF8: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08033B3C - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - ldr r2, [r4, #0x2c] - ldr r1, _08033B38 @ =0xFFF00000 - ands r2, r1 - movs r0, #0x80 - lsls r0, r0, #0xc - orrs r2, r0 - str r2, [r4, #0x2c] - ldr r0, [r4, #0x30] - ands r0, r1 - movs r1, #0xc0 - lsls r1, r1, #0xc - orrs r0, r1 - str r0, [r4, #0x30] - str r2, [r4, #0x7c] - adds r1, r4, #0 - adds r1, #0x80 - str r0, [r1] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - b _08033B42 - .align 2, 0 -_08033B38: .4byte 0xFFF00000 -_08033B3C: - adds r0, r4, #0 - bl sub_08033D78 -_08033B42: - pop {r4, pc} - - thumb_func_start sub_08033B44 -sub_08033B44: @ 0x08033B44 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - adds r4, r0, #0 - bl sub_08033DF0 - cmp r0, #0 - beq _08033B62 - adds r0, r4, #0 - bl sub_08033E1C - b _08033C82 -_08033B62: - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08033B76 - b _08033C82 -_08033B76: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0 - mov r8, r0 - adds r1, r4, #0 - adds r1, #0x80 - str r1, [sp, #4] - adds r6, r4, #0 - adds r6, #0x29 - adds r2, r4, #0 - adds r2, #0x7b - str r2, [sp] - adds r5, r4, #0 - adds r5, #0x74 - adds r3, r4, #0 - adds r3, #0x38 - str r3, [sp, #8] - movs r7, #0x76 - adds r7, r7, r4 - mov sl, r7 - ldr r0, _08033C20 @ =gUnk_03000BF0 - mov sb, r0 -_08033BB2: - ldr r1, [r4, #0x2c] - ldr r3, _08033C24 @ =0xFFF00000 - ands r1, r3 - movs r2, #0x80 - lsls r2, r2, #0xc - orrs r1, r2 - str r1, [r4, #0x2c] - ldr r0, [r4, #0x30] - ands r0, r3 - orrs r0, r2 - str r0, [r4, #0x30] - str r1, [r4, #0x7c] - ldr r1, [sp, #4] - str r0, [r1] - ldrb r0, [r6] - movs r2, #0x39 - rsbs r2, r2, #0 - adds r1, r2, #0 - ands r0, r1 - strb r0, [r6] - movs r0, #0x78 - ldr r3, [sp] - strb r0, [r3] - movs r7, #0x2e - ldrsh r2, [r4, r7] - mov r1, sb - ldrh r0, [r1, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r3, #0x3f - ands r2, r3 - movs r7, #0x32 - ldrsh r0, [r4, r7] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r2, r0 - strh r2, [r5] - ldrh r0, [r5] - ldr r2, [sp, #8] - ldrb r1, [r2] - bl sub_080001DA - mov r3, sl - strh r0, [r3] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r7, _08033C28 @ =0x00004022 - cmp r0, r7 - beq _08033C2C - movs r0, #1 - add r8, r0 - b _08033C68 - .align 2, 0 -_08033C20: .4byte gUnk_03000BF0 -_08033C24: .4byte 0xFFF00000 -_08033C28: .4byte 0x00004022 -_08033C2C: - ldrb r1, [r4, #0x15] - movs r0, #0x18 - ands r0, r1 - lsrs r0, r0, #2 - cmp r0, #2 - beq _08033C54 - cmp r0, #2 - bgt _08033C42 - cmp r0, #0 - beq _08033C4C - b _08033C68 -_08033C42: - cmp r0, #4 - beq _08033C5A - cmp r0, #6 - beq _08033C62 - b _08033C68 -_08033C4C: - ldrh r0, [r4, #0x32] - adds r0, #0x10 - strh r0, [r4, #0x32] - b _08033C68 -_08033C54: - ldrh r0, [r4, #0x2e] - subs r0, #0x10 - b _08033C66 -_08033C5A: - ldrh r0, [r4, #0x32] - subs r0, #0x10 - strh r0, [r4, #0x32] - b _08033C68 -_08033C62: - ldrh r0, [r4, #0x2e] - adds r0, #0x10 -_08033C66: - strh r0, [r4, #0x2e] -_08033C68: - mov r1, r8 - cmp r1, #0 - beq _08033BB2 - ldr r0, _08033C90 @ =0x00004022 - ldrh r1, [r5] - ldr r3, [sp, #8] - ldrb r2, [r3] - bl sub_0800015E - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08033C82: - add sp, #0xc - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08033C90: .4byte 0x00004022 - - thumb_func_start sub_08033C94 -sub_08033C94: @ 0x08033C94 - push {r4, lr} - adds r4, r0, #0 - movs r1, #3 - bl sub_08004276 - adds r1, r4, #0 - adds r1, #0x79 - ldrb r0, [r1] - cmp r0, #1 - beq _08033CD2 - cmp r0, #1 - bgt _08033CB2 - cmp r0, #0 - beq _08033CB8 - b _08033D76 -_08033CB2: - cmp r0, #2 - beq _08033D18 - b _08033D76 -_08033CB8: - movs r0, #1 - strb r0, [r1] - ldrb r1, [r4, #0x18] - lsls r0, r1, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - beq _08033CD2 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_08033CD2: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _08033D76 - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #2 - strb r0, [r1] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x63 - strb r2, [r0] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - adds r0, #0x14 - strb r0, [r4, #0x15] - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #3 - ands r1, r0 - cmp r1, #0 - beq _08033D12 - cmp r1, #2 - beq _08033D68 - b _08033D6E -_08033D12: - ldrb r0, [r4, #0x15] - adds r0, #8 - b _08033D6C -_08033D18: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08033D24 - subs r0, #1 - strb r0, [r4, #0xf] - b _08033D2A -_08033D24: - adds r0, r4, #0 - bl sub_08033D78 -_08033D2A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08033D76 - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x20 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - adds r0, #0x14 - strb r0, [r4, #0x15] - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #3 - ands r1, r0 - cmp r1, #1 - beq _08033D62 - cmp r1, #3 - beq _08033D68 - b _08033D6E -_08033D62: - ldrb r0, [r4, #0x15] - adds r0, #8 - b _08033D6C -_08033D68: - ldrb r0, [r4, #0x15] - adds r0, #0x18 -_08033D6C: - strb r0, [r4, #0x15] -_08033D6E: - ldrb r1, [r4, #0x15] - movs r0, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] -_08033D76: - pop {r4, pc} - - thumb_func_start sub_08033D78 -sub_08033D78: @ 0x08033D78 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0x15] - movs r2, #0x18 - ands r2, r0 - lsrs r2, r2, #2 - ldr r0, _08033DE4 @ =gUnk_080CEC1C - adds r2, r2, r0 - movs r1, #0x2e - ldrsh r0, [r6, r1] - movs r1, #0 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - ldr r4, _08033DE8 @ =gUnk_03000BF0 - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r3, #0x3f - ands r5, r3 - movs r1, #0x32 - ldrsh r0, [r6, r1] - movs r1, #1 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - ldrh r1, [r4, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r5, r0 - adds r4, r6, #0 - adds r4, #0x38 - ldrb r1, [r4] - adds r0, r5, #0 - bl sub_080002B0 - adds r1, r0, #0 - ldr r0, _08033DEC @ =0x000001C5 - cmp r1, r0 - bhi _08033DCE - subs r0, #1 - cmp r1, r0 - bhs _08033DE2 -_08033DCE: - ldrb r1, [r4] - adds r0, r5, #0 - bl sub_080002E0 - subs r0, #1 - cmp r0, #0x3e - bls _08033DE2 - adds r0, r6, #0 - bl sub_080AEF88 -_08033DE2: - pop {r4, r5, r6, pc} - .align 2, 0 -_08033DE4: .4byte gUnk_080CEC1C -_08033DE8: .4byte gUnk_03000BF0 -_08033DEC: .4byte 0x000001C5 - - thumb_func_start sub_08033DF0 -sub_08033DF0: @ 0x08033DF0 - push {lr} - movs r2, #0 - ldr r1, [r0, #0x54] - cmp r1, #0 - beq _08033E16 - ldrb r0, [r1, #0xc] - cmp r0, #3 - beq _08033E10 - cmp r0, #3 - bgt _08033E0A - cmp r0, #2 - beq _08033E16 - b _08033E18 -_08033E0A: - cmp r0, #4 - bne _08033E18 - b _08033E16 -_08033E10: - ldrb r0, [r1, #0xd] - cmp r0, #1 - bls _08033E18 -_08033E16: - movs r2, #1 -_08033E18: - adds r0, r2, #0 - pop {pc} - - thumb_func_start sub_08033E1C -sub_08033E1C: @ 0x08033E1C - push {r4, lr} - adds r4, r0, #0 - movs r2, #0 - movs r3, #5 - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x79 - strb r2, [r0] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - ldrb r1, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - mov r1, ip - strb r0, [r1] - ldr r0, [r4, #0x30] - ldr r1, _08033EA4 @ =0xFFF00000 - ands r0, r1 - movs r1, #0xc0 - lsls r1, r1, #0xc - orrs r0, r1 - str r0, [r4, #0x30] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x19 - strb r0, [r1] - mov r0, ip - ldrb r1, [r0] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - movs r0, #0x30 - strb r0, [r4, #0xe] - strb r2, [r4, #0xf] - adds r0, #0xd0 - strh r0, [r4, #0x24] - str r2, [r4, #0x54] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - movs r2, #0xc - rsbs r2, r2, #0 - adds r0, r4, #0 - movs r1, #0xa - bl sub_080A2CFC - pop {r4, pc} - .align 2, 0 -_08033EA4: .4byte 0xFFF00000 - - thumb_func_start sub_08033EA8 -sub_08033EA8: @ 0x08033EA8 - push {lr} - adds r2, r0, #0 - ldr r0, _08033EC4 @ =gUnk_03003F80 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08033EC8 - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x95 - b _08033ECE - .align 2, 0 -_08033EC4: .4byte gUnk_03003F80 -_08033EC8: - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x63 -_08033ECE: - strb r0, [r1] - pop {pc} - .align 2, 0 - - thumb_func_start sub_08033ED4 -sub_08033ED4: @ 0x08033ED4 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08033EEC @ =gUnk_080CEC88 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08033EEC: .4byte gUnk_080CEC88 - - thumb_func_start sub_08033EF0 -sub_08033EF0: @ 0x08033EF0 - push {lr} - ldr r2, _08033F04 @ =gUnk_080CECA0 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08033F04: .4byte gUnk_080CECA0 - - thumb_func_start sub_08033F08 -sub_08033F08: @ 0x08033F08 - push {lr} - ldr r1, _08033F14 @ =gUnk_080CEC88 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08033F14: .4byte gUnk_080CEC88 - - thumb_func_start nullsub_160 -nullsub_160: @ 0x08033F18 - bx lr - .align 2, 0 - - thumb_func_start sub_08033F1C -sub_08033F1C: @ 0x08033F1C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08033F38 @ =gUnk_080CECB4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0803499C - pop {r4, pc} - .align 2, 0 -_08033F38: .4byte gUnk_080CECB4 - - thumb_func_start sub_08033F3C -sub_08033F3C: @ 0x08033F3C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08033F64 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x42 - bhi _08033FFA - ldr r0, _08033F68 @ =gUnk_030010A0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - beq _08033F6C - adds r0, r4, #0 - bl sub_08034420 - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #1 - strb r0, [r1] - b _08033F70 - .align 2, 0 -_08033F64: .4byte gUnk_03003DBC -_08033F68: .4byte gUnk_030010A0 -_08033F6C: - movs r0, #1 - strb r0, [r4, #0xc] -_08033F70: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r3, r4, #0 - adds r3, #0x6d - ldrb r0, [r3] - movs r2, #0 - orrs r1, r0 - strb r1, [r3] - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - movs r0, #0x36 - movs r1, #1 - bl sub_0804AA60 - adds r5, r0, #0 - str r4, [r5, #0x50] - movs r0, #0x7e - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - str r4, [r0, #0x50] - ldr r0, _08033FD0 @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r1, [r0] - cmp r1, #0 - bne _08033FD4 - movs r0, #0xd - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r0, #0xfc - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - b _08033FFA - .align 2, 0 -_08033FD0: .4byte gUnk_030010A0 -_08033FD4: - movs r0, #0x44 - movs r1, #0 - bl sub_0804AA60 - str r4, [r0, #0x50] - str r4, [r0, #0x78] - str r0, [r4, #0x74] - movs r0, #0x44 - movs r1, #1 - bl sub_0804AA60 - str r4, [r0, #0x50] - str r5, [r0, #0x78] - str r0, [r4, #0x78] - movs r0, #0x36 - movs r1, #4 - bl sub_0804AA60 - str r4, [r0, #0x50] -_08033FFA: - pop {r4, r5, pc} - - thumb_func_start sub_08033FFC -sub_08033FFC: @ 0x08033FFC - push {r4, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xd] - cmp r0, #7 - bls _08034008 - b _08034114 -_08034008: - lsls r0, r0, #2 - ldr r1, _08034014 @ =_08034018 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08034014: .4byte _08034018 -_08034018: @ jump table - .4byte _0803413E @ case 0 - .4byte _08034038 @ case 1 - .4byte _0803413E @ case 2 - .4byte _08034056 @ case 3 - .4byte _08034068 @ case 4 - .4byte _0803413E @ case 5 - .4byte _08034090 @ case 6 - .4byte _080340C4 @ case 7 -_08034038: - movs r0, #2 - strb r0, [r3, #0xd] - movs r0, #0x1e - strb r0, [r3, #0xe] - ldr r0, [r3, #0x74] - ldr r2, [r0, #0x74] - movs r1, #1 - strb r1, [r2, #0xd] - ldr r0, [r3, #0x78] - ldr r2, [r0, #0x74] - strb r1, [r2, #0xd] - adds r0, r3, #0 - bl sub_0801D230 - b _0803413E -_08034056: - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803413E - movs r0, #4 - strb r0, [r3, #0xd] - b _0803413E -_08034068: - ldr r0, [r3, #0x34] - ldr r1, _0803408C @ =0xFFFF8000 - adds r0, r0, r1 - str r0, [r3, #0x34] - movs r0, #0x36 - ldrsh r1, [r3, r0] - movs r0, #0xa - rsbs r0, r0, #0 - cmp r1, r0 - bne _0803413E - movs r0, #5 - strb r0, [r3, #0xd] - adds r1, r3, #0 - adds r1, #0x81 - movs r0, #1 - strb r0, [r1] - b _0803413E - .align 2, 0 -_0803408C: .4byte 0xFFFF8000 -_08034090: - movs r1, #0 - movs r0, #7 - strb r0, [r3, #0xd] - strb r1, [r3, #0xe] - ldr r2, [r3, #0x74] - movs r1, #1 - strb r1, [r2, #0xd] - ldr r2, [r2, #0x74] - movs r0, #4 - strb r0, [r2, #0xd] - ldr r2, [r3, #0x78] - strb r1, [r2, #0xd] - ldr r2, [r2, #0x74] - strb r0, [r2, #0xd] - ldr r1, _080340C0 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xf4 - lsls r0, r0, #4 - strh r0, [r2] - adds r1, #0x68 - adds r0, #0xc0 - strh r0, [r1] - b _0803413E - .align 2, 0 -_080340C0: .4byte gUnk_03000F50 -_080340C4: - ldrb r1, [r3, #0xe] - adds r1, #1 - strb r1, [r3, #0xe] - lsls r2, r1, #0x18 - lsrs r2, r2, #0x19 - ldr r4, _08034110 @ =gUnk_03000F50 - movs r0, #0x10 - subs r0, r0, r2 - lsls r0, r0, #8 - orrs r2, r0 - adds r0, r4, #0 - adds r0, #0x68 - strh r2, [r0] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0x1f - bls _0803413E - movs r0, #8 - strb r0, [r3, #0xd] - ldr r2, [r3, #0x74] - movs r1, #3 - strb r1, [r2, #0xd] - ldr r2, [r2, #0x74] - movs r0, #6 - strb r0, [r2, #0xd] - ldr r2, [r3, #0x78] - strb r1, [r2, #0xd] - ldr r2, [r2, #0x74] - strb r0, [r2, #0xd] - ldrb r1, [r3, #0x19] - subs r0, #0x13 - ands r0, r1 - strb r0, [r3, #0x19] - adds r1, r4, #0 - adds r1, #0x66 - movs r0, #0 - strh r0, [r1] - b _0803413E - .align 2, 0 -_08034110: .4byte gUnk_03000F50 -_08034114: - ldr r0, [r3, #0x74] - ldrb r1, [r0, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803413E - ldr r1, _08034140 @ =gUnk_03000BF0 - ldr r0, _08034144 @ =gUnk_03001160 - str r0, [r1, #0x30] - adds r0, r3, #0 - bl sub_08034420 - ldr r0, _08034148 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bl sub_080791D0 - movs r0, #0x2e - bl sub_080A3268 -_0803413E: - pop {r4, pc} - .align 2, 0 -_08034140: .4byte gUnk_03000BF0 -_08034144: .4byte gUnk_03001160 -_08034148: .4byte gUnk_03003F80 - - thumb_func_start sub_0803414C -sub_0803414C: @ 0x0803414C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _08034194 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r2, r0, #0 - adds r2, #0xb8 - ldrh r0, [r1, #8] - adds r3, r0, #0 - adds r3, #0x48 - movs r1, #0x2e - ldrsh r0, [r4, r1] - subs r0, r0, r2 - adds r0, #1 - cmp r0, #2 - bhi _080341A2 - movs r5, #0x32 - ldrsh r0, [r4, r5] - subs r0, r0, r3 - adds r0, #1 - cmp r0, #2 - bhi _080341A2 - adds r0, r4, #0 - bl sub_080349D8 - cmp r0, #0 - beq _080341B6 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _08034198 - movs r0, #0 - strb r0, [r4, #0xd] - adds r0, r4, #0 - movs r1, #0x1e - bl sub_0803442C - b _080341B6 - .align 2, 0 -_08034194: .4byte gUnk_03000BF0 -_08034198: - adds r0, r4, #0 - movs r1, #0x5a - bl sub_0803442C - b _080341B6 -_080341A2: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r5, #0x32 - ldrsh r1, [r4, r5] - bl sub_080045D4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F69C -_080341B6: - pop {r4, r5, pc} - - thumb_func_start sub_080341B8 -sub_080341B8: @ 0x080341B8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080349D8 - cmp r0, #0 - beq _080341CC - adds r0, r4, #0 - movs r1, #0x2d - bl sub_0803442C -_080341CC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080341D0 -sub_080341D0: @ 0x080341D0 - push {lr} - adds r2, r0, #0 - adds r0, #0x80 - ldrb r1, [r0] - movs r0, #3 - ands r0, r1 - cmp r0, #3 - beq _080341F2 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080341F2 - adds r0, r2, #0 - bl sub_0803443C -_080341F2: - pop {pc} - - thumb_func_start sub_080341F4 -sub_080341F4: @ 0x080341F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080347B4 - adds r0, r4, #0 - bl sub_080349D8 - cmp r0, #0 - beq _0803420C - adds r0, r4, #0 - bl sub_08034420 -_0803420C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08034210 -sub_08034210: @ 0x08034210 - push {r4, lr} - adds r4, r0, #0 - bl sub_080347B4 - adds r0, r4, #0 - adds r0, #0x7d - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08034238 - adds r0, r4, #0 - bl sub_080349D8 - cmp r0, #0 - beq _08034238 - adds r0, r4, #0 - bl sub_08034420 - b _0803423E -_08034238: - adds r0, r4, #0 - bl sub_08034830 -_0803423E: - pop {r4, pc} - - thumb_func_start sub_08034240 -sub_08034240: @ 0x08034240 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - cmp r0, #0 - beq _08034260 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x95 - bhi _08034260 - adds r0, r4, #0 - bl sub_0803473C -_08034260: - adds r0, r4, #0 - bl sub_080349D8 - cmp r0, #0 - beq _08034270 - adds r0, r4, #0 - bl sub_08034420 -_08034270: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08034274 -sub_08034274: @ 0x08034274 - push {r4, lr} - adds r4, r0, #0 - bl sub_080349D8 - cmp r0, #0 - beq _08034288 - adds r0, r4, #0 - bl sub_08034420 - b _0803429E -_08034288: - adds r0, r4, #0 - bl sub_0803473C - adds r0, r4, #0 - bl sub_08034A10 - cmp r0, #0 - beq _0803429E - adds r0, r4, #0 - bl sub_080347FC -_0803429E: - pop {r4, pc} - - thumb_func_start sub_080342A0 -sub_080342A0: @ 0x080342A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080349D8 - cmp r0, #0 - beq _080342B2 - adds r0, r4, #0 - bl sub_08034420 -_080342B2: - pop {r4, pc} - - thumb_func_start sub_080342B4 -sub_080342B4: @ 0x080342B4 - push {lr} - adds r1, r0, #0 - adds r0, #0x7e - ldrh r0, [r0] - cmp r0, #0xff - bne _080342C6 - adds r0, r1, #0 - bl sub_08034420 -_080342C6: - pop {pc} - - thumb_func_start sub_080342C8 -sub_080342C8: @ 0x080342C8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - adds r1, r0, #0 - cmp r1, #0 - beq _08034304 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080342E4 - ldr r0, _080342FC @ =0x00000115 - bl sub_080A3268 -_080342E4: - ldr r2, _08034300 @ =gUnk_080CECEC - ldrb r0, [r4, #0xe] - lsrs r0, r0, #1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x62 - strb r1, [r0] - b _08034340 - .align 2, 0 -_080342FC: .4byte 0x00000115 -_08034300: .4byte gUnk_080CECEC -_08034304: - adds r0, r4, #0 - adds r0, #0x62 - strb r1, [r0] - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08034340 - movs r0, #0xc - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x7e - movs r1, #0 - movs r0, #0xe1 - lsls r0, r0, #3 - strh r0, [r2] - adds r0, r4, #0 - adds r0, #0x7d - strb r1, [r0] - adds r0, #4 - strb r1, [r0] - movs r0, #0x1e - movs r1, #0 - bl sub_08080964 - ldr r0, _08034344 @ =0x000001A1 - bl sub_080A3268 -_08034340: - pop {r4, pc} - .align 2, 0 -_08034344: .4byte 0x000001A1 - - thumb_func_start sub_08034348 -sub_08034348: @ 0x08034348 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - cmp r0, #0 - beq _0803435C - subs r0, #1 - strh r0, [r1] - b _08034388 -_0803435C: - ldrh r2, [r4, #0x36] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0xa - rsbs r0, r0, #0 - cmp r1, r0 - ble _08034370 - subs r0, r2, #1 - strh r0, [r4, #0x36] - b _08034388 -_08034370: - adds r0, r4, #0 - bl sub_080349D8 - cmp r0, #0 - beq _08034388 - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08034420 -_08034388: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803438C -sub_0803438C: @ 0x0803438C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - adds r1, r0, #0 - cmp r1, #0 - bne _080343A0 - adds r0, r5, #0 - adds r0, #0x45 - strb r1, [r0] - b _08034414 -_080343A0: - subs r2, r0, #1 - strb r2, [r5, #0xe] - lsls r0, r2, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xc0 - bls _080343C4 - ldr r0, _080343C0 @ =gUnk_080CED06 - movs r1, #3 - ands r2, r1 - adds r0, r2, r0 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x62 - strb r1, [r0] - b _08034414 - .align 2, 0 -_080343C0: .4byte gUnk_080CED06 -_080343C4: - movs r0, #0x1f - ands r2, r0 - cmp r2, #0 - bne _08034414 - ldr r4, _08034418 @ =gUnk_080CED02 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - adds r1, r1, r4 - ldrb r1, [r1] - adds r0, r5, #0 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08034414 - ldrb r1, [r5, #0xe] - lsrs r1, r1, #4 - ldr r0, _0803441C @ =gUnk_080CECF4 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r3, [r2, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_08034414: - pop {r4, r5, pc} - .align 2, 0 -_08034418: .4byte gUnk_080CED02 -_0803441C: .4byte gUnk_080CECF4 - - thumb_func_start sub_08034420 -sub_08034420: @ 0x08034420 - movs r1, #2 - strb r1, [r0, #0xc] - adds r0, #0x7d - movs r1, #3 - strb r1, [r0] - bx lr - - thumb_func_start sub_0803442C -sub_0803442C: @ 0x0803442C - movs r2, #4 - strb r2, [r0, #0xc] - strb r1, [r0, #0xe] - adds r0, #0x7d - movs r1, #3 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_0803443C -sub_0803443C: @ 0x0803443C - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x7d - movs r0, #0 - strb r0, [r1] - ldr r0, _0803445C @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0x1e - bhi _08034460 - adds r0, r2, #0 - bl sub_080344BC - b _08034472 - .align 2, 0 -_0803445C: .4byte gUnk_030010A0 -_08034460: - cmp r0, #0x3c - bhi _0803446C - adds r0, r2, #0 - bl sub_08034498 - b _08034472 -_0803446C: - adds r0, r2, #0 - bl sub_08034474 -_08034472: - pop {pc} - - thumb_func_start sub_08034474 -sub_08034474: @ 0x08034474 - push {r4, lr} - ldr r2, _08034494 @ =gUnk_080CED0C - adds r4, r0, #0 - adds r4, #0x7c - ldrb r1, [r4] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldrb r0, [r4] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08034494: .4byte gUnk_080CED0C - - thumb_func_start sub_08034498 -sub_08034498: @ 0x08034498 - push {r4, lr} - ldr r2, _080344B8 @ =gUnk_080CED2C - adds r4, r0, #0 - adds r4, #0x7c - ldrb r1, [r4] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldrb r0, [r4] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_080344B8: .4byte gUnk_080CED2C - - thumb_func_start sub_080344BC -sub_080344BC: @ 0x080344BC - push {r4, lr} - ldr r2, _080344DC @ =gUnk_080CED4C - adds r4, r0, #0 - adds r4, #0x7c - ldrb r1, [r4] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldrb r0, [r4] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_080344DC: .4byte gUnk_080CED4C - - thumb_func_start sub_080344E0 -sub_080344E0: @ 0x080344E0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrb r1, [r0] - movs r0, #5 - ands r0, r1 - cmp r0, #0 - beq _080344F8 - adds r0, r4, #0 - bl sub_080345A0 - b _0803451A -_080344F8: - movs r0, #0xa - ands r0, r1 - cmp r0, #0 - bne _0803450C - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _08034514 -_0803450C: - adds r0, r4, #0 - bl sub_080345B8 - b _0803451A -_08034514: - adds r0, r4, #0 - bl sub_080345A0 -_0803451A: - pop {r4, pc} - - thumb_func_start sub_0803451C -sub_0803451C: @ 0x0803451C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrb r1, [r0] - movs r0, #5 - ands r0, r1 - cmp r0, #0 - bne _08034548 - movs r0, #0xa - ands r0, r1 - cmp r0, #0 - beq _0803453C - adds r0, r4, #0 - bl sub_08034638 - b _08034556 -_0803453C: - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _08034550 -_08034548: - adds r0, r4, #0 - bl sub_08034618 - b _08034556 -_08034550: - adds r0, r4, #0 - bl sub_08034638 -_08034556: - pop {r4, pc} - - thumb_func_start sub_08034558 -sub_08034558: @ 0x08034558 - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _08034570 - adds r0, r4, #0 - bl sub_08034658 - b _08034576 -_08034570: - adds r0, r4, #0 - bl sub_0803467C -_08034576: - pop {r4, pc} - - thumb_func_start sub_08034578 -sub_08034578: @ 0x08034578 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x7d - strb r1, [r0] - ldr r1, [r4, #0x74] - adds r0, r4, #0 - movs r2, #0 - bl sub_080348A4 - ldr r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #0 - bl sub_080348A4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080345A0 -sub_080345A0: @ 0x080345A0 - push {lr} - movs r1, #5 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x7d - movs r1, #1 - strb r1, [r2] - ldr r1, [r0, #0x78] - movs r2, #1 - bl sub_080348A4 - pop {pc} - - thumb_func_start sub_080345B8 -sub_080345B8: @ 0x080345B8 - push {lr} - movs r1, #5 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x7d - movs r1, #2 - strb r1, [r2] - ldr r1, [r0, #0x74] - movs r2, #1 - bl sub_080348A4 - pop {pc} - - thumb_func_start sub_080345D0 -sub_080345D0: @ 0x080345D0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #6 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _080345FE - ldr r1, [r4, #0x74] - adds r0, r4, #0 - movs r2, #2 - bl sub_080348A4 - cmp r0, #0 - bne _08034616 - ldr r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #2 - bl sub_080348A4 - b _08034616 -_080345FE: - ldr r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #2 - bl sub_080348A4 - cmp r0, #0 - bne _08034616 - ldr r1, [r4, #0x74] - adds r0, r4, #0 - movs r2, #2 - bl sub_080348A4 -_08034616: - pop {r4, pc} - - thumb_func_start sub_08034618 -sub_08034618: @ 0x08034618 - push {lr} - movs r1, #7 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x7d - movs r1, #1 - strb r1, [r2] - adds r2, #1 - movs r1, #0xb4 - strh r1, [r2] - ldr r1, [r0, #0x78] - movs r2, #3 - bl sub_080348A4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08034638 -sub_08034638: @ 0x08034638 - push {lr} - movs r1, #7 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x7d - movs r1, #2 - strb r1, [r2] - adds r2, #1 - movs r1, #0xb4 - strh r1, [r2] - ldr r1, [r0, #0x74] - movs r2, #3 - bl sub_080348A4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08034658 -sub_08034658: @ 0x08034658 - push {r4, lr} - movs r2, #0 - movs r1, #8 - strb r1, [r0, #0xc] - adds r4, r0, #0 - adds r4, #0x7d - strb r2, [r4] - ldr r1, [r0, #0x78] - movs r2, #4 - bl sub_080348A4 - cmp r0, #0 - bne _0803467A - ldrb r0, [r4] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4] -_0803467A: - pop {r4, pc} - - thumb_func_start sub_0803467C -sub_0803467C: @ 0x0803467C - push {r4, lr} - movs r2, #0 - movs r1, #8 - strb r1, [r0, #0xc] - adds r4, r0, #0 - adds r4, #0x7d - strb r2, [r4] - ldr r1, [r0, #0x74] - movs r2, #4 - bl sub_080348A4 - cmp r0, #0 - bne _0803469E - ldrb r0, [r4] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4] -_0803469E: - pop {r4, pc} - - thumb_func_start sub_080346A0 -sub_080346A0: @ 0x080346A0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #9 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x7d - strb r1, [r0] - ldr r1, [r4, #0x74] - adds r0, r4, #0 - movs r2, #6 - bl sub_080348A4 - ldr r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #6 - bl sub_080348A4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080346C8 -sub_080346C8: @ 0x080346C8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #0xa - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x7e - strh r1, [r0] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0803470C - ldr r1, [r4, #0x74] - adds r0, r4, #0 - movs r2, #8 - bl sub_080348A4 - cmp r0, #0 - beq _080346F6 - ldr r1, [r4, #0x78] - b _0803471C -_080346F6: - ldr r1, [r4, #0x74] - adds r0, r4, #0 - movs r2, #7 - bl sub_080348A4 - ldr r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #8 - bl sub_080348A4 - b _0803473A -_0803470C: - ldr r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #8 - bl sub_080348A4 - cmp r0, #0 - beq _08034726 - ldr r1, [r4, #0x74] -_0803471C: - adds r0, r4, #0 - movs r2, #7 - bl sub_080348A4 - b _0803473A -_08034726: - ldr r1, [r4, #0x74] - adds r0, r4, #0 - movs r2, #8 - bl sub_080348A4 - ldr r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #7 - bl sub_080348A4 -_0803473A: - pop {r4, pc} - - thumb_func_start sub_0803473C -sub_0803473C: @ 0x0803473C - push {r4, r5, lr} - adds r3, r0, #0 - adds r0, #0x7d - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08034764 - ldr r0, [r3, #0x74] - ldrb r0, [r0, #0xc] - cmp r0, #0x28 - bhi _080347B0 - ldr r0, _08034760 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r0, r1] - adds r2, r0, #0 - subs r2, #0x60 - b _08034776 - .align 2, 0 -_08034760: .4byte gUnk_03001160 -_08034764: - ldr r0, [r3, #0x78] - ldrb r0, [r0, #0xc] - cmp r0, #0x28 - bhi _080347B0 - ldr r0, _08034790 @ =gUnk_03001160 - movs r5, #0x2e - ldrsh r0, [r0, r5] - adds r2, r0, #0 - adds r2, #0x60 -_08034776: - ldr r0, _08034794 @ =gUnk_03000BF0 - ldrh r4, [r0, #6] - subs r0, r2, #4 - movs r5, #0x2e - ldrsh r1, [r3, r5] - cmp r0, r1 - bls _08034798 - adds r0, r4, #0 - adds r0, #0xe0 - cmp r0, r1 - blo _080347B0 - movs r0, #8 - b _080347A8 - .align 2, 0 -_08034790: .4byte gUnk_03001160 -_08034794: .4byte gUnk_03000BF0 -_08034798: - adds r0, r2, #4 - cmp r0, r1 - bhs _080347B0 - adds r0, r4, #0 - adds r0, #0x90 - cmp r0, r1 - bhi _080347B0 - movs r0, #0x18 -_080347A8: - strb r0, [r3, #0x15] - adds r0, r3, #0 - bl sub_0806F69C -_080347B0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080347B4 -sub_080347B4: @ 0x080347B4 - push {r4, r5, lr} - adds r2, r0, #0 - ldr r0, _080347D8 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r3, [r0, r1] - ldr r0, _080347DC @ =gUnk_03000BF0 - ldrh r4, [r0, #6] - subs r0, r3, #4 - movs r5, #0x2e - ldrsh r1, [r2, r5] - cmp r0, r1 - bls _080347E0 - adds r0, r4, #0 - adds r0, #0xe0 - cmp r0, r1 - blo _080347F8 - movs r0, #8 - b _080347F0 - .align 2, 0 -_080347D8: .4byte gUnk_03001160 -_080347DC: .4byte gUnk_03000BF0 -_080347E0: - adds r0, r3, #4 - cmp r0, r1 - bhs _080347F8 - adds r0, r4, #0 - adds r0, #0x90 - cmp r0, r1 - bhi _080347F8 - movs r0, #0x18 -_080347F0: - strb r0, [r2, #0x15] - adds r0, r2, #0 - bl sub_0806F69C -_080347F8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080347FC -sub_080347FC: @ 0x080347FC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7d - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08034818 - ldr r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #5 - bl sub_080348A4 - b _08034822 -_08034818: - ldr r1, [r4, #0x74] - adds r0, r4, #0 - movs r2, #5 - bl sub_080348A4 -_08034822: - adds r2, r4, #0 - adds r2, #0x7d - ldrb r1, [r2] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r2] - pop {r4, pc} - - thumb_func_start sub_08034830 -sub_08034830: @ 0x08034830 - push {r4, lr} - adds r4, r0, #0 - bl sub_080349D8 - cmp r0, #0 - beq _0803484C - adds r1, r4, #0 - adds r1, #0x7d - movs r0, #0x80 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080345D0 - b _080348A0 -_0803484C: - adds r0, r4, #0 - bl sub_08034A10 - cmp r0, #0 - beq _080348A0 - adds r0, r4, #0 - adds r0, #0x80 - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _08034876 - adds r0, r4, #0 - bl sub_080349D8 - cmp r0, #0 - beq _080348A0 - adds r0, r4, #0 - bl sub_08034420 - b _080348A0 -_08034876: - adds r2, r4, #0 - adds r2, #0x7d - ldrb r0, [r2] - movs r1, #0x20 - orrs r1, r0 - strb r1, [r2] - movs r0, #0x10 - ands r1, r0 - cmp r1, #0 - beq _08034896 - ldr r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #2 - bl sub_080348A4 - b _080348A0 -_08034896: - ldr r1, [r4, #0x74] - adds r0, r4, #0 - movs r2, #2 - bl sub_080348A4 -_080348A0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080348A4 -sub_080348A4: @ 0x080348A4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r3, r1, #0 - adds r5, r2, #0 - ldrb r0, [r3, #0xa] - cmp r0, #0 - bne _080348C6 - movs r2, #5 - movs r0, #0x7d - adds r0, r0, r4 - mov ip, r0 - ldrb r1, [r0] - movs r0, #0x10 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - b _080348C8 -_080348C6: - movs r2, #0xa -_080348C8: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - ands r0, r2 - cmp r0, #0 - beq _080348F0 - adds r0, r4, #0 - adds r0, #0x7d - ldrb r2, [r0] - ldrb r1, [r3, #0xa] - adds r3, r0, #0 - cmp r1, #0 - bne _080348E6 - movs r0, #1 - b _080348E8 -_080348E6: - movs r0, #2 -_080348E8: - orrs r0, r2 - strb r0, [r3] - movs r0, #0 - b _08034998 -_080348F0: - cmp r5, #8 - bhi _08034996 - lsls r0, r5, #2 - ldr r1, _08034900 @ =_08034904 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08034900: .4byte _08034904 -_08034904: @ jump table - .4byte _08034928 @ case 0 - .4byte _0803492E @ case 1 - .4byte _0803493C @ case 2 - .4byte _0803494A @ case 3 - .4byte _0803493C @ case 4 - .4byte _08034958 @ case 5 - .4byte _08034966 @ case 6 - .4byte _0803496C @ case 7 - .4byte _08034982 @ case 8 -_08034928: - movs r0, #3 - strb r0, [r3, #0xc] - b _08034996 -_0803492E: - movs r0, #4 - strb r0, [r3, #0xc] - adds r1, r3, #0 - adds r1, #0x7c - movs r0, #3 - strb r0, [r1] - b _08034996 -_0803493C: - movs r0, #4 - strb r0, [r3, #0xc] - adds r1, r3, #0 - adds r1, #0x7c - movs r0, #1 - strb r0, [r1] - b _08034996 -_0803494A: - movs r0, #0xf - strb r0, [r3, #0xc] - adds r1, r3, #0 - adds r1, #0x7e - movs r0, #0xb4 - strh r0, [r1] - b _08034996 -_08034958: - movs r0, #0xf - strb r0, [r3, #0xc] - adds r1, r3, #0 - adds r1, #0x7e - movs r0, #1 - strh r0, [r1] - b _08034996 -_08034966: - movs r0, #0x1e - strb r0, [r3, #0xc] - b _08034996 -_0803496C: - movs r0, #0x1b - strb r0, [r3, #0xc] - ldrb r1, [r3, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r3, #0x10] - adds r0, r3, #0 - movs r1, #5 - bl sub_08004260 - b _08034996 -_08034982: - ldrb r0, [r3, #0xa] - adds r2, r0, #2 - movs r0, #0x36 - adds r1, r2, #0 - bl sub_0804AA60 - adds r3, r0, #0 - cmp r3, #0 - beq _08034996 - str r4, [r3, #0x50] -_08034996: - movs r0, #1 -_08034998: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803499C -sub_0803499C: @ 0x0803499C - push {lr} - adds r3, r0, #0 - adds r0, #0x80 - ldrb r1, [r0] - movs r0, #0xc - ands r0, r1 - cmp r0, #0xc - beq _080349D0 - adds r0, r3, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _080349D0 - ldr r2, _080349D4 @ =gUnk_080CED6C - ldrb r0, [r3, #0xf] - adds r0, #1 - strb r0, [r3, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1c - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r3, #0x36] -_080349D0: - pop {pc} - .align 2, 0 -_080349D4: .4byte gUnk_080CED6C - - thumb_func_start sub_080349D8 -sub_080349D8: @ 0x080349D8 - push {lr} - adds r2, r0, #0 - adds r0, #0x7d - ldrb r0, [r0] - movs r1, #3 - ands r1, r0 - cmp r1, #3 - beq _08034A08 - cmp r1, #1 - bne _080349F6 - adds r0, r2, #0 - adds r0, #0x80 - ldrb r1, [r0] - movs r0, #0xa - b _08034A02 -_080349F6: - cmp r1, #2 - bne _08034A0C - adds r0, r2, #0 - adds r0, #0x80 - ldrb r1, [r0] - movs r0, #5 -_08034A02: - ands r0, r1 - cmp r0, #0 - beq _08034A0C -_08034A08: - movs r0, #1 - b _08034A0E -_08034A0C: - movs r0, #0 -_08034A0E: - pop {pc} - - thumb_func_start sub_08034A10 -sub_08034A10: @ 0x08034A10 - push {r4, lr} - adds r1, r0, #0 - adds r3, r1, #0 - adds r3, #0x7d - ldrb r2, [r3] - movs r0, #0x60 - ands r0, r2 - cmp r0, #0x40 - beq _08034A52 - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - beq _08034A56 - adds r4, r1, #0 - adds r4, #0x80 - ldrb r1, [r4] - movs r0, #5 - ands r0, r1 - cmp r0, #0 - beq _08034A3E - movs r0, #0x40 - orrs r0, r2 - strb r0, [r3] -_08034A3E: - ldrb r1, [r4] - movs r0, #0xa - ands r0, r1 - cmp r0, #0 - beq _08034A7E - ldrb r1, [r3] - movs r0, #3 - ands r0, r1 - cmp r0, #1 - bne _08034A7E -_08034A52: - movs r0, #1 - b _08034A80 -_08034A56: - adds r4, r1, #0 - adds r4, #0x80 - ldrb r1, [r4] - movs r0, #0xa - ands r0, r1 - cmp r0, #0 - beq _08034A6A - movs r0, #0x40 - orrs r0, r2 - strb r0, [r3] -_08034A6A: - ldrb r1, [r4] - movs r0, #5 - ands r0, r1 - cmp r0, #0 - beq _08034A7E - ldrb r1, [r3] - movs r0, #3 - ands r0, r1 - cmp r0, #2 - beq _08034A52 -_08034A7E: - movs r0, #0 -_08034A80: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08034A84 -sub_08034A84: @ 0x08034A84 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08034A98 - adds r0, r4, #0 - bl sub_0805E7BC - b _08034AC2 -_08034A98: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08034ABA - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08034ABA: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C -_08034AC2: - pop {r4, pc} - - thumb_func_start sub_08034AC4 -sub_08034AC4: @ 0x08034AC4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - movs r3, #0x80 - lsls r3, r3, #9 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - ldr r1, _08034AE8 @ =gUnk_080CED74 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08034AE8: .4byte gUnk_080CED74 - - thumb_func_start sub_08034AEC -sub_08034AEC: @ 0x08034AEC - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x1e - strb r1, [r0, #0xe] - ldrb r1, [r0, #0xa] - adds r1, #1 - bl sub_08004260 - ldr r0, _08034B08 @ =0x00000151 - bl sub_080A3268 - pop {pc} - .align 2, 0 -_08034B08: .4byte 0x00000151 - - thumb_func_start sub_08034B0C -sub_08034B0C: @ 0x08034B0C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08034B1A - subs r0, #1 - b _08034B34 -_08034B1A: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08034B36 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x50 -_08034B34: - strb r0, [r4, #0xe] -_08034B36: - pop {r4, pc} - - thumb_func_start sub_08034B38 -sub_08034B38: @ 0x08034B38 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08034B58 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xa] - adds r1, #3 - adds r0, r4, #0 - bl sub_08004260 - b _08034B9A -_08034B58: - movs r0, #0xe - bl sub_080A7EE0 - adds r5, r0, #0 - cmp r5, #0 - beq _08034B9A - ldrb r0, [r4, #0xa] - subs r0, #2 - strb r0, [r5, #0xa] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08034B78 - ldrb r1, [r4, #0xe] - movs r0, #0xa8 - subs r0, r0, r1 - b _08034B7C -_08034B78: - ldrb r0, [r4, #0xe] - adds r0, #0x58 -_08034B7C: - strb r0, [r5, #0x15] - ldrb r0, [r5, #0xa] - lsls r0, r0, #1 - ldr r1, _08034B9C @ =gUnk_080CED84 - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA48 -_08034B9A: - pop {r4, r5, pc} - .align 2, 0 -_08034B9C: .4byte gUnk_080CED84 - - thumb_func_start sub_08034BA0 -sub_08034BA0: @ 0x08034BA0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08034BC4 - ldr r0, [r4, #0x50] - adds r0, #0x7e - movs r1, #0xff - strh r1, [r0] - adds r0, r4, #0 - bl sub_0805E7BC -_08034BC4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08034BC8 -sub_08034BC8: @ 0x08034BC8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08034BDE - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08034BDE: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - movs r2, #0 - movs r3, #1 - bl sub_0806FA90 - adds r0, r4, #0 - bl sub_0800445C - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08034BFE - adds r0, r4, #0 - bl sub_08034C00 -_08034BFE: - pop {r4, pc} - - thumb_func_start sub_08034C00 -sub_08034C00: @ 0x08034C00 - push {r4, lr} - adds r3, r0, #0 - ldr r0, _08034C44 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08034C5A - movs r1, #0x2e - ldrsh r0, [r3, r1] - ldr r2, _08034C48 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - movs r4, #0x32 - ldrsh r1, [r3, r4] - ldrh r2, [r2, #8] - subs r1, r1, r2 - adds r1, #0xd - movs r2, #3 - movs r3, #3 - bl sub_0800293E - cmp r0, #0 - beq _08034C5A - ldr r0, _08034C4C @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0x3c - bls _08034C54 - ldr r0, _08034C50 @ =gUnk_080CED88 - bl sub_08080840 - b _08034C5A - .align 2, 0 -_08034C44: .4byte gUnk_03003F80 -_08034C48: .4byte gUnk_03000BF0 -_08034C4C: .4byte gUnk_030010A0 -_08034C50: .4byte gUnk_080CED88 -_08034C54: - ldr r0, _08034C5C @ =gUnk_080CED9C - bl sub_08080840 -_08034C5A: - pop {r4, pc} - .align 2, 0 -_08034C5C: .4byte gUnk_080CED9C - - thumb_func_start sub_08034C60 -sub_08034C60: @ 0x08034C60 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08034C78 @ =gUnk_080CEE90 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08034C78: .4byte gUnk_080CEE90 - - thumb_func_start sub_08034C7C -sub_08034C7C: @ 0x08034C7C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #2 - beq _08034C9C - ldr r0, _08034C98 @ =gUnk_080CEEA4 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _08034CA2 - .align 2, 0 -_08034C98: .4byte gUnk_080CEEA4 -_08034C9C: - adds r0, r2, #0 - bl sub_08034E18 -_08034CA2: - pop {pc} - - thumb_func_start sub_08034CA4 -sub_08034CA4: @ 0x08034CA4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08034FA0 - ldr r1, _08034CB8 @ =gUnk_080CEE90 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08034CB8: .4byte gUnk_080CEE90 - - thumb_func_start sub_08034CBC -sub_08034CBC: @ 0x08034CBC - push {lr} - bl sub_0804A7D4 - pop {pc} - - thumb_func_start sub_08034CC4 -sub_08034CC4: @ 0x08034CC4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08035084 - cmp r0, #0 - beq _08034D42 - ldrb r0, [r5, #0xa] - adds r0, #1 - movs r1, #0 - strb r0, [r5, #0xc] - strb r1, [r5, #0xf] - adds r2, r5, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #1 - orrs r0, r1 - strb r0, [r2] - adds r1, r5, #0 - adds r1, #0x78 - movs r0, #0x96 - lsls r0, r0, #3 - strh r0, [r1] - adds r0, r5, #0 - bl sub_08034F70 - ldrb r1, [r5, #0xa] - adds r0, r5, #0 - bl sub_08004260 - ldr r0, _08034D44 @ =0x00004022 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08034D48 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - movs r0, #0x37 - movs r1, #2 - bl sub_0804AA60 - adds r1, r0, #0 - cmp r1, #0 - beq _08034D42 - str r1, [r5, #0x54] - str r5, [r1, #0x50] - adds r0, r5, #0 - bl sub_0806FA24 -_08034D42: - pop {r4, r5, r6, pc} - .align 2, 0 -_08034D44: .4byte 0x00004022 -_08034D48: .4byte gUnk_03000BF0 - - thumb_func_start sub_08034D4C -sub_08034D4C: @ 0x08034D4C - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08004274 - adds r6, r5, #0 - adds r6, #0x78 - ldrh r0, [r6] - subs r0, #1 - strh r0, [r6] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08034DC4 - ldrb r0, [r5, #0xf] - cmp r0, #7 - bhi _08034DBC - movs r0, #0x4b - movs r1, #0 - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _08034DBC - bl sub_08000E50 - movs r1, #5 - bl __modsi3 - adds r0, #0xc - strb r0, [r4, #0x15] - ldr r1, _08034DB8 @ =gUnk_03000BF0 - ldrh r0, [r1, #0x1e] - lsrs r0, r0, #1 - ldrh r2, [r1, #6] - adds r0, r0, r2 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #8] - adds r0, #8 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - str r5, [r4, #0x50] - adds r0, r4, #0 - bl sub_08016A04 - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r6] - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] - b _08034DC4 - .align 2, 0 -_08034DB8: .4byte gUnk_03000BF0 -_08034DBC: - adds r1, r5, #0 - adds r1, #0x78 - movs r0, #0x78 - strh r0, [r1] -_08034DC4: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08034DC8 -sub_08034DC8: @ 0x08034DC8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08034E10 @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - bne _08034E0E - adds r0, r4, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _08034E14 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - bl sub_0805E780 -_08034E0E: - pop {r4, r5, pc} - .align 2, 0 -_08034E10: .4byte gUnk_030010A0 -_08034E14: .4byte gUnk_03000BF0 - - thumb_func_start sub_08034E18 -sub_08034E18: @ 0x08034E18 - push {lr} - ldr r2, _08034E2C @ =gUnk_080CEEB0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08034E2C: .4byte gUnk_080CEEB0 - - thumb_func_start sub_08034E30 -sub_08034E30: @ 0x08034E30 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xa] - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08034E68 -sub_08034E68: @ 0x08034E68 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08034EBC - ldrb r1, [r4, #0x18] - lsls r0, r1, #0x1e - cmp r0, #0 - beq _08034E8A - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_08035120 -_08034E8A: - ldr r0, _08034EB0 @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - bne _08034EB8 - bl sub_08079F8C - cmp r0, #0 - beq _08034EBC - movs r0, #3 - strb r0, [r4, #0xc] - ldr r1, _08034EB4 @ =gUnk_08012E20 - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - b _08034EBC - .align 2, 0 -_08034EB0: .4byte gUnk_030010A0 -_08034EB4: .4byte gUnk_08012E20 -_08034EB8: - bl sub_0805E780 -_08034EBC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08034EC0 -sub_08034EC0: @ 0x08034EC0 - push {lr} - adds r1, r0, #0 - ldr r0, [r1, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08034ED6 - adds r0, r1, #0 - bl sub_08035120 - bl sub_0805E780 -_08034ED6: - pop {pc} - - thumb_func_start sub_08034ED8 -sub_08034ED8: @ 0x08034ED8 - push {lr} - movs r1, #0 - bl sub_0807DDAC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08034EE4 -sub_08034EE4: @ 0x08034EE4 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _08034F46 - bl sub_08000E50 - adds r4, r0, #0 - ldr r0, _08034F50 @ =gUnk_080CEEC8 - movs r1, #3 - ands r1, r4 - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r5, #0 - movs r2, #0 - bl sub_080A29AC - adds r3, r0, #0 - cmp r3, #0 - beq _08034F46 - lsrs r1, r4, #2 - movs r0, #0x77 - ands r1, r0 - lsls r1, r1, #1 - adds r1, #1 - ldr r2, _08034F54 @ =gUnk_03000BF0 - ldrh r0, [r2, #0xa] - adds r0, r0, r1 - strh r0, [r3, #0x2e] - lsrs r1, r4, #9 - movs r0, #0x7e - ands r1, r0 - adds r1, #1 - ldrh r0, [r2, #0xc] - adds r0, r0, r1 - strh r0, [r3, #0x32] - adds r1, r3, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r3, #0 - bl sub_08016A04 -_08034F46: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC - pop {r4, r5, pc} - .align 2, 0 -_08034F50: .4byte gUnk_080CEEC8 -_08034F54: .4byte gUnk_03000BF0 - - thumb_func_start sub_08034F58 -sub_08034F58: @ 0x08034F58 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08034F6C @ =gUnk_0813ABA8 - bl sub_08080840 - adds r0, r4, #0 - bl sub_0805E7BC - pop {r4, pc} - .align 2, 0 -_08034F6C: .4byte gUnk_0813ABA8 - - thumb_func_start sub_08034F70 -sub_08034F70: @ 0x08034F70 - push {lr} - adds r2, r0, #0 - ldr r0, _08034F8C @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r0, [r0] - adds r1, r2, #0 - adds r1, #0x45 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3c - bls _08034F90 - movs r0, #0 - b _08034F9A - .align 2, 0 -_08034F8C: .4byte gUnk_030010A0 -_08034F90: - cmp r0, #0x1e - bls _08034F98 - movs r0, #1 - b _08034F9A -_08034F98: - movs r0, #2 -_08034F9A: - strb r0, [r2, #0xb] - pop {pc} - .align 2, 0 - - thumb_func_start sub_08034FA0 -sub_08034FA0: @ 0x08034FA0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x3d - ldrb r1, [r0] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08034FC0 - ldr r0, [r4, #0x54] - adds r0, #0x3d - strb r1, [r0] - movs r0, #0xc - movs r1, #1 - bl sub_08080964 -_08034FC0: - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08035008 - cmp r0, #1 - beq _08035020 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #0 - bne _08035040 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _08035004 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r6, #0x32 - ldrsh r1, [r4, r6] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - b _08035040 - .align 2, 0 -_08035004: .4byte gUnk_03000BF0 -_08035008: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #0x3b - bhi _08035040 - ldr r0, _0803501C @ =gUnk_030010A0 - adds r0, #0x39 - movs r1, #0x3c - b _08035032 - .align 2, 0 -_0803501C: .4byte gUnk_030010A0 -_08035020: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #0x1d - bhi _08035040 - ldr r0, _0803503C @ =gUnk_030010A0 - adds r0, #0x39 - movs r1, #0x1e -_08035032: - strb r1, [r0] - adds r0, r4, #0 - bl sub_08035050 - b _08035048 - .align 2, 0 -_0803503C: .4byte gUnk_030010A0 -_08035040: - ldr r0, _0803504C @ =gUnk_030010A0 - ldrb r1, [r5] - adds r0, #0x39 - strb r1, [r0] -_08035048: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803504C: .4byte gUnk_030010A0 - - thumb_func_start sub_08035050 -sub_08035050: @ 0x08035050 - push {r4, lr} - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - movs r4, #0 - strb r1, [r0, #0x10] - adds r0, #0x45 - strb r4, [r0] - movs r0, #0x4b - movs r1, #0 - bl sub_0804AA60 - adds r2, r0, #0 - cmp r2, #0 - beq _08035082 - movs r0, #1 - strb r0, [r2, #0xb] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - str r4, [r2, #0x50] - adds r0, r2, #0 - bl sub_08016A04 -_08035082: - pop {r4, pc} - - thumb_func_start sub_08035084 -sub_08035084: @ 0x08035084 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r8, r0 - ldrb r0, [r0, #0xa] - cmp r0, #0 - bne _08035118 - ldr r0, _080350A0 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x42 - bls _080350A4 - movs r0, #0 - b _0803511A - .align 2, 0 -_080350A0: .4byte gUnk_03003DBC -_080350A4: - ldr r4, _080350D8 @ =gUnk_030010D8 -_080350A6: - bl sub_08000E50 - movs r1, #6 - bl __modsi3 - adds r6, r0, #0 - ldrb r0, [r4] - lsrs r0, r0, #4 - cmp r6, r0 - beq _080350A6 - ldr r2, _080350DC @ =gUnk_030010A0 - adds r2, #0x38 - ldrb r1, [r2] - movs r0, #0xf - ands r0, r1 - lsls r1, r6, #4 - orrs r0, r1 - strb r0, [r2] - movs r5, #0 - ldr r4, _080350E0 @ =gUnk_080CEECC - ldr r7, _080350E4 @ =gUnk_03000BF0 -_080350D0: - cmp r5, r6 - bne _080350E8 - mov r2, r8 - b _080350F2 - .align 2, 0 -_080350D8: .4byte gUnk_030010D8 -_080350DC: .4byte gUnk_030010A0 -_080350E0: .4byte gUnk_080CEECC -_080350E4: .4byte gUnk_03000BF0 -_080350E8: - movs r0, #0x37 - movs r1, #1 - bl sub_0804AA60 - adds r2, r0, #0 -_080350F2: - ldrh r0, [r7, #6] - ldrb r1, [r4] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - ldrh r0, [r7, #8] - ldrb r1, [r4, #1] - adds r0, r0, r1 - strh r0, [r2, #0x32] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08016A04 - adds r5, #1 - adds r4, #2 - cmp r5, #5 - bls _080350D0 -_08035118: - movs r0, #1 -_0803511A: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08035120 -sub_08035120: @ 0x08035120 - push {r4, r5, r6, lr} - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r3, _0803515C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r4, r1, #4 - movs r2, #0x3f - ands r4, r2 - movs r1, #0x32 - ldrsh r0, [r0, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - movs r6, #0 - ldr r5, _08035160 @ =gUnk_080CEED8 -_08035146: - movs r2, #0 - ldrsh r0, [r5, r2] - adds r0, r4, r0 - bl sub_0807B600 - adds r5, #2 - adds r6, #1 - cmp r6, #0x17 - bls _08035146 - pop {r4, r5, r6, pc} - .align 2, 0 -_0803515C: .4byte gUnk_03000BF0 -_08035160: .4byte gUnk_080CEED8 - - thumb_func_start sub_08035164 -sub_08035164: @ 0x08035164 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0803518C - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xa] - ands r1, r2 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - subs r0, #0x42 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_0803518C: - adds r0, r4, #0 - bl sub_08035194 - pop {r4, pc} - - thumb_func_start sub_08035194 -sub_08035194: @ 0x08035194 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _080351A8 - ldr r0, _080351A4 @ =gUnk_080CEF34 - b _080351AA - .align 2, 0 -_080351A4: .4byte gUnk_080CEF34 -_080351A8: - ldr r0, _080351B8 @ =gUnk_080CEF58 -_080351AA: - ldrb r1, [r2, #0x1e] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r2, #0x48] - pop {pc} - .align 2, 0 -_080351B8: .4byte gUnk_080CEF58 - - thumb_func_start sub_080351BC -sub_080351BC: @ 0x080351BC - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080351D4 @ =gUnk_080CF040 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080351D4: .4byte gUnk_080CF040 - - thumb_func_start sub_080351D8 -sub_080351D8: @ 0x080351D8 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - cmp r1, #0 - bne _08035204 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x42 - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080368D8 - adds r0, r4, #0 - bl sub_0803520C - b _08035208 -_08035204: - bl sub_0805E780 -_08035208: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803520C -sub_0803520C: @ 0x0803520C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - bne _08035238 - ldrb r0, [r4, #0xd] - cmp r0, #3 - beq _0803524C - ldr r2, _08035234 @ =gUnk_03000BF0 - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - ldr r0, [r1, #0xc] - str r0, [r2, #0x30] - movs r0, #0x5a - strb r0, [r1, #7] - bl sub_08078B48 - b _0803524C - .align 2, 0 -_08035234: .4byte gUnk_03000BF0 -_08035238: - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #7] - cmp r0, #0 - beq _0803524C - subs r0, #1 - strb r0, [r1, #7] - bl sub_08078B48 -_0803524C: - ldr r1, _08035284 @ =gUnk_080CF054 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xd] - cmp r0, #3 - bls _08035266 - bl sub_08078B48 -_08035266: - adds r0, r4, #0 - bl sub_0800445C - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - subs r0, #2 - ldrh r2, [r0] - adds r0, #6 - ldrh r3, [r0] - adds r0, r4, #0 - bl sub_0805EC9C - pop {r4, pc} - .align 2, 0 -_08035284: .4byte gUnk_080CF054 - - thumb_func_start sub_08035288 -sub_08035288: @ 0x08035288 - push {r4, lr} - adds r2, r0, #0 - adds r0, #0x76 - movs r4, #0 - movs r1, #0xa0 - strh r1, [r0] - subs r0, #2 - strh r1, [r0] - adds r3, r2, #0 - adds r3, #0x84 - ldr r0, [r3] - strb r4, [r0, #6] - adds r0, r2, #0 - adds r0, #0x7c - ldrb r1, [r0] - adds r0, r1, #0 - cmp r0, #4 - bne _080352C8 - strb r0, [r2, #0xd] - ldr r0, _080352C4 @ =gUnk_02034490 - movs r1, #1 - strb r1, [r0] - bl sub_08078B48 - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - b _080352FA - .align 2, 0 -_080352C4: .4byte gUnk_02034490 -_080352C8: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080352DA - strb r4, [r2, #0xb] - adds r1, r2, #0 - adds r1, #0x79 - movs r0, #0x3c - b _080352F4 -_080352DA: - ldr r1, [r3] - ldrb r0, [r1, #1] - cmp r0, #3 - bls _080352E6 - subs r0, #1 - strb r0, [r1, #1] -_080352E6: - ldr r0, [r3] - ldr r0, [r0, #0xc] - adds r0, #0x7d - strb r4, [r0] - adds r1, r2, #0 - adds r1, #0x79 - movs r0, #0x78 -_080352F4: - strb r0, [r1] - movs r0, #1 - strb r0, [r2, #0xd] -_080352FA: - pop {r4, pc} - - thumb_func_start sub_080352FC -sub_080352FC: @ 0x080352FC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - adds r0, #0x7c - ldrb r0, [r0] - movs r6, #1 - adds r4, r6, #0 - ands r4, r0 - cmp r4, #0 - bne _080353EC - adds r0, r5, #0 - adds r0, #0x84 - ldr r1, [r0] - ldr r1, [r1, #0xc] - adds r1, #0x7d - ldrb r2, [r1] - mov sb, r0 - cmp r2, #0 - beq _0803532C - subs r0, r2, #1 - strb r0, [r1] -_0803532C: - ldr r3, _0803538C @ =gUnk_03000BF0 - movs r0, #0x84 - lsls r0, r0, #1 - adds r1, r0, #0 - ldrh r2, [r3, #6] - adds r1, r1, r2 - ldrh r0, [r5, #0x2e] - subs r1, r1, r0 - adds r1, #4 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - ldrh r0, [r3, #8] - ldrh r2, [r5, #0x32] - subs r0, r0, r2 - adds r0, #0x8c - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r1, #8 - bhi _08035356 - cmp r0, #8 - bls _08035394 -_08035356: - mov r1, sb - ldr r0, [r1] - strb r6, [r0, #2] - ldrh r0, [r3, #6] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r2, _08035390 @ =0xFFFFFEF8 - adds r1, r1, r2 - subs r0, r0, r1 - ldrh r1, [r3, #8] - movs r3, #0x32 - ldrsh r2, [r5, r3] - subs r2, #0x88 - subs r1, r1, r2 - bl sub_080045DA - asrs r0, r0, #3 - strb r0, [r5, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_080AEF88 - adds r7, r5, #0 - adds r7, #0x79 - b _08035456 - .align 2, 0 -_0803538C: .4byte gUnk_03000BF0 -_08035390: .4byte 0xFFFFFEF8 -_08035394: - ldrb r0, [r5, #0xb] - cmp r0, #0 - bne _080353D8 - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #5 - movs r3, #0 - bl sub_080A2988 - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #5 - movs r3, #1 - bl sub_080A2988 - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #5 - movs r3, #2 - bl sub_080A2988 - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #5 - movs r3, #3 - bl sub_080A2988 - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #5 - movs r3, #4 - bl sub_080A2988 - strb r6, [r5, #0xb] -_080353D8: - mov r1, sb - ldr r0, [r1] - strb r4, [r0, #2] - adds r1, r5, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r7, r1, #0 - b _08035456 -_080353EC: - adds r0, r5, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r1, [r1, #1] - subs r4, r1, #1 - mov sb, r0 - adds r7, r5, #0 - adds r7, #0x79 - cmp r4, #0 - beq _08035438 - mov ip, sb - movs r2, #1 - mov sl, r2 - lsls r0, r4, #2 - subs r6, r0, #4 - movs r3, #3 - mov r8, r3 -_0803540E: - mov r1, ip - ldr r0, [r1] - adds r0, #0xc - adds r0, r0, r6 - ldr r3, [r0] - ldrb r2, [r3, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - mov r0, sl - orrs r1, r0 - mov r0, r8 - ands r1, r0 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] - subs r6, #4 - subs r4, #1 - cmp r4, #0 - bne _0803540E -_08035438: - ldr r1, _080354AC @ =gUnk_030010A0 - ldr r0, [r1] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - beq _08035450 - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #6 - movs r3, #0 - bl sub_080A2988 -_08035450: - ldrb r0, [r7] - subs r0, #1 - strb r0, [r7] -_08035456: - ldrb r0, [r7] - cmp r0, #0 - bne _080354E8 - movs r0, #2 - strb r0, [r5, #0xd] - adds r4, r5, #0 - adds r4, #0x7c - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - adds r0, r5, #0 - bl sub_080AE068 - ldrb r1, [r4] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080354B0 - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x5f - strb r0, [r1] - movs r1, #0x84 - lsls r1, r1, #1 - adds r0, r5, #0 - bl sub_080ADF80 - adds r0, r5, #0 - movs r1, #0xef - bl sub_0801D2B4 - adds r0, r5, #0 - movs r1, #0xef - bl sub_08036F14 - mov r2, sb - ldr r0, [r2] - ldr r0, [r0, #0xc] - movs r1, #1 - bl sub_080042AC - b _080354DC - .align 2, 0 -_080354AC: .4byte gUnk_030010A0 -_080354B0: - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x61 - strb r0, [r1] - ldr r1, _080354F4 @ =0x00000109 - adds r0, r5, #0 - bl sub_080ADF80 - adds r0, r5, #0 - movs r1, #0xf0 - bl sub_0801D2B4 - adds r0, r5, #0 - movs r1, #0xf3 - bl sub_08036F14 - mov r3, sb - ldr r0, [r3] - ldr r0, [r0, #0xc] - movs r1, #2 - bl sub_080042AC -_080354DC: - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #8 - movs r3, #0 - bl sub_080A2988 -_080354E8: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080354F4: .4byte 0x00000109 - - thumb_func_start sub_080354F8 -sub_080354F8: @ 0x080354F8 - push {lr} - adds r1, r0, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r0, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x7d - ldrb r0, [r2] - cmp r0, #0x80 - beq _08035512 - adds r0, #1 - strb r0, [r2] - b _08035522 -_08035512: - movs r0, #3 - strb r0, [r1, #0xd] - adds r1, #0x79 - movs r0, #0x96 - strb r0, [r1] - ldr r1, _08035524 @ =gUnk_03000BF0 - ldr r0, _08035528 @ =gUnk_03001160 - str r0, [r1, #0x30] -_08035522: - pop {pc} - .align 2, 0 -_08035524: .4byte gUnk_03000BF0 -_08035528: .4byte gUnk_03001160 - - thumb_func_start sub_0803552C -sub_0803552C: @ 0x0803552C - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - movs r3, #0 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08035570 - ldr r1, _08035574 @ =gUnk_080CF070 - adds r0, r2, #0 - adds r0, #0x7c - ldrb r0, [r0] - adds r0, r0, r1 - ldrb r0, [r0] - adds r1, r2, #0 - adds r1, #0x45 - strb r0, [r1] - ldrb r0, [r2, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - movs r0, #1 - strb r0, [r2, #0xc] - strb r3, [r2, #0xd] - adds r0, r2, #0 - adds r0, #0x7e - strb r3, [r0] - adds r0, r2, #0 - bl sub_08036DA0 -_08035570: - pop {pc} - .align 2, 0 -_08035574: .4byte gUnk_080CF070 - - thumb_func_start sub_08035578 -sub_08035578: @ 0x08035578 - push {lr} - movs r1, #5 - strb r1, [r0, #0xd] - movs r1, #0x87 - movs r2, #9 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _08035592 - ldr r0, _08035594 @ =gUnk_03000BF0 - str r1, [r0, #0x30] -_08035592: - pop {pc} - .align 2, 0 -_08035594: .4byte gUnk_03000BF0 - - thumb_func_start sub_08035598 -sub_08035598: @ 0x08035598 - adds r2, r0, #0 - movs r1, #0 - movs r0, #6 - strb r0, [r2, #0xd] - adds r3, r2, #0 - adds r3, #0x79 - movs r0, #0x78 - strb r0, [r3] - adds r0, r2, #0 - adds r0, #0x80 - strb r1, [r0] - adds r0, #2 - strb r1, [r0] - bx lr - - thumb_func_start sub_080355B4 -sub_080355B4: @ 0x080355B4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - adds r1, r7, #0 - adds r1, #0x7b - ldrb r0, [r1] - subs r0, #4 - strb r0, [r1] - adds r1, #6 - ldrb r0, [r1] - adds r0, #8 - strb r0, [r1] - adds r4, r7, #0 - adds r4, #0x80 - ldrb r1, [r4] - movs r5, #0x80 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _080355FA - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - ldrb r1, [r4] - subs r1, r1, r0 - strb r1, [r4] - ands r1, r5 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0 - bne _08035616 - b _08035614 -_080355FA: - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - ldrb r2, [r4] - adds r1, r0, r2 - strb r1, [r4] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x18 - bls _08035616 - movs r0, #0x80 - orrs r1, r0 -_08035614: - strb r1, [r4] -_08035616: - ldr r0, _080356E4 @ =gUnk_080C9160 - mov r8, r0 - movs r1, #0x81 - adds r1, r1, r7 - mov sb, r1 - ldrb r0, [r1] - lsls r0, r0, #1 - add r0, r8 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r6, r7, #0 - adds r6, #0x80 - ldrb r2, [r6] - movs r4, #0x7f - adds r1, r4, #0 - ands r1, r2 - lsls r1, r1, #8 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r5, #0x80 - lsls r5, r5, #1 - adds r1, r5, #0 - bl sub_0806FA04 - lsrs r0, r0, #8 - adds r1, r7, #0 - adds r1, #0x62 - strb r0, [r1] - mov r1, sb - ldrb r0, [r1] - adds r0, #0x40 - lsls r0, r0, #1 - add r0, r8 - movs r2, #0 - ldrsh r0, [r0, r2] - ldrb r1, [r6] - ands r4, r1 - lsls r4, r4, #8 - adds r1, r4, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r5, #0 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - rsbs r0, r0, #0 - asrs r0, r0, #0x10 - adds r1, r7, #0 - adds r1, #0x63 - strb r0, [r1] - adds r1, #0x16 - ldrb r0, [r1] - cmp r0, #0 - bne _080356EC - ldr r0, _080356E8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _080356B2 - adds r0, r7, #0 - movs r1, #0x48 - movs r2, #0 - bl sub_080A29AC - adds r0, r7, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r0, [r0, #0x20] - movs r1, #0x48 - movs r2, #0 - bl sub_080A29AC -_080356B2: - adds r1, r7, #0 - adds r1, #0x82 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x79 - bne _080356F0 - adds r0, r7, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r0, [r0, #8] - adds r0, #0x45 - movs r1, #1 - strb r1, [r0] - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - adds r0, r7, #0 - bl sub_0804A7D4 - b _080356F0 - .align 2, 0 -_080356E4: .4byte gUnk_080C9160 -_080356E8: .4byte gUnk_030010A0 -_080356EC: - subs r0, #1 - strb r0, [r1] -_080356F0: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080356F8 -sub_080356F8: @ 0x080356F8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08035718 @ =gUnk_080CF078 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - pop {r4, pc} - .align 2, 0 -_08035718: .4byte gUnk_080CF078 - - thumb_func_start sub_0803571C -sub_0803571C: @ 0x0803571C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xa] - cmp r0, #6 - bls _0803573A - b _08035974 -_0803573A: - lsls r0, r0, #2 - ldr r1, _08035744 @ =_08035748 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08035744: .4byte _08035748 -_08035748: @ jump table - .4byte _08035764 @ case 0 - .4byte _080358D8 @ case 1 - .4byte _080358D8 @ case 2 - .4byte _080358D8 @ case 3 - .4byte _080358D8 @ case 4 - .4byte _08035920 @ case 5 - .4byte _08035940 @ case 6 -_08035764: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x7c - movs r5, #0 - strb r5, [r0] - movs r0, #1 - strb r0, [r4, #0xe] - movs r0, #0x30 - bl sub_0801D8E0 - adds r2, r0, #0 - adds r0, r4, #0 - adds r0, #0x84 - str r2, [r0] - mov r8, r0 - cmp r2, #0 - bne _0803579E - adds r0, r4, #0 - bl sub_0804A7D4 - b _080359A6 -_0803579E: - str r2, [r4, #0x64] - mov r1, r8 - ldr r0, [r1] - strb r5, [r0, #6] - ldr r1, [r1] - movs r0, #2 - strb r0, [r1] - mov r2, r8 - ldr r0, [r2] - strb r5, [r0, #2] - ldr r1, [r2] - movs r0, #5 - strb r0, [r1, #1] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x6d - ldrb r0, [r2] - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x76 - movs r1, #0xa0 - strh r1, [r0] - subs r0, #2 - strh r1, [r0] - adds r0, #6 - strh r5, [r0] - movs r5, #0 - movs r0, #0x79 - adds r0, r0, r4 - mov sb, r0 - mov r7, r8 -_080357E6: - adds r6, r5, #1 - movs r0, #0x39 - adds r1, r6, #0 - bl sub_0804AA60 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _08035816 - adds r0, r4, #0 - bl sub_0806FA24 - ldr r0, [r4, #0x54] - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - adds r0, #0x84 - ldr r1, [r7] - str r1, [r0] - ldr r1, [r7] - lsls r0, r5, #2 - adds r1, #0x20 - adds r1, r1, r0 - ldr r0, [r4, #0x54] - str r0, [r1] -_08035816: - adds r5, r6, #0 - cmp r5, #3 - bls _080357E6 - movs r0, #0x39 - movs r1, #5 - bl sub_0804AA60 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _08035840 - adds r0, r4, #0 - bl sub_0806FA24 - ldr r0, [r4, #0x54] - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - adds r0, #0x84 - mov r2, r8 - ldr r1, [r2] - str r1, [r0] -_08035840: - movs r0, #0x39 - movs r1, #6 - bl sub_0804AA60 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _0803586A - adds r0, r4, #0 - bl sub_0806FA24 - ldr r0, [r4, #0x54] - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - adds r0, #0x84 - mov r2, r8 - ldr r1, [r2] - str r1, [r0] - ldr r1, [r2] - ldr r0, [r4, #0x54] - str r0, [r1, #0xc] -_0803586A: - movs r5, #0 - mov r7, r8 -_0803586E: - movs r0, #0x39 - movs r1, #7 - bl sub_0804AA60 - str r0, [r4, #0x54] - adds r6, r5, #1 - cmp r0, #0 - beq _080358A0 - strb r5, [r0, #0xb] - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 - ldr r0, [r4, #0x54] - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - adds r0, #0x84 - ldr r1, [r7] - str r1, [r0] - ldr r1, [r7] - lsls r0, r6, #2 - adds r1, #0xc - adds r1, r1, r0 - ldr r0, [r4, #0x54] - str r0, [r1] -_080358A0: - adds r5, r6, #0 - cmp r5, #3 - bls _0803586E - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r0, #0x3c - mov r1, sb - strb r0, [r1] - ldr r1, _080358D0 @ =gUnk_03001160 - ldrb r2, [r1, #0x18] - subs r0, #0x40 - ands r0, r2 - strb r0, [r1, #0x18] - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x2e] - ldrh r0, [r4, #0x32] - subs r0, #0xa0 - strh r0, [r1, #0x32] - ldr r0, _080358D4 @ =gUnk_03000BF0 - str r4, [r0, #0x30] - b _08035974 - .align 2, 0 -_080358D0: .4byte gUnk_03001160 -_080358D4: .4byte gUnk_03000BF0 -_080358D8: - movs r1, #0 - movs r0, #0x10 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x79 - strb r1, [r0] - ldrb r1, [r4, #0xa] - movs r2, #2 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _080358F4 - strb r2, [r4, #0xf] - b _080358F8 -_080358F4: - movs r0, #0xfe - strb r0, [r4, #0xf] -_080358F8: - adds r0, r4, #0 - adds r0, #0x74 - movs r2, #0x80 - lsls r2, r2, #1 - strh r2, [r0] - ldrb r1, [r4, #0xa] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08035918 - adds r1, r4, #0 - adds r1, #0x76 - movs r0, #0xff - lsls r0, r0, #8 - strh r0, [r1] - b _08035974 -_08035918: - adds r0, r4, #0 - adds r0, #0x76 - strh r2, [r0] - b _08035974 -_08035920: - adds r0, r4, #0 - adds r0, #0x76 - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0] - subs r0, #2 - strh r1, [r0] - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0x1c - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - str r4, [r0, #8] - b _08035974 -_08035940: - adds r0, r4, #0 - adds r0, #0x76 - movs r2, #0 - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0] - subs r0, #2 - strh r1, [r0] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x79 - strb r2, [r0] - movs r0, #0x10 - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x7d - movs r0, #0x80 - strb r0, [r1] -_08035974: - ldrb r0, [r4, #0xa] - cmp r0, #6 - beq _08035990 - ldr r0, _0803598C @ =gUnk_080CF08C - ldrb r1, [r4, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08004260 - b _080359A0 - .align 2, 0 -_0803598C: .4byte gUnk_080CF08C -_08035990: - ldr r0, _080359B0 @ =gUnk_080CF08C - ldrb r1, [r4, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_080042AC -_080359A0: - adds r0, r4, #0 - bl sub_08035B94 -_080359A6: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080359B0: .4byte gUnk_080CF08C - - thumb_func_start sub_080359B4 -sub_080359B4: @ 0x080359B4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08078B48 - ldr r1, _080359F0 @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08036F60 - ldr r1, _080359F4 @ =gUnk_080CF0AC - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - subs r0, #2 - ldrh r2, [r0] - adds r0, #6 - ldrh r3, [r0] - adds r0, r4, #0 - bl sub_0805EC9C - pop {r4, pc} - .align 2, 0 -_080359F0: .4byte gUnk_02034490 -_080359F4: .4byte gUnk_080CF0AC - - thumb_func_start sub_080359F8 -sub_080359F8: @ 0x080359F8 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08035A22 - movs r0, #1 - strb r0, [r2, #0xd] - adds r1, #9 - adds r0, #0xff - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #2 - strb r0, [r1] -_08035A22: - pop {pc} - - thumb_func_start sub_08035A24 -sub_08035A24: @ 0x08035A24 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7b - ldrb r0, [r0] - cmp r0, #0x80 - bne _08035A54 - adds r2, r4, #0 - adds r2, #0x79 - movs r1, #0 - movs r0, #0x3c - strb r0, [r2] - movs r0, #2 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r1, [r0] - ldr r0, _08035A50 @ =0x00000159 - bl sub_080A3268 - b _08035A64 - .align 2, 0 -_08035A50: .4byte 0x00000159 -_08035A54: - adds r1, r4, #0 - adds r1, #0x7a - adds r0, r4, #0 - adds r0, #0x82 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] -_08035A64: - adds r0, r4, #0 - movs r1, #0xf - bl sub_08036FAC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08035A70 -sub_08035A70: @ 0x08035A70 - push {r4, lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08035AA8 - movs r0, #3 - strb r0, [r2, #0xd] - movs r0, #0x3c - strb r0, [r1] - ldr r2, _08035AAC @ =gUnk_03001160 - ldrb r3, [r2, #0x18] - lsls r1, r3, #0x1e - lsrs r1, r1, #0x1e - movs r4, #1 - orrs r1, r4 - subs r0, #0x40 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, #0x18] - ldr r0, _08035AB0 @ =gUnk_03000BF0 - str r2, [r0, #0x30] - strb r4, [r0, #0xe] -_08035AA8: - pop {r4, pc} - .align 2, 0 -_08035AAC: .4byte gUnk_03001160 -_08035AB0: .4byte gUnk_03000BF0 - - thumb_func_start sub_08035AB4 -sub_08035AB4: @ 0x08035AB4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r6, #0 - adds r5, #0x79 - ldrb r0, [r5] - subs r0, #1 - strb r0, [r5] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08035AE4 - ldr r1, _08035AE8 @ =gUnk_03001160 - movs r0, #0x10 - strb r0, [r1, #0x15] - movs r4, #4 - strb r4, [r1, #0x14] - movs r0, #0x1e - movs r1, #0 - movs r2, #0 - bl sub_08078AC0 - movs r0, #0x3c - strb r0, [r5] - strb r4, [r6, #0xd] -_08035AE4: - pop {r4, r5, r6, pc} - .align 2, 0 -_08035AE8: .4byte gUnk_03001160 - - thumb_func_start sub_08035AEC -sub_08035AEC: @ 0x08035AEC - push {lr} - adds r3, r0, #0 - adds r2, r3, #0 - adds r2, #0x79 - ldrb r0, [r2] - subs r1, r0, #1 - strb r1, [r2] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08035B18 - movs r0, #5 - strb r0, [r3, #0xd] - movs r0, #0x2d - strb r0, [r2] - ldr r1, _08035B14 @ =gUnk_03001160 - movs r0, #0 - strb r0, [r1, #0x14] - b _08035B2C - .align 2, 0 -_08035B14: .4byte gUnk_03001160 -_08035B18: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1e - bne _08035B2C - ldr r0, _08035B30 @ =gUnk_03001160 - movs r2, #0x18 - rsbs r2, r2, #0 - movs r1, #0xc - bl sub_080A2CFC -_08035B2C: - pop {pc} - .align 2, 0 -_08035B30: .4byte gUnk_03001160 - - thumb_func_start sub_08035B34 -sub_08035B34: @ 0x08035B34 - push {r4, r5, lr} - adds r3, r0, #0 - ldr r2, _08035B70 @ =gUnk_03001160 - ldrb r5, [r2, #0x14] - cmp r5, #4 - bne _08035B7C - adds r2, r3, #0 - adds r2, #0x79 - ldrb r0, [r2] - adds r1, r0, #1 - strb r1, [r2] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1e - bls _08035B92 - movs r4, #0 - movs r0, #1 - strb r0, [r3, #0xc] - strb r4, [r3, #0xd] - ldr r0, _08035B74 @ =gUnk_03000BF0 - strb r5, [r0, #0xe] - adds r0, r3, #0 - bl sub_08036C90 - ldr r0, _08035B78 @ =gUnk_02034490 - strb r4, [r0] - movs r0, #0x2e - bl sub_080A3268 - b _08035B92 - .align 2, 0 -_08035B70: .4byte gUnk_03001160 -_08035B74: .4byte gUnk_03000BF0 -_08035B78: .4byte gUnk_02034490 -_08035B7C: - adds r1, r3, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08035B92 - movs r0, #4 - strb r0, [r2, #0x14] -_08035B92: - pop {r4, r5, pc} - - thumb_func_start sub_08035B94 -sub_08035B94: @ 0x08035B94 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #0 - beq _08035BAE - ldr r0, [r5, #0x50] - adds r0, #0x3d - ldrb r0, [r0] - adds r1, r5, #0 - adds r1, #0x3d - strb r0, [r1] -_08035BAE: - ldrb r0, [r5, #0xa] - cmp r0, #7 - bls _08035BB6 - b _08035F6C -_08035BB6: - lsls r0, r0, #2 - ldr r1, _08035BC0 @ =_08035BC4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08035BC0: .4byte _08035BC4 -_08035BC4: @ jump table - .4byte _08035F16 @ case 0 - .4byte _08035BE4 @ case 1 - .4byte _08035BE4 @ case 2 - .4byte _08035BE4 @ case 3 - .4byte _08035BE4 @ case 4 - .4byte _08035E78 @ case 5 - .4byte _08035DB0 @ case 6 - .4byte _08035D14 @ case 7 -_08035BE4: - ldr r0, [r5, #0x50] - adds r0, #0x6d - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08035BF6 - bl sub_0805E780 -_08035BF6: - adds r1, r5, #0 - adds r1, #0x84 - ldr r0, [r1] - ldr r0, [r0, #8] - adds r0, #0x45 - ldrb r0, [r0] - adds r6, r1, #0 - adds r7, r5, #0 - adds r7, #0x76 - movs r1, #0x74 - adds r1, r1, r5 - mov r8, r1 - cmp r0, #1 - bne _08035C42 - ldrh r1, [r7] - movs r2, #0 - ldrsh r0, [r7, r2] - cmp r0, #0 - bge _08035C20 - subs r0, r1, #4 - b _08035C22 -_08035C20: - adds r0, r1, #4 -_08035C22: - strh r0, [r7] - adds r0, r5, #0 - adds r0, #0x74 - ldrh r2, [r0] - movs r3, #0 - ldrsh r1, [r0, r3] - mov r8, r0 - cmp r1, #0 - bge _08035C3C - subs r0, r2, #4 - mov r1, r8 - strh r0, [r1] - b _08035C42 -_08035C3C: - adds r0, r2, #4 - mov r2, r8 - strh r0, [r2] -_08035C42: - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FAD8 - ldr r0, [r6] - ldrb r0, [r0, #2] - cmp r0, #0 - bne _08035C66 - ldr r1, [r5, #0x50] - ldrb r0, [r1, #0xc] - cmp r0, #3 - beq _08035C66 - ldrb r0, [r1, #0xd] - subs r0, #3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bls _08035C82 -_08035C66: - movs r0, #0xf - ldrsb r0, [r5, r0] - cmp r0, #0 - bge _08035C76 - ldr r0, [r6] - ldrb r0, [r0] - rsbs r0, r0, #0 - b _08035C7A -_08035C76: - ldr r0, [r6] - ldrb r0, [r0] -_08035C7A: - strb r0, [r5, #0xf] - adds r0, r5, #0 - bl sub_08036998 -_08035C82: - ldr r4, [r5, #0x50] - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #9 - bl __divsi3 - adds r3, r0, #0 - lsls r0, r3, #0xd - lsrs r3, r0, #8 - ldr r0, _08035CB0 @ =0xFFFFE000 - adds r3, r3, r0 - ldr r0, [r6] - ldr r0, [r0, #8] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #1 - bne _08035CB4 - movs r1, #0x88 - lsls r1, r1, #6 - adds r3, r3, r1 - b _08035CBC - .align 2, 0 -_08035CB0: .4byte 0xFFFFE000 -_08035CB4: - lsrs r0, r3, #1 - movs r2, #0x88 - lsls r2, r2, #6 - adds r3, r0, r2 -_08035CBC: - adds r2, r4, #0 - adds r2, #0x7b - ldr r1, _08035D0C @ =gUnk_080CF0D8 - ldrb r0, [r5, #0xa] - subs r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - ldrb r2, [r2] - adds r0, r0, r2 - rsbs r0, r0, #0 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - adds r0, r5, #0 - adds r2, r3, #0 - bl sub_08036914 - ldr r2, [r5, #0x50] - adds r2, #0x7b - ldr r1, _08035D10 @ =gUnk_080CF0DC - ldrb r0, [r5, #0xa] - subs r0, #1 - adds r0, r0, r1 - ldrb r1, [r0] - ldrb r2, [r2] - adds r1, r1, r2 - adds r0, r5, #0 - adds r0, #0x79 - ldrb r0, [r0] - adds r0, r0, r1 - adds r1, r5, #0 - adds r1, #0x7b - strb r0, [r1] - ldrh r1, [r7] - mov r3, r8 - ldrh r2, [r3] - adds r0, r5, #0 - adds r0, #0x7a - ldrh r3, [r0] - b _08035E70 - .align 2, 0 -_08035D0C: .4byte gUnk_080CF0D8 -_08035D10: .4byte gUnk_080CF0DC -_08035D14: - adds r4, r5, #0 - adds r4, #0x84 - ldr r0, [r4] - ldr r0, [r0, #8] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #1 - bhi _08035D28 - bl sub_0805E780 -_08035D28: - ldr r0, [r4] - ldrb r0, [r0, #1] - subs r0, #2 - ldrb r1, [r5, #0xb] - cmp r0, r1 - bge _08035D38 - bl sub_0805E780 -_08035D38: - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FAB0 - ldr r0, [r4] - ldrb r0, [r0, #1] - subs r0, #2 - ldrb r2, [r5, #0xb] - cmp r0, r2 - bne _08035D8A - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FAB0 - ldr r4, [r5, #0x50] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #9 - bl __divsi3 - adds r3, r0, #0 - lsls r0, r3, #0xd - lsrs r3, r0, #8 - adds r4, #0x7b - ldrb r0, [r4] - rsbs r0, r0, #0 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - adds r0, r5, #0 - adds r2, r3, #0 - bl sub_08036914 - ldr r0, [r5, #0x50] - adds r0, #0x7b - ldrb r0, [r0] - rsbs r0, r0, #0 - adds r1, r5, #0 - adds r1, #0x7b - strb r0, [r1] -_08035D8A: - ldr r0, [r5, #0x50] - adds r0, #0x7c - ldrb r1, [r0] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08035D9C - b _08035F6C -_08035D9C: - ldrb r2, [r5, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - orrs r1, r3 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] - b _08035F6C -_08035DB0: - adds r6, r5, #0 - adds r6, #0x84 - ldr r0, [r6] - ldr r0, [r0, #8] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #1 - bhi _08035DC4 - bl sub_0805E780 -_08035DC4: - adds r0, r5, #0 - bl sub_080042B8 - ldr r0, [r5, #0x50] - adds r0, #0x7c - ldrb r1, [r0] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08035E24 - adds r0, r5, #0 - adds r0, #0x7d - ldrb r1, [r0] - adds r0, r5, #0 - movs r2, #0x10 - bl sub_08036AF0 - adds r2, r5, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r3, #0x7f - adds r0, r3, #0 - ands r0, r1 - adds r4, r2, #0 - cmp r0, #7 - bne _08035E56 - ldrb r1, [r5, #0x10] - adds r0, r3, #0 - ands r0, r1 - strb r0, [r5, #0x10] - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - str r1, [r5, #0x54] - cmp r1, #0 - beq _08035E56 - ldr r0, [r5, #0x50] - str r0, [r1, #0x50] - ldr r0, [r5, #0x54] - adds r0, #0x84 - ldr r1, [r6] - str r1, [r0] - b _08035E56 -_08035E24: - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - ldrb r2, [r5, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - orrs r1, r3 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r0, r5, #0 - bl sub_08036998 - adds r0, r5, #0 - adds r0, #0x7d - ldrb r1, [r0] - adds r0, r5, #0 - movs r2, #4 - bl sub_080369D0 - adds r4, r5, #0 - adds r4, #0x41 -_08035E56: - movs r0, #0 - strb r0, [r4] - adds r0, r5, #0 - adds r0, #0x76 - ldrh r1, [r0] - subs r0, #2 - ldrh r2, [r0] - adds r0, #6 - ldrh r3, [r0] - rsbs r3, r3, #0 - movs r0, #0x80 - lsls r0, r0, #8 - eors r3, r0 -_08035E70: - adds r0, r5, #0 - bl sub_0805EC9C - b _08035F6C -_08035E78: - adds r4, r5, #0 - adds r4, #0x45 - ldrb r0, [r4] - cmp r0, #1 - bne _08035E88 - movs r0, #0 - strb r0, [r4] - b _08035F6C -_08035E88: - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FAD8 - ldr r0, [r5, #0x50] - ldrb r0, [r0, #0xd] - adds r7, r5, #0 - adds r7, #0x76 - adds r6, r5, #0 - adds r6, #0x79 - cmp r0, #4 - beq _08035EC2 - ldrb r0, [r4] - cmp r0, #1 - beq _08035EC2 - ldrb r0, [r6] - cmp r0, #0x1c - bls _08035EB0 - subs r0, #1 - strb r0, [r6] -_08035EB0: - ldrh r0, [r7] - movs r1, #0x80 - lsls r1, r1, #1 - cmp r0, r1 - bls _08035EC0 - subs r0, #1 - strh r0, [r7] - b _08035EC2 -_08035EC0: - strh r1, [r7] -_08035EC2: - ldr r4, [r5, #0x50] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #9 - bl __divsi3 - adds r3, r0, #0 - ldrb r0, [r6] - lsls r0, r0, #8 - muls r0, r3, r0 - lsrs r3, r0, #8 - adds r4, #0x7b - ldrb r0, [r4] - adds r0, #0x80 - rsbs r0, r0, #0 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - adds r0, r5, #0 - adds r2, r3, #0 - bl sub_08036914 - ldr r0, [r5, #0x50] - adds r0, #0x7b - ldrb r0, [r0] - adds r1, r5, #0 - adds r1, #0x7b - strb r0, [r1] - ldrh r1, [r7] - adds r0, r5, #0 - adds r0, #0x74 - ldrh r2, [r0] - adds r0, #6 - ldrh r3, [r0] - adds r0, r5, #0 - bl sub_0805EC9C - adds r0, r5, #0 - bl sub_0800445C - b _08035F6C -_08035F16: - adds r0, r5, #0 - bl sub_0800445C - adds r0, r5, #0 - bl sub_08036F60 - adds r0, r5, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #6] - cmp r0, #0 - beq _08035F48 - subs r0, #1 - strb r0, [r1, #6] - ldr r0, _08035F74 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _08035F48 - adds r0, r5, #0 - movs r1, #0xf - movs r2, #3 - bl sub_0804A98C -_08035F48: - ldr r1, _08035F78 @ =gUnk_080CF0C4 - ldrb r0, [r5, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - adds r0, r5, #0 - adds r0, #0x76 - ldrh r1, [r0] - subs r0, #2 - ldrh r2, [r0] - adds r0, #6 - ldrh r3, [r0] - adds r0, r5, #0 - bl sub_0805EC9C -_08035F6C: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08035F74: .4byte gUnk_030010A0 -_08035F78: .4byte gUnk_080CF0C4 - - thumb_func_start sub_08035F7C -sub_08035F7C: @ 0x08035F7C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _08035FD0 @ =gUnk_03001160 - ldr r0, [r2, #0x2c] - ldr r1, [r4, #0x2c] - subs r0, r0, r1 - ldr r1, [r2, #0x30] - ldr r2, [r4, #0x30] - subs r1, r1, r2 - bl sub_080045DA - adds r1, r4, #0 - adds r1, #0x7b - ldrb r1, [r1] - rsbs r1, r1, #0 - movs r2, #0x80 - eors r1, r2 - subs r0, r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - adds r0, r4, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - movs r1, #0x20 - cmp r0, #0 - bne _08035FB6 - movs r1, #8 -_08035FB6: - cmn r2, r1 - ble _08035FEE - cmp r2, r1 - bge _08035FEE - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0xff - beq _08035FD4 - adds r0, r4, #0 - bl sub_08036C90 - b _08036074 - .align 2, 0 -_08035FD0: .4byte gUnk_03001160 -_08035FD4: - adds r0, r4, #0 - adds r0, #0x78 - ldrb r0, [r0] - cmp r0, #0 - bne _08035FE6 - adds r0, r4, #0 - bl sub_08036E00 - b _08036028 -_08035FE6: - adds r0, r4, #0 - bl sub_08036D70 - b _08036028 -_08035FEE: - cmp r2, #0x80 - bls _0803600E - adds r2, r4, #0 - adds r2, #0x7a - adds r0, r4, #0 - adds r0, #0x82 - ldrh r0, [r0] - ldrh r1, [r2] - adds r0, r0, r1 - movs r1, #0 - strh r0, [r2] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r1, [r0, #4] - b _08036028 -_0803600E: - adds r2, r4, #0 - adds r2, #0x7a - adds r1, r4, #0 - adds r1, #0x82 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r2] - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #1 - strb r0, [r1, #4] -_08036028: - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - rsbs r0, r0, #0 - movs r1, #0x80 - eors r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1b - strb r0, [r4, #0x15] - adds r5, r4, #0 - adds r5, #0x7c - ldrb r1, [r5] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0803606C - adds r3, r4, #0 - adds r3, #0x82 - ldrh r2, [r3] - ldr r0, _08036060 @ =0x0000027F - cmp r2, r0 - bhi _0803606C - ldrb r1, [r5] - cmp r1, #1 - beq _08036064 - cmp r1, #3 - beq _08036068 - b _0803606C - .align 2, 0 -_08036060: .4byte 0x0000027F -_08036064: - adds r0, r2, #1 - b _0803606A -_08036068: - adds r0, r2, #2 -_0803606A: - strh r0, [r3] -_0803606C: - adds r0, r4, #0 - movs r1, #0x1f - bl sub_08036FAC -_08036074: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08036078 -sub_08036078: @ 0x08036078 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x79 - ldrb r0, [r5] - subs r0, #1 - strb r0, [r5] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _080360A0 - adds r0, r4, #0 - adds r0, #0x7c - ldrb r1, [r0] - cmp r1, #0 - beq _080360A0 - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080360B2 -_080360A0: - adds r1, r4, #0 - adds r1, #0x78 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08036D4C - b _080360BE -_080360B2: - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _080360BE - strb r0, [r5] -_080360BE: - adds r0, r4, #0 - movs r1, #0x1f - bl sub_08036FAC - pop {r4, r5, pc} - - thumb_func_start sub_080360C8 -sub_080360C8: @ 0x080360C8 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080360E4 - adds r0, r2, #0 - bl sub_08036DA0 -_080360E4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080360E8 -sub_080360E8: @ 0x080360E8 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x79 - ldrb r0, [r1] - cmp r0, #0 - bne _08036178 - adds r0, r4, #0 - bl sub_080AEF88 - movs r2, #0 - ldrb r0, [r4, #0x15] - cmp r0, #0 - beq _08036116 - cmp r0, #0x10 - beq _08036116 - ldrh r0, [r4, #0x2a] - movs r1, #0xee - lsls r1, r1, #8 - ands r1, r0 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r2, r0, #0x1f -_08036116: - ldrb r0, [r4, #0x15] - cmp r0, #0x18 - beq _0803612C - cmp r0, #8 - beq _0803612C - ldrh r1, [r4, #0x2a] - movs r0, #0xee - ands r0, r1 - cmp r0, #0 - beq _0803612C - movs r2, #1 -_0803612C: - cmp r2, #0 - beq _0803617C - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0x20 - strb r0, [r1] - adds r1, #4 - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r1] - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #6] - adds r0, #0x3c - strb r0, [r1, #6] - adds r0, r4, #0 - bl sub_08036C90 - movs r0, #0x3c - movs r1, #0 - bl sub_08080964 - movs r0, #0xac - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_080A3268 - b _0803617C -_08036178: - subs r0, #1 - strb r0, [r1] -_0803617C: - adds r0, r4, #0 - movs r1, #0xf - bl sub_08036FAC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08036188 -sub_08036188: @ 0x08036188 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r1, _080361EC @ =gUnk_080CF0E0 - ldrb r0, [r5, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - adds r0, r5, #0 - bl sub_08036FE4 - adds r0, r5, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _080361EA - ldr r4, _080361F0 @ =gUnk_03001160 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - bl sub_08078B48 - bl sub_08077B20 - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x7b - ldrb r1, [r0] - adds r1, #0x80 - rsbs r1, r1, #0 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - movs r2, #0xe0 - lsls r2, r2, #6 - adds r0, r4, #0 - bl sub_08036914 -_080361EA: - pop {r4, r5, pc} - .align 2, 0 -_080361EC: .4byte gUnk_080CF0E0 -_080361F0: .4byte gUnk_03001160 - - thumb_func_start sub_080361F4 -sub_080361F4: @ 0x080361F4 - push {lr} - adds r2, r0, #0 - adds r0, #0x7d - ldrb r0, [r0] - cmp r0, #4 - bne _08036208 - adds r0, r2, #0 - bl sub_08036D4C - b _08036236 -_08036208: - adds r1, r2, #0 - adds r1, #0x82 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1] - movs r0, #1 - strb r0, [r2, #0xb] - subs r1, #6 - ldrb r1, [r1] - ands r0, r1 - cmp r0, #0 - bne _08036228 - adds r1, r2, #0 - adds r1, #0x79 - movs r0, #0x16 - b _0803622E -_08036228: - adds r1, r2, #0 - adds r1, #0x79 - movs r0, #0 -_0803622E: - strb r0, [r1] - ldr r0, _08036238 @ =0x00000155 - bl sub_080A3268 -_08036236: - pop {pc} - .align 2, 0 -_08036238: .4byte 0x00000155 - - thumb_func_start sub_0803623C -sub_0803623C: @ 0x0803623C - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x74 - ldrh r0, [r1] - cmp r0, #0xbf - bhi _08036250 - adds r0, #1 - strh r0, [r1] - b _080362A0 -_08036250: - adds r3, r2, #0 - adds r3, #0x79 - ldrb r0, [r3] - subs r0, #1 - strb r0, [r3] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080362A0 - adds r0, r2, #0 - adds r0, #0x7d - ldrb r1, [r0] - cmp r1, #1 - bne _08036292 - movs r0, #3 - strb r0, [r2, #0xb] - adds r0, r2, #0 - adds r0, #0x7c - ldrb r0, [r0] - ands r1, r0 - cmp r1, #0 - beq _08036280 - movs r0, #0x3c - b _08036282 -_08036280: - movs r0, #0x78 -_08036282: - strb r0, [r3] - adds r0, r2, #0 - adds r0, #0x84 - ldr r1, [r0] - subs r0, #9 - ldrb r0, [r0] - strb r0, [r1, #3] - b _0803629A -_08036292: - movs r0, #2 - strb r0, [r2, #0xb] - movs r0, #0x2d - strb r0, [r3] -_0803629A: - ldr r0, _080362A4 @ =0x00000155 - bl sub_080A3268 -_080362A0: - pop {pc} - .align 2, 0 -_080362A4: .4byte 0x00000155 - - thumb_func_start sub_080362A8 -sub_080362A8: @ 0x080362A8 - push {r4, lr} - adds r2, r0, #0 - movs r0, #0x79 - adds r0, r0, r2 - mov ip, r0 - ldrb r0, [r0] - cmp r0, #0 - bne _080362FA - adds r4, r2, #0 - adds r4, #0x76 - adds r1, r2, #0 - adds r1, #0x74 - ldrh r3, [r1] - ldrh r0, [r4] - cmp r0, r3 - bhs _080362D0 - adds r0, r3, #0 - subs r0, #8 - strh r0, [r1] - b _08036300 -_080362D0: - movs r0, #3 - strb r0, [r2, #0xb] - ldrh r0, [r4] - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x7d - ldrb r0, [r0] - cmp r0, #2 - beq _080362E6 - movs r0, #0x3c - b _080362FC -_080362E6: - movs r0, #0 - mov r1, ip - strb r0, [r1] - adds r0, r2, #0 - movs r1, #0x87 - movs r2, #4 - movs r3, #0 - bl sub_080A2988 - b _08036300 -_080362FA: - subs r0, #1 -_080362FC: - mov r1, ip - strb r0, [r1] -_08036300: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08036304 -sub_08036304: @ 0x08036304 - push {lr} - mov ip, r0 - ldr r0, _08036328 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - beq _0803632C - mov r2, ip - adds r2, #0x84 - ldr r0, [r2] - ldr r1, [r0, #8] - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #8 - strh r0, [r1] - b _08036350 - .align 2, 0 -_08036328: .4byte gUnk_030010A0 -_0803632C: - mov r2, ip - adds r2, #0x84 - ldr r0, [r2] - ldr r1, [r0, #8] - adds r1, #0x76 - ldrh r0, [r1] - adds r0, #8 - strh r0, [r1] - ldr r0, [r2] - ldr r0, [r0, #8] - adds r3, r0, #0 - adds r3, #0x76 - ldrh r0, [r3] - movs r1, #0xc0 - lsls r1, r1, #1 - cmp r0, r1 - bls _08036350 - strh r1, [r3] -_08036350: - mov r0, ip - adds r0, #0x7d - ldrb r1, [r0] - adds r3, r0, #0 - cmp r1, #1 - beq _0803637A - ldr r0, [r2] - ldr r0, [r0, #8] - adds r1, r0, #0 - adds r1, #0x79 - ldrb r0, [r1] - cmp r0, #0x1f - bhi _0803637A - adds r0, #1 - strb r0, [r1] - ldr r0, [r2] - ldr r1, [r0, #8] - adds r1, #0x76 - ldrh r0, [r1] - adds r0, #8 - strh r0, [r1] -_0803637A: - ldr r0, _0803638C @ =gUnk_080CF0F0 - ldrb r1, [r3] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - mov r0, ip - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803638C: .4byte gUnk_080CF0F0 - - thumb_func_start sub_08036390 -sub_08036390: @ 0x08036390 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xf - movs r2, #0 - bl sub_0804A98C - str r0, [r4, #0x54] - cmp r0, #0 - beq _080363B4 - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x7b - ldrb r1, [r1] - rsbs r1, r1, #0 - movs r2, #0x80 - eors r1, r2 - strb r1, [r0, #0x15] -_080363B4: - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r1, [r0, #8] - adds r1, #0x79 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08036C90 - pop {r4, pc} - - thumb_func_start sub_080363CC -sub_080363CC: @ 0x080363CC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r7, r4, #0 - adds r7, #0x80 - ldrb r2, [r7] - cmp r2, #0 - bne _080364CC - ldr r5, _08036498 @ =gUnk_03001160 - ldr r0, [r5, #0x2c] - ldr r1, [r4, #0x2c] - subs r0, r0, r1 - ldr r1, [r5, #0x30] - ldr r2, [r4, #0x30] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - adds r2, r4, #0 - adds r2, #0x7b - ldrb r0, [r2] - adds r0, #0x80 - rsbs r0, r0, #0 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - ldrb r1, [r4, #0x15] - subs r3, r0, r1 - mov r8, r2 - cmp r3, #0 - bge _0803640C - rsbs r3, r3, #0 -_0803640C: - adds r6, r4, #0 - adds r6, #0x79 - cmp r3, #0xf - bgt _080364AA - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0xf0 - bl sub_0806FC80 - cmp r0, #0 - beq _080364AA - ldr r2, _0803649C @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - movs r0, #0x80 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - bne _080364A4 - ldrb r1, [r5, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080364AA - movs r1, #0xa0 - lsls r1, r1, #2 - mov r0, r8 - ldrb r2, [r0] - rsbs r2, r2, #0 - adds r0, r5, #0 - bl sub_0806F62C - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0x48 - bl sub_0806FC80 - cmp r0, #0 - beq _080364AA - movs r0, #1 - strb r0, [r7] - movs r0, #2 - strb r0, [r6] - ldr r2, _080364A0 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - movs r1, #0x84 - lsls r1, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #0x10 - ldr r1, [r4, #0x2c] - subs r0, r0, r1 - ldrh r1, [r2, #8] - adds r1, #0x88 - lsls r1, r1, #0x10 - ldr r2, [r4, #0x30] - subs r1, r1, r2 - bl sub_080045DA - adds r2, r4, #0 - adds r2, #0x84 - ldr r1, [r2] - strb r0, [r1, #3] - ldr r1, [r2] - ldrb r0, [r1, #3] - adds r0, #0x80 - rsbs r0, r0, #0 - strb r0, [r1, #3] - movs r0, #0xed - bl sub_080A3268 - b _080364AA - .align 2, 0 -_08036498: .4byte gUnk_03001160 -_0803649C: .4byte gUnk_03003F80 -_080364A0: .4byte gUnk_03000BF0 -_080364A4: - ldr r0, _080364C4 @ =0xFFFFF7FF - ands r1, r0 - str r1, [r2, #0x30] -_080364AA: - ldr r0, _080364C8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0803657A - adds r0, r4, #0 - movs r1, #0x87 - movs r2, #2 - movs r3, #0 - bl sub_080A2988 - b _0803657A - .align 2, 0 -_080364C4: .4byte 0xFFFFF7FF -_080364C8: .4byte gUnk_030010A0 -_080364CC: - adds r0, r4, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r5, #1 - adds r0, r5, #0 - ands r0, r1 - adds r3, r4, #0 - adds r3, #0x84 - cmp r0, #0 - bne _080364F0 - ldr r0, [r3] - adds r1, r4, #0 - adds r1, #0x7b - ldrb r0, [r0, #3] - mov r8, r1 - ldrb r6, [r1] - cmp r0, r6 - bne _08036570 -_080364F0: - cmp r2, #1 - bne _08036510 - movs r0, #2 - strb r0, [r7] - strb r0, [r4, #0xb] - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0x2d - strb r0, [r1] - adds r1, #9 - movs r2, #0 - adds r0, #0xd3 - strh r0, [r1] - ldr r0, [r3] - strb r2, [r0, #2] - b _08036652 -_08036510: - movs r0, #0 - strb r0, [r7] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1] - ldr r0, [r3] - ldr r1, [r0, #8] - adds r1, #0x79 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r1, _0803656C @ =gUnk_03001160 - ldrb r2, [r1, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - movs r2, #1 - orrs r0, r2 - strb r0, [r1, #0x18] - ldrb r2, [r1, #0x10] - movs r0, #0x7f - ands r0, r2 - strb r0, [r1, #0x10] - adds r1, #0x38 - strb r5, [r1] - movs r0, #0x80 - lsls r0, r0, #3 - adds r1, r4, #0 - adds r1, #0x7b - ldrb r1, [r1] - adds r1, #0x80 - rsbs r1, r1, #0 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1b - movs r2, #0x30 - bl sub_080792BC - adds r0, r4, #0 - bl sub_08036C90 - movs r0, #0xef - bl sub_080A3268 - b _08036652 - .align 2, 0 -_0803656C: .4byte gUnk_03001160 -_08036570: - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #2 - strb r0, [r1] - adds r6, r1, #0 -_0803657A: - ldrb r0, [r6] - cmp r0, #0 - bne _08036598 - adds r0, r4, #0 - adds r0, #0x76 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x74 - movs r2, #0 - strh r0, [r1] - strb r2, [r4, #0xb] - adds r0, r4, #0 - bl sub_08036C90 - b _08036652 -_08036598: - subs r2, r0, #1 - strb r2, [r6] - ldr r0, _080365E4 @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - movs r0, #0x80 - lsls r0, r0, #4 - cmp r1, r0 - bne _080365F8 - lsls r0, r2, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3c - bne _080365F8 - ldr r2, _080365E8 @ =gUnk_03001160 - ldr r0, [r2, #0x2c] - ldr r1, [r4, #0x2c] - subs r0, r0, r1 - ldr r1, [r2, #0x30] - ldr r2, [r4, #0x30] - subs r1, r1, r2 - bl sub_080045DA - adds r3, r0, #0 - mov r7, r8 - ldrb r2, [r7] - rsbs r0, r2, #0 - movs r1, #0x80 - eors r0, r1 - subs r0, r3, r0 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x80 - bls _080365EC - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r0, r2, #0 - adds r0, #0x30 - b _080365F6 - .align 2, 0 -_080365E4: .4byte gUnk_03003F80 -_080365E8: .4byte gUnk_03001160 -_080365EC: - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r0, r2, #0 - subs r0, #0x30 -_080365F6: - strb r0, [r1, #3] -_080365F8: - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - movs r5, #1 - adds r2, r5, #0 - ands r2, r0 - cmp r2, #0 - bne _08036652 - adds r3, r4, #0 - adds r3, #0x84 - ldr r1, [r3] - ldrb r0, [r1, #3] - mov r6, r8 - ldrb r6, [r6] - cmp r0, r6 - beq _08036650 - strb r5, [r1, #2] - ldr r0, [r3] - ldrb r0, [r0, #3] - mov r7, r8 - ldrb r1, [r7] - subs r0, r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x80 - bls _0803663E - adds r2, r4, #0 - adds r2, #0x7a - adds r0, r4, #0 - adds r0, #0x82 - ldrh r1, [r2] - ldrh r0, [r0] - subs r1, r1, r0 - strh r1, [r2] - b _08036652 -_0803663E: - adds r1, r4, #0 - adds r1, #0x7a - adds r0, r4, #0 - adds r0, #0x82 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - b _08036652 -_08036650: - strb r2, [r1, #2] -_08036652: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08036658 -sub_08036658: @ 0x08036658 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x79 - ldrb r1, [r4] - adds r0, r1, #0 - cmp r0, #0xff - bne _08036678 - movs r0, #0 - strb r0, [r5, #0xb] - adds r0, r5, #0 - bl sub_08036C90 - movs r0, #0x78 - strb r0, [r4] - b _080366AC -_08036678: - adds r0, r1, #1 - strb r0, [r4] - movs r0, #1 - rsbs r0, r0, #0 - bl sub_0805308C - ldr r0, _080366B0 @ =gUnk_030010A0 - ldr r1, [r0] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _080366AC - movs r0, #7 - ands r1, r0 - cmp r1, #0 - bne _080366A0 - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_080A3268 -_080366A0: - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #3 - movs r3, #0 - bl sub_080A2988 -_080366AC: - pop {r4, r5, pc} - .align 2, 0 -_080366B0: .4byte gUnk_030010A0 - - thumb_func_start sub_080366B4 -sub_080366B4: @ 0x080366B4 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x79 - ldrb r0, [r2] - adds r1, r0, #0 - cmp r1, #0 - bne _080366D4 - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r1, [r0, #2] - adds r0, r4, #0 - bl sub_08036C90 - b _08036706 -_080366D4: - subs r0, #1 - strb r0, [r2] - ldr r0, _08036708 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _08036706 - adds r0, r4, #0 - movs r1, #0xf - movs r2, #2 - bl sub_0804A98C - str r0, [r4, #0x54] - cmp r0, #0 - beq _08036706 - str r4, [r0, #0x50] - ldr r2, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - rsbs r0, r0, #0 - movs r1, #0x80 - eors r0, r1 - strb r0, [r2, #0x15] -_08036706: - pop {r4, pc} - .align 2, 0 -_08036708: .4byte gUnk_030010A0 - - thumb_func_start sub_0803670C -sub_0803670C: @ 0x0803670C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0803675C @ =gUnk_080CF100 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrb r0, [r1, #6] - cmp r0, #0 - beq _08036746 - subs r0, #1 - strb r0, [r1, #6] - ldr r0, _08036760 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08036746 - adds r0, r4, #0 - movs r1, #0xf - movs r2, #3 - bl sub_0804A98C -_08036746: - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - subs r0, #2 - ldrh r2, [r0] - adds r0, #6 - ldrh r3, [r0] - adds r0, r4, #0 - bl sub_0805EC9C - pop {r4, pc} - .align 2, 0 -_0803675C: .4byte gUnk_080CF100 -_08036760: .4byte gUnk_030010A0 - - thumb_func_start sub_08036764 -sub_08036764: @ 0x08036764 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - strh r1, [r4, #0x2a] - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - rsbs r0, r0, #0 - movs r1, #0x80 - eors r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1b - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0x78 - strb r0, [r1] - adds r1, #9 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #4 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080368D8 - adds r0, r4, #0 - bl sub_080367B0 - pop {r4, pc} - - thumb_func_start sub_080367B0 -sub_080367B0: @ 0x080367B0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080AEF88 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _0803683A - movs r0, #2 - strb r0, [r4, #0xd] - adds r3, r4, #0 - adds r3, #0x84 - ldr r1, [r3] - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - strb r0, [r1, #3] - ldrh r1, [r4, #0x2a] - movs r0, #0xee - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080367E4 - ldr r1, [r3] - ldrb r0, [r1, #3] - rsbs r0, r0, #0 - strb r0, [r1, #3] -_080367E4: - ldrh r1, [r4, #0x2a] - movs r0, #0xee - ands r0, r1 - cmp r0, #0 - beq _080367FE - ldr r0, [r3] - ldrb r1, [r0, #3] - rsbs r1, r1, #0 - movs r5, #0x80 - rsbs r5, r5, #0 - adds r2, r5, #0 - eors r1, r2 - strb r1, [r0, #3] -_080367FE: - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0x18 - strb r0, [r1] - adds r1, #4 - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r1] - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] - ldr r1, [r3] - ldrb r0, [r1, #6] - adds r0, #0x1e - strb r0, [r1, #6] - movs r0, #0x1e - movs r1, #0 - bl sub_08080964 - movs r0, #0xac - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_080A3268 -_0803683A: - adds r1, r4, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08036852 - subs r1, #0x34 - movs r0, #0 - strb r0, [r1] -_08036852: - ldr r0, _08036868 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _08036864 - ldr r0, _0803686C @ =0x00000159 - bl sub_080A3268 -_08036864: - pop {r4, r5, pc} - .align 2, 0 -_08036868: .4byte gUnk_030010A0 -_0803686C: .4byte 0x00000159 - - thumb_func_start sub_08036870 -sub_08036870: @ 0x08036870 - push {lr} - adds r3, r0, #0 - adds r0, #0x84 - ldr r0, [r0] - ldrb r1, [r0, #3] - movs r0, #0x7b - adds r0, r0, r3 - mov ip, r0 - ldrb r0, [r0] - subs r1, r1, r0 - adds r0, r1, #7 - cmp r0, #0xe - bhi _080368AA - movs r2, #0 - movs r0, #1 - strb r0, [r3, #0xd] - mov r1, ip - ldrb r0, [r1] - rsbs r0, r0, #0 - movs r1, #0x80 - eors r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1b - strb r0, [r3, #0x15] - strh r2, [r3, #0x2a] - adds r0, r3, #0 - bl sub_080AEF88 - b _080368D4 -_080368AA: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x80 - bls _080368C4 - adds r2, r3, #0 - adds r2, #0x7a - adds r0, r3, #0 - adds r0, #0x82 - ldrh r1, [r2] - ldrh r0, [r0] - subs r1, r1, r0 - strh r1, [r2] - b _080368D4 -_080368C4: - adds r1, r3, #0 - adds r1, #0x7a - adds r0, r3, #0 - adds r0, #0x82 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] -_080368D4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080368D8 -sub_080368D8: @ 0x080368D8 - push {lr} - adds r3, r0, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _08036902 - ldr r2, _08036910 @ =gUnk_03001160 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r2, #0x38 - movs r0, #1 - strb r0, [r2] -_08036902: - adds r0, r3, #0 - adds r0, #0x76 - movs r1, #0xa0 - strh r1, [r0] - subs r0, #2 - strh r1, [r0] - pop {pc} - .align 2, 0 -_08036910: .4byte gUnk_03001160 - - thumb_func_start sub_08036914 -sub_08036914: @ 0x08036914 - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - ldr r0, _08036994 @ =gUnk_080C9160 - mov sb, r0 - lsls r0, r4, #1 - add r0, sb - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r6, r6, #0x10 - asrs r6, r6, #0x10 - adds r1, r6, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #1 - mov r8, r1 - bl sub_0806FA04 - ldr r1, [r5, #0x50] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1, #0x2c] - adds r1, r1, r0 - str r1, [r5, #0x2c] - adds r4, #0x40 - lsls r4, r4, #1 - add r4, sb - movs r1, #0 - ldrsh r0, [r4, r1] - adds r1, r6, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r1, r8 - bl sub_0806FA04 - ldr r2, [r5, #0x50] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r2, #0x30] - subs r1, r1, r0 - str r1, [r5, #0x30] - adds r2, #0x62 - ldrb r0, [r2] - adds r1, r5, #0 - adds r1, #0x62 - strb r0, [r1] - ldr r0, [r5, #0x50] - adds r0, #0x63 - ldrb r0, [r0] - adds r5, #0x63 - strb r0, [r5] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, pc} - .align 2, 0 -_08036994: .4byte gUnk_080C9160 - - thumb_func_start sub_08036998 -sub_08036998: @ 0x08036998 - push {r4, lr} - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x79 - ldrb r0, [r2, #0xf] - ldrb r4, [r3] - adds r1, r0, r4 - strb r1, [r3] - ldrb r4, [r2, #0xf] - movs r0, #0xf - ldrsb r0, [r2, r0] - cmp r0, #0 - bge _080369BE - ldrb r0, [r2, #0xe] - lsls r1, r1, #0x18 - lsls r0, r0, #0x18 - cmn r1, r0 - bge _080369CC - b _080369C8 -_080369BE: - movs r0, #0 - ldrsb r0, [r3, r0] - ldrb r1, [r2, #0xe] - cmp r0, r1 - ble _080369CC -_080369C8: - rsbs r0, r4, #0 - strb r0, [r2, #0xf] -_080369CC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080369D0 -sub_080369D0: @ 0x080369D0 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov ip, r1 - adds r6, r2, #0 - adds r1, r0, #0 - adds r1, #0x84 - ldr r4, [r1] - ldr r2, [r4, #0xc] - ldrb r1, [r4, #1] - subs r1, #1 - lsls r1, r1, #2 - adds r3, r4, #0 - adds r3, #0xc - adds r1, r3, r1 - ldr r1, [r1] - adds r1, #0x7b - adds r0, #0x79 - ldrb r0, [r0] - ldrb r1, [r1] - adds r0, r0, r1 - adds r2, #0x7b - strb r0, [r2] - ldrb r0, [r4, #1] - movs r2, #0 - cmp r0, #1 - beq _08036A58 - adds r5, r3, #0 - lsls r0, r6, #0x18 - lsrs r0, r0, #0x18 - mov r8, r0 - rsbs r0, r6, #0 - lsls r0, r0, #0x18 - asrs r7, r0, #0x18 -_08036A16: - lsls r0, r2, #2 - adds r0, r5, r0 - ldr r1, [r0] - adds r1, #0x7b - adds r2, #1 - lsls r0, r2, #2 - adds r0, r5, r0 - ldr r0, [r0] - adds r3, r0, #0 - adds r3, #0x7b - ldrb r1, [r1] - ldrb r0, [r3] - cmp r1, r0 - beq _08036A4C - subs r0, r0, r1 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08036A44 - cmp r0, r8 - ble _08036A4C - adds r0, r1, r6 - b _08036A4A -_08036A44: - cmp r0, r7 - bge _08036A4C - subs r0, r1, r6 -_08036A4A: - strb r0, [r3] -_08036A4C: - ldrb r0, [r4, #1] - subs r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r2, r0 - blo _08036A16 -_08036A58: - ldrb r0, [r4, #1] - subs r2, r0, #1 - cmp r2, #0 - beq _08036AE4 - ldr r0, _08036AEC @ =gUnk_080C9160 - mov sb, r0 - movs r1, #0x80 - mov r8, r1 - mov r1, ip - lsls r0, r1, #0x14 - asrs r6, r0, #0x10 - lsls r0, r2, #2 - adds r0, #8 - adds r5, r0, r4 - movs r7, #0x80 - lsls r7, r7, #1 -_08036A78: - subs r4, r2, #1 - ldr r0, [r5] - adds r0, #0x7b - ldrb r0, [r0] - mov r1, r8 - eors r0, r1 - lsls r0, r0, #1 - add r0, sb - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r6, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r7, #0 - bl sub_0806FA04 - ldr r2, [r5] - ldr r1, [r5, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1, #0x2c] - adds r1, r1, r0 - str r1, [r2, #0x2c] - ldr r0, [r5] - adds r0, #0x7b - ldrb r0, [r0] - mov r1, r8 - eors r0, r1 - adds r0, #0x40 - lsls r0, r0, #1 - add r0, sb - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r6, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r7, #0 - bl sub_0806FA04 - ldr r2, [r5] - ldr r1, [r5, #4] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1, #0x30] - subs r1, r1, r0 - str r1, [r2, #0x30] - subs r5, #4 - adds r2, r4, #0 - cmp r2, #0 - bne _08036A78 -_08036AE4: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08036AEC: .4byte gUnk_080C9160 - - thumb_func_start sub_08036AF0 -sub_08036AF0: @ 0x08036AF0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0xc - str r1, [sp] - mov r8, r2 - adds r0, #0x84 - ldr r0, [r0] - str r0, [sp, #4] - ldrb r0, [r0, #1] - subs r4, r0, #1 - cmp r4, #0 - bne _08036B10 - b _08036C80 -_08036B10: - ldr r0, [sp, #4] - adds r0, #0xc - str r0, [sp, #8] - lsls r0, r1, #0x14 - asrs r0, r0, #0x10 - mov sl, r0 -_08036B1C: - mov r1, r8 - cmp r1, #0 - bne _08036BC0 - lsls r0, r4, #2 - ldr r2, [sp, #8] - adds r6, r2, r0 - ldr r0, [r6] - subs r4, #1 - lsls r1, r4, #2 - adds r5, r2, r1 - ldr r2, [r5] - movs r3, #0x2e - ldrsh r1, [r2, r3] - movs r3, #0x32 - ldrsh r2, [r2, r3] - bl sub_080041DC - mov sb, r4 - ldr r1, [sp] - cmp r1, r0 - blo _08036B48 - b _08036C78 -_08036B48: - ldr r2, [r5] - ldr r3, [r6] - ldr r0, [r2, #0x2c] - ldr r1, [r3, #0x2c] - subs r0, r0, r1 - ldr r1, [r2, #0x30] - ldr r2, [r3, #0x30] - subs r1, r1, r2 - bl sub_080045DA - ldr r1, [r5] - adds r1, #0x7b - strb r0, [r1] - ldr r0, [r5] - adds r0, #0x7b - ldrb r0, [r0] - lsls r0, r0, #1 - ldr r2, _08036BBC @ =gUnk_080C9160 - adds r0, r0, r2 - movs r3, #0 - ldrsh r0, [r0, r3] - mov r1, sl - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #1 - bl sub_0806FA04 - ldr r2, [r5] - ldr r1, [r6] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1, #0x2c] - adds r1, r1, r0 - str r1, [r2, #0x2c] - ldr r0, [r5] - adds r0, #0x7b - ldrb r0, [r0] - adds r0, #0x40 - lsls r0, r0, #1 - ldr r1, _08036BBC @ =gUnk_080C9160 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - mov r1, sl - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #1 - bl sub_0806FA04 - ldr r2, [r5] - ldr r1, [r6] - b _08036C6E - .align 2, 0 -_08036BBC: .4byte gUnk_080C9160 -_08036BC0: - subs r2, r4, #1 - lsls r0, r2, #2 - ldr r3, [sp, #8] - adds r0, r3, r0 - ldr r0, [r0] - adds r5, r0, #0 - adds r5, #0x7b - lsls r1, r4, #2 - adds r0, r3, r1 - ldr r0, [r0] - adds r0, #0x7b - ldrb r4, [r5] - ldrb r3, [r0] - adds r7, r1, #0 - ldr r6, [sp, #4] - adds r6, #0xc - mov sb, r2 - cmp r4, r3 - beq _08036C0E - subs r0, r3, r4 - lsls r0, r0, #0x18 - asrs r1, r0, #0x18 - cmp r1, #0 - ble _08036BFE - mov r2, r8 - lsls r0, r2, #0x18 - lsrs r0, r0, #0x18 - cmp r1, r0 - ble _08036C0E - subs r0, r3, r2 - b _08036C0C -_08036BFE: - mov r2, r8 - rsbs r0, r2, #0 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r1, r0 - bge _08036C0E - adds r0, r3, r2 -_08036C0C: - strb r0, [r5] -_08036C0E: - mov r3, sb - lsls r4, r3, #2 - adds r4, r6, r4 - ldr r0, [r4] - adds r0, #0x7b - ldrb r0, [r0] - lsls r0, r0, #1 - ldr r1, _08036C8C @ =gUnk_080C9160 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - mov r1, sl - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #1 - bl sub_0806FA04 - ldr r2, [r4] - adds r5, r6, r7 - ldr r1, [r5] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1, #0x2c] - adds r1, r1, r0 - str r1, [r2, #0x2c] - ldr r0, [r4] - adds r0, #0x7b - ldrb r0, [r0] - adds r0, #0x40 - lsls r0, r0, #1 - ldr r3, _08036C8C @ =gUnk_080C9160 - adds r0, r0, r3 - movs r1, #0 - ldrsh r0, [r0, r1] - mov r1, sl - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #1 - bl sub_0806FA04 - ldr r2, [r4] - ldr r1, [r5] -_08036C6E: - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1, #0x30] - subs r1, r1, r0 - str r1, [r2, #0x30] -_08036C78: - mov r4, sb - cmp r4, #0 - beq _08036C80 - b _08036B1C -_08036C80: - add sp, #0xc - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08036C8C: .4byte gUnk_080C9160 - - thumb_func_start sub_08036C90 -sub_08036C90: @ 0x08036C90 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r2, [r0] - cmp r2, #4 - bne _08036CDC - adds r3, r4, #0 - adds r3, #0x81 - ldrb r0, [r3] - cmp r0, #0xff - beq _08036CDC - movs r1, #0 - strb r2, [r4, #0xd] - strb r1, [r4, #0xb] - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - ldr r1, _08036CFC @ =gUnk_080CF124 - ldrb r0, [r3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - adds r2, r4, #0 - adds r2, #0x7e - ldrb r1, [r2] - adds r0, r0, r1 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x7d - strb r0, [r1] - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - ldrb r0, [r1] - cmp r0, #5 - bne _08036D42 - movs r0, #0xff - strb r0, [r3] -_08036CDC: - movs r0, #3 - strb r0, [r4, #0xd] - adds r2, r4, #0 - adds r2, #0x7c - ldrb r1, [r2] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08036D14 - ldrb r1, [r2] - cmp r1, #1 - beq _08036D00 - cmp r1, #3 - beq _08036D0A - b _08036D42 - .align 2, 0 -_08036CFC: .4byte gUnk_080CF124 -_08036D00: - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0x1e - strb r0, [r1] - b _08036D42 -_08036D0A: - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0xa - strb r0, [r1] - b _08036D42 -_08036D14: - ldr r0, _08036D2C @ =gUnk_02034350 - movs r2, #0xc - ldrsh r1, [r0, r2] - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _08036D30 - adds r0, r4, #0 - adds r0, #0x79 - strb r3, [r0] - b _08036D42 - .align 2, 0 -_08036D2C: .4byte gUnk_02034350 -_08036D30: - ldr r0, _08036D44 @ =gUnk_080CF10C - bl sub_080028F4 - ldr r1, _08036D48 @ =gUnk_080CF110 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x79 - strb r1, [r0] -_08036D42: - pop {r4, pc} - .align 2, 0 -_08036D44: .4byte gUnk_080CF10C -_08036D48: .4byte gUnk_080CF110 - - thumb_func_start sub_08036D4C -sub_08036D4C: @ 0x08036D4C - mov ip, r0 - mov r1, ip - adds r1, #0x82 - movs r3, #0 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1] - mov r2, ip - adds r2, #0x84 - ldr r1, [r2] - movs r0, #2 - strb r0, [r1] - ldr r1, [r2] - movs r0, #0xff - strb r0, [r1, #4] - mov r0, ip - strb r3, [r0, #0xd] - bx lr - - thumb_func_start sub_08036D70 -sub_08036D70: @ 0x08036D70 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - strb r1, [r4, #0xd] - movs r0, #0xc0 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r1, [r0] - ldr r0, _08036D98 @ =gUnk_080CF134 - bl sub_080028F4 - ldr r1, _08036D9C @ =gUnk_080CF138 - adds r0, r0, r1 - ldrb r0, [r0] - adds r4, #0x79 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08036D98: .4byte gUnk_080CF134 -_08036D9C: .4byte gUnk_080CF138 - - thumb_func_start sub_08036DA0 -sub_08036DA0: @ 0x08036DA0 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #0xff - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - movs r2, #1 - ands r2, r0 - cmp r2, #0 - bne _08036DF0 - ldr r0, _08036DD0 @ =gUnk_02034350 - movs r3, #0xc - ldrsh r1, [r0, r3] - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _08036DD4 - adds r0, r4, #0 - adds r0, #0x78 - strb r2, [r0] - b _08036DF8 - .align 2, 0 -_08036DD0: .4byte gUnk_02034350 -_08036DD4: - ldr r0, _08036DE8 @ =gUnk_080CF13C - bl sub_080028F4 - ldr r1, _08036DEC @ =gUnk_080CF13F - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x78 - strb r1, [r0] - b _08036DF8 - .align 2, 0 -_08036DE8: .4byte gUnk_080CF13C -_08036DEC: .4byte gUnk_080CF13F -_08036DF0: - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0 - strb r0, [r1] -_08036DF8: - adds r0, r4, #0 - bl sub_08036D4C - pop {r4, pc} - - thumb_func_start sub_08036E00 -sub_08036E00: @ 0x08036E00 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #4 - adds r4, r0, #0 - movs r2, #0 - movs r0, #4 - strb r0, [r4, #0xd] - strb r2, [r4, #0xb] - adds r7, r4, #0 - adds r7, #0x81 - movs r0, #0xff - strb r0, [r7] - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] - adds r6, r4, #0 - adds r6, #0x84 - ldr r0, [r6] - strb r2, [r0, #2] - movs r0, #0x7c - adds r0, r0, r4 - mov r8, r0 - ldrb r5, [r0] - cmp r5, #0 - bne _08036E3E - adds r0, r4, #0 - adds r0, #0x7d - strb r2, [r0] - b _08036F00 -_08036E3E: - cmp r5, #4 - bne _08036ECC - str r2, [sp] - bl sub_08000E50 - movs r1, #3 - mov sb, r1 - ands r0, r1 - ldr r2, [sp] - cmp r0, #0 - beq _08036E62 - ldr r0, _08036E84 @ =gUnk_02034350 - movs r3, #0xc - ldrsh r1, [r0, r3] - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _08036E8C -_08036E62: - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0x3c - strb r0, [r1] - strh r2, [r4, #0x2a] - ldr r0, [r6] - strb r5, [r0] - ldr r0, _08036E88 @ =0x00000159 - bl sub_080A3268 - b _08036F00 - .align 2, 0 -_08036E84: .4byte gUnk_02034350 -_08036E88: .4byte 0x00000159 -_08036E8C: - mov r1, r8 - ldrb r0, [r1] - cmp r0, #4 - bne _08036ECC - adds r0, r4, #0 - adds r0, #0x7e - strb r2, [r0] - bl sub_08000E50 - adds r1, r0, #0 - mov r3, sb - ands r1, r3 - ldr r0, [r6] - ldrb r0, [r0, #5] - cmp r0, r1 - beq _08036EB0 - strb r1, [r7] - b _08036EB8 -_08036EB0: - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r7] -_08036EB8: - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - subs r0, #3 - ldrb r0, [r0] - strb r0, [r1, #5] - adds r0, r4, #0 - bl sub_08036C90 - b _08036F00 -_08036ECC: - adds r0, r4, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - ldr r1, _08036F0C @ =gUnk_080CF147 - cmp r0, #0 - bne _08036EDE - ldr r1, _08036F10 @ =gUnk_080CF142 -_08036EDE: - adds r2, r4, #0 - adds r2, #0x7e - ldrb r0, [r2] - adds r0, r1, r0 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x7d - strb r1, [r0] - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #4 - bls _08036F00 - movs r0, #0 - strb r0, [r2] -_08036F00: - add sp, #4 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08036F0C: .4byte gUnk_080CF147 -_08036F10: .4byte gUnk_080CF142 - - thumb_func_start sub_08036F14 -sub_08036F14: @ 0x08036F14 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r6, r1, #0 - adds r4, #0x84 - ldr r0, [r4] - ldr r0, [r0, #8] - bl sub_0801D2B4 - movs r5, #0 - adds r7, r4, #0 -_08036F28: - ldr r0, [r7] - lsls r1, r5, #2 - adds r0, #0x20 - adds r0, r0, r1 - ldr r0, [r0] - adds r1, r6, #0 - bl sub_0801D2B4 - adds r5, #1 - cmp r5, #3 - bls _08036F28 - ldr r0, [r4] - ldrb r0, [r0, #1] - subs r5, r0, #1 - cmp r5, #0 - beq _08036F5E -_08036F48: - ldr r0, [r4] - lsls r1, r5, #2 - adds r0, #0xc - adds r0, r0, r1 - ldr r0, [r0] - adds r1, r6, #0 - bl sub_0801D2B4 - subs r5, #1 - cmp r5, #0 - bne _08036F48 -_08036F5E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08036F60 -sub_08036F60: @ 0x08036F60 - push {r4, r5, lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xd] - cmp r0, #4 - beq _08036FA8 - adds r0, r2, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r4, #1 - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - bne _08036FA8 - adds r3, r2, #0 - adds r3, #0x76 - movs r0, #0xe - ldrsb r0, [r2, r0] - ldrh r1, [r3] - adds r0, r0, r1 - strh r0, [r3] - adds r1, r2, #0 - adds r1, #0x74 - movs r0, #0xe - ldrsb r0, [r2, r0] - ldrh r5, [r1] - adds r0, r0, r5 - strh r0, [r1] - ldrh r0, [r3] - cmp r0, #0x9b - bhi _08036FA0 - strb r4, [r2, #0xe] - b _08036FA8 -_08036FA0: - cmp r0, #0xa4 - bls _08036FA8 - movs r0, #0xff - strb r0, [r2, #0xe] -_08036FA8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08036FAC -sub_08036FAC: @ 0x08036FAC - push {lr} - adds r2, r0, #0 - ldr r0, _08036FD0 @ =gUnk_030010A0 - ldr r0, [r0] - ands r0, r1 - cmp r0, #0 - bne _08036FDE - adds r0, r2, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08036FD8 - ldr r0, _08036FD4 @ =0x00000163 - bl sub_080A3268 - b _08036FDE - .align 2, 0 -_08036FD0: .4byte gUnk_030010A0 -_08036FD4: .4byte 0x00000163 -_08036FD8: - ldr r0, _08036FE0 @ =0x000001B1 - bl sub_080A3268 -_08036FDE: - pop {pc} - .align 2, 0 -_08036FE0: .4byte 0x000001B1 - - thumb_func_start sub_08036FE4 -sub_08036FE4: @ 0x08036FE4 - push {r4, r5, lr} - adds r2, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08037048 - adds r0, r2, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _08037048 - adds r0, r2, #0 - adds r0, #0x82 - ldrh r3, [r0] - adds r4, r0, #0 - cmp r3, #0 - beq _08037048 - adds r0, #2 - ldr r0, [r0] - ldrb r0, [r0, #4] - cmp r0, #0xff - beq _0803702C - cmp r0, #0 - bne _08037022 - adds r1, r2, #0 - adds r1, #0x7a - ldrh r5, [r1] - adds r0, r3, r5 - b _0803702A -_08037022: - adds r1, r2, #0 - adds r1, #0x7a - ldrh r0, [r1] - subs r0, r0, r3 -_0803702A: - strh r0, [r1] -_0803702C: - adds r0, r2, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #1 - beq _0803703C - cmp r0, #3 - beq _08037042 - b _08037048 -_0803703C: - ldrh r0, [r4] - subs r0, #1 - b _08037046 -_08037042: - ldrh r0, [r4] - subs r0, #2 -_08037046: - strh r0, [r4] -_08037048: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803704C -sub_0803704C: @ 0x0803704C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - adds r1, r0, #0 - cmp r1, #0 - beq _08037070 - ldr r0, _0803706C @ =gUnk_080012C8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _08037084 - .align 2, 0 -_0803706C: .4byte gUnk_080012C8 -_08037070: - ldr r4, _08037088 @ =gUnk_080CF244 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 -_08037084: - pop {r4, r5, pc} - .align 2, 0 -_08037088: .4byte gUnk_080CF244 - - thumb_func_start sub_0803708C -sub_0803708C: @ 0x0803708C - push {lr} - ldr r2, _080370A0 @ =gUnk_080CF25C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080370A0: .4byte gUnk_080CF25C - - thumb_func_start sub_080370A4 -sub_080370A4: @ 0x080370A4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08037418 - adds r0, r5, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9d - bne _08037110 - movs r0, #6 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r5, #0x20] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0803710C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - b _0803711E - .align 2, 0 -_0803710C: .4byte gUnk_03000BF0 -_08037110: - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - beq _0803711E - adds r0, r5, #0 - bl sub_08037408 -_0803711E: - ldr r1, _08037128 @ =gUnk_080CF244 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08037128: .4byte gUnk_080CF244 - - thumb_func_start sub_0803712C -sub_0803712C: @ 0x0803712C - push {lr} - ldr r2, _08037140 @ =gUnk_080CF278 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08037140: .4byte gUnk_080CF278 - - thumb_func_start sub_08037144 -sub_08037144: @ 0x08037144 - push {r4, lr} - adds r4, r0, #0 - bl sub_08037418 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xd] - strb r1, [r4, #0xe] - movs r0, #0x30 - strb r0, [r4, #0x1d] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803715C -sub_0803715C: @ 0x0803715C - push {r4, lr} - adds r4, r0, #0 - bl sub_08037418 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08037176 - adds r0, r4, #0 - bl sub_0806F4E8 - b _0803718A -_08037176: - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _0803718A - adds r0, r4, #0 - bl sub_08037408 -_0803718A: - pop {r4, pc} - - thumb_func_start sub_0803718C -sub_0803718C: @ 0x0803718C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xe] - cmp r4, #0 - bne _080371DA - bl sub_08037418 - movs r0, #1 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - adds r0, r5, #0 - adds r0, #0x62 - strb r4, [r0] - adds r0, #0x12 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080371EC @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_080371DA: - adds r0, r5, #0 - bl sub_0806F520 - cmp r0, #0 - beq _080371F0 - adds r0, r5, #0 - bl sub_0806F3E4 - b _080371F6 - .align 2, 0 -_080371EC: .4byte gUnk_03000BF0 -_080371F0: - adds r0, r5, #0 - bl sub_08037408 -_080371F6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080371F8 -sub_080371F8: @ 0x080371F8 - push {lr} - adds r2, r0, #0 - ldr r0, _08037210 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _0803720E - adds r0, r2, #0 - bl sub_08037408 -_0803720E: - pop {pc} - .align 2, 0 -_08037210: .4byte gUnk_03003F80 - - thumb_func_start nullsub_161 -nullsub_161: @ 0x08037214 - bx lr - .align 2, 0 - - thumb_func_start sub_08037218 -sub_08037218: @ 0x08037218 - push {lr} - bl sub_08037408 - pop {pc} - - thumb_func_start sub_08037220 -sub_08037220: @ 0x08037220 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #2 - strb r0, [r5, #0x1c] - ldrh r0, [r5, #0x32] - adds r0, #3 - strh r0, [r5, #0x32] - movs r0, #0x2e - ldrsh r4, [r5, r0] - ldr r1, _0803727C @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r2, #0x3f - ands r4, r2 - movs r3, #0x32 - ldrsh r0, [r5, r3] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r6, r5, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r4, #0 - bl sub_080001DA - adds r1, r5, #0 - adds r1, #0x74 - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #7 - ldrb r2, [r6] - adds r1, r4, #0 - bl sub_0800015E - adds r0, r5, #0 - movs r1, #5 - bl sub_08004260 - pop {r4, r5, r6, pc} - .align 2, 0 -_0803727C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08037280 -sub_08037280: @ 0x08037280 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08037418 - adds r0, r5, #0 - bl sub_080002A0 - movs r1, #0x80 - lsls r1, r1, #7 - cmp r0, r1 - beq _080372CC - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080372E4 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - adds r0, r5, #0 - bl sub_08037408 -_080372CC: - adds r0, r5, #0 - movs r1, #1 - movs r2, #0x40 - bl sub_08049F64 - cmp r0, #0 - beq _080372E2 - movs r0, #2 - strb r0, [r5, #0xc] - movs r0, #0x1e - strb r0, [r5, #0xe] -_080372E2: - pop {r4, r5, r6, pc} - .align 2, 0 -_080372E4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080372E8 -sub_080372E8: @ 0x080372E8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08037418 - adds r3, r5, #0 - adds r3, #0x62 - ldr r2, _08037370 @ =gUnk_080CF290 - ldrb r1, [r5, #0xe] - movs r6, #3 - adds r0, r6, #0 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - ldrb r1, [r3] - adds r0, r0, r1 - strb r0, [r3] - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - bne _0803736E - strb r6, [r5, #0xc] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - strb r4, [r3] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0xa0 - strb r0, [r1] - subs r1, #4 - movs r0, #0xf - strb r0, [r1] - ldr r0, _08037374 @ =gUnk_080FD34C - str r0, [r5, #0x48] - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08037378 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0803736E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08037370: .4byte gUnk_080CF290 -_08037374: .4byte gUnk_080FD34C -_08037378: .4byte gUnk_03000BF0 - - thumb_func_start sub_0803737C -sub_0803737C: @ 0x0803737C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x34] - ldr r1, _080373A8 @ =0xFFFF0000 - adds r0, r0, r1 - str r0, [r4, #0x34] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #6 - rsbs r0, r0, #0 - cmp r1, r0 - bgt _080373A6 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xa - strb r0, [r4, #0xe] - ldr r1, _080373AC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] -_080373A6: - pop {r4, pc} - .align 2, 0 -_080373A8: .4byte 0xFFFF0000 -_080373AC: .4byte gUnk_03001160 - - thumb_func_start sub_080373B0 -sub_080373B0: @ 0x080373B0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080373C4 - movs r0, #5 - strb r0, [r1, #0xc] -_080373C4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080373C8 -sub_080373C8: @ 0x080373C8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _080373DC - adds r0, r4, #0 - bl sub_08037408 -_080373DC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080373E0 -sub_080373E0: @ 0x080373E0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _080373F2 - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_080373F2: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08037406 - adds r0, r4, #0 - bl sub_08037408 -_08037406: - pop {r4, pc} - - thumb_func_start sub_08037408 -sub_08037408: @ 0x08037408 - push {lr} - movs r1, #5 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_08037418 -sub_08037418: @ 0x08037418 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r3, _08037464 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r2, #0x3f - ands r4, r2 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r6, r5, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r4, #0 - bl sub_080001DA - ldr r1, _08037468 @ =0x00004067 - cmp r0, r1 - bne _08037460 - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - ldrb r2, [r6] - adds r1, r4, #0 - bl sub_0800015E - bl sub_0805E780 -_08037460: - pop {r4, r5, r6, pc} - .align 2, 0 -_08037464: .4byte gUnk_03000BF0 -_08037468: .4byte 0x00004067 - - thumb_func_start sub_0803746C -sub_0803746C: @ 0x0803746C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08037488 @ =gUnk_080CF294 - bl sub_0800129E - movs r3, #0x15 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_08037488: .4byte gUnk_080CF294 - - thumb_func_start sub_0803748C -sub_0803748C: @ 0x0803748C - push {lr} - ldr r2, _080374A0 @ =gUnk_080CF2AC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080374A0: .4byte gUnk_080CF2AC - - thumb_func_start sub_080374A4 -sub_080374A4: @ 0x080374A4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r2, [r0] - cmp r2, #0x87 - bne _080374D4 - ldrb r0, [r4, #0xc] - cmp r0, #6 - bne _080374BC - adds r0, r4, #0 - bl sub_08037ACC -_080374BC: - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_08037B48 - b _08037534 -_080374D4: - ldrb r0, [r4, #0xc] - adds r1, r0, #0 - cmp r1, #6 - beq _0803752E - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x27 - bne _080374F2 - cmp r2, #0x80 - bne _080374F2 - adds r0, r4, #0 - bl sub_08037A14 - b _08037534 -_080374F2: - subs r0, r1, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _08037534 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - movs r1, #0x10 - eors r0, r1 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08037810 - cmp r0, #0 - beq _08037534 - movs r0, #4 - strb r0, [r4, #0xe] - b _08037534 -_0803752E: - adds r0, r4, #0 - bl sub_08037A58 -_08037534: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08037546 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08037546: - ldr r1, _08037550 @ =gUnk_080CF294 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08037550: .4byte gUnk_080CF294 - - thumb_func_start nullsub_162 -nullsub_162: @ 0x08037554 - bx lr - .align 2, 0 - - thumb_func_start sub_08037558 -sub_08037558: @ 0x08037558 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - movs r1, #0 - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x76 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, r4, #0 - bl sub_08037794 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08037580 -sub_08037580: @ 0x08037580 - push {r4, lr} - adds r4, r0, #0 - bl sub_08037810 - cmp r0, #0 - bne _080375A2 - adds r1, r4, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080375A2 - adds r0, r4, #0 - bl sub_080377B0 -_080375A2: - pop {r4, pc} - - thumb_func_start sub_080375A4 -sub_080375A4: @ 0x080375A4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080378B0 - cmp r0, #0 - bne _080375F4 - adds r0, r4, #0 - bl sub_08037810 - cmp r0, #0 - bne _080375F4 - adds r1, r4, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080375D2 - adds r0, r4, #0 - bl sub_08037794 - b _080375F4 -_080375D2: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _080375F4 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080375F4 - adds r0, r4, #0 - bl sub_080379BC -_080375F4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080375F8 -sub_080375F8: @ 0x080375F8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080378B0 - cmp r0, #0 - bne _08037622 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08037622 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x18 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC -_08037622: - pop {r4, pc} - - thumb_func_start sub_08037624 -sub_08037624: @ 0x08037624 - push {r4, lr} - adds r4, r0, #0 - bl sub_080378B0 - cmp r0, #0 - bne _0803768E - adds r0, r4, #0 - bl sub_08037914 - cmp r0, #0 - bne _0803768E - adds r1, r4, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08037652 - adds r0, r4, #0 - bl sub_08037794 - b _0803768E -_08037652: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _0803767C - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803768E - adds r0, r4, #0 - bl sub_080379BC - b _0803768E -_0803767C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803768E - adds r0, r4, #0 - bl sub_0803797C -_0803768E: - pop {r4, pc} - - thumb_func_start sub_08037690 -sub_08037690: @ 0x08037690 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080376B6 - adds r1, r4, #0 - adds r1, #0x77 - movs r0, #0x14 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08037794 - b _080376CC -_080376B6: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080376CC - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x27 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080AEF88 -_080376CC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080376D0 -sub_080376D0: @ 0x080376D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080379EC - cmp r0, #0 - bne _0803773A - bl sub_08077B2C - ldr r2, _08037724 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r1, r0 - strb r1, [r2, #0x1a] - ldrb r1, [r2, #0xa] - orrs r0, r1 - strb r0, [r2, #0xa] - ldr r0, _08037728 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA6C - adds r0, r4, #0 - bl sub_080042B8 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0803773A - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803772C - adds r0, r4, #0 - bl sub_08037A58 - b _0803773A - .align 2, 0 -_08037724: .4byte gUnk_03003F80 -_08037728: .4byte gUnk_03001160 -_0803772C: - ldrb r0, [r2] - movs r1, #1 - eors r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08037B10 -_0803773A: - pop {r4, pc} - - thumb_func_start sub_0803773C -sub_0803773C: @ 0x0803773C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08037758 - adds r0, r4, #0 - bl sub_08037794 -_08037758: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803775C -sub_0803775C: @ 0x0803775C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08037790 - movs r0, #0x42 - movs r1, #0 - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _0803778A - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0804A4E4 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08037C0C -_0803778A: - adds r0, r5, #0 - bl sub_0805E7BC -_08037790: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08037794 -sub_08037794: @ 0x08037794 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x74 - movs r1, #0x1e - strh r1, [r2] - subs r2, #0x35 - movs r1, #0x26 - strb r1, [r2] - ldrb r1, [r0, #0x14] - bl sub_080042AC - pop {pc} - - thumb_func_start sub_080377B0 -sub_080377B0: @ 0x080377B0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xf] - bl sub_08000E50 - movs r1, #0x38 - ands r0, r1 - adds r0, #0x78 - adds r1, r4, #0 - adds r1, #0x74 - strh r0, [r1] - movs r0, #0x40 - strh r0, [r4, #0x24] - bl sub_08000E50 - adds r5, r0, #0 - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _080377F8 - movs r0, #3 - ands r0, r5 - cmp r0, #0 - beq _080377F8 - adds r0, r4, #0 - bl sub_08049EE4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - b _080377FE -_080377F8: - movs r0, #0x18 - ands r5, r0 - strb r5, [r4, #0x15] -_080377FE: - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - pop {r4, r5, pc} - - thumb_func_start sub_08037810 -sub_08037810: @ 0x08037810 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r1, r5, #0 - adds r1, #0x76 - ldrb r0, [r1] - cmp r0, #0 - bne _080378A8 - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080378AC - ldr r6, _080378A4 @ =gUnk_020000B0 - ldr r0, [r6] - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r5, #0 - movs r3, #0x40 - bl sub_0806FCB8 - cmp r0, #0 - beq _080378AC - ldr r1, [r6] - adds r0, r5, #0 - bl sub_080045C4 - ldrb r1, [r5, #0x15] - subs r0, r0, r1 - adds r0, #6 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0xc - bhi _080378AC - movs r0, #3 - strb r0, [r5, #0xc] - movs r4, #0x18 - movs r0, #0x18 - strb r0, [r5, #0xe] - movs r0, #8 - strb r0, [r5, #0xf] - movs r0, #0xc0 - strh r0, [r5, #0x24] - ldr r1, [r6] - adds r0, r5, #0 - bl sub_080045C4 - adds r0, #4 - ands r0, r4 - strb r0, [r5, #0x15] - lsrs r0, r0, #3 - strb r0, [r5, #0x14] - adds r1, r5, #0 - adds r1, #0x74 - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1] - ldr r2, [r6] - ldrh r1, [r2, #0x2e] - adds r0, r5, #0 - adds r0, #0x78 - strh r1, [r0] - ldrh r0, [r2, #0x32] - adds r3, r5, #0 - adds r3, #0x7a - strh r0, [r3] - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl sub_080042AC - movs r0, #1 - b _080378AE - .align 2, 0 -_080378A4: .4byte gUnk_020000B0 -_080378A8: - subs r0, #1 - strb r0, [r1] -_080378AC: - movs r0, #0 -_080378AE: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080378B0 -sub_080378B0: @ 0x080378B0 - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x77 - ldrb r0, [r1] - cmp r0, #0 - bne _0803790C - movs r0, #1 - bl sub_08049DF4 - cmp r0, #0 - beq _08037910 - ldr r5, _08037908 @ =gUnk_020000B0 - ldr r1, [r5] - adds r0, r4, #0 - movs r2, #0xa - bl sub_0804A044 - ldrb r1, [r4, #0x15] - cmp r0, r1 - bne _08037910 - ldr r0, [r5] - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x18 - bl sub_0806FCB8 - cmp r0, #0 - beq _08037910 - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, #0xfb - strh r0, [r4, #0x24] - ldrb r1, [r4, #0x14] - adds r1, #8 - adds r0, r4, #0 - bl sub_080042AC - movs r0, #1 - b _08037912 - .align 2, 0 -_08037908: .4byte gUnk_020000B0 -_0803790C: - subs r0, #1 - strb r0, [r1] -_08037910: - movs r0, #0 -_08037912: - pop {r4, r5, pc} - - thumb_func_start sub_08037914 -sub_08037914: @ 0x08037914 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08037970 - ldr r7, _08037950 @ =gUnk_020000B0 - ldr r0, [r7] - adds r5, r4, #0 - adds r5, #0x78 - ldrh r1, [r5] - adds r6, r4, #0 - adds r6, #0x7a - ldrh r2, [r6] - movs r3, #0x28 - bl sub_0806FCB8 - cmp r0, #0 - bne _08037954 - ldr r0, [r7] - ldrh r1, [r0, #0x2e] - strh r1, [r5] - ldrh r0, [r0, #0x32] - strh r0, [r6] - adds r0, r4, #0 - bl sub_0803797C - movs r0, #0 - b _08037978 - .align 2, 0 -_08037950: .4byte gUnk_020000B0 -_08037954: - ldrh r1, [r5] - ldrh r2, [r6] - adds r0, r4, #0 - movs r3, #8 - bl sub_0806FCB8 - cmp r0, #0 - bne _08037968 - movs r0, #0 - b _08037978 -_08037968: - adds r1, r4, #0 - adds r1, #0x76 - movs r0, #0x3c - strb r0, [r1] -_08037970: - adds r0, r4, #0 - bl sub_08037794 - movs r0, #1 -_08037978: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0803797C -sub_0803797C: @ 0x0803797C - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0x18 - movs r0, #0x18 - strb r0, [r5, #0xe] - movs r0, #8 - strb r0, [r5, #0xf] - movs r1, #0x2e - ldrsh r0, [r5, r1] - movs r2, #0x32 - ldrsh r1, [r5, r2] - adds r2, r5, #0 - adds r2, #0x78 - ldrh r2, [r2] - adds r3, r5, #0 - adds r3, #0x7a - ldrh r3, [r3] - bl sub_080045D4 - adds r0, #4 - ands r0, r4 - strb r0, [r5, #0x15] - lsrs r0, r0, #3 - ldrb r1, [r5, #0x14] - cmp r0, r1 - beq _080379BA - strb r0, [r5, #0x14] - adds r1, r0, #4 - adds r0, r5, #0 - bl sub_080042AC -_080379BA: - pop {r4, r5, pc} - - thumb_func_start sub_080379BC -sub_080379BC: @ 0x080379BC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x18 - strb r0, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - bl sub_08000E50 - movs r1, #2 - ands r0, r1 - ldrb r1, [r4, #0x14] - adds r1, r1, r0 - subs r1, #1 - movs r0, #3 - ands r1, r0 - strb r1, [r4, #0x14] - lsls r1, r1, #3 - strb r1, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - - thumb_func_start sub_080379EC -sub_080379EC: @ 0x080379EC - push {r4, lr} - adds r4, r0, #0 - bl sub_0807953C - cmp r0, #0 - beq _08037A0E - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08037A0E - adds r0, r4, #0 - bl sub_08037A58 - movs r0, #1 - b _08037A10 -_08037A0E: - movs r0, #0 -_08037A10: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08037A14 -sub_08037A14: @ 0x08037A14 - push {r4, lr} - adds r4, r0, #0 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x18 - strb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x20 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - adds r2, #0x12 - ldrb r1, [r2] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #5 - strb r0, [r1] - ldr r1, [r4, #0x4c] - adds r0, r4, #0 - bl sub_0806FA24 - ldrb r1, [r4, #0x14] - adds r1, #0xc - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08037A58 -sub_08037A58: @ 0x08037A58 - push {r4, lr} - adds r4, r0, #0 - bl sub_08037ACC - movs r0, #7 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0xf - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - adds r3, r4, #0 - adds r3, #0x3d - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - bne _08037A84 - movs r0, #0xec - strb r0, [r3] -_08037A84: - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x26 - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x3b - ldrb r0, [r2] - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - movs r0, #0xf4 - strb r0, [r3] - ldrb r0, [r4, #0x14] - lsls r0, r0, #3 - movs r1, #0x10 - eors r0, r1 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] - adds r1, #4 - movs r0, #8 - strb r0, [r1] - adds r1, #4 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1] - adds r1, #0x30 - movs r0, #0x3c - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08037ACC -sub_08037ACC: @ 0x08037ACC - ldr r3, _08037B04 @ =gUnk_03003F80 - ldr r1, [r3, #0x30] - ldr r2, _08037B08 @ =0xFFFFFEFF - ands r1, r2 - str r1, [r3, #0x30] - ldr r3, _08037B0C @ =gUnk_03001160 - ldrb r2, [r3, #0x10] - movs r1, #0x80 - orrs r1, r2 - strb r1, [r3, #0x10] - adds r2, r3, #0 - adds r2, #0x3d - movs r1, #0x1e - strb r1, [r2] - ldrb r0, [r0, #0x14] - lsls r0, r0, #3 - adds r1, r3, #0 - adds r1, #0x3e - strb r0, [r1] - adds r1, #4 - movs r0, #4 - strb r0, [r1] - adds r1, #4 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1] - bx lr - .align 2, 0 -_08037B04: .4byte gUnk_03003F80 -_08037B08: .4byte 0xFFFFFEFF -_08037B0C: .4byte gUnk_03001160 - - thumb_func_start sub_08037B10 -sub_08037B10: @ 0x08037B10 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r5, _08037B44 @ =gUnk_03001160 - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0xc - strb r0, [r1] - subs r0, #0x14 - bl sub_080526A0 - adds r4, r0, #0 - adds r0, r5, #0 - movs r1, #0x7a - bl sub_0800449C - cmp r4, #0 - bne _08037B40 - adds r0, r6, #0 - bl sub_08037A58 - adds r1, r6, #0 - adds r1, #0x76 - movs r0, #0xf0 - strb r0, [r1] -_08037B40: - pop {r4, r5, r6, pc} - .align 2, 0 -_08037B44: .4byte gUnk_03001160 - - thumb_func_start sub_08037B48 -sub_08037B48: @ 0x08037B48 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x2a - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _08037B88 - ldrb r0, [r4, #0xe] - movs r2, #0 - strb r0, [r3, #0xb] - movs r0, #0x29 - adds r0, r0, r3 - mov ip, r0 - ldrb r1, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x62 - strb r2, [r0] - adds r1, r3, #0 - adds r1, #0x63 - movs r0, #0xfc - strb r0, [r1] - str r4, [r3, #0x50] -_08037B88: - adds r0, r4, #0 - adds r0, #0x80 - str r3, [r0] - movs r0, #0x2a - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _08037BCA - ldrb r0, [r4, #0xe] - strb r0, [r3, #0xb] - movs r0, #0x29 - adds r0, r0, r3 - mov ip, r0 - ldrb r1, [r0] - movs r2, #8 - rsbs r2, r2, #0 - adds r0, r2, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - adds r1, r3, #0 - adds r1, #0x62 - movs r0, #0xfd - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x63 - strb r2, [r0] - str r4, [r3, #0x50] -_08037BCA: - adds r0, r4, #0 - adds r0, #0x84 - str r3, [r0] - movs r0, #0x2a - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _08037C06 - ldrb r0, [r4, #0xe] - strb r0, [r3, #0xb] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r3, #0 - adds r1, #0x62 - movs r0, #5 - strb r0, [r1] - adds r1, #1 - movs r0, #0xf5 - strb r0, [r1] - str r4, [r3, #0x50] -_08037C06: - str r3, [r4, #0x54] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08037C0C -sub_08037C0C: @ 0x08037C0C - push {lr} - adds r3, r0, #0 - adds r0, #0x80 - ldr r2, [r0] - cmp r2, #0 - beq _08037C1E - movs r0, #0xf - strb r0, [r2, #0xe] - str r1, [r2, #0x50] -_08037C1E: - adds r0, r3, #0 - adds r0, #0x84 - ldr r2, [r0] - cmp r2, #0 - beq _08037C2E - movs r0, #0xf - strb r0, [r2, #0xe] - str r1, [r2, #0x50] -_08037C2E: - ldr r2, [r3, #0x54] - cmp r2, #0 - beq _08037C3A - movs r0, #0xf - strb r0, [r2, #0xe] - str r1, [r2, #0x50] -_08037C3A: - pop {pc} - - thumb_func_start sub_08037C3C -sub_08037C3C: @ 0x08037C3C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - cmp r0, #0 - beq _08037C5C - ldr r0, _08037C58 @ =gUnk_080012C8 - lsls r1, r4, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _08037C7E - .align 2, 0 -_08037C58: .4byte gUnk_080012C8 -_08037C5C: - ldr r4, _08037C80 @ =gUnk_080CF46C - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC -_08037C7E: - pop {r4, r5, pc} - .align 2, 0 -_08037C80: .4byte gUnk_080CF46C - - thumb_func_start sub_08037C84 -sub_08037C84: @ 0x08037C84 - push {lr} - ldr r2, _08037C98 @ =gUnk_080CF484 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08037C98: .4byte gUnk_080CF484 - - thumb_func_start sub_08037C9C -sub_08037C9C: @ 0x08037C9C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08037CB0 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08037CB0: - ldr r1, _08037CBC @ =gUnk_080CF46C - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08037CBC: .4byte gUnk_080CF46C - - thumb_func_start sub_08037CC0 -sub_08037CC0: @ 0x08037CC0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08037CD6 - ldrb r0, [r4, #0xb] - bl sub_0807CD04 -_08037CD6: - adds r0, r4, #0 - movs r1, #0xff - movs r2, #0x58 - bl sub_0804A7E0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08037CE4 -sub_08037CE4: @ 0x08037CE4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - bl sub_0807CC30 - cmp r0, #0 - beq _08037CF6 - bl sub_0805E780 -_08037CF6: - adds r0, r4, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xff - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08037E14 - pop {r4, pc} - - thumb_func_start sub_08037D0C -sub_08037D0C: @ 0x08037D0C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08037D1C - subs r0, #1 - strb r0, [r4, #0xf] - b _08037D26 -_08037D1C: - adds r0, r4, #0 - bl sub_08037E90 - cmp r0, #0 - bne _08037D52 -_08037D26: - adds r0, r4, #0 - movs r1, #2 - bl sub_08004276 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _08037D40 - adds r0, r4, #0 - bl sub_08037E14 - b _08037D52 -_08037D40: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08037D52 - adds r0, r4, #0 - bl sub_08037E14 -_08037D52: - pop {r4, pc} - - thumb_func_start sub_08037D54 -sub_08037D54: @ 0x08037D54 - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_08004276 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08037DC4 - movs r0, #2 - eors r0, r1 - strb r0, [r2] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - beq _08037E0C - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0804A98C - adds r2, r0, #0 - cmp r2, #0 - beq _08037E0C - ldrb r0, [r4, #0x15] - strb r0, [r2, #0x15] - ldrb r1, [r4, #0x15] - lsrs r1, r1, #2 - ldr r0, _08037DBC @ =gUnk_080CF490 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r3, [r2, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldr r0, _08037DC0 @ =0x0000FFFD - strh r0, [r2, #0x36] - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_08004488 - b _08037E0C - .align 2, 0 -_08037DBC: .4byte gUnk_080CF490 -_08037DC0: .4byte 0x0000FFFD -_08037DC4: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08037E0C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08037DEE - strb r3, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x14] - orrs r0, r1 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08037E14 - b _08037E0C -_08037DEE: - ldr r1, _08037E10 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_08037E0C: - pop {r4, pc} - .align 2, 0 -_08037E10: .4byte gUnk_03001160 - - thumb_func_start sub_08037E14 -sub_08037E14: @ 0x08037E14 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #8 - strb r0, [r5, #0xe] - ldr r1, _08037E6C @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - adds r4, r0, #4 - movs r0, #0x18 - ands r4, r0 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_0808094C - ldr r1, _08037E70 @ =0x00002004 - adds r0, r0, r1 - lsrs r3, r4, #2 - ldr r1, _08037E74 @ =gUnk_080CF498 - adds r3, r3, r1 - movs r2, #0x2e - ldrsh r1, [r5, r2] - movs r2, #0 - ldrsb r2, [r3, r2] - adds r1, r1, r2 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - adds r2, r2, r3 - movs r3, #0 - bl sub_080AE4CC - cmp r0, #0 - beq _08037E78 - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] - b _08037E7A - .align 2, 0 -_08037E6C: .4byte gUnk_03001160 -_08037E70: .4byte 0x00002004 -_08037E74: .4byte gUnk_080CF498 -_08037E78: - strb r4, [r5, #0x15] -_08037E7A: - ldrb r0, [r5, #0x15] - lsrs r4, r0, #3 - ldrb r0, [r5, #0x14] - cmp r4, r0 - beq _08037E8E - strb r4, [r5, #0x14] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08004260 -_08037E8E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08037E90 -sub_08037E90: @ 0x08037E90 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08037EA8 @ =gUnk_03001160 - movs r2, #8 - bl sub_0804A044 - adds r1, r0, #0 - cmp r1, #0xff - bne _08037EAC - movs r0, #0 - b _08037EC6 - .align 2, 0 -_08037EA8: .4byte gUnk_03001160 -_08037EAC: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #3 - strb r0, [r4, #0xe] - strb r1, [r4, #0x15] - lsrs r0, r1, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - movs r0, #1 -_08037EC6: - pop {r4, pc} - - thumb_func_start sub_08037EC8 -sub_08037EC8: @ 0x08037EC8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08037EE4 @ =gUnk_080CF4A0 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_08037EE4: .4byte gUnk_080CF4A0 - - thumb_func_start sub_08037EE8 -sub_08037EE8: @ 0x08037EE8 - push {lr} - ldr r2, _08037EFC @ =gUnk_080CF4B8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08037EFC: .4byte gUnk_080CF4B8 - - thumb_func_start sub_08037F00 -sub_08037F00: @ 0x08037F00 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08037F14 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08037F14: - ldr r1, _08037F54 @ =gUnk_080CF4A0 - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x94 - bne _08037F50 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r0, #0x14 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _08037F46 - ldr r0, [r4, #0x20] - asrs r0, r0, #2 -_08037F46: - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08037F50: - pop {r4, pc} - .align 2, 0 -_08037F54: .4byte gUnk_080CF4A0 - - thumb_func_start sub_08037F58 -sub_08037F58: @ 0x08037F58 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08037F6E - ldrb r0, [r4, #0xb] - bl sub_0807CD04 -_08037F6E: - ldrb r0, [r4, #0xa] - movs r2, #0x58 - cmp r0, #0 - beq _08037F78 - movs r2, #0x59 -_08037F78: - adds r0, r4, #0 - movs r1, #0xff - bl sub_0804A7E0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08037F84 -sub_08037F84: @ 0x08037F84 - push {r4, lr} - adds r4, r0, #0 - bl sub_08001242 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _08037F9E - movs r1, #0xc0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 -_08037F9E: - pop {r4, pc} - - thumb_func_start sub_08037FA0 -sub_08037FA0: @ 0x08037FA0 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xb] - bl sub_0807CC30 - cmp r0, #0 - beq _08037FB2 - bl sub_0805E780 -_08037FB2: - adds r0, r5, #0 - bl sub_0804A720 - movs r4, #0 - movs r0, #1 - strb r0, [r5, #0xc] - strb r4, [r5, #0xd] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x20 - strb r0, [r5, #0xe] - strb r4, [r5, #0xf] - adds r0, r5, #0 - adds r0, #0x80 - strb r4, [r0] - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08037FE0 -sub_08037FE0: @ 0x08037FE0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_08004276 - ldrb r0, [r4, #0xe] - adds r2, r0, #0 - cmp r2, #0 - beq _08037FF8 - subs r0, #1 - strb r0, [r4, #0xe] - b _08038046 -_08037FF8: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0803802C - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08038046 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #6 - strb r0, [r4, #0xe] - strb r2, [r4, #0xf] - movs r0, #0xe0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - bl sub_08038168 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _08038046 -_0803802C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08038046 - movs r0, #0x40 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08038046: - pop {r4, pc} - - thumb_func_start sub_08038048 -sub_08038048: @ 0x08038048 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_08004276 - adds r0, r4, #0 - bl sub_080AEF88 - movs r0, #0x36 - ldrsh r6, [r4, r0] - bl sub_08000E50 - adds r5, r0, #0 - movs r0, #0xf - ands r5, r0 - movs r1, #0xc0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #1 - bne _08038088 - movs r0, #0 - movs r1, #3 - strb r1, [r4, #0xc] - strb r0, [r4, #0xd] - movs r0, #0x14 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08004260 - b _0803810C -_08038088: - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _08038098 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E - b _080380B0 -_08038098: - adds r0, r4, #0 - bl sub_080002B8 - movs r1, #0xf0 - ands r1, r0 - cmp r1, #0x50 - bne _080380B0 - ldrb r0, [r4, #0x15] - adds r0, #0x10 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_080380B0: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080380C8 - adds r0, r5, #0 - adds r0, #0x10 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08038168 -_080380C8: - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _080380E2 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r6, r0 - bge _080380E2 - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - movs r0, #1 - strb r0, [r4, #0xd] -_080380E2: - movs r0, #0xc - rsbs r0, r0, #0 - cmp r6, r0 - bge _080380F6 - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - b _08038100 -_080380F6: - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 -_08038100: - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] -_0803810C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08038110 -sub_08038110: @ 0x08038110 - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_08004276 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08038164 - adds r2, r4, #0 - adds r2, #0x80 - ldrb r0, [r2] - cmp r0, #4 - bhi _08038150 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0xe0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - bl sub_08038168 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _08038164 -_08038150: - movs r0, #0 - movs r1, #1 - strb r1, [r4, #0xc] - strb r0, [r2] - movs r0, #0xc0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08038164: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08038168 -sub_08038168: @ 0x08038168 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0803817E - adds r0, r4, #0 - bl sub_08049EE4 - strb r0, [r4, #0x15] - b _080381AA -_0803817E: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08038196 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - b _080381AA -_08038196: - bl sub_08000E50 - movs r1, #0xf - ands r1, r0 - adds r1, #0x18 - ldrb r0, [r4, #0x15] - adds r1, r1, r0 - movs r0, #0x1f - ands r1, r0 - strb r1, [r4, #0x15] -_080381AA: - pop {r4, pc} - - thumb_func_start sub_080381AC -sub_080381AC: @ 0x080381AC - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - adds r1, r0, #0 - cmp r1, #0 - beq _080381D0 - ldr r0, _080381CC @ =gUnk_080012C8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _080381F2 - .align 2, 0 -_080381CC: .4byte gUnk_080012C8 -_080381D0: - ldr r4, _080381F4 @ =gUnk_080CF4C8 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC -_080381F2: - pop {r4, r5, pc} - .align 2, 0 -_080381F4: .4byte gUnk_080CF4C8 - - thumb_func_start sub_080381F8 -sub_080381F8: @ 0x080381F8 - push {lr} - ldr r2, _0803820C @ =gUnk_080CF4E0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803820C: .4byte gUnk_080CF4E0 - - thumb_func_start sub_08038210 -sub_08038210: @ 0x08038210 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08038224 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08038224: - ldr r1, _08038230 @ =gUnk_080CF4C8 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08038230: .4byte gUnk_080CF4C8 - - thumb_func_start sub_08038234 -sub_08038234: @ 0x08038234 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _0803824A - ldrb r0, [r4, #0xb] - bl sub_0807CD04 -_0803824A: - adds r0, r4, #0 - movs r1, #0xff - movs r2, #0x58 - bl sub_0804A7E0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08038258 -sub_08038258: @ 0x08038258 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - bl sub_0807CC30 - cmp r0, #0 - beq _0803826A - bl sub_0805E780 -_0803826A: - adds r0, r4, #0 - bl sub_0804A720 - movs r0, #0xff - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_080383AC - pop {r4, pc} - - thumb_func_start sub_0803827C -sub_0803827C: @ 0x0803827C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0803828C - subs r0, #1 - strb r0, [r4, #0xf] - b _080382BC -_0803828C: - ldr r5, _080382B8 @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #8 - bl sub_0804A044 - cmp r0, #0xff - bne _080382B0 - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - movs r3, #0x24 - bl sub_0806FCB8 - cmp r0, #0 - beq _080382BC -_080382B0: - adds r0, r4, #0 - bl sub_080383E4 - b _080382E8 - .align 2, 0 -_080382B8: .4byte gUnk_03001160 -_080382BC: - adds r0, r4, #0 - movs r1, #2 - bl sub_08004276 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _080382D6 - adds r0, r4, #0 - bl sub_080383AC - b _080382E8 -_080382D6: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080382E8 - adds r0, r4, #0 - bl sub_080383AC -_080382E8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080382EC -sub_080382EC: @ 0x080382EC - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08038300 - movs r0, #3 - strb r0, [r1, #0xc] -_08038300: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08038304 -sub_08038304: @ 0x08038304 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_08004276 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _08038334 - adds r0, r4, #0 - adds r0, #0x78 - ldrb r0, [r0] - ldrb r1, [r4, #0x15] - cmp r0, r1 - bne _08038330 - movs r0, #0x5a - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_080383AC - b _080383AA -_08038330: - strb r0, [r4, #0x15] - b _080383AA -_08038334: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - movs r1, #0xa - bl __modsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _080383AA - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x78 - ldrb r0, [r0] - ldrb r3, [r4, #0x15] - cmp r0, r3 - bne _08038398 - bl sub_08000E50 - movs r1, #2 - ands r1, r0 - subs r1, #1 - lsls r1, r1, #0x1b - lsrs r1, r1, #0x18 - adds r0, r4, #0 - adds r0, #0x79 - lsls r5, r1, #0x18 - lsrs r3, r5, #0x18 - adds r2, r0, #0 - movs r6, #0x7a - adds r6, r6, r4 - mov ip, r6 - ldrb r0, [r2] - cmp r3, r0 - bne _08038388 - ldrb r6, [r6] - cmp r3, r6 - bne _08038388 - rsbs r0, r5, #0 - lsrs r1, r0, #0x18 -_08038388: - ldrb r0, [r2] - mov r3, ip - strb r0, [r3] - strb r1, [r2] - ldrb r0, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x18 - ands r0, r1 -_08038398: - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_080383AA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080383AC -sub_080383AC: @ 0x080383AC - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - adds r0, #0xf8 - strh r0, [r4, #0x24] - ldr r1, _080383E0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r1, r0, #3 - ldrb r0, [r4, #0x14] - cmp r1, r0 - beq _080383DC - strb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_080383DC: - pop {r4, pc} - .align 2, 0 -_080383E0: .4byte gUnk_03001160 - - thumb_func_start sub_080383E4 -sub_080383E4: @ 0x080383E4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldr r1, _0803842C @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x78 - strb r0, [r1] - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - adds r1, #1 - movs r0, #0xff - strb r0, [r1] - adds r1, #1 - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 -_0803842C: .4byte gUnk_03001160 - - thumb_func_start sub_08038430 -sub_08038430: @ 0x08038430 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0803844C @ =gUnk_080CF4F0 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_0803844C: .4byte gUnk_080CF4F0 - - thumb_func_start sub_08038450 -sub_08038450: @ 0x08038450 - push {lr} - ldr r2, _08038464 @ =gUnk_080CF508 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08038464: .4byte gUnk_080CF508 - - thumb_func_start sub_08038468 -sub_08038468: @ 0x08038468 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0803847C - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0803847C: - ldr r1, _080384B0 @ =gUnk_080CF4F0 - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080384D8 - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x5a - bne _080384CA - movs r0, #0x3f - ands r0, r1 - cmp r0, #0x14 - beq _080384BA - cmp r0, #0x14 - bgt _080384B4 - cmp r0, #0xe - beq _080384C0 - b _080384D8 - .align 2, 0 -_080384B0: .4byte gUnk_080CF4F0 -_080384B4: - cmp r0, #0x15 - beq _080384C0 - b _080384D8 -_080384BA: - movs r0, #5 - strb r0, [r4, #0xc] - b _080384D8 -_080384C0: - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0 - strb r0, [r1] - b _080384D8 -_080384CA: - movs r0, #0x3f - ands r0, r1 - cmp r0, #0x1d - bne _080384D8 - adds r0, r4, #0 - bl sub_08038754 -_080384D8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_163 -nullsub_163: @ 0x080384DC - bx lr - .align 2, 0 - - thumb_func_start sub_080384E0 -sub_080384E0: @ 0x080384E0 - push {r4, r5, r6, lr} - adds r6, r0, #0 - bl sub_0804A720 - movs r4, #0 - movs r5, #1 - movs r0, #1 - strb r0, [r6, #0xc] - bl sub_08000E50 - movs r1, #0x1c - ands r0, r1 - strb r0, [r6, #0x15] - lsrs r0, r0, #2 - strb r0, [r6, #0x14] - ldrb r1, [r6, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r6, #0x10] - strb r4, [r6, #0xe] - movs r0, #0x20 - strb r0, [r6, #0xf] - adds r0, r6, #0 - adds r0, #0x82 - strb r4, [r0] - bl sub_08000E50 - ands r0, r5 - adds r1, r6, #0 - adds r1, #0x80 - strb r0, [r1] - adds r0, r6, #0 - adds r0, #0x81 - strb r4, [r0] - subs r1, #0x41 - movs r0, #0x72 - strb r0, [r1] - ldrb r1, [r6, #0x14] - adds r0, r6, #0 - bl sub_08004260 - pop {r4, r5, r6, pc} - - thumb_func_start sub_08038534 -sub_08038534: @ 0x08038534 - push {r4, lr} - adds r4, r0, #0 - bl sub_080387F0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _08038594 - strb r0, [r4, #0xe] - movs r0, #0x20 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _08038578 - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _0803856A - adds r1, #7 - b _0803856C -_0803856A: - adds r1, #1 -_0803856C: - movs r0, #7 - ands r0, r1 - strb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - b _0803858A -_08038578: - adds r0, r4, #0 - bl sub_08049EE4 - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #2 - strb r0, [r4, #0x14] -_0803858A: - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - b _080385C8 -_08038594: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _080385C8 - adds r0, r4, #0 - movs r1, #0x80 - bl sub_0803872C - cmp r0, #0 - beq _080385C8 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xf] - movs r0, #0x40 - strh r0, [r4, #0x24] - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FCAC - strb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_080385C8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080385CC -sub_080385CC: @ 0x080385CC - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_080387F0 - adds r0, r4, #0 - movs r1, #0x60 - bl sub_0803872C - cmp r0, #0 - beq _08038604 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0xc - strb r0, [r4, #0xf] - movs r0, #0x80 - strh r0, [r4, #0x24] - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FCAC - strb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - b _08038648 -_08038604: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08038648 - movs r6, #0x10 - strb r6, [r4, #0xf] - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _08038622 - adds r0, r4, #0 - bl sub_0806FCAC - b _08038638 -_08038622: - ldrb r5, [r4, #0x14] - bl sub_08000E50 - ands r0, r6 - cmp r0, #0 - beq _08038632 - adds r1, r5, #2 - b _08038634 -_08038632: - adds r1, r5, #6 -_08038634: - movs r0, #7 - ands r0, r1 -_08038638: - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_08038648: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0803864C -sub_0803864C: @ 0x0803864C - push {r4, lr} - adds r4, r0, #0 - bl sub_080387F0 - adds r0, r4, #0 - movs r1, #0x14 - bl sub_0803872C - cmp r0, #0 - beq _08038668 - adds r0, r4, #0 - bl sub_08038754 - b _080386B4 -_08038668: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080386B4 - movs r0, #0xa - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x81 - ldrb r0, [r2] - cmp r0, #0 - bne _08038698 - ldrh r0, [r4, #0x24] - adds r0, #0x40 - strh r0, [r4, #0x24] - lsls r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #0x12 - cmp r0, r1 - ble _080386B4 - movs r0, #1 - strb r0, [r2] - b _080386B4 -_08038698: - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - ble _080386AE - adds r0, r2, #0 - subs r0, #0x50 - strh r0, [r4, #0x24] - b _080386B4 -_080386AE: - adds r0, r4, #0 - bl sub_08038754 -_080386B4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080386B8 -sub_080386B8: @ 0x080386B8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080387F0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_080044EC - adds r1, r0, #0 - cmp r1, #1 - bne _08038720 - strb r1, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x3f - movs r0, #0x72 - strb r0, [r2] - strb r1, [r4, #0xe] - movs r0, #0x80 - strb r0, [r4, #0xf] - strh r0, [r4, #0x24] - subs r2, #0x16 - ldrb r1, [r2] - subs r0, #0xb9 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_08004488 - adds r0, r4, #0 - movs r1, #0x70 - bl sub_0801D2B4 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #2 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08038720 - adds r0, r4, #0 - bl sub_0806FAB0 -_08038720: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08038724 -sub_08038724: @ 0x08038724 - push {lr} - bl sub_08038754 - pop {pc} - - thumb_func_start sub_0803872C -sub_0803872C: @ 0x0803872C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #1 - bl sub_08049DF4 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _08038750 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_0806FC80 - cmp r0, #0 - beq _08038750 - movs r0, #1 - b _08038752 -_08038750: - movs r0, #0 -_08038752: - pop {r4, r5, pc} - - thumb_func_start sub_08038754 -sub_08038754: @ 0x08038754 - push {r4, lr} - adds r4, r0, #0 - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x5a - strb r0, [r1] - movs r1, #0 - movs r0, #0xc0 - strh r0, [r4, #0x24] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - adds r0, #0x81 - strb r1, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080387C0 @ =0x0000012B - bl sub_08004488 - adds r0, r4, #0 - movs r1, #0x71 - bl sub_0801D2B4 - ldrb r2, [r4, #0x15] - movs r0, #0xf - ands r0, r2 - cmp r0, #0 - beq _080387C4 - movs r1, #0x10 - ands r1, r2 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1b - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r1, #9 - adds r0, r4, #0 - bl sub_08004260 - b _080387D8 - .align 2, 0 -_080387C0: .4byte 0x0000012B -_080387C4: - movs r1, #0x10 - ands r1, r2 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1b - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r1, #8 - adds r0, r4, #0 - bl sub_08004260 -_080387D8: - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _080387EE - adds r0, r4, #0 - bl sub_0806FAB0 -_080387EE: - pop {r4, pc} - - thumb_func_start sub_080387F0 -sub_080387F0: @ 0x080387F0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #4 - beq _08038890 - adds r5, r4, #0 - adds r5, #0x82 - ldrb r0, [r5] - cmp r0, #0 - bne _08038890 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _08038868 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r6, #0x32 - ldrsh r1, [r4, r6] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002E0 - cmp r0, #0xf - beq _08038836 - cmp r0, #0x2a - bne _0803883A -_08038836: - movs r0, #0x20 - strb r0, [r5] -_0803883A: - ldrb r0, [r4, #0x15] - lsrs r0, r0, #1 - ldr r1, _0803886C @ =gUnk_080CF520 - adds r0, r0, r1 - ldrb r5, [r4, #0x15] - movs r1, #0 - ldrsb r1, [r0, r1] - movs r2, #1 - ldrsb r2, [r0, r2] - adds r0, r4, #0 - bl sub_080002CC - cmp r0, #0xf - beq _0803885A - cmp r0, #0x2a - bne _08038870 -_0803885A: - ldrb r0, [r4, #0x15] - adds r0, #0x10 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - b _0803887E - .align 2, 0 -_08038868: .4byte gUnk_03000BF0 -_0803886C: .4byte gUnk_080CF520 -_08038870: - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _0803887E - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0800417E -_0803887E: - ldrb r0, [r4, #0x15] - cmp r5, r0 - beq _08038890 - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_08038890: - adds r0, r4, #0 - bl sub_08004274 - adds r1, r4, #0 - adds r1, #0x82 - ldrb r0, [r1] - cmp r0, #0 - bne _080388A8 - adds r0, r4, #0 - bl sub_080AEF88 - b _080388B2 -_080388A8: - subs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0806F69C -_080388B2: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080388B4 -sub_080388B4: @ 0x080388B4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080388D0 @ =gUnk_080CF600 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_080388D0: .4byte gUnk_080CF600 - - thumb_func_start sub_080388D4 -sub_080388D4: @ 0x080388D4 - push {lr} - ldr r2, _080388E8 @ =gUnk_080CF618 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080388E8: .4byte gUnk_080CF618 - - thumb_func_start sub_080388EC -sub_080388EC: @ 0x080388EC - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x43 - ldrb r0, [r6] - cmp r0, #0 - beq _08038902 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08038902: - ldr r1, _08038948 @ =gUnk_080CF600 - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803897E - ldrb r0, [r4, #0xc] - cmp r0, #4 - beq _0803897E - ldr r5, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - adds r1, r5, #0 - adds r1, #0x3d - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x3e - ldrb r1, [r2] - adds r0, r5, #0 - adds r0, #0x3e - strb r1, [r0] - ldrb r0, [r6] - cmp r0, #0 - beq _0803894C - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - b _0803897E - .align 2, 0 -_08038948: .4byte gUnk_080CF600 -_0803894C: - ldrb r0, [r4, #0xc] - cmp r0, #1 - bne _0803897E - adds r0, r1, #0 - adds r0, #0x12 - movs r1, #0x1c - ands r0, r1 - strb r0, [r5, #0x15] - lsrs r0, r0, #2 - strb r0, [r5, #0x14] - ldrb r0, [r2] - adds r0, #0x14 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - bl sub_08038C84 - adds r0, r5, #0 - movs r1, #1 - bl sub_08038C84 -_0803897E: - pop {r4, r5, r6, pc} - - thumb_func_start nullsub_164 -nullsub_164: @ 0x08038980 - bx lr - .align 2, 0 - - thumb_func_start sub_08038984 -sub_08038984: @ 0x08038984 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #0x13 - bl sub_080A7EE0 - adds r6, r0, #0 - cmp r6, #0 - beq _080389E6 - adds r0, r5, #0 - bl sub_0804A720 - movs r4, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - str r6, [r5, #0x54] - bl sub_08000E50 - movs r1, #6 - ands r0, r1 - strb r0, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x80 - movs r1, #0 - strh r4, [r0] - subs r0, #6 - strb r1, [r0] - str r5, [r6, #0x50] - strb r1, [r6, #0xa] - movs r0, #0xff - strb r0, [r6, #0x14] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r6, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r5, #0 - bl sub_08038BA8 -_080389E6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080389E8 -sub_080389E8: @ 0x080389E8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r6, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x80 - ldrh r0, [r1] - cmp r0, #0 - beq _08038A08 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08038A68 - movs r0, #0x80 - strh r0, [r4, #0x24] - b _08038A68 -_08038A08: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08038A22 - adds r0, r4, #0 - bl sub_08038BA8 - adds r0, r6, #0 - bl sub_08038C2C - b _08038A68 -_08038A22: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08038A2E - subs r0, #1 - strb r0, [r4, #0xe] - b _08038A68 -_08038A2E: - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _08038A68 - movs r0, #0xc - strb r0, [r4, #0xe] - ldrb r1, [r6, #0x14] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08038A5C - ldrb r5, [r6, #0x14] - bl sub_08000E50 - movs r1, #0x20 - ands r1, r0 - cmp r1, #0 - beq _08038A54 - adds r1, r5, #1 - b _08038A56 -_08038A54: - adds r1, r5, #7 -_08038A56: - movs r0, #7 - ands r0, r1 - strb r0, [r6, #0x14] -_08038A5C: - adds r0, r4, #0 - bl sub_08038BA8 - adds r0, r6, #0 - bl sub_08038C2C -_08038A68: - adds r0, r4, #0 - bl sub_08038B90 - pop {r4, r5, r6, pc} - - thumb_func_start sub_08038A70 -sub_08038A70: @ 0x08038A70 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r6, [r5, #0x54] - adds r1, r5, #0 - adds r1, #0x80 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r7, r0, #0x10 - cmp r7, #0 - bne _08038AC0 - movs r1, #3 - strb r1, [r5, #0xc] - adds r2, r5, #0 - adds r2, #0x82 - movs r0, #4 - strb r0, [r2] - movs r0, #0x80 - strh r0, [r5, #0x24] - movs r4, #0x20 - strb r4, [r5, #0xf] - strb r1, [r6, #0xc] - adds r1, r6, #0 - adds r1, #0x82 - movs r0, #2 - strb r0, [r1] - movs r0, #0xff - strb r0, [r6, #0x14] - adds r0, r5, #0 - movs r1, #0 - bl sub_08038C84 - adds r0, r6, #0 - bl sub_08038C2C - strb r4, [r6, #0xf] - str r7, [r6, #0x50] - str r5, [r6, #0x54] - b _08038AFE -_08038AC0: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08038AFE - movs r0, #0x10 - strb r0, [r5, #0xf] - adds r0, r5, #0 - movs r1, #0 - bl sub_08049F84 - strb r0, [r5, #0x15] - ldrb r0, [r5, #0x15] - adds r0, #4 - movs r1, #0x1c - ands r0, r1 - lsrs r1, r0, #2 - strb r1, [r6, #0x14] - movs r1, #0x18 - ands r0, r1 - lsrs r0, r0, #2 - strb r0, [r5, #0x14] - adds r0, r5, #0 - movs r1, #0 - bl sub_08038C84 - adds r0, r6, #0 - movs r1, #1 - bl sub_08038C84 -_08038AFE: - adds r0, r5, #0 - bl sub_08038B90 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08038B08 -sub_08038B08: @ 0x08038B08 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08038B18 - subs r0, #1 - strb r0, [r4, #0xf] - b _08038B5E -_08038B18: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r2, #0x80 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08038B5E - movs r0, #4 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #3 - strb r0, [r1] - movs r0, #0x32 - strb r0, [r4, #0xe] - movs r0, #2 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - adds r0, #0x10 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - strh r2, [r4, #0x24] - adds r0, r4, #0 - movs r1, #0 - bl sub_08038C84 - ldr r0, _08038B60 @ =0x0000015B - bl sub_08004488 -_08038B5E: - pop {r4, pc} - .align 2, 0 -_08038B60: .4byte 0x0000015B - - thumb_func_start sub_08038B64 -sub_08038B64: @ 0x08038B64 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08038B8C - movs r0, #2 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x15] - adds r0, #0x1f - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_08038B8C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08038B90 -sub_08038B90: @ 0x08038B90 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_0800445C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08038BA8 -sub_08038BA8: @ 0x08038BA8 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - ldr r1, _08038BEC @ =gUnk_080CF62C - movs r5, #7 - ands r0, r5 - adds r0, r0, r1 - ldrb r0, [r0] - movs r1, #0 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x82 - movs r3, #1 - strb r3, [r0] - ldr r0, [r4, #0x54] - adds r0, #0x82 - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x7a - ldrb r0, [r1] - cmp r0, #0 - bne _08038BF0 - adds r0, #1 - strb r0, [r1] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_08038C84 - b _08038C2A - .align 2, 0 -_08038BEC: .4byte gUnk_080CF62C -_08038BF0: - ldr r2, [r4, #0x54] - ldrb r1, [r2, #0x14] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08038C14 - ldrb r2, [r2, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r1, #1 - ands r0, r5 - movs r3, #6 - cmp r2, r0 - bne _08038C0C - movs r3, #2 -_08038C0C: - adds r3, r3, r1 - movs r0, #6 - ands r3, r0 - b _08038C18 -_08038C14: - ldrb r3, [r2, #0x14] - ldrb r1, [r4, #0x14] -_08038C18: - cmp r3, r1 - beq _08038C2A - strb r3, [r4, #0x14] - lsls r0, r3, #2 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_08038C84 -_08038C2A: - pop {r4, r5, pc} - - thumb_func_start sub_08038C2C -sub_08038C2C: @ 0x08038C2C - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08000E50 - ldr r1, _08038C58 @ =gUnk_080CF634 - movs r6, #7 - ands r0, r6 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0xf] - ldr r0, [r5, #0x50] - ldrb r4, [r0, #0x14] - ldrb r0, [r5, #0x14] - cmp r0, #0xff - bne _08038C5C - strb r4, [r5, #0x14] - adds r0, r5, #0 - movs r1, #1 - bl sub_08038C84 - b _08038C7C - .align 2, 0 -_08038C58: .4byte gUnk_080CF634 -_08038C5C: - bl sub_08000E50 - ldr r1, _08038C80 @ =gUnk_080CF63C - ands r0, r6 - adds r0, r0, r1 - ldrb r0, [r0] - adds r4, r0, r4 - ands r4, r6 - ldrb r0, [r5, #0x14] - cmp r4, r0 - beq _08038C7C - strb r4, [r5, #0x14] - adds r0, r5, #0 - movs r1, #1 - bl sub_08038C84 -_08038C7C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08038C80: .4byte gUnk_080CF63C - - thumb_func_start sub_08038C84 -sub_08038C84: @ 0x08038C84 - push {lr} - adds r3, r0, #0 - ldrb r2, [r3, #0x14] - adds r0, #0x82 - ldrb r0, [r0] - lsls r0, r0, #3 - orrs r2, r0 - cmp r1, #0 - bne _08038C98 - lsrs r2, r2, #1 -_08038C98: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08038CA4 -sub_08038CA4: @ 0x08038CA4 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - adds r1, r0, #0 - cmp r1, #0 - beq _08038CC8 - ldr r0, _08038CC4 @ =gUnk_080012C8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _08038CF0 - .align 2, 0 -_08038CC4: .4byte gUnk_080012C8 -_08038CC8: - ldr r4, _08038CF4 @ =gUnk_080CF778 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - adds r0, r5, #0 - bl sub_080391B4 -_08038CF0: - pop {r4, r5, pc} - .align 2, 0 -_08038CF4: .4byte gUnk_080CF778 - - thumb_func_start sub_08038CF8 -sub_08038CF8: @ 0x08038CF8 - push {lr} - ldr r2, _08038D0C @ =gUnk_080CF790 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08038D0C: .4byte gUnk_080CF790 - - thumb_func_start sub_08038D10 -sub_08038D10: @ 0x08038D10 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _08038D52 - adds r5, r4, #0 - adds r5, #0x7a - ldrb r0, [r5] - cmp r0, #0 - bne _08038D3E - movs r0, #1 - bl sub_0807CC3C - cmp r0, #0 - bne _08038D3E - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0xbf - bhi _08038D46 - movs r0, #1 - strb r0, [r5] - b _08038D46 -_08038D3E: - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] -_08038D46: - adds r0, r4, #0 - bl sub_08039218 - adds r0, r4, #0 - bl sub_08039260 -_08038D52: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08038D64 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08038D64: - ldr r1, _08038D70 @ =gUnk_080CF778 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08038D70: .4byte gUnk_080CF778 - - thumb_func_start nullsub_165 -nullsub_165: @ 0x08038D74 - bx lr - .align 2, 0 - - thumb_func_start sub_08038D78 -sub_08038D78: @ 0x08038D78 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _08038D96 - movs r0, #0 - strb r0, [r4, #0xb] - movs r0, #0x30 - strb r0, [r4, #0x16] - adds r0, r4, #0 - bl sub_08039120 - b _08038D9C -_08038D96: - adds r0, r4, #0 - bl sub_08039140 -_08038D9C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08038DA0 -sub_08038DA0: @ 0x08038DA0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08038DB6 - adds r0, r4, #0 - bl sub_0803901C -_08038DB6: - adds r0, r4, #0 - bl sub_08039298 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08038DC0 -sub_08038DC0: @ 0x08038DC0 - push {lr} - ldr r2, _08038DD4 @ =gUnk_080CF7AC - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08038DD4: .4byte gUnk_080CF7AC - - thumb_func_start sub_08038DD8 -sub_08038DD8: @ 0x08038DD8 - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x10 - strb r1, [r0, #0xe] - ldr r2, _08038E10 @ =gUnk_080CF7BC - ldrb r1, [r0, #0xa] - adds r1, r1, r2 - ldrb r1, [r1] - strb r1, [r0, #0xf] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r3] - movs r1, #4 - bl sub_08004260 - ldr r0, _08038E14 @ =0x000001D9 - bl sub_08004488 - pop {pc} - .align 2, 0 -_08038E10: .4byte gUnk_080CF7BC -_08038E14: .4byte 0x000001D9 - - thumb_func_start sub_08038E18 -sub_08038E18: @ 0x08038E18 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08038E70 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08038E70 - bl sub_08079184 - adds r0, r4, #0 - bl sub_08039218 - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - movs r1, #8 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08016A04 -_08038E70: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08038EA2 - movs r0, #0x10 - strb r0, [r4, #0xe] - bl sub_08000E50 - ldrb r3, [r4, #0x18] - lsls r2, r3, #0x19 - lsrs r2, r2, #0x1f - movs r1, #1 - ands r1, r0 - eors r2, r1 - lsls r2, r2, #6 - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_08039260 -_08038EA2: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08038EAC -sub_08038EAC: @ 0x08038EAC - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_080390F8 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_08038ED0 -sub_08038ED0: @ 0x08038ED0 - push {lr} - ldrb r2, [r0, #0x10] - movs r1, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - bl sub_08039218 - pop {pc} - - thumb_func_start sub_08038EE0 -sub_08038EE0: @ 0x08038EE0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_08039298 - movs r1, #0xe0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08038F1C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08038F16 - adds r0, r4, #0 - bl sub_0803901C - b _08038F1C -_08038F16: - movs r0, #0x80 - lsls r0, r0, #8 - str r0, [r4, #0x20] -_08038F1C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08038F20 -sub_08038F20: @ 0x08038F20 - push {r4, lr} - adds r4, r0, #0 - bl sub_08039298 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08038F42 - adds r0, r4, #0 - bl sub_0803901C -_08038F42: - pop {r4, pc} - - thumb_func_start sub_08038F44 -sub_08038F44: @ 0x08038F44 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08038F8C @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080390F8 - adds r0, r4, #0 - bl sub_080AEF88 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_080044EC - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_08039298 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r2, r0, #1 - strh r2, [r1] - lsls r0, r2, #0x10 - cmp r0, #0 - bne _08038F90 - adds r0, r4, #0 - bl sub_08039120 - b _08038F9E - .align 2, 0 -_08038F8C: .4byte gUnk_03001160 -_08038F90: - movs r0, #0x1f - ands r2, r0 - cmp r2, #0 - bne _08038F9E - adds r0, r4, #0 - bl sub_08039260 -_08038F9E: - pop {r4, pc} - - thumb_func_start sub_08038FA0 -sub_08038FA0: @ 0x08038FA0 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - movs r0, #0x1f - ands r0, r1 - cmp r0, #0 - bne _08038FB8 - adds r0, r4, #0 - bl sub_08039260 -_08038FB8: - adds r2, r4, #0 - adds r2, #0x78 - ldrh r1, [r2] - cmp r1, #0 - beq _08038FFC - ldr r3, _08038FF4 @ =0x0000FFFF - adds r0, r1, r3 - strh r0, [r2] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _08038FE0 - ldr r1, _08038FF8 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_08038FE0: - adds r0, r4, #0 - bl sub_080390F8 - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08004274 - b _08039018 - .align 2, 0 -_08038FF4: .4byte 0x0000FFFF -_08038FF8: .4byte gUnk_03001160 -_08038FFC: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0803917C - cmp r0, #0 - beq _08039018 - adds r0, r4, #0 - bl sub_0805E7BC -_08039018: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803901C -sub_0803901C: @ 0x0803901C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r3, r0, #0 - movs r5, #3 - ands r5, r3 - cmp r3, #3 - bne _08039042 - ldrb r0, [r4, #0xc] - cmp r0, #3 - beq _0803903C - cmp r0, #4 - beq _08039040 - movs r5, #0 - b _08039042 -_0803903C: - movs r5, #1 - b _08039042 -_08039040: - movs r5, #2 -_08039042: - cmp r5, #1 - beq _0803906C - cmp r5, #2 - beq _080390AA - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _08039068 @ =gUnk_080CF7BE - lsrs r0, r3, #0x10 - movs r1, #3 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _080390BC - .align 2, 0 -_08039068: .4byte gUnk_080CF7BE -_0803906C: - movs r1, #3 - movs r0, #3 - strb r0, [r4, #0xc] - lsrs r0, r3, #8 - ands r0, r1 - adds r0, #2 - strb r0, [r4, #0xe] - movs r0, #0x80 - lsls r0, r0, #8 - str r0, [r4, #0x20] - adds r0, r4, #0 - bl sub_080390C0 - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - bl sub_08000E50 - ands r0, r5 - cmp r0, #0 - beq _080390BC - bl sub_08000E50 - ands r5, r0 - movs r1, #0xeb - lsls r1, r1, #1 - adds r0, r5, r1 - bl sub_08004488 - b _080390BC -_080390AA: - movs r0, #4 - strb r0, [r4, #0xc] - lsrs r1, r3, #0x10 - movs r0, #1 - ands r1, r0 - adds r1, #2 - adds r0, r4, #0 - bl sub_08004260 -_080390BC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080390C0 -sub_080390C0: @ 0x080390C0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _080390E0 - movs r0, #1 - ands r0, r5 - cmp r0, #0 - beq _080390E0 - lsrs r0, r5, #0x10 - b _080390E8 -_080390E0: - adds r0, r4, #0 - bl sub_08049EE4 - adds r0, #2 -_080390E8: - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080390F8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080390F8 -sub_080390F8: @ 0x080390F8 - push {lr} - adds r3, r0, #0 - ldrb r1, [r3, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _0803911C - lsrs r1, r1, #4 - movs r0, #1 - eors r1, r0 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r3, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] -_0803911C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08039120 -sub_08039120: @ 0x08039120 - push {lr} - ldr r2, _0803913C @ =gUnk_080CF7C2 - ldrb r1, [r0, #0xa] - adds r1, r1, r2 - ldrb r1, [r1] - movs r2, #0 - strh r1, [r0, #0x24] - adds r1, r0, #0 - adds r1, #0x7a - strb r2, [r1] - bl sub_0803901C - pop {pc} - .align 2, 0 -_0803913C: .4byte gUnk_080CF7C2 - - thumb_func_start sub_08039140 -sub_08039140: @ 0x08039140 - push {r4, lr} - adds r4, r0, #0 - movs r0, #6 - strb r0, [r4, #0xc] - bl sub_08000E50 - strb r0, [r4, #0xe] - ldr r1, _08039174 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - ldr r0, _08039178 @ =0x0000FFFC - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0xb4 - strh r0, [r1] - adds r0, r4, #0 - bl sub_080390F8 - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 -_08039174: .4byte gUnk_03001160 -_08039178: .4byte 0x0000FFFC - - thumb_func_start sub_0803917C -sub_0803917C: @ 0x0803917C - push {r4, lr} - adds r2, r0, #0 - movs r1, #0x2e - ldrsh r0, [r2, r1] - ldr r3, _080391AC @ =gUnk_03000BF0 - movs r4, #0xa - ldrsh r1, [r3, r4] - adds r1, #0xc - subs r0, r0, r1 - movs r1, #0x84 - lsls r1, r1, #1 - cmp r0, r1 - bhi _080391B0 - movs r0, #0x32 - ldrsh r1, [r2, r0] - movs r2, #0xc - ldrsh r0, [r3, r2] - adds r0, #0xc - subs r1, r1, r0 - cmp r1, #0xb8 - bhi _080391B0 - movs r0, #0 - b _080391B2 - .align 2, 0 -_080391AC: .4byte gUnk_03000BF0 -_080391B0: - movs r0, #1 -_080391B2: - pop {r4, pc} - - thumb_func_start sub_080391B4 -sub_080391B4: @ 0x080391B4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x7a - ldrb r0, [r0] - cmp r0, #0 - beq _0803920C - adds r2, r5, #0 - adds r2, #0x7b - ldrb r1, [r2] - adds r0, r1, #1 - strb r0, [r2] - movs r0, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0803920C - movs r0, #0x41 - movs r1, #2 - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _0803920C - bl sub_08000E50 - movs r1, #0x17 - ands r1, r0 - lsls r1, r1, #2 - ldr r0, _08039210 @ =gUnk_080CF7C4 - adds r1, r1, r0 - ldr r2, _08039214 @ =gUnk_03000BF0 - ldrh r0, [r1] - ldrh r3, [r2, #0xa] - adds r0, r0, r3 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #2] - ldrh r2, [r2, #0xc] - adds r0, r0, r2 - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] -_0803920C: - pop {r4, r5, pc} - .align 2, 0 -_08039210: .4byte gUnk_080CF7C4 -_08039214: .4byte gUnk_03000BF0 - - thumb_func_start sub_08039218 -sub_08039218: @ 0x08039218 - push {lr} - adds r2, r0, #0 - movs r0, #5 - strb r0, [r2, #0xc] - ldr r1, _08039254 @ =gUnk_080CF824 - ldrb r0, [r2, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2, #0x24] - ldr r1, _08039258 @ =gUnk_080CF828 - ldrb r0, [r2, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x78 - strh r1, [r0] - subs r0, #0x20 - ldrb r0, [r0] - cmp r0, #4 - beq _0803924C - adds r0, r2, #0 - movs r1, #4 - bl sub_08004260 -_0803924C: - ldr r0, _0803925C @ =0x000001D9 - bl sub_08004488 - pop {pc} - .align 2, 0 -_08039254: .4byte gUnk_080CF824 -_08039258: .4byte gUnk_080CF828 -_0803925C: .4byte 0x000001D9 - - thumb_func_start sub_08039260 -sub_08039260: @ 0x08039260 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08039290 @ =gUnk_080CF82E - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r4, #0 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0803928E - ldr r0, _08039294 @ =gUnk_080CF82C - ldrb r1, [r4, #0x18] - lsls r1, r1, #0x19 - lsrs r1, r1, #0x1f - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r2, #0x2e] -_0803928E: - pop {r4, pc} - .align 2, 0 -_08039290: .4byte gUnk_080CF82E -_08039294: .4byte gUnk_080CF82C - - thumb_func_start sub_08039298 -sub_08039298: @ 0x08039298 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xb] - cmp r0, #0 - bne _080392A8 - adds r0, r1, #0 - bl sub_08078930 -_080392A8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080392AC -sub_080392AC: @ 0x080392AC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080392C8 @ =gUnk_080CF8A4 - bl sub_0800129E - movs r3, #0x12 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_080392C8: .4byte gUnk_080CF8A4 - - thumb_func_start sub_080392CC -sub_080392CC: @ 0x080392CC - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080392FC @ =gUnk_080CF8BC - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - cmp r0, #0 - beq _0803930C - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08039300 - subs r1, #0x3d - movs r0, #0x45 - b _0803930A - .align 2, 0 -_080392FC: .4byte gUnk_080CF8BC -_08039300: - adds r0, r4, #0 - adds r0, #0x7d - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x3f -_0803930A: - strb r0, [r1] -_0803930C: - movs r0, #0x36 - ldrsh r1, [r4, r0] - cmp r1, #0 - beq _0803933A - movs r0, #8 - rsbs r0, r0, #0 - cmp r1, r0 - bge _08039334 - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - b _0803933A -_08039334: - adds r0, r4, #0 - bl sub_08016A04 -_0803933A: - pop {r4, pc} - - thumb_func_start sub_0803933C -sub_0803933C: @ 0x0803933C - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x44 - bne _08039390 - adds r0, r5, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #6 - bgt _08039390 - cmp r1, #4 - blt _08039390 - adds r0, r5, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _08039390 - movs r0, #4 - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r5, #0x15] - ldrb r0, [r5, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - movs r1, #0x10 - eors r0, r1 - asrs r0, r0, #3 - strb r0, [r5, #0x14] - movs r0, #0x90 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_0803981C -_08039390: - adds r0, r5, #0 - adds r0, #0x41 - ldrb r2, [r0] - cmp r2, #0x9d - bne _080393F8 - ldr r1, [r5, #0x54] - cmp r1, #0 - bne _080393CA - ldrb r0, [r5, #0xc] - cmp r0, #8 - bhi _080393EC - adds r0, r5, #0 - movs r1, #0x10 - movs r2, #1 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _080393DC - ldrb r0, [r5, #0x14] - lsls r0, r0, #1 - strb r0, [r1, #0x1e] - movs r0, #2 - strb r0, [r1, #0xb] - movs r0, #0xc3 - lsls r0, r0, #1 - bl sub_08004488 - b _080393DC -_080393CA: - adds r0, r1, #0 - adds r0, #0x41 - movs r4, #0 - strb r2, [r0] - movs r0, #0xc3 - lsls r0, r0, #1 - bl sub_08004488 - str r4, [r5, #0x54] -_080393DC: - adds r0, r5, #0 - bl sub_08039A48 - adds r1, r5, #0 - adds r1, #0x78 - ldrh r0, [r1] - adds r0, #0x5a - strh r0, [r1] -_080393EC: - adds r2, r5, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] -_080393F8: - adds r0, r5, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0803940A - adds r0, r5, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0803940A: - ldr r1, _08039414 @ =gUnk_080CF8A4 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08039414: .4byte gUnk_080CF8A4 - - thumb_func_start sub_08039418 -sub_08039418: @ 0x08039418 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0 - bne _0803942E - adds r0, r1, #0 - movs r1, #0xf3 - movs r2, #0 - bl sub_0804A7E0 - b _08039434 -_0803942E: - adds r0, r1, #0 - bl sub_0804A7D4 -_08039434: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08039438 -sub_08039438: @ 0x08039438 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08039454 - ldr r0, _08039458 @ =gUnk_080CF8EC - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08039454: - pop {r4, pc} - .align 2, 0 -_08039458: .4byte gUnk_080CF8EC - - thumb_func_start sub_0803945C -sub_0803945C: @ 0x0803945C - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x5a - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_08039468 -sub_08039468: @ 0x08039468 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_08039470 -sub_08039470: @ 0x08039470 - push {r4, lr} - adds r4, r0, #0 - ldr r2, [r4, #0x54] - cmp r2, #0 - bne _08039494 - movs r1, #0x10 - movs r2, #1 - bl sub_0804A98C - adds r2, r0, #0 - cmp r2, #0 - beq _0803949C - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - strb r0, [r2, #0x1e] - movs r0, #1 - strb r0, [r2, #0xb] - b _0803949C -_08039494: - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] -_0803949C: - movs r0, #0 - str r0, [r4, #0x54] - adds r3, r4, #0 - adds r3, #0x3a - ldrb r2, [r3] - movs r1, #0xfb - adds r0, r1, #0 - ands r0, r2 - strb r0, [r3] - adds r2, r4, #0 - adds r2, #0x3b - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - adds r0, r4, #0 - bl sub_08039A48 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - adds r0, #0x5a - strh r0, [r1] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080394CC -sub_080394CC: @ 0x080394CC - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - movs r1, #0 - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x7b - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - subs r0, #0x3d - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x7d - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_08039A00 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0803950A - adds r0, r4, #0 - bl sub_0803998C - b _0803952A -_0803950A: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xff - strb r0, [r4, #0x15] - ldr r1, _0803952C @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0803981C -_0803952A: - pop {r4, pc} - .align 2, 0 -_0803952C: .4byte gUnk_03001160 - - thumb_func_start sub_08039530 -sub_08039530: @ 0x08039530 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - cmp r0, #0 - bne _08039568 - adds r0, r4, #0 - bl sub_08039758 - cmp r0, #0 - bne _08039568 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08039568 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xa - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08039858 -_08039568: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803956C -sub_0803956C: @ 0x0803956C - push {r4, lr} - adds r4, r0, #0 - bl sub_08039758 - cmp r0, #0 - bne _0803958A - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803958A - adds r0, r4, #0 - bl sub_0803992C -_0803958A: - pop {r4, pc} - - thumb_func_start sub_0803958C -sub_0803958C: @ 0x0803958C - push {r4, lr} - adds r4, r0, #0 - bl sub_08039758 - cmp r0, #0 - bne _080395D4 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - beq _080395C0 - adds r0, r4, #0 - bl sub_080042B8 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080395D4 - adds r0, r4, #0 - bl sub_0803998C - b _080395D4 -_080395C0: - adds r2, r4, #0 - adds r2, #0x7b - ldrb r0, [r2] - lsls r0, r0, #1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0803998C -_080395D4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080395D8 -sub_080395D8: @ 0x080395D8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08039602 - adds r0, r4, #0 - bl sub_0803998C - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0x5a - strb r0, [r1] - movs r0, #0x7d - bl sub_08004488 -_08039602: - pop {r4, pc} - - thumb_func_start sub_08039604 -sub_08039604: @ 0x08039604 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _08039624 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xe] -_08039624: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08039628 -sub_08039628: @ 0x08039628 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - adds r1, r0, #0 - cmp r1, #0 - beq _0803963A - subs r0, #1 - strb r0, [r2, #0xe] - b _0803966A -_0803963A: - ldrh r0, [r2, #0x36] - adds r0, #4 - strh r0, [r2, #0x36] - lsls r0, r0, #0x10 - cmp r0, #0 - blt _0803966A - movs r0, #7 - strb r0, [r2, #0xc] - movs r0, #0xa - strb r0, [r2, #0xe] - strh r1, [r2, #0x36] - adds r1, r2, #0 - adds r1, #0x7a - movs r0, #0x78 - strb r0, [r1] - adds r1, #2 - movs r0, #0x3c - strb r0, [r1] - adds r0, r2, #0 - bl sub_080399C4 - ldr r0, _0803966C @ =0x0000014B - bl sub_08004488 -_0803966A: - pop {pc} - .align 2, 0 -_0803966C: .4byte 0x0000014B - - thumb_func_start sub_08039670 -sub_08039670: @ 0x08039670 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08039686 - adds r0, r1, #0 - bl sub_0803998C -_08039686: - pop {pc} - - thumb_func_start sub_08039688 -sub_08039688: @ 0x08039688 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _080396AC - adds r0, r4, #0 - movs r1, #0x3c - bl sub_08039A00 - adds r0, r4, #0 - bl sub_0803998C - b _080396BA -_080396AC: - movs r0, #0x1f - ands r1, r0 - cmp r1, #0 - bne _080396BA - adds r0, r4, #0 - bl sub_08039A20 -_080396BA: - pop {r4, pc} - - thumb_func_start sub_080396BC -sub_080396BC: @ 0x080396BC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - cmp r0, #0 - bne _080396E2 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080396E2 - adds r0, r4, #0 - bl sub_08039A70 -_080396E2: - pop {r4, pc} - - thumb_func_start sub_080396E4 -sub_080396E4: @ 0x080396E4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - bl sub_080042B8 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08039708 - adds r0, r4, #0 - bl sub_08039AD4 -_08039708: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803970C -sub_0803970C: @ 0x0803970C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08039756 - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _0803973A - adds r0, r4, #0 - bl sub_0803998C - ldr r0, [r4, #0x54] - bl sub_0805E7BC - movs r0, #0 - str r0, [r4, #0x54] - b _08039740 -_0803973A: - adds r0, r4, #0 - bl sub_08039A48 -_08039740: - adds r2, r4, #0 - adds r2, #0x3b - ldrb r1, [r2] - movs r0, #4 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - adds r0, #0x3c - strh r0, [r1] -_08039756: - pop {r4, pc} - - thumb_func_start sub_08039758 -sub_08039758: @ 0x08039758 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x7a - ldrb r0, [r5] - cmp r0, #0 - beq _0803976A - subs r0, #1 - strb r0, [r5] -_0803976A: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08039818 - ldrb r0, [r5] - cmp r0, #0 - bne _08039818 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080397DC - ldr r5, _080397D8 @ =gUnk_020000B0 - ldr r0, [r5] - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x24 - bl sub_0806FCB8 - cmp r0, #0 - beq _08039818 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldr r1, [r5] - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #3 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0803981C - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x46 - strb r0, [r1] - adds r1, #0x3e - strb r0, [r1] - movs r0, #0xa0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #1 - b _0803981A - .align 2, 0 -_080397D8: .4byte gUnk_020000B0 -_080397DC: - ldr r5, _08039814 @ =gUnk_020000B0 - ldr r0, [r5] - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x48 - bl sub_0806FCB8 - cmp r0, #0 - beq _08039818 - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r1, [r5] - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - adds r1, #0xc - adds r0, r4, #0 - bl sub_080042AC - movs r0, #1 - b _0803981A - .align 2, 0 -_08039814: .4byte gUnk_020000B0 -_08039818: - movs r0, #0 -_0803981A: - pop {r4, r5, pc} - - thumb_func_start sub_0803981C -sub_0803981C: @ 0x0803981C - push {lr} - adds r2, r0, #0 - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r2, #0x20] - adds r1, r2, #0 - adds r1, #0x3d - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _08039836 - movs r0, #0xf4 - strb r0, [r1] -_08039836: - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x45 - strb r0, [r1] - adds r1, #0x3e - strb r0, [r1] - ldrb r1, [r2, #0x14] - adds r1, #8 - adds r0, r2, #0 - bl sub_080042AC - ldr r0, _08039854 @ =0x0000012B - bl sub_08004488 - pop {pc} - .align 2, 0 -_08039854: .4byte 0x0000012B - - thumb_func_start sub_08039858 -sub_08039858: @ 0x08039858 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_080398C0 - adds r6, r0, #0 - ldrb r0, [r5, #0x14] - lsls r4, r0, #3 - adds r0, r6, #4 - movs r1, #0x18 - ands r0, r1 - cmp r0, r4 - bne _0803988C - adds r1, r5, #0 - adds r1, #0x7b - ldrb r0, [r1] - cmp r0, #3 - bne _080398B8 - movs r0, #0 - strb r0, [r1] - bl sub_08000E50 - movs r1, #2 - ands r1, r0 - subs r1, #1 - lsls r1, r1, #3 - adds r6, r6, r1 -_0803988C: - subs r0, r6, r4 - movs r1, #0x1f - ands r0, r1 - lsrs r4, r0, #4 - movs r0, #1 - eors r4, r0 - ldr r1, _080398BC @ =gUnk_080CF8F8 - ldrb r0, [r5, #0x14] - lsls r0, r0, #1 - adds r0, r0, r4 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r5, #0 - bl sub_080042AC - lsls r0, r4, #1 - ldrb r1, [r5, #0x14] - adds r0, r0, r1 - subs r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0x14] -_080398B8: - pop {r4, r5, r6, pc} - .align 2, 0 -_080398BC: .4byte gUnk_080CF8F8 - - thumb_func_start sub_080398C0 -sub_080398C0: @ 0x080398C0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08039908 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08039908 - ldr r0, _08039900 @ =gUnk_020000B0 - ldr r0, [r0] - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x58 - bl sub_0806FCB8 - cmp r0, #0 - beq _08039908 - ldr r1, _08039904 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - b _08039928 - .align 2, 0 -_08039900: .4byte gUnk_020000B0 -_08039904: .4byte gUnk_03001160 -_08039908: - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08039922 - movs r0, #7 - ands r0, r5 - cmp r0, #0 - beq _08039922 - adds r0, r4, #0 - bl sub_08049EE4 - b _08039928 -_08039922: - lsrs r0, r5, #0x10 - movs r1, #0x18 - ands r0, r1 -_08039928: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803992C -sub_0803992C: @ 0x0803992C - push {r4, lr} - adds r4, r0, #0 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0xe0 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x14] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - bl sub_08000E50 - ldr r2, _08039978 @ =gUnk_080CF900 - movs r1, #0xf - ands r1, r0 - adds r1, r1, r2 - ldrb r1, [r1] - adds r0, r4, #0 - adds r0, #0x78 - strh r1, [r0] - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #0 - bl sub_080AE58C - ldr r1, _0803997C @ =gUnk_080CF910 - ldrb r2, [r4, #0x14] - lsls r0, r2, #1 - adds r0, r0, r1 - ldrh r1, [r0] - ldrh r0, [r4, #0x2a] - ands r0, r1 - cmp r0, #0 - beq _08039980 - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_080042AC - b _08039988 - .align 2, 0 -_08039978: .4byte gUnk_080CF900 -_0803997C: .4byte gUnk_080CF910 -_08039980: - adds r1, r2, #4 - adds r0, r4, #0 - bl sub_080042AC -_08039988: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803998C -sub_0803998C: @ 0x0803998C - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x44 - strb r0, [r1] - adds r1, #0x3e - strb r0, [r1] - bl sub_08000E50 - ldr r2, _080399C0 @ =gUnk_080CF918 - movs r1, #0xf - ands r1, r0 - adds r1, r1, r2 - ldrb r1, [r1] - adds r0, r4, #0 - adds r0, #0x78 - strh r1, [r0] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 -_080399C0: .4byte gUnk_080CF918 - - thumb_func_start sub_080399C4 -sub_080399C4: @ 0x080399C4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x11 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _080399E2 - ldrh r0, [r1, #0x2e] - subs r0, #4 - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - adds r0, #2 - strh r0, [r1, #0x32] -_080399E2: - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _080399FE - ldrh r0, [r1, #0x2e] - adds r0, #4 - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - adds r0, #2 - strh r0, [r1, #0x32] -_080399FE: - pop {r4, pc} - - thumb_func_start sub_08039A00 -sub_08039A00: @ 0x08039A00 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08000E50 - ldr r2, _08039A1C @ =gUnk_080CF928 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r5 - adds r4, #0x7a - strb r0, [r4] - pop {r4, r5, pc} - .align 2, 0 -_08039A1C: .4byte gUnk_080CF928 - - thumb_func_start sub_08039A20 -sub_08039A20: @ 0x08039A20 - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - movs r2, #0 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _08039A44 - ldrb r0, [r4, #0x15] - strb r0, [r1, #0x15] - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0x3c - strb r0, [r1] - movs r0, #0xfb - bl sub_08004488 -_08039A44: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08039A48 -sub_08039A48: @ 0x08039A48 - push {lr} - adds r2, r0, #0 - movs r0, #9 - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x47 - strb r0, [r1] - adds r1, #0x3e - strb r0, [r1] - subs r1, #5 - movs r0, #0xa - strh r0, [r1] - ldrb r1, [r2, #0x14] - adds r1, #0x10 - adds r0, r2, #0 - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08039A70 -sub_08039A70: @ 0x08039A70 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xa - strb r0, [r5, #0xc] - movs r0, #0xe0 - strh r0, [r5, #0x24] - bl sub_08000E50 - adds r4, r0, #0 - ldr r1, _08039AB8 @ =gUnk_080CF92C - movs r0, #3 - ands r0, r4 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x78 - strh r1, [r0] - lsrs r4, r4, #0x10 - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08039ABC - movs r0, #7 - ands r0, r4 - cmp r0, #0 - beq _08039ABC - adds r0, r5, #0 - bl sub_08049EE4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] - b _08039AC2 - .align 2, 0 -_08039AB8: .4byte gUnk_080CF92C -_08039ABC: - movs r0, #0x18 - ands r4, r0 - strb r4, [r5, #0x15] -_08039AC2: - ldrb r0, [r5, #0x15] - lsrs r0, r0, #3 - strb r0, [r5, #0x14] - ldrb r1, [r5, #0x14] - adds r1, #0x14 - adds r0, r5, #0 - bl sub_080042AC - pop {r4, r5, pc} - - thumb_func_start sub_08039AD4 -sub_08039AD4: @ 0x08039AD4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08039B28 - adds r5, r0, #0 - ldr r0, _08039B18 @ =0x0000FFFF - cmp r5, r0 - beq _08039B20 - ldrb r2, [r4, #0xb] - adds r0, r4, #0 - movs r1, #0x10 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _08039B20 - str r4, [r1, #0x50] - movs r0, #0xb - strb r0, [r4, #0xc] - str r1, [r4, #0x54] - ldrb r1, [r4, #0x14] - adds r1, #0x18 - adds r0, r4, #0 - bl sub_080042AC - ldr r0, _08039B1C @ =0x00004067 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r2, [r1] - adds r1, r5, #0 - bl sub_0800015E - b _08039B26 - .align 2, 0 -_08039B18: .4byte 0x0000FFFF -_08039B1C: .4byte 0x00004067 -_08039B20: - adds r0, r4, #0 - bl sub_08039A48 -_08039B26: - pop {r4, r5, pc} - - thumb_func_start sub_08039B28 -sub_08039B28: @ 0x08039B28 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r0, [r6, #0x54] - cmp r0, #0 - bne _08039B84 - ldrb r2, [r6, #0x14] - lsls r2, r2, #1 - ldr r0, _08039B88 @ =gUnk_080CF930 - adds r2, r2, r0 - movs r1, #0x2e - ldrsh r0, [r6, r1] - movs r1, #0 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - ldr r4, _08039B8C @ =gUnk_03000BF0 - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r3, #0x3f - ands r5, r3 - movs r1, #0x32 - ldrsh r0, [r6, r1] - movs r1, #1 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - ldrh r1, [r4, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r5, r0 - adds r0, r6, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - bl sub_080002B0 - adds r2, r0, #0 - ldr r1, _08039B90 @ =gUnk_080CF938 -_08039B76: - ldrh r0, [r1] - cmp r0, r2 - beq _08039B98 - adds r1, #4 - ldrh r0, [r1] - cmp r0, #0 - bne _08039B76 -_08039B84: - ldr r0, _08039B94 @ =0x0000FFFF - b _08039B9E - .align 2, 0 -_08039B88: .4byte gUnk_080CF930 -_08039B8C: .4byte gUnk_03000BF0 -_08039B90: .4byte gUnk_080CF938 -_08039B94: .4byte 0x0000FFFF -_08039B98: - ldrh r0, [r1, #2] - strb r0, [r6, #0xb] - adds r0, r5, #0 -_08039B9E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08039BA0 -sub_08039BA0: @ 0x08039BA0 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - adds r1, r0, #0 - cmp r1, #0 - beq _08039BC4 - ldr r0, _08039BC0 @ =gUnk_080012C8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _08039BD8 - .align 2, 0 -_08039BC0: .4byte gUnk_080012C8 -_08039BC4: - ldr r4, _08039BDC @ =gUnk_080CFB84 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 -_08039BD8: - pop {r4, r5, pc} - .align 2, 0 -_08039BDC: .4byte gUnk_080CFB84 - - thumb_func_start sub_08039BE0 -sub_08039BE0: @ 0x08039BE0 - push {lr} - ldr r2, _08039BF4 @ =gUnk_080CFB9C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08039BF4: .4byte gUnk_080CFB9C - - thumb_func_start sub_08039BF8 -sub_08039BF8: @ 0x08039BF8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_0803A100 - adds r0, r5, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9d - bne _08039C64 - movs r0, #7 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r5, #0x20] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08039C60 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - b _08039C72 - .align 2, 0 -_08039C60: .4byte gUnk_03000BF0 -_08039C64: - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - beq _08039C72 - adds r0, r5, #0 - bl sub_0803A0E0 -_08039C72: - ldr r1, _08039C7C @ =gUnk_080CFB84 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08039C7C: .4byte gUnk_080CFB84 - - thumb_func_start sub_08039C80 -sub_08039C80: @ 0x08039C80 - push {lr} - ldr r2, _08039C94 @ =gUnk_080CFBBC - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08039C94: .4byte gUnk_080CFBBC - - thumb_func_start sub_08039C98 -sub_08039C98: @ 0x08039C98 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803A100 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xd] - strb r1, [r4, #0xe] - movs r0, #0x30 - strb r0, [r4, #0x1d] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08039CB0 -sub_08039CB0: @ 0x08039CB0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803A100 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08039CCA - adds r0, r4, #0 - bl sub_0806F4E8 - b _08039CDE -_08039CCA: - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _08039CDE - adds r0, r4, #0 - bl sub_0803A0E0 -_08039CDE: - pop {r4, pc} - - thumb_func_start sub_08039CE0 -sub_08039CE0: @ 0x08039CE0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xe] - cmp r4, #0 - bne _08039D2A - bl sub_0803A100 - movs r0, #1 - strb r0, [r5, #0xe] - ldr r0, _08039D3C @ =0x0000FFFF - strh r0, [r5, #0x36] - adds r0, r5, #0 - adds r0, #0x62 - strb r4, [r0] - adds r0, #0x12 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08039D40 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_08039D2A: - adds r0, r5, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08039D44 - adds r0, r5, #0 - bl sub_0806F3E4 - b _08039D4A - .align 2, 0 -_08039D3C: .4byte 0x0000FFFF -_08039D40: .4byte gUnk_03000BF0 -_08039D44: - adds r0, r5, #0 - bl sub_0803A0E0 -_08039D4A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08039D4C -sub_08039D4C: @ 0x08039D4C - push {lr} - adds r2, r0, #0 - ldr r0, _08039D64 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08039D62 - adds r0, r2, #0 - bl sub_0803A0E0 -_08039D62: - pop {pc} - .align 2, 0 -_08039D64: .4byte gUnk_03003F80 - - thumb_func_start nullsub_166 -nullsub_166: @ 0x08039D68 - bx lr - .align 2, 0 - - thumb_func_start sub_08039D6C -sub_08039D6C: @ 0x08039D6C - push {lr} - bl sub_0803A0E0 - pop {pc} - - thumb_func_start sub_08039D74 -sub_08039D74: @ 0x08039D74 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #2 - strb r0, [r5, #0x1c] - strb r1, [r5, #0x16] - ldrh r0, [r5, #0x32] - adds r0, #3 - strh r0, [r5, #0x32] - movs r0, #0x2e - ldrsh r4, [r5, r0] - ldr r1, _08039DD0 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r2, #0x3f - ands r4, r2 - movs r3, #0x32 - ldrsh r0, [r5, r3] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r6, r5, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r4, #0 - bl sub_080001DA - adds r1, r5, #0 - adds r1, #0x74 - strh r0, [r1] - ldr r0, _08039DD4 @ =0x00004060 - ldrb r2, [r6] - adds r1, r4, #0 - bl sub_0800015E - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, r5, r6, pc} - .align 2, 0 -_08039DD0: .4byte gUnk_03000BF0 -_08039DD4: .4byte 0x00004060 - - thumb_func_start sub_08039DD8 -sub_08039DD8: @ 0x08039DD8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_0803A100 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _08039E38 - adds r0, r5, #0 - bl sub_080002A0 - ldr r1, _08039E30 @ =0x00004073 - cmp r0, r1 - bne _08039E28 - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08039E34 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - adds r0, r5, #0 - bl sub_0803A0E0 -_08039E28: - adds r0, r5, #0 - bl sub_08078930 - b _08039EC6 - .align 2, 0 -_08039E30: .4byte 0x00004073 -_08039E34: .4byte gUnk_03000BF0 -_08039E38: - ldr r0, _08039E6C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08039EC6 - ldr r2, _08039E70 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r6, #0x32 - ldrsh r2, [r2, r6] - adds r0, r5, #0 - movs r3, #0x30 - bl sub_0806FCB8 - cmp r0, #0 - beq _08039EC6 - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _08039E74 - movs r0, #3 - strb r0, [r5, #0xc] - movs r0, #0x1e - strb r0, [r5, #0xe] - b _08039EC6 - .align 2, 0 -_08039E6C: .4byte gUnk_03003F80 -_08039E70: .4byte gUnk_03001160 -_08039E74: - ldrb r1, [r5, #0xa] - subs r1, #2 - movs r0, #0x42 - bl sub_0804AA60 - adds r2, r0, #0 - cmp r2, #0 - beq _08039EC6 - movs r0, #1 - strb r0, [r2, #0xb] - adds r0, r5, #0 - adds r1, r2, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08039EC8 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - adds r0, r5, #0 - bl sub_0805E7BC -_08039EC6: - pop {r4, r5, r6, pc} - .align 2, 0 -_08039EC8: .4byte gUnk_03000BF0 - - thumb_func_start sub_08039ECC -sub_08039ECC: @ 0x08039ECC - push {lr} - ldr r2, _08039EE0 @ =gUnk_080CFBD4 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08039EE0: .4byte gUnk_080CFBD4 - - thumb_func_start sub_08039EE4 -sub_08039EE4: @ 0x08039EE4 - push {r4, r5, r6, lr} - mov ip, r0 - movs r2, #0 - movs r0, #1 - mov r1, ip - strb r0, [r1, #0xd] - ldrb r1, [r1, #0x10] - movs r0, #0x7f - ands r0, r1 - mov r3, ip - strb r0, [r3, #0x10] - strh r2, [r3, #0x2a] - ldr r0, _08039F40 @ =gUnk_080FD340 - str r0, [r3, #0x48] - ldr r0, _08039F44 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - mov r1, ip - adds r1, #0x76 - strb r0, [r1] - mov r0, ip - adds r0, #0x74 - ldrh r0, [r0] - movs r5, #0x2e - ldrsh r1, [r3, r5] - ldr r3, _08039F48 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - mov r6, ip - movs r5, #0x32 - ldrsh r2, [r6, r5] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - mov r2, ip - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_08039F40: .4byte gUnk_080FD340 -_08039F44: .4byte gUnk_03001160 -_08039F48: .4byte gUnk_03000BF0 - - thumb_func_start sub_08039F4C -sub_08039F4C: @ 0x08039F4C - push {lr} - adds r3, r0, #0 - ldr r0, _08039F74 @ =gUnk_03001160 - movs r1, #0x76 - adds r1, r1, r3 - mov ip, r1 - ldrb r2, [r0, #0x14] - ldrb r0, [r1] - cmp r2, r0 - beq _08039F70 - subs r0, r2, r0 - ldrb r1, [r3, #0x1e] - adds r0, r0, r1 - movs r1, #6 - ands r0, r1 - strb r0, [r3, #0x1e] - mov r0, ip - strb r2, [r0] -_08039F70: - pop {pc} - .align 2, 0 -_08039F74: .4byte gUnk_03001160 - - thumb_func_start sub_08039F78 -sub_08039F78: @ 0x08039F78 - push {lr} - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r3] - movs r1, #0x36 - ldrsh r0, [r2, r1] - cmp r0, #0 - beq _08039F9C - ldrh r0, [r2, #0x2a] - cmp r0, #0 - beq _08039FA2 -_08039F9C: - adds r0, r2, #0 - bl sub_0803A0E0 -_08039FA2: - pop {pc} - - thumb_func_start sub_08039FA4 -sub_08039FA4: @ 0x08039FA4 - push {lr} - bl sub_0803A0E0 - pop {pc} - - thumb_func_start sub_08039FAC -sub_08039FAC: @ 0x08039FAC - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_0803A100 - adds r3, r5, #0 - adds r3, #0x62 - ldr r2, _0803A03C @ =gUnk_080CFBE4 - ldrb r1, [r5, #0xe] - movs r0, #3 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - ldrb r1, [r3] - adds r0, r0, r1 - strb r0, [r3] - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - bne _0803A03A - movs r0, #4 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - strb r4, [r3] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0xa0 - strb r0, [r1] - subs r1, #4 - movs r0, #0xf - strb r0, [r1] - ldr r0, _0803A040 @ =gUnk_080FD34C - str r0, [r5, #0x48] - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0803A044 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0803A03A: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803A03C: .4byte gUnk_080CFBE4 -_0803A040: .4byte gUnk_080FD34C -_0803A044: .4byte gUnk_03000BF0 - - thumb_func_start sub_0803A048 -sub_0803A048: @ 0x0803A048 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldr r0, [r4, #0x34] - ldr r1, _0803A078 @ =0xFFFF0000 - adds r0, r0, r1 - str r0, [r4, #0x34] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #6 - rsbs r0, r0, #0 - cmp r1, r0 - bgt _0803A076 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0xa - strb r0, [r4, #0xe] - ldr r1, _0803A07C @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] -_0803A076: - pop {r4, pc} - .align 2, 0 -_0803A078: .4byte 0xFFFF0000 -_0803A07C: .4byte gUnk_03001160 - - thumb_func_start sub_0803A080 -sub_0803A080: @ 0x0803A080 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803A098 - movs r0, #6 - strb r0, [r4, #0xc] -_0803A098: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803A09C -sub_0803A09C: @ 0x0803A09C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AEFE0 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _0803A0B6 - adds r0, r4, #0 - bl sub_0803A0E0 -_0803A0B6: - pop {r4, pc} - - thumb_func_start sub_0803A0B8 -sub_0803A0B8: @ 0x0803A0B8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _0803A0CA - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_0803A0CA: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0803A0DE - adds r0, r4, #0 - bl sub_0803A0E0 -_0803A0DE: - pop {r4, pc} - - thumb_func_start sub_0803A0E0 -sub_0803A0E0: @ 0x0803A0E0 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xb] - movs r2, #0 - movs r3, #0 - bl sub_0808288C - adds r2, r0, #0 - adds r0, r4, #0 - movs r1, #0x3c - bl sub_080A29AC - bl sub_0805E780 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803A100 -sub_0803A100: @ 0x0803A100 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r3, _0803A14C @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r2, #0x3f - ands r4, r2 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r6, r5, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r4, #0 - bl sub_080001DA - ldr r1, _0803A150 @ =0x00004067 - cmp r0, r1 - bne _0803A148 - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - ldrb r2, [r6] - adds r1, r4, #0 - bl sub_0800015E - bl sub_0805E780 -_0803A148: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803A14C: .4byte gUnk_03000BF0 -_0803A150: .4byte 0x00004067 - - thumb_func_start sub_0803A154 -sub_0803A154: @ 0x0803A154 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0803A16C @ =gUnk_080CFC14 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0803A16C: .4byte gUnk_080CFC14 - - thumb_func_start sub_0803A170 -sub_0803A170: @ 0x0803A170 - push {lr} - ldr r2, _0803A184 @ =gUnk_080CFC2C - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803A184: .4byte gUnk_080CFC2C - - thumb_func_start sub_0803A188 -sub_0803A188: @ 0x0803A188 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r3, [r4, #0xa] - cmp r3, #1 - bhi _0803A23E - ldrb r0, [r4, #0xc] - cmp r0, #0x2b - beq _0803A210 - adds r0, r4, #0 - adds r0, #0x3d - movs r1, #0 - ldrsb r1, [r0, r1] - adds r5, r0, #0 - cmp r1, #0 - ble _0803A23E - adds r0, #4 - ldrb r0, [r0] - cmp r0, #0x95 - beq _0803A1B2 - cmp r0, #0x8e - bne _0803A23E -_0803A1B2: - movs r0, #0x28 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r2, [r4, #0x50] - adds r0, r2, #0 - adds r0, #0x7d - ldrb r1, [r0] - cmp r3, #0 - bne _0803A1CE - movs r0, #1 - b _0803A1D0 -_0803A1CE: - movs r0, #2 -_0803A1D0: - orrs r1, r0 - adds r0, r2, #0 - adds r0, #0x7d - strb r1, [r0] - adds r0, #3 - ldrb r2, [r0] - ldrb r1, [r4, #0xa] - adds r3, r0, #0 - cmp r1, #0 - bne _0803A1E8 - movs r0, #1 - b _0803A1EA -_0803A1E8: - movs r0, #2 -_0803A1EA: - orrs r0, r2 - strb r0, [r3] - ldr r2, [r4, #0x54] - ldrb r1, [r5] - adds r0, r2, #0 - adds r0, #0x3d - strb r1, [r0] - ldr r2, [r4, #0x74] - ldrb r1, [r5] - adds r0, r2, #0 - adds r0, #0x3d - strb r1, [r0] - ldr r0, _0803A20C @ =0x00000127 - bl sub_080A3268 - b _0803A23E - .align 2, 0 -_0803A20C: .4byte 0x00000127 -_0803A210: - ldr r2, [r4, #0x54] - adds r3, r4, #0 - adds r3, #0x3d - ldrb r1, [r3] - adds r0, r2, #0 - adds r0, #0x3d - strb r1, [r0] - ldr r2, [r4, #0x74] - ldrb r1, [r3] - adds r0, r2, #0 - adds r0, #0x3d - strb r1, [r0] - adds r0, r4, #0 - movs r1, #0x18 - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #9 - bl sub_080042AC - ldr r0, _0803A248 @ =0x00000127 - bl sub_080A3268 -_0803A23E: - ldr r1, _0803A24C @ =gUnk_080CFC14 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_0803A248: .4byte 0x00000127 -_0803A24C: .4byte gUnk_080CFC14 - - thumb_func_start nullsub_167 -nullsub_167: @ 0x0803A250 - bx lr - .align 2, 0 - - thumb_func_start sub_0803A254 -sub_0803A254: @ 0x0803A254 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0803A270 @ =gUnk_080CFC3C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0803B538 - pop {r4, pc} - .align 2, 0 -_0803A270: .4byte gUnk_080CFC3C - - thumb_func_start sub_0803A274 -sub_0803A274: @ 0x0803A274 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0803A2C8 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x44 - bhi _0803A360 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0803A2CC - movs r0, #0x38 - movs r1, #0 - bl sub_0804AA60 - adds r1, r0, #0 - str r4, [r1, #0x50] - str r1, [r4, #0x54] - movs r0, #0x44 - movs r1, #2 - bl sub_0804AA60 - adds r1, r0, #0 - str r4, [r1, #0x50] - str r1, [r4, #0x74] - movs r0, #0x7e - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - str r4, [r1, #0x50] - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] - ldr r0, [r4, #0x50] - movs r2, #0x80 - lsls r2, r2, #0xd - movs r3, #0x80 - lsls r3, r3, #0xe - adds r1, r4, #0 - bl sub_0806FA48 - b _0803A310 - .align 2, 0 -_0803A2C8: .4byte gUnk_03003DBC -_0803A2CC: - movs r0, #0x38 - movs r1, #1 - bl sub_0804AA60 - adds r1, r0, #0 - str r4, [r1, #0x50] - str r1, [r4, #0x54] - movs r0, #0x44 - movs r1, #3 - bl sub_0804AA60 - adds r1, r0, #0 - str r4, [r1, #0x50] - str r1, [r4, #0x74] - movs r0, #0x7e - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - str r4, [r1, #0x50] - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x50] - ldr r2, _0803A34C @ =0xFFF00000 - movs r3, #0x80 - lsls r3, r3, #0xe - adds r1, r4, #0 - bl sub_0806FA48 -_0803A310: - ldr r0, _0803A350 @ =gUnk_030010A0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - beq _0803A354 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r2, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - movs r3, #1 - orrs r0, r3 - strb r0, [r4, #0x18] - ldr r2, [r4, #0x54] - ldrb r0, [r2, #0x18] - ands r1, r0 - orrs r1, r3 - strb r1, [r2, #0x18] - adds r0, r4, #0 - movs r1, #0x10 - bl sub_08004260 - b _0803A360 - .align 2, 0 -_0803A34C: .4byte 0xFFF00000 -_0803A350: .4byte gUnk_030010A0 -_0803A354: - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 -_0803A360: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803A364 -sub_0803A364: @ 0x0803A364 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803A3A0 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - ldrb r0, [r4, #0xd] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0xb - bls _0803A394 - b _0803A52C -_0803A394: - lsls r0, r1, #2 - ldr r1, _0803A3A4 @ =_0803A3A8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A3A0: .4byte gUnk_080CED6C -_0803A3A4: .4byte _0803A3A8 -_0803A3A8: @ jump table - .4byte _0803A546 @ case 0 - .4byte _0803A3D8 @ case 1 - .4byte _0803A546 @ case 2 - .4byte _0803A3FA @ case 3 - .4byte _0803A418 @ case 4 - .4byte _0803A434 @ case 5 - .4byte _0803A44E @ case 6 - .4byte _0803A468 @ case 7 - .4byte _0803A49A @ case 8 - .4byte _0803A4B2 @ case 9 - .4byte _0803A4CC @ case 10 - .4byte _0803A4FA @ case 11 -_0803A3D8: - movs r0, #2 - strb r0, [r4, #0xd] - ldr r2, [r4, #0x54] - ldrb r1, [r2, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - ldrb r1, [r2, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #0x19] - b _0803A546 -_0803A3FA: - movs r0, #4 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #8 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r2, [r4, #0x54] - ldrb r1, [r2, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x19] - b _0803A546 -_0803A418: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0803A42E - b _0803A546 -_0803A42E: - movs r0, #5 - strb r0, [r4, #0xd] - b _0803A546 -_0803A434: - adds r0, r4, #0 - bl sub_0803B4E4 - cmp r0, #0 - bne _0803A446 - adds r0, r4, #0 - bl sub_0806F69C - b _0803A546 -_0803A446: - movs r0, #0 - strb r0, [r4, #0xb] - movs r0, #6 - b _0803A516 -_0803A44E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803A546 - movs r0, #7 - strb r0, [r4, #0xd] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 - b _0803A546 -_0803A468: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803A546 - movs r0, #8 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #0xc - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x54] - movs r1, #8 - bl sub_080042AC - movs r0, #0xb7 - lsls r0, r0, #1 - bl sub_080A3268 - b _0803A546 -_0803A49A: - adds r0, r4, #0 - bl sub_0803B55C - ldr r0, [r4, #0x54] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803A546 - movs r0, #9 - b _0803A516 -_0803A4B2: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803A546 - movs r0, #0xa - strb r0, [r4, #0xd] - ldr r0, [r4, #0x54] - movs r1, #6 - bl sub_080042AC - b _0803A546 -_0803A4CC: - adds r0, r4, #0 - bl sub_0803B55C - ldr r0, [r4, #0x54] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803A546 - movs r0, #0xb - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #0xf - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - b _0803A546 -_0803A4FA: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803A546 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0803A51E - movs r0, #0xc -_0803A516: - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - b _0803A546 -_0803A51E: - movs r0, #1 - strb r0, [r4, #0xb] - movs r0, #6 - strb r0, [r4, #0xd] - movs r0, #0xa - strb r0, [r4, #0xe] - b _0803A546 -_0803A52C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803A546 - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_0803B4D4 -_0803A546: - pop {r4, pc} - - thumb_func_start sub_0803A548 -sub_0803A548: @ 0x0803A548 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803B5C0 - adds r0, r4, #0 - bl sub_080042B8 - ldr r2, _0803A588 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0803B4E4 - cmp r0, #0 - bne _0803A586 - adds r0, r4, #0 - bl sub_0806F69C -_0803A586: - pop {r4, pc} - .align 2, 0 -_0803A588: .4byte gUnk_080CED6C - - thumb_func_start sub_0803A58C -sub_0803A58C: @ 0x0803A58C - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803A5C4 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0803B4E4 - cmp r0, #0 - beq _0803A5C8 - adds r0, r4, #0 - bl sub_0803B59C - b _0803A5CE - .align 2, 0 -_0803A5C4: .4byte gUnk_080CED6C -_0803A5C8: - adds r0, r4, #0 - bl sub_0806F69C -_0803A5CE: - pop {r4, pc} - - thumb_func_start sub_0803A5D0 -sub_0803A5D0: @ 0x0803A5D0 - push {lr} - movs r1, #5 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - ldr r3, _0803A608 @ =gUnk_080CED6C - ldr r1, [r0, #0x50] - ldrb r1, [r1, #0xf] - lsrs r1, r1, #4 - adds r1, #3 - ldrb r2, [r0, #0xa] - lsls r2, r2, #1 - adds r1, r1, r2 - movs r2, #7 - ands r1, r2 - adds r1, r1, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r1, #4 - strh r1, [r0, #0x36] - movs r1, #5 - bl sub_08004260 - pop {pc} - .align 2, 0 -_0803A608: .4byte gUnk_080CED6C - - thumb_func_start sub_0803A60C -sub_0803A60C: @ 0x0803A60C - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803A65C @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803A658 - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0xa - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x54] - movs r1, #8 - bl sub_080042AC -_0803A658: - pop {r4, pc} - .align 2, 0 -_0803A65C: .4byte gUnk_080CED6C - - thumb_func_start sub_0803A660 -sub_0803A660: @ 0x0803A660 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - adds r5, r0, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r6, #0x80 - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _0803A6A8 - ldrh r2, [r4, #0x36] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x50 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0803A688 - subs r0, r2, #2 - b _0803A6DC -_0803A688: - movs r1, #0 - movs r0, #7 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - ldr r1, _0803A6A4 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - b _0803A6DE - .align 2, 0 -_0803A6A4: .4byte gUnk_03001160 -_0803A6A8: - adds r0, r4, #0 - bl sub_0803B55C - ldrb r1, [r5] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _0803A6BE - ldr r0, _0803A6E0 @ =0x00000157 - bl sub_080A3268 -_0803A6BE: - ldr r2, _0803A6E4 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 -_0803A6DC: - strh r0, [r4, #0x36] -_0803A6DE: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803A6E0: .4byte 0x00000157 -_0803A6E4: .4byte gUnk_080CED6C - - thumb_func_start sub_0803A6E8 -sub_0803A6E8: @ 0x0803A6E8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803B610 - cmp r0, #0 - beq _0803A6FE - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0xa - strb r0, [r4, #0xe] - b _0803A71E -_0803A6FE: - adds r0, r4, #0 - bl sub_0803B63C - adds r0, r4, #0 - bl sub_0806F69C - ldr r0, [r4, #0x50] - movs r1, #0x32 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - adds r1, #8 - movs r2, #0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0803A71E - strh r1, [r4, #0x32] -_0803A71E: - pop {r4, pc} - - thumb_func_start sub_0803A720 -sub_0803A720: @ 0x0803A720 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803A73C - movs r0, #9 - strb r0, [r1, #0xc] - adds r0, r1, #0 - movs r1, #0x16 - bl sub_0803B8E8 -_0803A73C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803A740 -sub_0803A740: @ 0x0803A740 - push {lr} - adds r3, r0, #0 - ldrh r0, [r3, #0x36] - adds r0, #4 - strh r0, [r3, #0x36] - lsls r0, r0, #0x10 - cmp r0, #0 - blt _0803A77E - movs r0, #0 - strh r0, [r3, #0x36] - movs r0, #0xa - strb r0, [r3, #0xc] - strb r0, [r3, #0xe] - ldr r1, [r3, #0x50] - adds r1, #0x7d - ldrb r2, [r1] - movs r0, #0x40 - orrs r0, r2 - strb r0, [r1] - adds r0, r3, #0 - movs r1, #0x13 - bl sub_0803B8E8 - movs r0, #0xa - movs r1, #0 - bl sub_08080964 - movs r0, #0xac - lsls r0, r0, #1 - bl sub_080A3268 -_0803A77E: - pop {pc} - - thumb_func_start sub_0803A780 -sub_0803A780: @ 0x0803A780 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803A7AA - adds r1, r2, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - ands r0, r3 - cmp r0, #0 - beq _0803A7A6 - movs r0, #6 - b _0803A7A8 -_0803A7A6: - movs r0, #0xb -_0803A7A8: - strb r0, [r2, #0xc] -_0803A7AA: - pop {pc} - - thumb_func_start sub_0803A7AC -sub_0803A7AC: @ 0x0803A7AC - push {lr} - adds r2, r0, #0 - ldrh r3, [r2, #0x36] - movs r0, #0x36 - ldrsh r1, [r2, r0] - movs r0, #6 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0803A7C4 - subs r0, r3, #1 - strh r0, [r2, #0x36] - b _0803A7C8 -_0803A7C4: - movs r0, #0xc - strb r0, [r2, #0xc] -_0803A7C8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803A7CC -sub_0803A7CC: @ 0x0803A7CC - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803A808 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0803B4E4 - cmp r0, #0 - beq _0803A80C - movs r0, #0xd - strb r0, [r4, #0xc] - ldr r0, [r4, #0x54] - movs r1, #6 - bl sub_080042AC - b _0803A812 - .align 2, 0 -_0803A808: .4byte gUnk_080CED6C -_0803A80C: - adds r0, r4, #0 - bl sub_0806F69C -_0803A812: - pop {r4, pc} - - thumb_func_start sub_0803A814 -sub_0803A814: @ 0x0803A814 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803A868 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0803B55C - ldr r0, [r4, #0x54] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803A864 - movs r0, #0xe - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0x12 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 -_0803A864: - pop {r4, pc} - .align 2, 0 -_0803A868: .4byte gUnk_080CED6C - - thumb_func_start sub_0803A86C -sub_0803A86C: @ 0x0803A86C - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803A8B4 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803A8B2 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_0803B59C -_0803A8B2: - pop {r4, pc} - .align 2, 0 -_0803A8B4: .4byte gUnk_080CED6C - - thumb_func_start sub_0803A8B8 -sub_0803A8B8: @ 0x0803A8B8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #0x10 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - strb r1, [r4, #0x15] - movs r0, #0x80 - strh r0, [r4, #0x24] - ldr r2, _0803A904 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #1 - bl sub_080042AC - ldr r0, _0803A908 @ =0x00000153 - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 -_0803A904: .4byte gUnk_080CED6C -_0803A908: .4byte 0x00000153 - - thumb_func_start sub_0803A90C -sub_0803A90C: @ 0x0803A90C - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803A974 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0803B55C - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803A970 - movs r0, #0x11 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - lsls r0, r0, #4 - adds r0, #8 - strb r0, [r4, #0x15] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #7 - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #2 - bl sub_080042AC -_0803A970: - pop {r4, pc} - .align 2, 0 -_0803A974: .4byte gUnk_080CED6C - - thumb_func_start sub_0803A978 -sub_0803A978: @ 0x0803A978 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803A9FC @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0803B55C - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0803A9C2 - adds r0, r4, #0 - movs r1, #0x10 - bl sub_08004596 -_0803A9C2: - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0x15] - cmp r0, #0x10 - bne _0803A9F8 - movs r0, #0x12 - strb r0, [r4, #0xc] - movs r0, #3 - strb r0, [r4, #0xe] - ldrb r2, [r4, #0x10] - movs r1, #0x7f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x10] - ldr r2, [r4, #0x74] - ldrb r0, [r2, #0x10] - ands r1, r0 - strb r1, [r2, #0x10] - adds r0, r4, #0 - movs r1, #8 - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #3 - bl sub_080042AC -_0803A9F8: - pop {r4, pc} - .align 2, 0 -_0803A9FC: .4byte gUnk_080CED6C - - thumb_func_start sub_0803AA00 -sub_0803AA00: @ 0x0803AA00 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _0803AA90 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0803B870 - cmp r0, #0 - bne _0803AA8E - ldrb r1, [r4, #0xa] - movs r0, #1 - eors r0, r1 - lsls r0, r0, #4 - adds r5, r0, #0 - adds r5, #8 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0803AA54 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08004596 -_0803AA54: - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0x15] - cmp r0, r5 - beq _0803AA6E - ldr r0, _0803AA94 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r4, r2] - movs r2, #0x32 - ldrsh r0, [r0, r2] - cmp r1, r0 - blt _0803AA8E -_0803AA6E: - movs r0, #0x13 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0x17 - ands r0, r1 - strb r0, [r4, #0x18] - strb r5, [r4, #0x15] - ldr r0, _0803AA94 @ =gUnk_03001160 - ldrh r1, [r0, #0x2e] - adds r0, r4, #0 - adds r0, #0x80 - strh r1, [r0] - ldr r0, [r4, #0x54] - movs r1, #4 - bl sub_080042AC -_0803AA8E: - pop {r4, r5, pc} - .align 2, 0 -_0803AA90: .4byte gUnk_080CED6C -_0803AA94: .4byte gUnk_03001160 - - thumb_func_start sub_0803AA98 -sub_0803AA98: @ 0x0803AA98 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803AB0C @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0803B870 - cmp r0, #0 - bne _0803AB0A - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_0803B6F4 - cmp r0, #0 - beq _0803AB0A - movs r0, #0x14 - strb r0, [r4, #0xc] - movs r0, #0x40 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #0xa - bl sub_08004260 - ldr r2, [r4, #0x74] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - ldr r2, [r4, #0x54] - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x13 - strb r0, [r1] - adds r0, r2, #0 - movs r1, #5 - bl sub_080042AC - movs r0, #0xb7 - lsls r0, r0, #1 - bl sub_080A3268 -_0803AB0A: - pop {r4, pc} - .align 2, 0 -_0803AB0C: .4byte gUnk_080CED6C - - thumb_func_start sub_0803AB10 -sub_0803AB10: @ 0x0803AB10 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803AB58 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_0803B55C - ldr r0, [r4, #0x54] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803AB56 - movs r0, #0x15 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xe] -_0803AB56: - pop {r4, pc} - .align 2, 0 -_0803AB58: .4byte gUnk_080CED6C - - thumb_func_start sub_0803AB5C -sub_0803AB5C: @ 0x0803AB5C - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803ABB0 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803ABAC - movs r0, #0x16 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0x1a - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0xb - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #6 - bl sub_080042AC -_0803ABAC: - pop {r4, pc} - .align 2, 0 -_0803ABB0: .4byte gUnk_080CED6C - - thumb_func_start sub_0803ABB4 -sub_0803ABB4: @ 0x0803ABB4 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803AC18 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0803B55C - ldr r0, [r4, #0x54] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803AC14 - movs r0, #0x17 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #0x10 - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #0 - bl sub_080042AC -_0803AC14: - pop {r4, pc} - .align 2, 0 -_0803AC18: .4byte gUnk_080CED6C - - thumb_func_start sub_0803AC1C -sub_0803AC1C: @ 0x0803AC1C - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803AC54 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0803B4E4 - cmp r0, #0 - beq _0803AC58 - adds r0, r4, #0 - bl sub_0803B59C - b _0803AC5E - .align 2, 0 -_0803AC54: .4byte gUnk_080CED6C -_0803AC58: - adds r0, r4, #0 - bl sub_0806F69C -_0803AC5E: - pop {r4, pc} - - thumb_func_start sub_0803AC60 -sub_0803AC60: @ 0x0803AC60 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803ACA8 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0803ACB4 - adds r0, r4, #0 - bl sub_0803B4E4 - cmp r0, #0 - beq _0803ACAC - movs r0, #0x19 - strb r0, [r4, #0xc] - movs r0, #0 - strb r0, [r4, #0xd] - movs r0, #0x1e - b _0803ACB6 - .align 2, 0 -_0803ACA8: .4byte gUnk_080CED6C -_0803ACAC: - adds r0, r4, #0 - bl sub_0806F69C - b _0803ACB8 -_0803ACB4: - subs r0, #1 -_0803ACB6: - strb r0, [r4, #0xe] -_0803ACB8: - adds r0, r4, #0 - bl sub_0803B824 - pop {r4, pc} - - thumb_func_start sub_0803ACC0 -sub_0803ACC0: @ 0x0803ACC0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - subs r0, #1 - cmp r0, #4 - bhi _0803ACF0 - lsls r0, r0, #2 - ldr r1, _0803ACD8 @ =_0803ACDC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803ACD8: .4byte _0803ACDC -_0803ACDC: @ jump table - .4byte _0803AD02 @ case 0 - .4byte _0803AD1A @ case 1 - .4byte _0803AD4A @ case 2 - .4byte _0803AD5C @ case 3 - .4byte _0803AD74 @ case 4 -_0803ACF0: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803ADA4 - movs r0, #1 - strb r0, [r4, #0xd] - b _0803ADA4 -_0803AD02: - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x20 - rsbs r1, r1, #0 - cmp r0, r1 - bge _0803ADA4 - movs r0, #2 - strb r0, [r4, #0xd] - b _0803ADA4 -_0803AD1A: - ldrh r0, [r4, #0x36] - adds r0, #4 - strh r0, [r4, #0x36] - lsls r0, r0, #0x10 - cmp r0, #0 - blt _0803ADA4 - movs r0, #0 - strh r0, [r4, #0x36] - movs r0, #0xc - strb r0, [r4, #0xe] - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #8 - movs r1, #0 - bl sub_08080964 - movs r0, #0xac - lsls r0, r0, #1 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_0803B804 - b _0803ADA4 -_0803AD4A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803ADA4 - movs r0, #4 - strb r0, [r4, #0xd] - b _0803ADA4 -_0803AD5C: - ldrh r0, [r4, #0x36] - subs r0, #2 - strh r0, [r4, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x28 - rsbs r1, r1, #0 - cmp r0, r1 - bge _0803ADA4 - movs r0, #5 - strb r0, [r4, #0xd] - b _0803ADA4 -_0803AD74: - ldrh r0, [r4, #0x36] - adds r0, #4 - strh r0, [r4, #0x36] - lsls r0, r0, #0x10 - cmp r0, #0 - blt _0803ADA4 - movs r0, #0 - strh r0, [r4, #0x36] - movs r0, #0x1a - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x1e - movs r1, #0 - bl sub_08080964 - movs r0, #0xac - lsls r0, r0, #1 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_0803B804 - b _0803ADAA -_0803ADA4: - adds r0, r4, #0 - bl sub_0803B824 -_0803ADAA: - pop {r4, pc} - - thumb_func_start sub_0803ADAC -sub_0803ADAC: @ 0x0803ADAC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803ADEC - movs r0, #0x16 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0x1a - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r2, [r4, #0x74] - ldrb r0, [r2, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r0, r4, #0 - movs r1, #0xb - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #6 - bl sub_080042AC - bl sub_0803B798 - b _0803ADF2 -_0803ADEC: - adds r0, r4, #0 - bl sub_0803B824 -_0803ADF2: - pop {r4, pc} - - thumb_func_start sub_0803ADF4 -sub_0803ADF4: @ 0x0803ADF4 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803AE44 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803AE42 - movs r0, #0x1c - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x22 - ands r0, r1 - strb r0, [r4, #0x18] -_0803AE42: - pop {r4, pc} - .align 2, 0 -_0803AE44: .4byte gUnk_080CED6C - - thumb_func_start sub_0803AE48 -sub_0803AE48: @ 0x0803AE48 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803AEAC @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0803AE82 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803AEB0 -_0803AE82: - ldr r0, [r4, #0x50] - adds r0, #0x7d - ldrb r1, [r0] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - beq _0803AEB0 - movs r0, #0x1d - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0x21 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - b _0803AEC0 - .align 2, 0 -_0803AEAC: .4byte gUnk_080CED6C -_0803AEB0: - adds r0, r4, #0 - bl sub_0803B4E4 - cmp r0, #0 - bne _0803AEC0 - adds r0, r4, #0 - bl sub_0806F69C -_0803AEC0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803AEC4 -sub_0803AEC4: @ 0x0803AEC4 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803AF14 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803AF10 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_0803B59C -_0803AF10: - pop {r4, pc} - .align 2, 0 -_0803AF14: .4byte gUnk_080CED6C - - thumb_func_start sub_0803AF18 -sub_0803AF18: @ 0x0803AF18 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x1f - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 - ldr r2, _0803AF4C @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - pop {r4, pc} - .align 2, 0 -_0803AF4C: .4byte gUnk_080CED6C - - thumb_func_start sub_0803AF50 -sub_0803AF50: @ 0x0803AF50 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803AF7A - movs r0, #0x20 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0x24 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x54] - movs r1, #8 - bl sub_080042AC -_0803AF7A: - pop {r4, pc} - - thumb_func_start sub_0803AF7C -sub_0803AF7C: @ 0x0803AF7C - push {r4, lr} - adds r4, r0, #0 - bl sub_0803B55C - ldr r0, [r4, #0x54] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803AF9A - movs r0, #0x21 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xe] -_0803AF9A: - pop {r4, pc} - - thumb_func_start sub_0803AF9C -sub_0803AF9C: @ 0x0803AF9C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _0803AFAA - subs r0, #1 - b _0803AFC4 -_0803AFAA: - ldrh r3, [r2, #0x36] - movs r0, #0x36 - ldrsh r1, [r2, r0] - movs r0, #0x20 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0803AFBE - subs r0, r3, #2 - strh r0, [r2, #0x36] - b _0803AFC6 -_0803AFBE: - movs r0, #0x22 - strb r0, [r2, #0xc] - movs r0, #0xa -_0803AFC4: - strb r0, [r2, #0xe] -_0803AFC6: - pop {pc} - - thumb_func_start sub_0803AFC8 -sub_0803AFC8: @ 0x0803AFC8 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803AFDC - movs r0, #0x23 - strb r0, [r1, #0xc] -_0803AFDC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803AFE0 -sub_0803AFE0: @ 0x0803AFE0 - push {lr} - adds r3, r0, #0 - ldrh r1, [r3, #0x36] - movs r2, #0x36 - ldrsh r0, [r3, r2] - cmp r0, #0 - bge _0803AFF4 - adds r0, r1, #4 - strh r0, [r3, #0x36] - b _0803B018 -_0803AFF4: - movs r2, #0 - movs r0, #0x24 - strb r0, [r3, #0xc] - movs r0, #0xf0 - strb r0, [r3, #0xe] - adds r1, r3, #0 - adds r1, #0x84 - movs r0, #3 - strb r0, [r1] - strh r2, [r3, #0x36] - movs r0, #0xa0 - movs r1, #0 - bl sub_08080964 - movs r0, #0xac - lsls r0, r0, #1 - bl sub_080A3268 -_0803B018: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803B01C -sub_0803B01C: @ 0x0803B01C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r1, r0, #1 - strb r1, [r2, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0803B032 - movs r0, #0x25 - strb r0, [r2, #0xc] - b _0803B048 -_0803B032: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x46 - bls _0803B048 - movs r0, #0xf - ands r1, r0 - cmp r1, #0 - bne _0803B048 - adds r0, r2, #0 - bl sub_0803B724 -_0803B048: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803B04C -sub_0803B04C: @ 0x0803B04C - push {lr} - adds r2, r0, #0 - ldrh r3, [r2, #0x36] - movs r0, #0x36 - ldrsh r1, [r2, r0] - movs r0, #6 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0803B064 - subs r0, r3, #1 - strh r0, [r2, #0x36] - b _0803B070 -_0803B064: - movs r0, #0x26 - strb r0, [r2, #0xc] - ldr r0, [r2, #0x54] - movs r1, #6 - bl sub_080042AC -_0803B070: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803B074 -sub_0803B074: @ 0x0803B074 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803B0D0 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0803B55C - ldr r0, [r4, #0x54] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803B0CC - movs r0, #0x27 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0x2b - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #0 - bl sub_080042AC -_0803B0CC: - pop {r4, pc} - .align 2, 0 -_0803B0D0: .4byte gUnk_080CED6C - - thumb_func_start sub_0803B0D4 -sub_0803B0D4: @ 0x0803B0D4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803B0FE - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_0803B59C -_0803B0FE: - pop {r4, pc} - - thumb_func_start sub_0803B100 -sub_0803B100: @ 0x0803B100 - push {lr} - adds r2, r0, #0 - movs r0, #0x29 - strb r0, [r2, #0xc] - movs r0, #0xa0 - lsls r0, r0, #9 - str r0, [r2, #0x20] - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _0803B11C - ldr r0, _0803B118 @ =gUnk_080FD364 - b _0803B11E - .align 2, 0 -_0803B118: .4byte gUnk_080FD364 -_0803B11C: - ldr r0, _0803B13C @ =gUnk_080FD374 -_0803B11E: - str r0, [r2, #0x48] - ldr r0, [r2, #0x74] - movs r1, #3 - strb r1, [r0, #0xc] - adds r0, #0x74 - movs r1, #0x20 - strb r1, [r0] - ldr r0, [r2, #0x54] - movs r1, #9 - bl sub_080042AC - ldr r0, _0803B140 @ =0x0000014F - bl sub_080A3268 - pop {pc} - .align 2, 0 -_0803B13C: .4byte gUnk_080FD374 -_0803B140: .4byte 0x0000014F - - thumb_func_start sub_0803B144 -sub_0803B144: @ 0x0803B144 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - bl sub_080042B8 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0803B178 - movs r0, #0x2a - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x16 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #0x14 - bl sub_0803B8E8 - movs r0, #8 - movs r1, #0 - bl sub_08080964 -_0803B178: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803B17C -sub_0803B17C: @ 0x0803B17C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803B1B4 - movs r0, #0x2b - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x18 - strb r0, [r1] - adds r1, #6 - movs r0, #0xff - strb r0, [r1] - adds r1, #0x39 - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r1] -_0803B1B4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803B1B8 -sub_0803B1B8: @ 0x0803B1B8 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0803B1D4 - adds r0, r5, #0 - bl sub_08004274 - ldr r0, [r5, #0x54] - bl sub_080042B8 -_0803B1D4: - adds r0, r5, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0xf4 - bhi _0803B2B8 - movs r0, #0x32 - strb r0, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x7e - ldr r0, _0803B284 @ =0x000005DC - strh r0, [r1] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r5, #0x18] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x14 - strb r0, [r1] - adds r0, r5, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _0803B23A - ldr r0, [r5, #0x48] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - ldr r0, [r5, #0x48] - ldrb r0, [r0, #1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_0803B23A: - movs r0, #0 - movs r1, #0x5e - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0803B268 - movs r0, #0 - strb r0, [r4, #0xe] - movs r0, #0x90 - strb r0, [r4, #0x15] - ldr r0, [r5, #0x48] - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 -_0803B268: - ldr r4, [r5, #0x74] - adds r1, r4, #0 - adds r1, #0x74 - movs r0, #0x40 - strb r0, [r1] - ldr r4, [r5, #0x50] - adds r0, r4, #0 - adds r0, #0x80 - ldrb r1, [r0] - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _0803B288 - movs r0, #4 - b _0803B28A - .align 2, 0 -_0803B284: .4byte 0x000005DC -_0803B288: - movs r0, #8 -_0803B28A: - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - movs r0, #0xc - ands r0, r1 - cmp r0, #0xc - bne _0803B2CE - movs r0, #0xb - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #0 - str r0, [r4, #0x20] - ldr r0, [r4, #0x74] - adds r0, #0x7e - movs r1, #0xe1 - lsls r1, r1, #3 - strh r1, [r0] - ldr r0, [r4, #0x78] - adds r0, #0x7e - strh r1, [r0] - b _0803B2CE -_0803B2B8: - adds r1, r5, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803B2CE - adds r0, r5, #0 - bl sub_0803B6A4 -_0803B2CE: - pop {r4, r5, pc} - - thumb_func_start sub_0803B2D0 -sub_0803B2D0: @ 0x0803B2D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803B30A - movs r2, #0 - movs r0, #0x2d - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0x31 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x74] - movs r1, #2 - strb r1, [r0, #0xc] - adds r1, r0, #0 - adds r1, #0x74 - strb r2, [r1] - adds r1, #4 - strh r2, [r1] - movs r1, #3 - bl sub_08004260 -_0803B30A: - pop {r4, pc} - - thumb_func_start sub_0803B30C -sub_0803B30C: @ 0x0803B30C - push {r4, lr} - adds r2, r0, #0 - ldr r4, [r2, #0x74] - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803B334 - movs r0, #0x2e - strb r0, [r2, #0xc] - adds r0, r2, #0 - movs r1, #0x13 - bl sub_0803B8E8 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0803B334: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803B338 -sub_0803B338: @ 0x0803B338 - push {lr} - adds r2, r0, #0 - ldrh r3, [r2, #0x36] - movs r0, #0x36 - ldrsh r1, [r2, r0] - movs r0, #0xa - rsbs r0, r0, #0 - cmp r1, r0 - ble _0803B350 - subs r0, r3, #1 - strh r0, [r2, #0x36] - b _0803B358 -_0803B350: - movs r0, #0x2f - strb r0, [r2, #0xc] - movs r0, #0xf - strb r0, [r2, #0xe] -_0803B358: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803B35C -sub_0803B35C: @ 0x0803B35C - push {lr} - adds r3, r0, #0 - ldr r2, _0803B394 @ =gUnk_080CED6C - ldr r0, [r3, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r3, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r3, #0x36] - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803B390 - movs r0, #0x30 - strb r0, [r3, #0xc] -_0803B390: - pop {pc} - .align 2, 0 -_0803B394: .4byte gUnk_080CED6C - - thumb_func_start sub_0803B398 -sub_0803B398: @ 0x0803B398 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0803B3E8 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0803B4E4 - cmp r0, #0 - beq _0803B3EC - movs r0, #0x31 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #0x35 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - ldr r0, [r4, #0x54] - movs r1, #0 - bl sub_080042AC - b _0803B3F2 - .align 2, 0 -_0803B3E8: .4byte gUnk_080CED6C -_0803B3EC: - adds r0, r4, #0 - bl sub_0806F69C -_0803B3F2: - pop {r4, pc} - - thumb_func_start sub_0803B3F4 -sub_0803B3F4: @ 0x0803B3F4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _0803B440 @ =gUnk_080CED6C - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - lsrs r0, r0, #4 - adds r0, #3 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r0, r0, r1 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803B47C - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x17 - strb r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0803B448 - ldr r0, _0803B444 @ =gUnk_080FD35C - b _0803B44A - .align 2, 0 -_0803B440: .4byte gUnk_080CED6C -_0803B444: .4byte gUnk_080FD35C -_0803B448: - ldr r0, _0803B468 @ =gUnk_080FD36C -_0803B44A: - str r0, [r4, #0x48] - ldr r0, [r4, #0x50] - ldrb r2, [r4, #0xa] - movs r1, #2 - cmp r2, #0 - bne _0803B458 - movs r1, #1 -_0803B458: - adds r0, #0x80 - ldrb r3, [r0] - adds r5, r0, #0 - cmp r2, #0 - bne _0803B46C - movs r0, #0x10 - b _0803B46E - .align 2, 0 -_0803B468: .4byte gUnk_080FD36C -_0803B46C: - movs r0, #0x20 -_0803B46E: - orrs r1, r0 - adds r0, r3, #0 - bics r0, r1 - strb r0, [r5] - adds r0, r4, #0 - bl sub_0803B59C -_0803B47C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803B480 -sub_0803B480: @ 0x0803B480 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7e - ldrh r1, [r0] - movs r0, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0803B4B6 - movs r0, #0x2d - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0803B4B6 - ldr r0, _0803B4D0 @ =gUnk_080CFD08 - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - adds r0, r4, #0 - adds r1, r3, #0 - movs r3, #0 - bl sub_0806FA48 -_0803B4B6: - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803B4CC - adds r0, r4, #0 - bl sub_0803B6A4 -_0803B4CC: - pop {r4, pc} - .align 2, 0 -_0803B4D0: .4byte gUnk_080CFD08 - - thumb_func_start sub_0803B4D4 -sub_0803B4D4: @ 0x0803B4D4 - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - movs r1, #0x10 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803B4E4 -sub_0803B4E4: @ 0x0803B4E4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r2, [r4, #0x50] - movs r0, #0x2e - ldrsh r3, [r2, r0] - ldr r1, _0803B52C @ =gUnk_080CFD0A - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r3, r0 - movs r1, #0x32 - ldrsh r0, [r2, r1] - adds r6, r0, #0 - adds r6, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - movs r3, #2 - bl sub_0806FCB8 - cmp r0, #0 - bne _0803B530 - movs r2, #0x2e - ldrsh r0, [r4, r2] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r5, #0 - adds r3, r6, #0 - bl sub_080045D4 - strb r0, [r4, #0x15] - movs r0, #0 - b _0803B536 - .align 2, 0 -_0803B52C: .4byte gUnk_080CFD0A -_0803B530: - strh r5, [r4, #0x2e] - strh r6, [r4, #0x32] - movs r0, #1 -_0803B536: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0803B538 -sub_0803B538: @ 0x0803B538 - push {r4, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x54] - ldr r3, _0803B554 @ =0xFFFF0000 - movs r2, #0 - bl sub_0806FA48 - ldr r1, [r4, #0x74] - ldr r3, _0803B558 @ =0xFFFE0000 - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 - pop {r4, pc} - .align 2, 0 -_0803B554: .4byte 0xFFFF0000 -_0803B558: .4byte 0xFFFE0000 - - thumb_func_start sub_0803B55C -sub_0803B55C: @ 0x0803B55C - push {r4, r5, lr} - ldr r5, [r0, #0x74] - ldr r4, [r0, #0x54] - adds r0, r4, #0 - bl sub_080042B8 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0803B588 - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - beq _0803B59A - adds r0, r5, #0 - movs r1, #1 - bl sub_08004260 - b _0803B59A -_0803B588: - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - beq _0803B59A - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 -_0803B59A: - pop {r4, r5, pc} - - thumb_func_start sub_0803B59C -sub_0803B59C: @ 0x0803B59C - push {lr} - movs r3, #2 - strb r3, [r0, #0xc] - ldr r2, [r0, #0x50] - adds r1, r2, #0 - adds r1, #0x7d - ldrb r1, [r1] - ldrb r0, [r0, #0xa] - cmp r0, #0 - bne _0803B5B6 - movs r0, #1 - orrs r1, r0 - b _0803B5B8 -_0803B5B6: - orrs r1, r3 -_0803B5B8: - adds r0, r2, #0 - adds r0, #0x7d - strb r1, [r0] - pop {pc} - - thumb_func_start sub_0803B5C0 -sub_0803B5C0: @ 0x0803B5C0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0803B5E8 @ =gUnk_03001160 - bl sub_080045C4 - adds r2, r0, #0 - cmp r2, #9 - bhi _0803B5D2 - movs r2, #0xa -_0803B5D2: - cmp r2, #0x16 - bls _0803B5D8 - movs r2, #0x16 -_0803B5D8: - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0803B5F0 - ldr r1, _0803B5EC @ =gUnk_080CFD0C - adds r0, r2, #0 - subs r0, #0xa - b _0803B5F6 - .align 2, 0 -_0803B5E8: .4byte gUnk_03001160 -_0803B5EC: .4byte gUnk_080CFD0C -_0803B5F0: - ldr r1, _0803B60C @ =gUnk_080CFD0C - movs r0, #0x16 - subs r0, r0, r2 -_0803B5F6: - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, r1 - beq _0803B60A - adds r0, r4, #0 - bl sub_08004260 -_0803B60A: - pop {r4, pc} - .align 2, 0 -_0803B60C: .4byte gUnk_080CFD0C - - thumb_func_start sub_0803B610 -sub_0803B610: @ 0x0803B610 - push {r4, lr} - ldr r4, _0803B634 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r4, r2] - ldr r3, _0803B638 @ =gUnk_080CFD19 - ldrb r2, [r0, #0xa] - adds r2, r2, r3 - ldrb r2, [r2] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - adds r1, r1, r2 - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r2, #0xc - movs r3, #8 - bl sub_0806FCB8 - pop {r4, pc} - .align 2, 0 -_0803B634: .4byte gUnk_03001160 -_0803B638: .4byte gUnk_080CFD19 - - thumb_func_start sub_0803B63C -sub_0803B63C: @ 0x0803B63C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _0803B680 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r3, [r2, r0] - ldr r1, _0803B684 @ =gUnk_080CFD19 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r3, r3, r0 - movs r1, #0x32 - ldrsh r0, [r2, r1] - adds r5, r0, #0 - subs r5, #0xc - ldrb r0, [r4, #0xe] - adds r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xb4 - bls _0803B688 - movs r2, #0x2e - ldrsh r0, [r4, r2] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r3, #0 - adds r3, r5, #0 - bl sub_080045D4 - strb r0, [r4, #0x15] - b _0803B6A0 - .align 2, 0 -_0803B680: .4byte gUnk_03001160 -_0803B684: .4byte gUnk_080CFD19 -_0803B688: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r3, #0 - adds r3, r5, #0 - bl sub_080045D4 - - thumb_func_start sub_0803B698 -sub_0803B698: @ 0x0803B698 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_0803B6A0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803B6A4 -sub_0803B6A4: @ 0x0803B6A4 - push {r4, lr} - adds r2, r0, #0 - movs r0, #0x2c - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x14 - strb r0, [r1] - ldr r3, [r2, #0x50] - adds r0, r3, #0 - adds r0, #0x80 - ldrb r1, [r0] - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _0803B6C6 - movs r0, #0x10 - b _0803B6C8 -_0803B6C6: - movs r0, #0x20 -_0803B6C8: - orrs r1, r0 - adds r0, r3, #0 - adds r0, #0x80 - strb r1, [r0] - ldrb r3, [r0] - ldrb r1, [r2, #0xa] - adds r4, r0, #0 - cmp r1, #0 - bne _0803B6E0 - movs r0, #5 - rsbs r0, r0, #0 - b _0803B6E4 -_0803B6E0: - movs r0, #9 - rsbs r0, r0, #0 -_0803B6E4: - ands r0, r3 - strb r0, [r4] - adds r0, r2, #0 - movs r1, #0x17 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803B6F4 -sub_0803B6F4: @ 0x0803B6F4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _0803B710 - adds r0, r2, #0 - adds r0, #0x80 - ldrh r1, [r0] - movs r3, #0x2e - ldrsh r0, [r2, r3] - cmp r1, r0 - ble _0803B71E -_0803B70C: - movs r0, #1 - b _0803B720 -_0803B710: - adds r0, r2, #0 - adds r0, #0x80 - ldrh r1, [r0] - movs r3, #0x2e - ldrsh r0, [r2, r3] - cmp r1, r0 - blt _0803B70C -_0803B71E: - movs r0, #0 -_0803B720: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803B724 -sub_0803B724: @ 0x0803B724 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xf] - cmp r0, #2 - bhi _0803B78E - adds r6, r5, #0 - adds r6, #0x84 - ldrb r0, [r6] - cmp r0, #0 - beq _0803B78E - movs r0, #7 - movs r1, #1 - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _0803B78E - movs r0, #1 - strb r0, [r4, #0xb] - bl sub_08000E50 - ldr r2, _0803B790 @ =gUnk_080CFD1B - ldrb r1, [r5, #0xa] - adds r1, r1, r2 - movs r3, #0x70 - adds r2, r0, #0 - ands r2, r3 - ldrb r1, [r1] - adds r2, r2, r1 - ldr r3, _0803B794 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - adds r1, r1, r2 - strh r1, [r4, #0x2e] - lsrs r0, r0, #0x10 - movs r1, #7 - ands r0, r1 - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #1 - adds r1, #0x5c - ldrh r3, [r3, #8] - adds r1, r1, r3 - strh r1, [r4, #0x32] - str r5, [r4, #0x50] - adds r0, r4, #0 - bl sub_08016A30 - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] - ldrb r0, [r6] - subs r0, #1 - strb r0, [r6] -_0803B78E: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803B790: .4byte gUnk_080CFD1B -_0803B794: .4byte gUnk_03000BF0 - - thumb_func_start sub_0803B798 -sub_0803B798: @ 0x0803B798 - ldr r2, _0803B7F4 @ =gUnk_03003F80 - movs r1, #0 - movs r0, #0x41 - strb r0, [r2, #2] - strb r1, [r2, #0xa] - ldr r0, [r2, #0x30] - ldr r1, _0803B7F8 @ =0x0000FFEF - ands r0, r1 - str r0, [r2, #0x30] - ldr r3, _0803B7FC @ =gUnk_03001160 - ldrb r1, [r3, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r3, #0x10] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r3, #0x20] - movs r2, #0 - ldr r0, _0803B800 @ =0x0000FFF6 - strh r0, [r3, #0x36] - movs r0, #0x10 - strb r0, [r3, #0x15] - movs r0, #4 - strb r0, [r3, #0x14] - movs r0, #0x29 - adds r0, r0, r3 - mov ip, r0 - ldrb r1, [r0] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x63 - strb r2, [r0] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r3, #0x24] - adds r1, r3, #0 - adds r1, #0x3d - movs r0, #0xe2 - strb r0, [r1] - bx lr - .align 2, 0 -_0803B7F4: .4byte gUnk_03003F80 -_0803B7F8: .4byte 0x0000FFEF -_0803B7FC: .4byte gUnk_03001160 -_0803B800: .4byte 0x0000FFF6 - - thumb_func_start sub_0803B804 -sub_0803B804: @ 0x0803B804 - push {r4, lr} - ldr r4, _0803B820 @ =gUnk_03001160 - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0x1e - strb r0, [r1] - subs r0, #0x22 - bl sub_080526A0 - adds r0, r4, #0 - movs r1, #0x7a - bl sub_0800449C - pop {r4, pc} - .align 2, 0 -_0803B820: .4byte gUnk_03001160 - - thumb_func_start sub_0803B824 -sub_0803B824: @ 0x0803B824 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08077B2C - ldr r2, _0803B864 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x1a] - ldr r4, _0803B868 @ =gUnk_03001160 - ldr r1, _0803B86C @ =gUnk_080CFD1D - ldrb r0, [r5, #0xa] - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r0, r5, #0 - adds r1, r4, #0 - movs r3, #1 - bl sub_0806FA90 - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xfa - strb r0, [r1] - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4] - pop {r4, r5, pc} - .align 2, 0 -_0803B864: .4byte gUnk_03003F80 -_0803B868: .4byte gUnk_03001160 -_0803B86C: .4byte gUnk_080CFD1D - - thumb_func_start sub_0803B870 -sub_0803B870: @ 0x0803B870 - push {r4, lr} - adds r3, r0, #0 - ldr r4, [r3, #0x54] - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803B8DC - ldr r0, _0803B8D4 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0803B8DC - movs r0, #0x18 - strb r0, [r3, #0xc] - movs r0, #0x44 - strb r0, [r3, #0xe] - ldrb r1, [r3, #0x18] - subs r0, #0x48 - ands r0, r1 - strb r0, [r3, #0x18] - ldr r1, _0803B8D8 @ =gUnk_03001160 - ldrb r2, [r1, #0x10] - movs r0, #0x7f - ands r0, r2 - strb r0, [r1, #0x10] - adds r1, #0x3d - movs r0, #0xf0 - strb r0, [r1] - adds r0, r3, #0 - bl sub_0803B824 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x13 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #7 - bl sub_080042AC - movs r0, #0xb7 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #1 - b _0803B8E6 - .align 2, 0 -_0803B8D4: .4byte gUnk_03003F80 -_0803B8D8: .4byte gUnk_03001160 -_0803B8DC: - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x15 - strb r0, [r1] - movs r0, #0 -_0803B8E6: - pop {r4, pc} - - thumb_func_start sub_0803B8E8 -sub_0803B8E8: @ 0x0803B8E8 - ldr r2, [r0, #0x54] - adds r2, #0x3f - strb r1, [r2] - ldr r2, [r0, #0x74] - adds r0, r2, #0 - adds r0, #0x3f - strb r1, [r0] - bx lr - - thumb_func_start sub_0803B8F8 -sub_0803B8F8: @ 0x0803B8F8 - push {lr} - ldr r2, _0803B90C @ =gUnk_080CFD20 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803B90C: .4byte gUnk_080CFD20 - - thumb_func_start sub_0803B910 -sub_0803B910: @ 0x0803B910 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0803B940 @ =gUnk_030010A0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - beq _0803B944 - movs r2, #0 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x74 - strb r2, [r0] - adds r0, r4, #0 - movs r1, #0xa - bl sub_0803BA8C - b _0803B950 - .align 2, 0 -_0803B940: .4byte gUnk_030010A0 -_0803B944: - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x74 - movs r0, #0x80 - strb r0, [r1] -_0803B950: - ldrb r1, [r4, #0xa] - subs r1, #2 - movs r0, #1 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C - pop {r4, pc} - - thumb_func_start sub_0803B978 -sub_0803B978: @ 0x0803B978 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #5 - bhi _0803BA34 - lsls r0, r0, #2 - ldr r1, _0803B98C @ =_0803B990 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B98C: .4byte _0803B990 -_0803B990: @ jump table - .4byte _0803BA66 @ case 0 - .4byte _0803B9A8 @ case 1 - .4byte _0803B9C0 @ case 2 - .4byte _0803BA46 @ case 3 - .4byte _0803BA14 @ case 4 - .4byte _0803BA40 @ case 5 -_0803B9A8: - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xd] - strb r0, [r4, #0xe] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x74 - strb r1, [r0] - ldr r0, _0803BA10 @ =0x000001A9 - bl sub_080A3268 -_0803B9C0: - ldrb r1, [r4, #0xf] - adds r0, r4, #0 - bl sub_0803BA8C - adds r0, r4, #0 - adds r0, #0x75 - adds r5, r4, #0 - adds r5, #0x74 - ldrb r1, [r0] - ldrb r0, [r5] - orrs r0, r1 - cmp r0, #0 - bne _0803B9E0 - ldr r0, _0803BA10 @ =0x000001A9 - bl sub_080A3268 -_0803B9E0: - ldrb r0, [r5] - cmp r0, #0 - bne _0803BA66 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803BA66 - movs r0, #2 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - subs r0, #4 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xa - bne _0803BA66 - ldr r0, [r4, #0x50] - ldr r1, [r0, #0x50] - movs r0, #3 - strb r0, [r1, #0xd] - strb r0, [r4, #0xd] - b _0803BA66 - .align 2, 0 -_0803BA10: .4byte 0x000001A9 -_0803BA14: - movs r0, #5 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #9 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r4, #0x19] - b _0803BA46 -_0803BA34: - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x19] - subs r0, #0xf - ands r0, r1 - strb r0, [r4, #0x19] -_0803BA40: - adds r0, r4, #0 - bl sub_08004274 -_0803BA46: - adds r0, r4, #0 - movs r1, #0x10 - bl sub_0803BA8C - adds r1, r4, #0 - adds r1, #0x75 - adds r0, r4, #0 - adds r0, #0x74 - ldrb r1, [r1] - ldrb r0, [r0] - orrs r0, r1 - cmp r0, #0 - bne _0803BA66 - ldr r0, _0803BA68 @ =0x000001A9 - bl sub_080A3268 -_0803BA66: - pop {r4, r5, pc} - .align 2, 0 -_0803BA68: .4byte 0x000001A9 - - thumb_func_start sub_0803BA6C -sub_0803BA6C: @ 0x0803BA6C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xa - bl sub_0803BA8C - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803BA80 -sub_0803BA80: @ 0x0803BA80 - push {lr} - movs r1, #0xa - bl sub_0803BA8C - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803BA8C -sub_0803BA8C: @ 0x0803BA8C - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - movs r1, #0 - adds r4, r6, #0 - adds r4, #0x74 - ldrb r3, [r4] - movs r2, #0xe0 - ands r2, r3 - cmp r2, #0 - bne _0803BAEC - cmp r3, #0 - bne _0803BAD2 - adds r2, r6, #0 - adds r2, #0x75 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #9 - bls _0803BABA - strb r1, [r2] -_0803BABA: - ldrb r0, [r6, #0xa] - cmp r0, #2 - bne _0803BAC8 - ldr r1, _0803BAC4 @ =gUnk_080CFD30 - b _0803BACA - .align 2, 0 -_0803BAC4: .4byte gUnk_080CFD30 -_0803BAC8: - ldr r1, _0803BAE8 @ =gUnk_080CFD44 -_0803BACA: - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] -_0803BAD2: - adds r2, r6, #0 - adds r2, #0x74 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - cmp r5, r0 - bhi _0803BB18 - movs r0, #0 - strb r0, [r2] - b _0803BB18 - .align 2, 0 -_0803BAE8: .4byte gUnk_080CFD44 -_0803BAEC: - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _0803BB18 - movs r0, #0x80 - orrs r0, r3 - strb r0, [r4] - movs r0, #0x20 - ands r2, r0 - cmp r2, #0 - beq _0803BB0C - ldr r1, _0803BB08 @ =gUnk_080CFD58 - b _0803BB0E - .align 2, 0 -_0803BB08: .4byte gUnk_080CFD58 -_0803BB0C: - ldr r1, _0803BB78 @ =gUnk_080CFD5C -_0803BB0E: - ldrb r0, [r6, #0xa] - subs r0, #2 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] -_0803BB18: - cmp r1, #0 - beq _0803BB74 - adds r0, r6, #0 - bl sub_0801D2B4 - ldr r0, [r6, #0x50] - ldr r4, [r0, #0x78] - ldrb r1, [r6, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - ldrb r2, [r4, #0x1a] - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r3, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldr r0, [r6, #0x50] - ldr r5, [r0, #0x78] - ldrb r1, [r6, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x18 - ldrb r4, [r5, #0x1a] - movs r2, #0xf - adds r0, r2, #0 - ands r0, r4 - orrs r0, r1 - strb r0, [r5, #0x1a] - ldr r0, [r6, #0x50] - ldr r4, [r0, #0x54] - ldrb r0, [r6, #0x1a] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - ldrb r1, [r4, #0x1a] - ands r3, r1 - orrs r3, r0 - strb r3, [r4, #0x1a] - ldr r0, [r6, #0x50] - ldr r3, [r0, #0x54] - ldrb r0, [r6, #0x1a] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x18 - ldrb r1, [r3, #0x1a] - ands r2, r1 - orrs r2, r0 - strb r2, [r3, #0x1a] -_0803BB74: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803BB78: .4byte gUnk_080CFD5C - - thumb_func_start sub_0803BB7C -sub_0803BB7C: @ 0x0803BB7C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0803BB94 @ =gUnk_080CFF3C - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0803BB94: .4byte gUnk_080CFF3C - - thumb_func_start sub_0803BB98 -sub_0803BB98: @ 0x0803BB98 - push {lr} - ldr r2, _0803BBAC @ =gUnk_080CFF54 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803BBAC: .4byte gUnk_080CFF54 - - thumb_func_start sub_0803BBB0 -sub_0803BBB0: @ 0x0803BBB0 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r2, #0x80 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0803BC2C - movs r5, #0x7f - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _0803BC06 - adds r0, r4, #0 - bl sub_0803C0AC - ldrb r1, [r4, #0x10] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r2, [r4, #0x15] - adds r0, r2, #4 - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _0803BBF6 - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - beq _0803BBF2 - adds r0, r2, #2 - b _0803BBF4 -_0803BBF2: - subs r0, r2, #2 -_0803BBF4: - strb r0, [r4, #0x15] -_0803BBF6: - ldrb r1, [r4, #0x15] - movs r0, #0x20 - subs r0, r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0803BF2C - b _0803BC1E -_0803BC06: - adds r0, r4, #0 - adds r0, #0x3d - ldrb r1, [r0] - adds r0, r2, #0 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0803BC1E - adds r1, r4, #0 - adds r1, #0x45 - strb r0, [r1] -_0803BC1E: - adds r1, r4, #0 - adds r1, #0x82 - ldrh r0, [r1] - cmp r0, #0x10 - bls _0803BC2C - subs r0, #0xc - strh r0, [r1] -_0803BC2C: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, r5, pc} - - thumb_func_start sub_0803BC34 -sub_0803BC34: @ 0x0803BC34 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0803BC78 @ =gUnk_080CFF6C - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - bne _0803BC74 - movs r1, #2 - strb r1, [r4, #0xc] - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x84 - strb r1, [r0] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0xe0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0803BF2C -_0803BC74: - pop {r4, pc} - .align 2, 0 -_0803BC78: .4byte gUnk_080CFF6C - - thumb_func_start sub_0803BC7C -sub_0803BC7C: @ 0x0803BC7C - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_0803BC88 -sub_0803BC88: @ 0x0803BC88 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_0803BC90 -sub_0803BC90: @ 0x0803BC90 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0803BCA2 - adds r0, r4, #0 - bl sub_0804A7D4 -_0803BCA2: - pop {r4, pc} - - thumb_func_start sub_0803BCA4 -sub_0803BCA4: @ 0x0803BCA4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - bl sub_0804A720 - movs r4, #0 - movs r5, #1 - strb r5, [r6, #0xc] - strb r4, [r6, #0xf] - adds r0, r6, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r6, #0x15] - adds r0, r6, #0 - adds r0, #0x80 - strb r4, [r0] - adds r0, #1 - strb r4, [r0] - strb r5, [r6, #0x1c] - adds r2, r6, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r1, r6, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - ldrb r1, [r6, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r6, #0x1b] - ldrh r1, [r6, #0x2e] - adds r0, r6, #0 - adds r0, #0x78 - strh r1, [r0] - ldrh r0, [r6, #0x32] - adds r1, r6, #0 - adds r1, #0x7a - strh r0, [r1] - adds r0, r6, #0 - bl sub_08016A04 - adds r0, r6, #0 - bl sub_0803BF2C - pop {r4, r5, r6, pc} - - thumb_func_start sub_0803BD08 -sub_0803BD08: @ 0x0803BD08 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0803BD2C - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - bne _0803BD80 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] -_0803BD2C: - adds r0, r4, #0 - bl sub_0803BEE8 - adds r0, r4, #0 - bl sub_08004274 - movs r0, #1 - bl sub_08049DF4 - cmp r0, #0 - beq _0803BD80 - ldr r5, _0803BD84 @ =gUnk_020000B0 - ldr r1, [r5] - adds r0, r4, #0 - movs r2, #0x88 - movs r3, #0x50 - bl sub_080041A0 - cmp r0, #0 - beq _0803BD80 - ldr r0, [r5] - movs r2, #0x32 - ldrsh r1, [r0, r2] - movs r2, #0x32 - ldrsh r0, [r4, r2] - adds r0, #8 - cmp r1, r0 - ble _0803BD80 - movs r1, #0 - movs r2, #2 - strb r2, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x84 - strb r1, [r0] - movs r0, #0x10 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x81 - strb r2, [r0] - adds r0, r4, #0 - bl sub_0803BF2C -_0803BD80: - pop {r4, r5, pc} - .align 2, 0 -_0803BD84: .4byte gUnk_020000B0 - - thumb_func_start sub_0803BD88 -sub_0803BD88: @ 0x0803BD88 - push {lr} - bl sub_0803BF70 - pop {pc} - - thumb_func_start sub_0803BD90 -sub_0803BD90: @ 0x0803BD90 - push {r4, lr} - adds r4, r0, #0 - bl sub_080040A8 - cmp r0, #0 - bne _0803BDC8 - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #8 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - movs r0, #8 - strb r0, [r4, #0xe] - b _0803BDD4 -_0803BDC8: - adds r0, r4, #0 - bl sub_0803BF48 - adds r0, r4, #0 - bl sub_08004274 -_0803BDD4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803BDD8 -sub_0803BDD8: @ 0x0803BDD8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803BE76 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0803BDFE - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0803BE06 -_0803BDFE: - adds r0, r4, #0 - bl sub_0803C120 - b _0803BE70 -_0803BE06: - ldrb r1, [r4, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0803BE20 - movs r0, #8 - strb r0, [r4, #0x15] - ldr r1, _0803BE1C @ =gUnk_03000BF0 - ldrh r0, [r1, #0xa] - subs r0, #0x20 - b _0803BE30 - .align 2, 0 -_0803BE1C: .4byte gUnk_03000BF0 -_0803BE20: - movs r0, #0x18 - strb r0, [r4, #0x15] - ldr r1, _0803BE78 @ =gUnk_03000BF0 - movs r2, #0x88 - lsls r2, r2, #1 - adds r0, r2, #0 - ldrh r2, [r1, #0xa] - adds r0, r0, r2 -_0803BE30: - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0xc] - adds r0, #8 - strh r0, [r4, #0x32] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #2 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x84 - movs r0, #1 - strb r0, [r1] - movs r0, #0x18 - strb r0, [r4, #0xe] - subs r1, #2 - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1] - adds r0, #0x94 - strh r0, [r4, #0x24] - subs r1, #1 - movs r0, #4 - strb r0, [r1] -_0803BE70: - adds r0, r4, #0 - bl sub_0803BF2C -_0803BE76: - pop {r4, pc} - .align 2, 0 -_0803BE78: .4byte gUnk_03000BF0 - - thumb_func_start sub_0803BE7C -sub_0803BE7C: @ 0x0803BE7C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080040A8 - adds r5, r0, #0 - cmp r5, #0 - bne _0803BEE6 - movs r2, #1 - movs r3, #1 - strb r3, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #8 - strb r0, [r4, #0xe] - strb r3, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x80 - strb r5, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x81 - strb r5, [r0] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - bl sub_0803BF2C -_0803BEE6: - pop {r4, r5, pc} - - thumb_func_start sub_0803BEE8 -sub_0803BEE8: @ 0x0803BEE8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803BF28 - ldrb r0, [r4, #0x15] - adds r5, r4, #0 - adds r5, #0x80 - strb r0, [r5] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - cmp r0, #0xff - beq _0803BF0E - strb r0, [r4, #0x15] -_0803BF0E: - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r2, [r5] - movs r0, #0x10 - adds r1, r0, #0 - ands r1, r2 - ldrb r2, [r4, #0x15] - ands r0, r2 - cmp r1, r0 - beq _0803BF28 - adds r0, r4, #0 - bl sub_0803BF2C -_0803BF28: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803BF2C -sub_0803BF2C: @ 0x0803BF2C - push {lr} - ldrb r2, [r0, #0x15] - movs r1, #0x10 - ands r1, r2 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1c - adds r2, r0, #0 - adds r2, #0x81 - ldrb r2, [r2] - adds r1, r1, r2 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803BF48 -sub_0803BF48: @ 0x0803BF48 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - pop {r4, pc} - - thumb_func_start sub_0803BF70 -sub_0803BF70: @ 0x0803BF70 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x84 - ldrb r0, [r2] - cmp r0, #1 - beq _0803BFC0 - cmp r0, #1 - bgt _0803BF88 - cmp r0, #0 - beq _0803BF8E - b _0803C0A2 -_0803BF88: - cmp r0, #2 - beq _0803BFEA - b _0803C0A2 -_0803BF8E: - ldrb r1, [r5, #0xe] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _0803BFA0 - ldrh r0, [r5, #0x36] - subs r0, #1 - strh r0, [r5, #0x36] -_0803BFA0: - subs r0, r1, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803C0A2 - strb r3, [r2] - movs r0, #0x18 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x81 - movs r0, #2 - b _0803BFE0 -_0803BFC0: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803C0A2 - movs r0, #2 - strb r0, [r2] - movs r0, #8 - strb r0, [r5, #0xe] - movs r0, #0xe0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r1, r5, #0 - adds r1, #0x81 - movs r0, #4 -_0803BFE0: - strb r0, [r1] - adds r0, r5, #0 - bl sub_0803BF2C - b _0803C0A2 -_0803BFEA: - adds r1, r5, #0 - adds r1, #0x82 - ldrh r0, [r1] - subs r0, #1 - movs r3, #0 - strh r0, [r1] - lsls r0, r0, #0x10 - adds r6, r1, #0 - cmp r0, #0 - bne _0803C02C - movs r0, #3 - strb r0, [r5, #0xc] - strb r3, [r2] - strb r3, [r5, #0xe] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - ldrb r2, [r5, #0x15] - adds r0, r2, #0 - adds r0, #0x18 - movs r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0803C024 - movs r0, #0x10 - subs r0, r0, r2 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] -_0803C024: - adds r0, r5, #0 - bl sub_0803BF2C - b _0803C09C -_0803C02C: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803C09C - movs r0, #8 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0x15] - adds r4, r5, #0 - adds r4, #0x80 - strb r0, [r4] - adds r0, r5, #0 - movs r1, #1 - bl sub_08049F84 - adds r1, r0, #0 - adds r0, r5, #0 - bl sub_08004596 - ldrb r3, [r5, #0x15] - adds r0, r3, #0 - adds r0, #0x18 - movs r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0803C07E - ldrb r0, [r4] - cmp r0, #0x10 - bne _0803C076 - ands r3, r0 - cmp r3, #0 - beq _0803C072 - movs r0, #0x12 - b _0803C074 -_0803C072: - movs r0, #0xe -_0803C074: - strb r0, [r4] -_0803C076: - ldrb r0, [r4] - strb r0, [r5, #0x15] - movs r0, #1 - strh r0, [r6] -_0803C07E: - ldrb r2, [r4] - movs r0, #0x10 - adds r1, r0, #0 - ands r1, r2 - lsls r1, r1, #0x18 - ldrb r2, [r5, #0x15] - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x1c - cmp r1, r0 - beq _0803C09C - adds r1, r2, #4 - adds r0, r5, #0 - bl sub_08004260 -_0803C09C: - adds r0, r5, #0 - bl sub_0803BF48 -_0803C0A2: - adds r0, r5, #0 - bl sub_08004274 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0803C0AC -sub_0803C0AC: @ 0x0803C0AC - push {r4, r5, r6, lr} - movs r0, #1 - bl sub_08049DF4 - adds r5, r0, #0 - cmp r5, #0 - beq _0803C11C - ldr r0, _0803C0D4 @ =gUnk_02002A40 - adds r0, #0xc0 - ldrh r1, [r0] - ldr r0, _0803C0D8 @ =0x000001F3 - cmp r1, r0 - bls _0803C0DC - movs r6, #0x56 - movs r4, #5 - movs r0, #0x64 - rsbs r0, r0, #0 - bl sub_080526CC - b _0803C118 - .align 2, 0 -_0803C0D4: .4byte gUnk_02002A40 -_0803C0D8: .4byte 0x000001F3 -_0803C0DC: - cmp r1, #0x63 - bls _0803C0EE - movs r6, #0x55 - movs r4, #5 - movs r0, #0x19 - rsbs r0, r0, #0 - bl sub_080526CC - b _0803C118 -_0803C0EE: - movs r6, #0x54 - adds r4, r1, #0 - cmp r4, #4 - bls _0803C0F8 - movs r4, #5 -_0803C0F8: - rsbs r0, r4, #0 - bl sub_080526CC - b _0803C118 -_0803C100: - movs r0, #0x1a - adds r1, r6, #0 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0803C116 - adds r0, r5, #0 - bl sub_0806FA24 -_0803C116: - subs r4, #1 -_0803C118: - cmp r4, #0 - bne _0803C100 -_0803C11C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0803C120 -sub_0803C120: @ 0x0803C120 - adds r2, r0, #0 - movs r0, #5 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - subs r0, #9 - ands r0, r1 - strb r0, [r2, #0x18] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - adds r0, r2, #0 - adds r0, #0x78 - ldrh r0, [r0] - strh r0, [r2, #0x2e] - adds r0, r2, #0 - adds r0, #0x7a - ldrh r0, [r0] - strh r0, [r2, #0x32] - ldrh r0, [r2, #0x36] - adds r0, #8 - strh r0, [r2, #0x36] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - bx lr - .align 2, 0 - - thumb_func_start sub_0803C160 -sub_0803C160: @ 0x0803C160 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0803C17C @ =gUnk_080CFF78 - bl sub_0800129E - movs r3, #0x18 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_0803C17C: .4byte gUnk_080CFF78 - - thumb_func_start sub_0803C180 -sub_0803C180: @ 0x0803C180 - push {lr} - ldr r2, _0803C194 @ =gUnk_080CFF90 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803C194: .4byte gUnk_080CFF90 - - thumb_func_start sub_0803C198 -sub_0803C198: @ 0x0803C198 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0803C1AC - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0803C1AC: - ldr r1, _0803C1D8 @ =gUnk_080CFF78 - adds r0, r4, #0 - bl sub_0804AA30 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803C1D4 - adds r0, r4, #0 - bl sub_0803C5F0 - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _0803C1D4 - ldrb r0, [r1, #0xf] - adds r0, #1 - strb r0, [r1, #0xf] -_0803C1D4: - pop {r4, pc} - .align 2, 0 -_0803C1D8: .4byte gUnk_080CFF78 - - thumb_func_start nullsub_168 -nullsub_168: @ 0x0803C1DC - bx lr - .align 2, 0 - - thumb_func_start sub_0803C1E0 -sub_0803C1E0: @ 0x0803C1E0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r1, #0 - movs r2, #1 - strb r2, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x7b - strb r1, [r0] - adds r0, #5 - strb r1, [r0] - adds r0, #3 - strb r1, [r0] - subs r0, #2 - strb r1, [r0] - subs r0, #7 - strb r1, [r0] - adds r0, #8 - strb r2, [r0] - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0803C228 - ldrb r1, [r4, #0xb] - lsls r0, r1, #1 - strb r0, [r4, #0x14] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - lsls r1, r1, #3 - strb r1, [r4, #0x15] - adds r0, r4, #0 - bl sub_0803C690 - b _0803C232 -_0803C228: - movs r0, #0x10 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0803C4B0 -_0803C232: - pop {r4, pc} - - thumb_func_start sub_0803C234 -sub_0803C234: @ 0x0803C234 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x81 - ldrb r0, [r1] - cmp r0, #0 - beq _0803C246 - subs r0, #1 - strb r0, [r1] -_0803C246: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803C292 - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r1] - adds r2, r0, #1 - strb r2, [r1] - adds r0, r2, #0 - ands r0, r3 - cmp r0, #0xf - bls _0803C26E - adds r0, r4, #0 - bl sub_0803C5C4 - b _0803C2D2 -_0803C26E: - movs r0, #3 - ands r2, r0 - cmp r2, #0 - bne _0803C28A - bl sub_08000E50 - movs r1, #0x10 - ands r1, r0 - cmp r1, #0 - beq _0803C28A - adds r0, r4, #0 - bl sub_0803C624 - b _0803C2D2 -_0803C28A: - adds r0, r4, #0 - bl sub_0803C4B0 - b _0803C2D2 -_0803C292: - adds r0, r4, #0 - bl sub_0803C6F8 - cmp r0, #0 - beq _0803C2C2 - ldrh r1, [r4, #0x2a] - adds r0, r4, #0 - bl sub_0800417E - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x83 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803C690 - b _0803C2D2 -_0803C2C2: - adds r0, r4, #0 - bl sub_0803C568 - cmp r0, #0 - beq _0803C2D2 - adds r0, r4, #0 - bl sub_0803C5F0 -_0803C2D2: - adds r0, r4, #0 - bl sub_0803C6DC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803C2DC -sub_0803C2DC: @ 0x0803C2DC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0803C308 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x82 - strb r1, [r0] - subs r0, #2 - strb r1, [r0] - movs r0, #0x10 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0803C4B0 - b _0803C31E -_0803C308: - adds r0, r4, #0 - bl sub_0803C568 - cmp r0, #0 - beq _0803C31E - adds r2, r4, #0 - adds r2, #0x7b - ldrb r0, [r2] - movs r1, #1 - orrs r0, r1 - strb r0, [r2] -_0803C31E: - ldrb r0, [r4, #0xf] - cmp r0, #0xb - bls _0803C336 - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - cmp r0, #0 - beq _0803C33A - adds r0, r4, #0 - bl sub_0803C5F0 - b _0803C33A -_0803C336: - adds r0, #1 - strb r0, [r4, #0xf] -_0803C33A: - adds r0, r4, #0 - bl sub_0803C6DC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803C344 -sub_0803C344: @ 0x0803C344 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803C3F8 - adds r0, r4, #0 - adds r0, #0x82 - ldrb r1, [r0] - adds r2, r0, #0 - cmp r1, #5 - bhi _0803C3C8 - lsls r0, r1, #2 - ldr r1, _0803C36C @ =_0803C370 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803C36C: .4byte _0803C370 -_0803C370: @ jump table - .4byte _0803C3C8 @ case 0 - .4byte _0803C3C8 @ case 1 - .4byte _0803C3A6 @ case 2 - .4byte _0803C388 @ case 3 - .4byte _0803C3BE @ case 4 - .4byte _0803C39C @ case 5 -_0803C388: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - b _0803C3E2 -_0803C39C: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x80 - strh r0, [r4, #0x24] - b _0803C3E2 -_0803C3A6: - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strh r1, [r4, #0x24] - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - lsls r1, r0, #1 - adds r1, r1, r0 - adds r1, #0x40 - b _0803C3E0 -_0803C3BE: - ldrb r0, [r4, #0x15] - adds r0, #0x10 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] -_0803C3C8: - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r2] - movs r0, #0x80 - strh r0, [r4, #0x24] - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - lsls r1, r0, #1 - adds r1, r1, r0 - adds r1, #0x22 -_0803C3E0: - strb r1, [r4, #0xe] -_0803C3E2: - movs r0, #0 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0803C690 -_0803C3F8: - adds r0, r4, #0 - bl sub_0803C6DC - pop {r4, pc} - - thumb_func_start sub_0803C400 -sub_0803C400: @ 0x0803C400 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - adds r1, r0, #0 - cmp r1, #0 - beq _0803C458 - subs r0, #1 - strb r0, [r4, #0xf] - movs r2, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _0803C4AC - adds r0, r4, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #3 - bne _0803C450 - adds r1, r4, #0 - adds r1, #0x7a - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ands r0, r2 - cmp r0, #2 - bhi _0803C450 - bl sub_08000E50 - movs r1, #0xc0 - ands r1, r0 - cmp r1, #0 - beq _0803C450 - strb r5, [r4, #0xe] - adds r0, r4, #0 - bl sub_0803C690 - adds r0, r4, #0 - bl sub_0803C6DC - b _0803C4AC -_0803C450: - adds r0, r4, #0 - bl sub_0803C634 - b _0803C4AC -_0803C458: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - beq _0803C46C - cmp r0, #0x18 - beq _0803C494 - b _0803C49A -_0803C46C: - ldrb r2, [r4, #0x14] - lsls r0, r2, #2 - strb r0, [r4, #0x15] - lsls r2, r2, #0x18 - lsrs r2, r2, #0x19 - adds r0, r4, #0 - movs r1, #0xd - bl sub_0804A98C - adds r2, r0, #0 - cmp r2, #0 - beq _0803C49A - str r2, [r4, #0x54] - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r2, #0x15] - str r4, [r2, #0x50] - b _0803C49A -_0803C494: - strb r1, [r4, #0xe] - movs r0, #0x20 - strb r0, [r4, #0xf] -_0803C49A: - adds r0, r4, #0 - bl sub_0803C6DC - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _0803C4AC - adds r0, r4, #0 - bl sub_0803C714 -_0803C4AC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803C4B0 -sub_0803C4B0: @ 0x0803C4B0 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - movs r1, #0 - strb r1, [r5, #0xf] - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #1 - bne _0803C54C - bl sub_08000E50 - ldr r1, _0803C4F0 @ =gUnk_080CFFA4 - movs r7, #7 - ands r0, r7 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0xe] - movs r0, #0x80 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0803C4F4 - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #6 - ands r4, r0 - lsls r0, r4, #2 - strb r0, [r5, #0x15] - b _0803C556 - .align 2, 0 -_0803C4F0: .4byte gUnk_080CFFA4 -_0803C4F4: - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - adds r6, r5, #0 - adds r6, #0x83 - ldrb r0, [r6] - cmp r0, #0 - bne _0803C520 - bl sub_08000E50 - ldr r2, _0803C51C @ =gUnk_080CFFAC - movs r1, #0xf - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - adds r4, r4, r0 - b _0803C53E - .align 2, 0 -_0803C51C: .4byte gUnk_080CFFAC -_0803C520: - bl sub_08000E50 - ldr r1, _0803C548 @ =gUnk_080CFFAC - ands r0, r7 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r4, r4, r0 - ldrb r0, [r5, #0xe] - adds r0, #0x10 - strb r0, [r5, #0xe] - ldrb r0, [r6] - subs r0, #1 - strb r0, [r6] -_0803C53E: - adds r0, r4, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] - b _0803C554 - .align 2, 0 -_0803C548: .4byte gUnk_080CFFAC -_0803C54C: - movs r0, #0xc - strb r0, [r5, #0xe] - strh r1, [r5, #0x24] - ldrb r0, [r5, #0x15] -_0803C554: - lsrs r4, r0, #2 -_0803C556: - ldrb r0, [r5, #0x14] - cmp r4, r0 - beq _0803C564 - strb r4, [r5, #0x14] - adds r0, r5, #0 - bl sub_0803C690 -_0803C564: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0803C568 -sub_0803C568: @ 0x0803C568 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - bne _0803C5C0 - movs r0, #1 - bl sub_08049DF4 - adds r4, r0, #0 - cmp r4, #0 - beq _0803C5C0 - adds r0, r5, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #2 - bne _0803C598 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x30 - bl sub_0806FC80 - cmp r0, #0 - bne _0803C5BC -_0803C598: - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x40 - bl sub_0806FC80 - cmp r0, #0 - beq _0803C5C0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r0, r0, #2 - ldrb r5, [r5, #0x14] - cmp r0, r5 - bne _0803C5C0 -_0803C5BC: - movs r0, #1 - b _0803C5C2 -_0803C5C0: - movs r0, #0 -_0803C5C2: - pop {r4, r5, pc} - - thumb_func_start sub_0803C5C4 -sub_0803C5C4: @ 0x0803C5C4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x83 - ldrb r0, [r1] - lsrs r0, r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803C664 - adds r4, #0x82 - movs r0, #2 - strb r0, [r4] - pop {r4, pc} - - thumb_func_start sub_0803C5F0 -sub_0803C5F0: @ 0x0803C5F0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049F84 - movs r2, #0 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x83 - strb r2, [r0] - subs r0, #9 - strb r2, [r0] - adds r0, r4, #0 - bl sub_0803C664 - adds r4, #0x82 - movs r0, #3 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803C624 -sub_0803C624: @ 0x0803C624 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803C664 - adds r4, #0x82 - movs r0, #5 - strb r0, [r4] - pop {r4, pc} - - thumb_func_start sub_0803C634 -sub_0803C634: @ 0x0803C634 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - movs r1, #0 - strb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x83 - strb r1, [r0] - adds r0, r4, #0 - bl sub_0803C664 - ldrb r0, [r4, #0xe] - lsls r0, r0, #1 - strb r0, [r4, #0xe] - adds r4, #0x82 - movs r0, #4 - strb r0, [r4] - pop {r4, pc} - - thumb_func_start sub_0803C664 -sub_0803C664: @ 0x0803C664 - push {lr} - adds r2, r0, #0 - movs r1, #0 - movs r0, #3 - strb r0, [r2, #0xc] - movs r0, #0x20 - strb r0, [r2, #0xe] - strb r1, [r2, #0xf] - adds r0, r2, #0 - adds r0, #0x80 - strb r1, [r0] - subs r0, #5 - strb r1, [r0] - movs r0, #0 - strh r1, [r2, #0x24] - adds r1, r2, #0 - adds r1, #0x82 - strb r0, [r1] - adds r0, r2, #0 - bl sub_0803C690 - pop {pc} - - thumb_func_start sub_0803C690 -sub_0803C690: @ 0x0803C690 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0x14] - lsrs r2, r0, #1 - adds r0, r3, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #5 - bhi _0803C6D2 - lsls r0, r0, #2 - ldr r1, _0803C6AC @ =_0803C6B0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803C6AC: .4byte _0803C6B0 -_0803C6B0: @ jump table - .4byte _0803C6D2 @ case 0 - .4byte _0803C6C8 @ case 1 - .4byte _0803C6D0 @ case 2 - .4byte _0803C6CC @ case 3 - .4byte _0803C6C8 @ case 4 - .4byte _0803C6CC @ case 5 -_0803C6C8: - adds r2, #4 - b _0803C6D2 -_0803C6CC: - adds r2, #8 - b _0803C6D2 -_0803C6D0: - adds r2, #0xc -_0803C6D2: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_0803C6DC -sub_0803C6DC: @ 0x0803C6DC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - bne _0803C6EA - strh r0, [r4, #0x24] -_0803C6EA: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_0803C6F8 -sub_0803C6F8: @ 0x0803C6F8 - ldr r2, _0803C710 @ =gUnk_080CFFBC - ldrb r1, [r0, #0x14] - lsrs r1, r1, #1 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r0, #0x2a] - ldrh r1, [r1] - ands r1, r0 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - bx lr - .align 2, 0 -_0803C710: .4byte gUnk_080CFFBC - - thumb_func_start sub_0803C714 -sub_0803C714: @ 0x0803C714 - push {lr} - ldr r1, [r0, #0x54] - ldrb r3, [r0, #0x14] - ldr r2, _0803C734 @ =gUnk_080CFFC4 - adds r3, r3, r2 - movs r2, #0 - ldrsb r2, [r3, r2] - lsls r2, r2, #0x10 - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - lsls r3, r3, #0x10 - bl sub_0806FA48 - pop {pc} - .align 2, 0 -_0803C734: .4byte gUnk_080CFFC4 - - thumb_func_start sub_0803C738 -sub_0803C738: @ 0x0803C738 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0803C754 @ =gUnk_080D0110 - bl sub_0800129E - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_0803C754: .4byte gUnk_080D0110 - - thumb_func_start sub_0803C758 -sub_0803C758: @ 0x0803C758 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _0803C76C - cmp r0, #7 - beq _0803C76C - adds r0, r4, #0 - bl sub_0803CAD0 -_0803C76C: - ldr r0, _0803C780 @ =gUnk_080D0128 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_0803C780: .4byte gUnk_080D0128 - - thumb_func_start sub_0803C784 -sub_0803C784: @ 0x0803C784 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x1d - bne _0803C7A2 - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - bl sub_0803CBAC - b _0803C7FA -_0803C7A2: - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x43 - bne _0803C7FA - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0803C7FA - adds r0, r4, #0 - adds r0, #0x3e - ldrb r1, [r0] - movs r0, #0x10 - eors r0, r1 - lsls r1, r0, #3 - ldr r3, _0803C818 @ =gUnk_080C9160 - lsls r0, r0, #4 - adds r0, r0, r3 - movs r5, #0 - ldrsh r0, [r0, r5] - cmp r0, #0 - bge _0803C7D8 - adds r0, #0x1f -_0803C7D8: - asrs r0, r0, #5 - ldrh r5, [r2, #0x2e] - adds r0, r0, r5 - strh r0, [r2, #0x2e] - adds r0, r1, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r3 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0 - bge _0803C7F2 - adds r0, #0x1f -_0803C7F2: - asrs r1, r0, #5 - ldrh r0, [r2, #0x32] - subs r0, r0, r1 - strh r0, [r2, #0x32] -_0803C7FA: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0803C80C - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0803C80C: - ldr r1, _0803C81C @ =gUnk_080D0110 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_0803C818: .4byte gUnk_080C9160 -_0803C81C: .4byte gUnk_080D0110 - - thumb_func_start sub_0803C820 -sub_0803C820: @ 0x0803C820 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - beq _0803C83C - ldr r0, _0803C840 @ =gUnk_080D0148 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0803C83C: - pop {r4, pc} - .align 2, 0 -_0803C840: .4byte gUnk_080D0148 - - thumb_func_start sub_0803C844 -sub_0803C844: @ 0x0803C844 - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_0803C850 -sub_0803C850: @ 0x0803C850 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x54] - cmp r0, #0 - beq _0803C864 - adds r1, r2, #0 - adds r1, #0x62 - ldrb r1, [r1] - adds r0, #0x62 - strb r1, [r0] -_0803C864: - adds r0, r2, #0 - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_0803C86C -sub_0803C86C: @ 0x0803C86C - push {r4, lr} - adds r4, r0, #0 - bl sub_0803CBAC - movs r0, #0 - str r0, [r4, #0x54] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803C87C -sub_0803C87C: @ 0x0803C87C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x11 - movs r2, #0 - bl sub_0804A98C - cmp r0, #0 - beq _0803C8B4 - str r4, [r0, #0x50] - str r0, [r4, #0x54] - adds r0, r4, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0803C8B8 @ =0x0000FFFE - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xff - strb r0, [r1] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r1, [r4, #0x32] - adds r0, #2 - strh r1, [r0] -_0803C8B4: - pop {r4, pc} - .align 2, 0 -_0803C8B8: .4byte 0x0000FFFE - - thumb_func_start sub_0803C8BC -sub_0803C8BC: @ 0x0803C8BC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_0803CA84 - adds r0, r4, #0 - bl sub_0803CA4C - cmp r0, #0 - beq _0803C8E0 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_0803C8E0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803C8E4 -sub_0803C8E4: @ 0x0803C8E4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803C914 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x42 - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC -_0803C914: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803C918 -sub_0803C918: @ 0x0803C918 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803CB04 - cmp r0, #0 - bne _0803C94E - adds r0, r4, #0 - bl sub_0803CA4C - cmp r0, #0 - bne _0803C946 - movs r0, #4 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x43 - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r1, #0xc - adds r0, r4, #0 - bl sub_080042AC - b _0803C94E -_0803C946: - adds r0, r4, #0 - movs r1, #4 - bl sub_0803CA84 -_0803C94E: - pop {r4, pc} - - thumb_func_start sub_0803C950 -sub_0803C950: @ 0x0803C950 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803C97A - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC -_0803C97A: - pop {r4, pc} - - thumb_func_start sub_0803C97C -sub_0803C97C: @ 0x0803C97C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803C9D2 - adds r0, r4, #0 - bl sub_0803CB64 - movs r0, #6 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x42 - strb r0, [r1] - bl sub_08000E50 - movs r1, #1 - ands r0, r1 - adds r2, r4, #0 - adds r2, #0x79 - cmp r0, #0 - beq _0803C9C2 - ldrb r0, [r2] - cmp r0, #0 - bne _0803C9C2 - movs r0, #0xf - strb r0, [r4, #0xe] - strb r1, [r2] - b _0803C9D2 -_0803C9C2: - movs r1, #0 - movs r0, #0x1e - strb r0, [r4, #0xe] - strb r1, [r2] - ldr r0, [r4, #0x54] - ldrb r1, [r4, #0x14] - bl sub_080042AC -_0803C9D2: - pop {r4, pc} - - thumb_func_start sub_0803C9D4 -sub_0803C9D4: @ 0x0803C9D4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803CA08 - adds r0, r2, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #1 - bne _0803C9F6 - adds r0, r2, #0 - bl sub_0803CB34 - b _0803CA08 -_0803C9F6: - movs r0, #3 - strb r0, [r2, #0xc] - movs r0, #0xb4 - strb r0, [r2, #0xe] - ldrb r1, [r2, #0x14] - adds r1, #4 - adds r0, r2, #0 - bl sub_080042AC -_0803CA08: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803CA0C -sub_0803CA0C: @ 0x0803CA0C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - cmp r0, #0 - bne _0803CA3E - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x13 - bhi _0803CA3E - ldrb r1, [r4, #0x14] - adds r1, #0x14 - adds r0, r4, #0 - bl sub_080042AC - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] -_0803CA3E: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0803CC08 - pop {r4, pc} - - thumb_func_start sub_0803CA4C -sub_0803CA4C: @ 0x0803CA4C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0803CA7C @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0x32 - ldrsh r2, [r4, r0] - adds r0, r5, #0 - movs r3, #0x28 - bl sub_0806FCB8 - cmp r0, #0 - bne _0803CA80 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x70 - movs r3, #0x50 - bl sub_080041A0 - cmp r0, #0 - beq _0803CA80 - movs r0, #1 - b _0803CA82 - .align 2, 0 -_0803CA7C: .4byte gUnk_03001160 -_0803CA80: - movs r0, #0 -_0803CA82: - pop {r4, r5, pc} - - thumb_func_start sub_0803CA84 -sub_0803CA84: @ 0x0803CA84 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r1, _0803CACC @ =gUnk_03001160 - bl sub_080045C4 - adds r4, r0, #0 - subs r0, r4, #3 - movs r1, #7 - ands r0, r1 - cmp r0, #2 - bhi _0803CAAA - ldrb r0, [r5, #0x14] - lsrs r1, r4, #3 - subs r0, r0, r1 - movs r1, #3 - ands r0, r1 - cmp r0, #1 - bls _0803CACA -_0803CAAA: - adds r0, r4, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r4, r0, #3 - ldrb r0, [r5, #0x14] - cmp r4, r0 - beq _0803CACA - strb r4, [r5, #0x14] - adds r1, r4, r6 - adds r0, r5, #0 - bl sub_080042AC - ldr r0, [r5, #0x54] - adds r1, r4, #0 - bl sub_080042AC -_0803CACA: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803CACC: .4byte gUnk_03001160 - - thumb_func_start sub_0803CAD0 -sub_0803CAD0: @ 0x0803CAD0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x74 - ldrh r1, [r6] - adds r5, r4, #0 - adds r5, #0x76 - ldrh r2, [r5] - movs r3, #1 - bl sub_0806FCB8 - cmp r0, #0 - bne _0803CB02 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r6] - ldrh r3, [r5] - bl sub_080045D4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AEFE0 -_0803CB02: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0803CB04 -sub_0803CB04: @ 0x0803CB04 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - beq _0803CB1A - movs r0, #0 - b _0803CB32 -_0803CB1A: - adds r0, r4, #0 - bl sub_0803CB34 - adds r0, r4, #0 - adds r0, #0x79 - strb r5, [r0] - ldr r0, [r4, #0x54] - ldrb r1, [r4, #0x14] - adds r1, #4 - bl sub_080042AC - movs r0, #1 -_0803CB32: - pop {r4, r5, pc} - - thumb_func_start sub_0803CB34 -sub_0803CB34: @ 0x0803CB34 - push {r4, lr} - adds r4, r0, #0 - movs r0, #5 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0xa6 - strb r0, [r1] - ldr r1, _0803CB60 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r4, #0 - adds r1, #0x78 - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r1, #8 - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 -_0803CB60: .4byte gUnk_03001160 - - thumb_func_start sub_0803CB64 -sub_0803CB64: @ 0x0803CB64 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x12 - movs r2, #0 - bl sub_0804A98C - adds r5, r0, #0 - cmp r5, #0 - beq _0803CBA0 - ldrb r1, [r4, #0x14] - lsls r1, r1, #1 - ldr r0, _0803CBA4 @ =gUnk_080D0154 - adds r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x78 - ldrb r0, [r0] - strb r0, [r5, #0x15] - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r1, r3] - lsls r3, r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA48 - ldr r0, _0803CBA8 @ =0x00000193 - bl sub_08004488 -_0803CBA0: - pop {r4, r5, pc} - .align 2, 0 -_0803CBA4: .4byte gUnk_080D0154 -_0803CBA8: .4byte 0x00000193 - - thumb_func_start sub_0803CBAC -sub_0803CBAC: @ 0x0803CBAC - push {lr} - adds r3, r0, #0 - ldr r2, [r3, #0x54] - cmp r2, #0 - beq _0803CBC6 - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x43 - strb r0, [r1] -_0803CBC6: - movs r0, #7 - strb r0, [r3, #0xc] - ldrb r1, [r3, #0x18] - subs r0, #0xb - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r3, #0x18] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r2, #0x12 - ldrb r1, [r2] - movs r0, #0x7b - ands r0, r1 - strb r0, [r2] - adds r1, r3, #0 - adds r1, #0x3f - movs r0, #0x42 - strb r0, [r1] - ldrb r1, [r3, #0x14] - adds r1, #0x10 - adds r0, r3, #0 - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803CC08 -sub_0803CC08: @ 0x0803CC08 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x54] - cmp r5, #0 - beq _0803CCB4 - movs r1, #0x36 - ldrsh r0, [r5, r1] - movs r2, #0x36 - ldrsh r1, [r4, r2] - subs r0, r0, r1 - cmp r0, #2 - bhi _0803CCB4 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _0803CCB4 - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - movs r3, #6 - bl sub_0806FCB8 - cmp r0, #0 - beq _0803CCB4 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0803CC56 - ldrh r0, [r1, #0x2e] - adds r0, #6 - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - adds r0, #6 - strh r0, [r1, #0x32] -_0803CC56: - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0803CC72 - ldrh r0, [r1, #0x2e] - subs r0, #6 - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - adds r0, #6 - strh r0, [r1, #0x32] -_0803CC72: - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0803CC8E - ldrh r0, [r1, #0x2e] - adds r0, #6 - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - subs r0, #6 - strh r0, [r1, #0x32] -_0803CC8E: - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0803CCAA - ldrh r0, [r1, #0x2e] - subs r0, #6 - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - subs r0, #6 - strh r0, [r1, #0x32] -_0803CCAA: - movs r0, #0 - str r0, [r4, #0x54] - adds r0, r5, #0 - bl sub_0805E7BC -_0803CCB4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803CCB8 -sub_0803CCB8: @ 0x0803CCB8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0803CCD0 @ =gUnk_080D0418 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0803CCD0: .4byte gUnk_080D0418 - - thumb_func_start sub_0803CCD4 -sub_0803CCD4: @ 0x0803CCD4 - push {lr} - ldr r2, _0803CCE8 @ =gUnk_080D0430 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803CCE8: .4byte gUnk_080D0430 - - thumb_func_start sub_0803CCEC -sub_0803CCEC: @ 0x0803CCEC - push {lr} - adds r2, r0, #0 - adds r2, #0x42 - movs r1, #0 - strb r1, [r2] - bl sub_0803CCD4 - pop {pc} - - thumb_func_start sub_0803CCFC -sub_0803CCFC: @ 0x0803CCFC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - bne _0803CD16 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bne _0803CD26 - adds r0, r4, #0 - bl sub_0803CE3C - b _0803CD26 -_0803CD16: - ldr r0, _0803CD28 @ =gUnk_080D043C - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0803CD26: - pop {r4, pc} - .align 2, 0 -_0803CD28: .4byte gUnk_080D043C - - thumb_func_start sub_0803CD2C -sub_0803CD2C: @ 0x0803CD2C - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_0803CD38 -sub_0803CD38: @ 0x0803CD38 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_0803CD40 -sub_0803CD40: @ 0x0803CD40 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0803CD66 - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - ldr r0, _0803CD68 @ =gUnk_03001160 - movs r1, #0x7a - bl sub_0800449C - bl sub_08079D84 - adds r0, r4, #0 - bl sub_0803CE3C -_0803CD66: - pop {r4, pc} - .align 2, 0 -_0803CD68: .4byte gUnk_03001160 - - thumb_func_start sub_0803CD6C -sub_0803CD6C: @ 0x0803CD6C - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0803CDA4 @ =0x0000FFFE - strh r0, [r4, #0x36] - ldrb r0, [r4, #0xa] - bl sub_0804B128 - str r0, [r4, #0x54] - str r0, [r4, #0x50] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x78 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - adds r0, r4, #0 - movs r1, #4 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0803CE14 - pop {r4, pc} - .align 2, 0 -_0803CDA4: .4byte 0x0000FFFE - - thumb_func_start sub_0803CDA8 -sub_0803CDA8: @ 0x0803CDA8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0803CDC0 - adds r0, r4, #0 - bl sub_0806F69C -_0803CDC0: - adds r1, r4, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803CDD6 - adds r0, r4, #0 - bl sub_0803CE14 -_0803CDD6: - pop {r4, pc} - - thumb_func_start sub_0803CDD8 -sub_0803CDD8: @ 0x0803CDD8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - lsls r0, r1, #0x1e - lsrs r0, r0, #0x1e - movs r2, #1 - eors r0, r2 - movs r5, #4 - rsbs r5, r5, #0 - adds r3, r5, #0 - ands r3, r1 - orrs r3, r0 - strb r3, [r4, #0x18] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803CE10 - movs r0, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r2, #0x80 - orrs r1, r2 - strb r1, [r4, #0x10] - ands r3, r5 - orrs r3, r0 - strb r3, [r4, #0x18] -_0803CE10: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803CE14 -sub_0803CE14: @ 0x0803CE14 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x54 - adds r2, r4, #0 - adds r2, #0x74 - bl sub_080A2CC0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0803CE38 - lsrs r1, r1, #3 - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC -_0803CE38: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803CE3C -sub_0803CE3C: @ 0x0803CE3C - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x3a - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - strh r0, [r4, #0x32] - ldr r0, [r4, #0x50] - str r0, [r4, #0x54] - adds r0, r4, #0 - bl sub_0803CE14 - pop {r4, pc} - - thumb_func_start sub_0803CE80 -sub_0803CE80: @ 0x0803CE80 - push {lr} - ldr r2, _0803CE94 @ =gUnk_080D0448 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803CE94: .4byte gUnk_080D0448 - - thumb_func_start sub_0803CE98 -sub_0803CE98: @ 0x0803CE98 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r1, r6, #0 - adds r1, #0x84 - ldrh r2, [r1] - movs r5, #0xf0 - lsls r5, r5, #8 - adds r0, r5, #0 - ands r0, r2 - lsrs r0, r0, #5 - strh r0, [r6, #0x24] - ldrh r2, [r1] - ldr r4, _0803CF1C @ =0x00000FFF - adds r0, r4, #0 - ands r0, r2 - strh r0, [r1] - adds r0, r6, #0 - bl sub_0804A720 - movs r0, #1 - strb r0, [r6, #0xc] - adds r3, r6, #0 - adds r3, #0x82 - ldrh r0, [r3] - ands r4, r0 - adds r0, r6, #0 - adds r0, #0x74 - strh r4, [r0] - ldrh r0, [r3] - movs r1, #0x3f - ands r1, r0 - lsls r1, r1, #4 - ldr r2, _0803CF20 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - adds r0, #8 - adds r1, r1, r0 - strh r1, [r6, #0x2e] - ldrh r1, [r3] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r1 - lsrs r0, r0, #2 - ldrh r1, [r2, #8] - adds r1, #8 - adds r0, r0, r1 - strh r0, [r6, #0x32] - movs r1, #0 - ldrsh r0, [r3, r1] - ands r0, r5 - asrs r0, r0, #0xa - strb r0, [r6, #0x15] - ldrb r0, [r6, #0xa] - lsls r0, r0, #2 - adds r1, r6, #0 - adds r1, #0x78 - strh r0, [r1] - adds r0, r6, #0 - bl sub_0803CFF0 - cmp r0, #0 - beq _0803CF18 - adds r0, r6, #0 - bl sub_0803D0B0 -_0803CF18: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803CF1C: .4byte 0x00000FFF -_0803CF20: .4byte gUnk_03000BF0 - - thumb_func_start sub_0803CF24 -sub_0803CF24: @ 0x0803CF24 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803CFD8 - cmp r0, #0 - beq _0803CF36 - adds r0, r4, #0 - bl sub_0803D024 -_0803CF36: - pop {r4, pc} - - thumb_func_start sub_0803CF38 -sub_0803CF38: @ 0x0803CF38 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803CFF0 - cmp r0, #0 - beq _0803CF4C - adds r0, r4, #0 - bl sub_0803D0B0 - b _0803CF8C -_0803CF4C: - adds r0, r4, #0 - movs r1, #0 - bl sub_08049FDC - cmp r0, #0 - beq _0803CF8C - ldr r0, _0803CF90 @ =gUnk_020000B0 - ldr r0, [r0] - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x20 - bl sub_0806FCB8 - cmp r0, #0 - bne _0803CF8C - adds r1, r4, #0 - adds r1, #0x7a - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803CF8C - adds r0, r4, #0 - bl sub_0803D058 - adds r0, r4, #0 - bl sub_0803D024 -_0803CF8C: - pop {r4, pc} - .align 2, 0 -_0803CF90: .4byte gUnk_020000B0 - - thumb_func_start sub_0803CF94 -sub_0803CF94: @ 0x0803CF94 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - cmp r0, #0x76 - bne _0803CFBA - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #0 - strh r0, [r1] - adds r0, r4, #0 - bl sub_0803D024 - b _0803CFD4 -_0803CFBA: - adds r0, r4, #0 - adds r0, #0x7c - ldrh r0, [r0] - cmp r0, #0 - beq _0803CFD4 - adds r0, r4, #0 - bl sub_0803CFD8 - cmp r0, #0 - beq _0803CFD4 - adds r0, r4, #0 - bl sub_0803D024 -_0803CFD4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803CFD8 -sub_0803CFD8: @ 0x0803CFD8 - push {lr} - adds r1, r0, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0 - bne _0803CFE8 - movs r0, #1 - b _0803CFEE -_0803CFE8: - ldrh r0, [r1] - bl sub_0807CBE4 -_0803CFEE: - pop {pc} - - thumb_func_start sub_0803CFF0 -sub_0803CFF0: @ 0x0803CFF0 - push {lr} - adds r1, r0, #0 - adds r1, #0x80 - ldrh r2, [r1] - cmp r2, #0 - beq _0803D01E - adds r0, #0x7c - ldrh r0, [r0] - cmp r2, r0 - bne _0803D016 - adds r0, r2, #0 - bl sub_0807CBE4 - movs r1, #0 - cmp r0, #0 - bne _0803D012 - movs r1, #1 -_0803D012: - adds r0, r1, #0 - b _0803D020 -_0803D016: - ldrh r0, [r1] - bl sub_0807CBE4 - b _0803D020 -_0803D01E: - movs r0, #0 -_0803D020: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803D024 -sub_0803D024: @ 0x0803D024 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x78 - ldrh r1, [r0] - cmp r1, #0 - beq _0803D03A - adds r0, #2 - b _0803D04E -_0803D03A: - bl sub_08000E50 - ldr r2, _0803D054 @ =gUnk_080D0458 - movs r1, #7 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - adds r0, r4, #0 - adds r0, #0x7a -_0803D04E: - strh r1, [r0] - pop {r4, pc} - .align 2, 0 -_0803D054: .4byte gUnk_080D0458 - - thumb_func_start sub_0803D058 -sub_0803D058: @ 0x0803D058 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x16 - movs r2, #0 - bl sub_0804A98C - adds r5, r0, #0 - cmp r5, #0 - beq _0803D0AE - ldrh r1, [r4, #0x24] - movs r2, #0x24 - ldrsh r0, [r4, r2] - cmp r0, #0 - beq _0803D078 - strh r1, [r5, #0x24] - b _0803D08A -_0803D078: - bl sub_08000E50 - ldr r2, _0803D0A4 @ =gUnk_080D0468 - movs r1, #3 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r1] - strh r0, [r5, #0x24] -_0803D08A: - ldrb r1, [r4, #0x15] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0803D0AC - ldr r0, _0803D0A8 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r5, #0x15] - b _0803D0AE - .align 2, 0 -_0803D0A4: .4byte gUnk_080D0468 -_0803D0A8: .4byte gUnk_020000B0 -_0803D0AC: - strb r1, [r5, #0x15] -_0803D0AE: - pop {r4, r5, pc} - - thumb_func_start sub_0803D0B0 -sub_0803D0B0: @ 0x0803D0B0 - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - adds r1, r0, #0 - adds r1, #0x74 - ldrh r1, [r1] - adds r0, #0x38 - ldrb r2, [r0] - movs r0, #0x75 - bl sub_0807B7D8 - pop {pc} - - thumb_func_start sub_0803D0C8 -sub_0803D0C8: @ 0x0803D0C8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0803D0F4 - cmp r0, #1 - bgt _0803D0DC - cmp r0, #0 - beq _0803D0E6 - b _0803D12C -_0803D0DC: - cmp r0, #2 - beq _0803D104 - cmp r0, #3 - beq _0803D11C - b _0803D12C -_0803D0E6: - adds r0, r4, #0 - bl sub_0803DFBC - ldr r0, _0803D0F0 @ =gUnk_080D0470 - b _0803D106 - .align 2, 0 -_0803D0F0: .4byte gUnk_080D0470 -_0803D0F4: - adds r0, r4, #0 - bl sub_0803DC58 - ldr r0, _0803D100 @ =gUnk_080D0490 - b _0803D106 - .align 2, 0 -_0803D100: .4byte gUnk_080D0490 -_0803D104: - ldr r0, _0803D118 @ =gUnk_080D0498 -_0803D106: - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0803D12C - .align 2, 0 -_0803D118: .4byte gUnk_080D0498 -_0803D11C: - ldr r0, _0803D130 @ =gUnk_080D04A0 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0803D12C: - pop {r4, pc} - .align 2, 0 -_0803D130: .4byte gUnk_080D04A0 - - thumb_func_start sub_0803D134 -sub_0803D134: @ 0x0803D134 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #0x7b - bl sub_0807CBD0 - cmp r0, #0 - beq _0803D146 - bl sub_0805E780 -_0803D146: - adds r0, r5, #0 - bl sub_0804A720 - movs r0, #0 - bl sub_0807CC3C - cmp r0, #0 - bne _0803D158 - b _0803D25A -_0803D158: - ldr r0, _0803D25C @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x41 - bhi _0803D25A - movs r0, #0 - bl sub_0807CD8C - movs r2, #0 - movs r0, #3 - strb r0, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x74 - movs r0, #0xff - strb r0, [r1] - strb r2, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x76 - strb r2, [r0] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r5, #0x15] - adds r3, r5, #0 - adds r3, #0x29 - ldrb r1, [r3] - subs r0, #7 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r3] - str r2, [r5, #0x34] - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #2 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x86 - strb r2, [r0] - adds r1, #5 - movs r0, #0x30 - strb r0, [r1] - subs r1, #1 - subs r0, #0x31 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x87 - strb r2, [r0] - subs r0, #5 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - ldr r0, [r5, #0x2c] - str r0, [r5, #0x78] - ldr r0, [r5, #0x30] - str r0, [r5, #0x7c] - movs r0, #0x4a - movs r1, #1 - bl sub_0804AA60 - adds r4, r0, #0 - str r5, [r4, #0x50] - str r4, [r5, #0x54] - movs r6, #0 -_0803D1E2: - movs r0, #0x54 - movs r1, #0 - bl sub_0804AA60 - adds r4, r0, #0 - str r5, [r4, #0x50] - adds r0, #0x79 - strb r6, [r0] - adds r6, #1 - cmp r6, #5 - ble _0803D1E2 - movs r6, #0 -_0803D1FA: - movs r0, #0x4a - movs r1, #3 - bl sub_0804AA60 - adds r4, r0, #0 - str r5, [r4, #0x50] - strb r6, [r4, #0xe] - adds r6, #1 - cmp r6, #3 - ble _0803D1FA - movs r6, #0 -_0803D210: - movs r0, #0x54 - movs r1, #1 - bl sub_0804AA60 - adds r4, r0, #0 - str r5, [r4, #0x50] - movs r0, #1 - adds r2, r6, #0 - ands r2, r0 - lsls r2, r2, #6 - ldrb r0, [r4, #0x18] - movs r3, #0x41 - rsbs r3, r3, #0 - adds r1, r3, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - lsls r1, r6, #1 - ldr r0, _0803D260 @ =gUnk_080D04A8 - adds r1, r1, r0 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r1, r3] - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 - adds r6, #1 - cmp r6, #1 - ble _0803D210 - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC -_0803D25A: - pop {r4, r5, r6, pc} - .align 2, 0 -_0803D25C: .4byte gUnk_03003DBC -_0803D260: .4byte gUnk_080D04A8 - - thumb_func_start sub_0803D264 -sub_0803D264: @ 0x0803D264 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0803D318 - subs r0, #1 - strb r0, [r4, #0xe] - movs r7, #0xff - lsls r0, r0, #0x18 - lsrs r6, r0, #0x18 - cmp r6, #0 - beq _0803D27E - b _0803D400 -_0803D27E: - adds r5, r4, #0 - adds r5, #0x74 - ldrb r1, [r5] - movs r0, #0x70 - ands r0, r1 - cmp r0, #0 - bne _0803D2E4 - ldr r0, [r4, #0x54] - ldrb r0, [r0, #0xe] - cmp r0, #0 - bne _0803D2DE - adds r0, r4, #0 - bl sub_0803DD78 - adds r0, r4, #0 - adds r0, #0x75 - ldrb r0, [r0] - cmp r0, #0 - beq _0803D2B0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r6, [r5] - movs r0, #0x10 - strb r0, [r4, #0xe] - b _0803D2D6 -_0803D2B0: - adds r0, r4, #0 - adds r0, #0x86 - ldrb r0, [r0] - cmp r0, #0 - bne _0803D2C4 - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _0803D2D6 -_0803D2C4: - bl sub_08000E50 - movs r1, #0x80 - ands r1, r0 - lsrs r1, r1, #3 - movs r0, #8 - orrs r1, r0 - strb r1, [r4, #0x15] - b _0803D400 -_0803D2D6: - ldrb r0, [r4, #0x15] - orrs r0, r7 - strb r0, [r4, #0x15] - b _0803D400 -_0803D2DE: - movs r0, #2 - strb r0, [r4, #0xe] - b _0803D400 -_0803D2E4: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - adds r1, r4, #0 - adds r1, #0x75 - strb r0, [r1] - strb r6, [r5] - movs r0, #0xc0 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - orrs r0, r7 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _0803D400 -_0803D318: - adds r1, r4, #0 - adds r1, #0x77 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - movs r6, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _0803D3BA - adds r0, r4, #0 - bl sub_0803DEE0 - cmp r0, #1 - beq _0803D366 - cmp r0, #1 - blo _0803D344 - cmp r0, #2 - beq _0803D384 - cmp r0, #3 - beq _0803D374 - b _0803D3BA -_0803D344: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xa0 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - orrs r0, r6 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x84 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - b _0803D3BA -_0803D366: - movs r0, #6 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - strb r5, [r0] - strb r5, [r4, #0xe] - b _0803D3B4 -_0803D374: - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - strb r5, [r0] - movs r0, #0x20 - strb r0, [r4, #0xf] - b _0803D3B4 -_0803D384: - adds r0, r4, #0 - adds r0, #0x74 - strb r5, [r0] - movs r0, #0x20 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x86 - ldrb r0, [r0] - cmp r0, #0 - bne _0803D3A2 - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _0803D3B4 -_0803D3A2: - bl sub_08000E50 - movs r1, #0x80 - ands r1, r0 - lsrs r1, r1, #3 - movs r0, #8 - orrs r1, r0 - strb r1, [r4, #0x15] - b _0803D3BA -_0803D3B4: - ldrb r0, [r4, #0x15] - orrs r0, r6 - strb r0, [r4, #0x15] -_0803D3BA: - ldr r0, [r4, #0x54] - ldrb r0, [r0, #0xe] - cmp r0, #0 - bne _0803D400 - adds r2, r4, #0 - adds r2, #0x85 - ldrb r0, [r2] - adds r1, r0, #1 - strb r1, [r2] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _0803D3FA - movs r0, #0x30 - ands r0, r1 - cmp r0, #0x10 - beq _0803D3F4 - cmp r0, #0x10 - bgt _0803D3E6 - cmp r0, #0 - beq _0803D3EE - b _0803D3FA -_0803D3E6: - cmp r0, #0x20 - beq _0803D3F4 - cmp r0, #0x30 - bne _0803D3FA -_0803D3EE: - ldrh r0, [r4, #0x32] - adds r0, #1 - b _0803D3F8 -_0803D3F4: - ldrh r0, [r4, #0x32] - subs r0, #1 -_0803D3F8: - strh r0, [r4, #0x32] -_0803D3FA: - adds r0, r4, #0 - bl sub_080AEFB4 -_0803D400: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0803D408 -sub_0803D408: @ 0x0803D408 - push {r4, r5, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x74 - ldrb r0, [r2] - cmp r0, #1 - beq _0803D458 - cmp r0, #1 - bgt _0803D420 - cmp r0, #0 - beq _0803D42A - b _0803D558 -_0803D420: - cmp r0, #2 - beq _0803D478 - cmp r0, #3 - beq _0803D4FC - b _0803D558 -_0803D42A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0803D438 - b _0803D558 -_0803D438: - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0x20 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #3 - bl sub_080042AC - ldr r0, _0803D454 @ =0x0000019B - bl sub_080A3268 - b _0803D558 - .align 2, 0 -_0803D454: .4byte 0x0000019B -_0803D458: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803D558 - movs r0, #2 - strb r0, [r2] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x10 - strb r0, [r4, #0xe] - b _0803D558 -_0803D478: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803D558 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0803E028 - cmp r0, #0 - bne _0803D4D0 - bl sub_08000E50 - adds r5, r4, #0 - adds r5, #0x81 - ldrb r1, [r5] - adds r1, #1 - movs r2, #3 - ands r0, r2 - adds r1, r1, r0 - strb r1, [r5] - ldrb r0, [r5] - movs r1, #5 - bl __modsi3 - strb r0, [r5] - ldrb r1, [r5] - lsls r1, r1, #2 - ldr r0, _0803D4F4 @ =gUnk_080D04AC - adds r1, r1, r0 - ldr r2, _0803D4F8 @ =gUnk_03000BF0 - ldrh r0, [r1] - ldrh r3, [r2, #6] - adds r0, r0, r3 - adds r0, #0x10 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #2] - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r0, #0x10 - strh r0, [r4, #0x32] -_0803D4D0: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x20 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #4 - bl sub_080042AC - movs r0, #0xf5 - bl sub_080A3268 - b _0803D558 - .align 2, 0 -_0803D4F4: .4byte gUnk_080D04AC -_0803D4F8: .4byte gUnk_03000BF0 -_0803D4FC: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803D558 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #4 - bls _0803D52E - ldr r1, _0803D544 @ =gUnk_03001160 - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - subs r0, #0x18 - strh r0, [r4, #0x32] -_0803D52E: - adds r1, r4, #0 - adds r1, #0x77 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803D548 - movs r0, #1 - strb r0, [r4, #0xc] - b _0803D54E - .align 2, 0 -_0803D544: .4byte gUnk_03001160 -_0803D548: - movs r0, #0 - strb r0, [r2] - movs r0, #0x10 -_0803D54E: - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_0803D558: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - - thumb_func_start sub_0803D560 -sub_0803D560: @ 0x0803D560 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x74 - ldrb r0, [r2] - cmp r0, #2 - beq _0803D62A - cmp r0, #2 - bgt _0803D57C - cmp r0, #0 - beq _0803D5BC - cmp r0, #1 - beq _0803D5F8 - b _0803D650 -_0803D57C: - cmp r0, #0xfe - beq _0803D590 - cmp r0, #0xfe - bgt _0803D58A - cmp r0, #3 - beq _0803D646 - b _0803D650 -_0803D58A: - cmp r0, #0xff - beq _0803D598 - b _0803D650 -_0803D590: - movs r0, #0 - strb r0, [r2] - movs r0, #1 - b _0803D64E -_0803D598: - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #4 - rsbs r0, r0, #0 - cmp r1, r0 - beq _0803D5AC - ldr r0, [r4, #0x34] - ldr r1, _0803D5B8 @ =0xFFFFE000 - adds r0, r0, r1 - str r0, [r4, #0x34] -_0803D5AC: - ldrb r0, [r4, #0xe] - cmp r0, #2 - bne _0803D650 - movs r0, #0xfe - strb r0, [r2] - b _0803D650 - .align 2, 0 -_0803D5B8: .4byte 0xFFFFE000 -_0803D5BC: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803D650 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x75 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - movs r1, #0x20 - cmp r0, #0 - beq _0803D5E0 - movs r1, #0x14 -_0803D5E0: - strb r1, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x86 - ldrb r0, [r0] - adds r0, #1 - asrs r0, r0, #1 - lsls r0, r0, #1 - adds r0, #2 - adds r1, r4, #0 - adds r1, #0x80 - strb r0, [r1] - b _0803D650 -_0803D5F8: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803D650 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x75 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0803D620 - movs r0, #0xd8 - lsls r0, r0, #1 - bl sub_080A3268 -_0803D620: - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - b _0803D650 -_0803D62A: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803D650 - movs r0, #3 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _0803D650 -_0803D646: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r2] -_0803D64E: - strb r0, [r4, #0xe] -_0803D650: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - - thumb_func_start sub_0803D658 -sub_0803D658: @ 0x0803D658 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803D68E - movs r2, #1 - strb r2, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x84 - ldrb r0, [r1] - orrs r0, r3 - strb r0, [r1] - strb r2, [r4, #0xe] - ldrb r0, [r4, #0x15] - adds r0, #0x10 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _0803D6EE -_0803D68E: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0803D6EE - movs r0, #0xef - ands r0, r1 - strb r0, [r2] - adds r5, r4, #0 - adds r5, #0x84 - ldrb r0, [r5] - cmp r0, #0xff - bne _0803D6C8 - ldr r1, _0803D6F8 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - ldr r1, _0803D6FC @ =gUnk_080D04C0 - lsrs r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5] - movs r0, #0 - strb r0, [r4, #0xf] -_0803D6C8: - ldrb r0, [r4, #0xf] - cmp r0, #0xf - bhi _0803D6EE - ldrb r2, [r5] - adds r0, r4, #0 - movs r1, #0x1a - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _0803D6EE - ldrb r0, [r4, #0xf] - strb r0, [r1, #0xf] - str r4, [r1, #0x50] - ldrh r0, [r4, #0x36] - strh r0, [r1, #0x36] - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] -_0803D6EE: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 -_0803D6F8: .4byte gUnk_03001160 -_0803D6FC: .4byte gUnk_080D04C0 - - thumb_func_start sub_0803D700 -sub_0803D700: @ 0x0803D700 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _0803D720 - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0xe] - movs r0, #0xff - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _0803D82E -_0803D720: - adds r2, r4, #0 - adds r2, #0x74 - ldrb r0, [r2] - adds r6, r2, #0 - cmp r0, #1 - beq _0803D764 - cmp r0, #1 - bgt _0803D736 - cmp r0, #0 - beq _0803D744 - b _0803D73E -_0803D736: - cmp r0, #2 - beq _0803D78E - cmp r0, #3 - beq _0803D7FA -_0803D73E: - adds r5, r4, #0 - adds r5, #0x87 - b _0803D81C -_0803D744: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - adds r5, r4, #0 - adds r5, #0x87 - cmp r0, #0 - bne _0803D81C - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - b _0803D81C -_0803D764: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - adds r5, r4, #0 - adds r5, #0x87 - cmp r0, #0 - beq _0803D81C - movs r0, #2 - strb r0, [r2] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x40 - strb r0, [r4, #0xf] - movs r0, #0xf4 - bl sub_080A3268 - b _0803D81C -_0803D78E: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - adds r5, r4, #0 - adds r5, #0x87 - cmp r0, #0 - bne _0803D81C - adds r0, r4, #0 - adds r0, #0x86 - ldrb r0, [r0] - cmp r0, #1 - bls _0803D7E4 - ldrb r0, [r5] - cmp r0, #3 - bhi _0803D7E4 - bl sub_08000E50 - movs r1, #0x10 - ands r1, r0 - cmp r1, #0 - beq _0803D7E4 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x40 - strb r0, [r4, #0xf] - ldr r1, _0803D7E0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - movs r1, #0x10 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - b _0803D81A - .align 2, 0 -_0803D7E0: .4byte gUnk_03001160 -_0803D7E4: - ldrb r0, [r6] - adds r0, #1 - movs r1, #0 - strb r0, [r6] - strb r1, [r5] - movs r0, #0x30 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_080042AC - b _0803D81C -_0803D7FA: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - adds r5, r4, #0 - adds r5, #0x87 - cmp r1, #0 - bne _0803D81C - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r2] - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - orrs r0, r3 -_0803D81A: - strb r0, [r4, #0x15] -_0803D81C: - ldrb r0, [r5] - cmp r0, #0 - beq _0803D828 - adds r0, r4, #0 - bl sub_080AEFB4 -_0803D828: - adds r0, r4, #0 - bl sub_080042B8 -_0803D82E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0803D830 -sub_0803D830: @ 0x0803D830 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _0803D844 - movs r0, #1 - strb r0, [r5, #0xc] - strb r0, [r5, #0xe] - b _0803D8F4 -_0803D844: - adds r4, r5, #0 - adds r4, #0x74 - ldrb r0, [r4] - cmp r0, #1 - beq _0803D870 - cmp r0, #1 - bgt _0803D858 - cmp r0, #0 - beq _0803D862 - b _0803D8EE -_0803D858: - cmp r0, #2 - beq _0803D8C2 - cmp r0, #3 - beq _0803D8CE - b _0803D8EE -_0803D862: - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _0803D8EE - movs r0, #1 - strb r0, [r4] - movs r0, #0x70 - b _0803D8EC -_0803D870: - ldrb r0, [r5, #0xe] - subs r1, r0, #1 - strb r1, [r5, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0803D8B0 - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - movs r0, #0xa8 - lsls r0, r0, #1 - bl sub_080A3268 - adds r0, r5, #0 - movs r1, #0x18 - movs r2, #0 - bl sub_0804A98C - adds r4, r0, #0 - cmp r4, #0 - beq _0803D8EE - ldr r3, _0803D8AC @ =0xFFF00000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - str r5, [r4, #0x50] - b _0803D8EE - .align 2, 0 -_0803D8AC: .4byte 0xFFF00000 -_0803D8B0: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x40 - bne _0803D8EE - movs r0, #0xcb - lsls r0, r0, #1 - bl sub_080A3268 - b _0803D8EE -_0803D8C2: - ldrb r0, [r5, #0xf] - cmp r0, #0 - beq _0803D8EE - movs r0, #0 - strb r0, [r5, #0xf] - b _0803D8EE -_0803D8CE: - ldrb r0, [r5, #0xf] - cmp r0, #0 - bne _0803D8DE - movs r0, #1 - strb r0, [r5, #0xf] - ldr r0, _0803D8F8 @ =0x0000014F - bl sub_080A3268 -_0803D8DE: - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _0803D8EE - movs r1, #0 - movs r0, #1 - strb r0, [r5, #0xc] - strb r1, [r4] -_0803D8EC: - strb r0, [r5, #0xe] -_0803D8EE: - adds r0, r5, #0 - bl sub_080042B8 -_0803D8F4: - pop {r4, r5, pc} - .align 2, 0 -_0803D8F8: .4byte 0x0000014F - - thumb_func_start sub_0803D8FC -sub_0803D8FC: @ 0x0803D8FC - push {r4, r5, lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _0803D968 - subs r1, r0, #1 - strb r1, [r2, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0803D918 - movs r0, #1 - bl sub_0807CD10 - b _0803D968 -_0803D918: - movs r0, #7 - ands r1, r0 - cmp r1, #0 - bne _0803D968 - adds r0, r2, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _0803D968 - bl sub_08000E50 - ldr r1, _0803D96C @ =0x00003F3F - ands r0, r1 - movs r3, #0xff - adds r1, r0, #0 - ands r1, r3 - ldr r5, _0803D970 @ =0x0000FFE0 - adds r2, r5, #0 - adds r1, r2, r1 - ldrh r5, [r4, #0x2e] - adds r1, r1, r5 - strh r1, [r4, #0x2e] - lsrs r0, r0, #8 - ands r0, r3 - adds r2, r2, r0 - ldrh r0, [r4, #0x32] - adds r2, r2, r0 - strh r2, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2] -_0803D968: - pop {r4, r5, pc} - .align 2, 0 -_0803D96C: .4byte 0x00003F3F -_0803D970: .4byte 0x0000FFE0 - - thumb_func_start sub_0803D974 -sub_0803D974: @ 0x0803D974 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r5, r4, #0 - adds r5, #0x74 - strb r1, [r5] - adds r2, r4, #0 - adds r2, #0x75 - strb r0, [r2] - strb r1, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xff - strb r0, [r1] - ldr r0, [r4, #0x50] - movs r3, #0x80 - lsls r3, r3, #9 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - movs r0, #0x4a - movs r1, #2 - bl sub_0804AA60 - str r4, [r0, #0x50] - ldr r1, [r4, #0x50] - str r1, [r0, #0x54] - ldrb r1, [r5] - adds r0, r4, #0 - bl sub_080042AC - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803D9BC -sub_0803D9BC: @ 0x0803D9BC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r2, r4, #0 - adds r2, #0x74 - ldrb r0, [r2] - cmp r0, #0 - bne _0803D9E2 - adds r0, r5, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _0803DA44 - movs r0, #1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x30 - b _0803D9F6 -_0803D9E2: - adds r0, r5, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _0803DA02 - movs r0, #0 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x2f -_0803D9F6: - strb r0, [r1] - ldrb r1, [r2] - adds r0, r4, #0 - bl sub_080042AC - b _0803DA44 -_0803DA02: - adds r2, r4, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803DA2E - adds r0, r4, #0 - adds r0, #0x3d - ldrb r1, [r0] - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _0803DA2E - adds r0, r5, #0 - adds r0, #0x3d - strb r1, [r0] - ldrb r0, [r2] - adds r2, r5, #0 - adds r2, #0x41 - strb r0, [r2] -_0803DA2E: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0803DA44 - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC -_0803DA44: - adds r1, r4, #0 - adds r1, #0x75 - ldrb r0, [r1] - cmp r0, #0 - bne _0803DA60 - ldrb r0, [r5, #0xc] - cmp r0, #2 - beq _0803DA72 - movs r0, #1 - strb r0, [r1] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - b _0803DA70 -_0803DA60: - ldrb r0, [r5, #0xc] - cmp r0, #2 - bne _0803DA72 - movs r0, #0 - strb r0, [r1] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 -_0803DA70: - strb r0, [r4, #0x10] -_0803DA72: - ldrb r1, [r5, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r5, #0 - adds r0, #0x62 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - ldr r0, [r4, #0x50] - movs r3, #0x80 - lsls r3, r3, #9 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803DAA8 -sub_0803DAA8: @ 0x0803DAA8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #0x50] - movs r3, #0 - movs r2, #1 - strb r2, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x74 - strb r2, [r1] - adds r1, #1 - strb r3, [r1] - adds r2, r4, #0 - adds r2, #0x63 - movs r1, #0xfe - strb r1, [r2] - movs r1, #0xff - strb r1, [r4, #0x15] - movs r3, #0x80 - lsls r3, r3, #0xa - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803DAE4 -sub_0803DAE4: @ 0x0803DAE4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x74 - ldrb r2, [r0] - cmp r2, #0 - bne _0803DB3E - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #0 - beq _0803DB00 - strb r2, [r1] -_0803DB00: - ldr r0, [r5, #0x50] - ldrb r1, [r0, #0x15] - cmp r1, #0xff - beq _0803DB28 - adds r2, r4, #0 - adds r2, #0x75 - ldrb r0, [r2] - cmp r0, #0 - bne _0803DB16 - movs r0, #1 - strb r0, [r2] -_0803DB16: - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _0803DB54 - strb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_080042AC - b _0803DB54 -_0803DB28: - adds r1, r4, #0 - adds r1, #0x75 - ldrb r0, [r1] - cmp r0, #0 - beq _0803DB54 - strb r2, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _0803DB54 -_0803DB3E: - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #0 - bne _0803DB54 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC -_0803DB54: - ldrb r1, [r5, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r5, #0 - adds r0, #0x62 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - ldr r0, [r5, #0x50] - movs r3, #0x80 - lsls r3, r3, #0xa - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - - thumb_func_start sub_0803DB88 -sub_0803DB88: @ 0x0803DB88 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x74 - strb r1, [r2] - movs r0, #0xff - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - ldrb r1, [r2] - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0803DC0C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803DBB8 -sub_0803DBB8: @ 0x0803DBB8 - push {r4, lr} - adds r4, r0, #0 - ldr r2, [r4, #0x50] - ldrb r0, [r2, #0x15] - cmp r0, #0xff - beq _0803DBE8 - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #0 - bne _0803DBD2 - movs r0, #1 - strb r0, [r1] -_0803DBD2: - ldrb r0, [r2, #0x15] - lsls r1, r0, #0x18 - ldrb r2, [r4, #0x15] - cmp r0, r2 - beq _0803DC02 - strb r0, [r4, #0x15] - lsrs r1, r1, #0x1b - adds r0, r4, #0 - bl sub_080042AC - b _0803DC02 -_0803DBE8: - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #0 - beq _0803DC02 - movs r0, #0 - strb r0, [r1] - movs r0, #0xff - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC -_0803DC02: - adds r0, r4, #0 - bl sub_0803DC0C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803DC0C -sub_0803DC0C: @ 0x0803DC0C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r5, [r4, #0xe] - lsls r5, r5, #1 - ldr r1, _0803DC54 @ =gUnk_080D04C8 - adds r5, r5, r1 - ldrb r2, [r0, #0x18] - lsls r2, r2, #0x1e - lsrs r2, r2, #0x1e - ldrb r3, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r3 - orrs r1, r2 - strb r1, [r4, #0x18] - adds r1, r0, #0 - adds r1, #0x62 - ldrb r1, [r1] - adds r2, r4, #0 - adds r2, #0x62 - strb r1, [r2] - movs r2, #0 - ldrsb r2, [r5, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r5, r3] - adds r3, #1 - lsls r3, r3, #0x10 - adds r1, r4, #0 - bl sub_0806FA48 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 -_0803DC54: .4byte gUnk_080D04C8 - - thumb_func_start sub_0803DC58 -sub_0803DC58: @ 0x0803DC58 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x30 - beq _0803DC66 - b _0803DD74 -_0803DC66: - ldr r5, [r4, #0x50] - adds r2, r4, #0 - adds r2, #0x77 - movs r7, #0 - strb r7, [r2] - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - mov ip, r0 - ands r0, r1 - adds r6, r2, #0 - cmp r0, #0 - beq _0803DD20 - ldr r0, _0803DCE4 @ =gUnk_080D04D0 - adds r3, r5, #0 - adds r3, #0x86 - ldrb r2, [r3] - adds r0, r2, r0 - adds r1, r4, #0 - adds r1, #0x45 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _0803DCFA - adds r0, r2, #1 - strb r0, [r3] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #2 - bls _0803DCF0 - ldrb r2, [r4, #0x10] - movs r1, #0x7f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x10] - movs r0, #7 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0x10] - ands r1, r0 - strb r1, [r5, #0x10] - mov r2, ip - strb r2, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x62 - strb r7, [r0] - ldrb r0, [r5, #0x15] - orrs r0, r3 - strb r0, [r5, #0x15] - strb r7, [r4, #0xe] - ldr r0, _0803DCE8 @ =0x80100000 - bl sub_080A3268 - ldr r0, _0803DCEC @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - b _0803DD74 - .align 2, 0 -_0803DCE4: .4byte gUnk_080D04D0 -_0803DCE8: .4byte 0x80100000 -_0803DCEC: .4byte gUnk_02033A90 -_0803DCF0: - movs r0, #1 - strb r0, [r4, #0xe] - ldrb r0, [r6] - orrs r0, r3 - strb r0, [r6] -_0803DCFA: - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _0803DD20 - ldr r0, _0803DD50 @ =0x00000127 - bl sub_080A3268 - movs r0, #0xc - movs r1, #1 - bl sub_08080964 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0803DD26 - movs r0, #0x48 - strb r0, [r4, #0xe] -_0803DD20: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0803DD74 -_0803DD26: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803DD74 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x2f - strb r0, [r1] - adds r1, #0x35 - movs r0, #1 - strb r0, [r1] - ldrb r0, [r6] - cmp r0, #0 - bne _0803DD54 - adds r1, r5, #0 - adds r1, #0x74 - movs r0, #0xf0 - b _0803DD64 - .align 2, 0 -_0803DD50: .4byte 0x00000127 -_0803DD54: - adds r1, r5, #0 - adds r1, #0x74 - movs r0, #0x70 - strb r0, [r1] - adds r1, r4, #0 - adds r1, #0x45 - ldrb r0, [r1] - orrs r0, r2 -_0803DD64: - strb r0, [r1] - movs r0, #1 - strb r0, [r5, #0xc] - strb r0, [r5, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_0803DD74: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0803DD78 -sub_0803DD78: @ 0x0803DD78 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #0x7c - ands r1, r0 - lsrs r2, r1, #2 - adds r0, r4, #0 - adds r0, #0x86 - ldrb r0, [r0] - cmp r0, #1 - beq _0803DDFE - cmp r0, #1 - bgt _0803DD9A - cmp r0, #0 - beq _0803DDA0 - b _0803DDB6 -_0803DD9A: - cmp r0, #2 - beq _0803DE5C - b _0803DDB6 -_0803DDA0: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r1, [r0] - cmp r1, #0 - bne _0803DDBC - subs r0, #0xb - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x77 - movs r0, #0x50 - strb r0, [r1] -_0803DDB6: - adds r5, r4, #0 - adds r5, #0x83 - b _0803DED0 -_0803DDBC: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #5 - bls _0803DDCA - b _0803DED0 -_0803DDCA: - lsls r0, r1, #2 - ldr r1, _0803DDD4 @ =_0803DDD8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803DDD4: .4byte _0803DDD8 -_0803DDD8: @ jump table - .4byte _0803DDF0 @ case 0 - .4byte _0803DEC2 @ case 1 - .4byte _0803DDF0 @ case 2 - .4byte _0803DEC2 @ case 3 - .4byte _0803DDF0 @ case 4 - .4byte _0803DEC2 @ case 5 -_0803DDF0: - adds r1, r4, #0 - adds r1, #0x75 - movs r0, #0 - strb r0, [r1] - adds r1, #2 - movs r0, #0x50 - b _0803DECE -_0803DDFE: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #5 - bhi _0803DED0 - lsls r0, r1, #2 - ldr r1, _0803DE14 @ =_0803DE18 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803DE14: .4byte _0803DE18 -_0803DE18: @ jump table - .4byte _0803DE98 @ case 0 - .4byte _0803DEC2 @ case 1 - .4byte _0803DE30 @ case 2 - .4byte _0803DEC2 @ case 3 - .4byte _0803DE46 @ case 4 - .4byte _0803DEC2 @ case 5 -_0803DE30: - movs r1, #8 - ands r1, r2 - cmp r1, #0 - bne _0803DEC2 - adds r0, r4, #0 - adds r0, #0x75 - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x77 - movs r0, #0x50 - b _0803DECE -_0803DE46: - movs r0, #8 - ands r2, r0 - cmp r2, #0 - beq _0803DE98 - adds r1, r4, #0 - adds r1, #0x75 - movs r0, #0 - strb r0, [r1] - adds r1, #2 - movs r0, #0x50 - b _0803DECE -_0803DE5C: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #5 - bhi _0803DED0 - lsls r0, r1, #2 - ldr r1, _0803DE74 @ =_0803DE78 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803DE74: .4byte _0803DE78 -_0803DE78: @ jump table - .4byte _0803DE98 @ case 0 - .4byte _0803DEC2 @ case 1 - .4byte _0803DE90 @ case 2 - .4byte _0803DEC2 @ case 3 - .4byte _0803DEA6 @ case 4 - .4byte _0803DEC2 @ case 5 -_0803DE90: - movs r0, #0xf - ands r2, r0 - cmp r2, #2 - bls _0803DEC2 -_0803DE98: - adds r0, r4, #0 - adds r0, #0x75 - movs r1, #1 - strb r1, [r0] - adds r0, #2 - strb r1, [r0] - b _0803DED0 -_0803DEA6: - cmp r2, #9 - bls _0803DEC2 - adds r1, r4, #0 - adds r1, #0x75 - movs r0, #2 - strb r0, [r1] - bl sub_08000E50 - movs r1, #1 - ands r0, r1 - adds r0, #2 - adds r1, r4, #0 - adds r1, #0x77 - b _0803DECE -_0803DEC2: - adds r1, r4, #0 - adds r1, #0x75 - movs r0, #0 - strb r0, [r1] - adds r1, #2 - movs r0, #1 -_0803DECE: - strb r0, [r1] -_0803DED0: - ldrb r0, [r5] - adds r0, #1 - movs r1, #6 - bl __modsi3 - strb r0, [r5] - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803DEE0 -sub_0803DEE0: @ 0x0803DEE0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #2 - bl sub_08000E50 - movs r1, #0xf8 - ands r1, r0 - lsrs r2, r1, #3 - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _0803DFB8 - adds r0, r4, #0 - adds r0, #0x86 - ldrb r0, [r0] - cmp r0, #1 - beq _0803DF28 - cmp r0, #1 - bgt _0803DF0E - cmp r0, #0 - beq _0803DF14 - b _0803DFB8 -_0803DF0E: - cmp r0, #2 - beq _0803DF68 - b _0803DFB8 -_0803DF14: - adds r0, r4, #0 - adds r0, #0x82 - ldrb r1, [r0] - movs r5, #1 - ands r5, r1 - adds r1, #1 - movs r2, #3 - ands r1, r2 - strb r1, [r0] - b _0803DFB8 -_0803DF28: - adds r0, r4, #0 - adds r0, #0x82 - ldrb r1, [r0] - adds r4, r0, #0 - cmp r1, #4 - bhi _0803DFAC - lsls r0, r1, #2 - ldr r1, _0803DF40 @ =_0803DF44 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803DF40: .4byte _0803DF44 -_0803DF44: @ jump table - .4byte _0803DF9E @ case 0 - .4byte _0803DF58 @ case 1 - .4byte _0803DF9E @ case 2 - .4byte _0803DF58 @ case 3 - .4byte _0803DF5C @ case 4 -_0803DF58: - movs r5, #1 - b _0803DFAC -_0803DF5C: - movs r0, #8 - ands r2, r0 - movs r5, #0 - cmp r2, #0 - beq _0803DFAC - b _0803DF9E -_0803DF68: - adds r0, r4, #0 - adds r0, #0x82 - ldrb r1, [r0] - adds r4, r0, #0 - cmp r1, #4 - bhi _0803DFAC - lsls r0, r1, #2 - ldr r1, _0803DF80 @ =_0803DF84 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803DF80: .4byte _0803DF84 -_0803DF84: @ jump table - .4byte _0803DF9E @ case 0 - .4byte _0803DF98 @ case 1 - .4byte _0803DFA2 @ case 2 - .4byte _0803DF9E @ case 3 - .4byte _0803DFAA @ case 4 -_0803DF98: - movs r5, #0 - cmp r2, #5 - bls _0803DFAC -_0803DF9E: - movs r5, #3 - b _0803DFAC -_0803DFA2: - movs r5, #0 - cmp r2, #9 - bhi _0803DFAC - b _0803DF9E -_0803DFAA: - movs r5, #0 -_0803DFAC: - ldrb r0, [r4] - adds r0, #1 - movs r1, #5 - bl __modsi3 - strb r0, [r4] -_0803DFB8: - adds r0, r5, #0 - pop {r4, r5, pc} - - thumb_func_start sub_0803DFBC -sub_0803DFBC: @ 0x0803DFBC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _0803DFCE - ldr r0, [r4, #0x2c] - str r0, [r4, #0x78] - ldr r0, [r4, #0x30] - str r0, [r4, #0x7c] -_0803DFCE: - adds r5, r4, #0 - adds r5, #0x76 - ldrb r0, [r5] - cmp r0, #0 - bne _0803DFFC - ldrb r0, [r4, #0x15] - cmp r0, #0xff - beq _0803E000 - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0803E000 - adds r0, r4, #0 - bl sub_08049EE4 - movs r1, #0x10 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x10 - b _0803DFFE -_0803DFFC: - subs r0, #1 -_0803DFFE: - strb r0, [r5] -_0803E000: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _0803E022 - ldrb r0, [r4, #0x14] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0x14] - ldr r1, _0803E024 @ =gUnk_080D04D3 - ldrb r0, [r4, #0x14] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x62 - strb r1, [r0] -_0803E022: - pop {r4, r5, pc} - .align 2, 0 -_0803E024: .4byte gUnk_080D04D3 - - thumb_func_start sub_0803E028 -sub_0803E028: @ 0x0803E028 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0 - adds r0, #0x75 - ldrb r0, [r0] - cmp r0, #2 - beq _0803E046 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0803E046 - movs r0, #0 - b _0803E082 -_0803E046: - adds r0, r4, #0 - adds r0, #0x77 - ldrb r0, [r0] - cmp r0, #1 - bne _0803E080 - ldr r2, _0803E084 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - adds r1, r0, #0 - adds r1, #0x58 - ldr r0, _0803E088 @ =gUnk_03001160 - movs r3, #0x2e - ldrsh r0, [r0, r3] - cmp r1, r0 - bgt _0803E080 - ldrh r2, [r2, #8] - adds r1, r2, #0 - adds r1, #0x58 - cmp r1, r0 - bgt _0803E080 - adds r1, r2, #0 - adds r1, #0xf8 - cmp r1, r0 - blt _0803E080 - adds r1, r4, #0 - adds r1, #0x81 - ldrb r0, [r1] - adds r0, #5 - strb r0, [r1] - movs r5, #1 -_0803E080: - adds r0, r5, #0 -_0803E082: - pop {r4, r5, pc} - .align 2, 0 -_0803E084: .4byte gUnk_03000BF0 -_0803E088: .4byte gUnk_03001160 - - thumb_func_start sub_0803E08C -sub_0803E08C: @ 0x0803E08C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0803E4A0 - cmp r0, #0 - beq _0803E0AA - ldrb r0, [r5, #0x10] - movs r1, #0x7f - ands r1, r0 - movs r0, #0 - strb r1, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x45 - strb r0, [r1] - str r0, [r5, #0x50] -_0803E0AA: - ldr r4, _0803E0C0 @ =gUnk_080D0648 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0803E0C0: .4byte gUnk_080D0648 - - thumb_func_start sub_0803E0C4 -sub_0803E0C4: @ 0x0803E0C4 - push {lr} - ldr r2, _0803E0D8 @ =gUnk_080D0660 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803E0D8: .4byte gUnk_080D0660 - - thumb_func_start sub_0803E0DC -sub_0803E0DC: @ 0x0803E0DC - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _0803E16C - adds r0, r5, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _0803E158 - movs r0, #5 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r6, #0x7f - adds r0, r6, #0 - ands r0, r1 - strb r0, [r5, #0x10] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldr r3, _0803E154 @ =gUnk_03001160 - ldrb r1, [r3, #0x10] - adds r0, r6, #0 - ands r0, r1 - strb r0, [r3, #0x10] - ldrb r2, [r5, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r4, [r3, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r4 - orrs r0, r2 - strb r0, [r3, #0x1b] - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r3, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r3, #0x19] - adds r0, r5, #0 - bl sub_0803E444 - movs r0, #2 - bl sub_08078A90 - ldr r2, [r5, #0x50] - cmp r2, #0 - beq _0803E16C - ldrb r1, [r2, #0x10] - adds r0, r6, #0 - ands r0, r1 - b _0803E16A - .align 2, 0 -_0803E154: .4byte gUnk_03001160 -_0803E158: - ldr r2, _0803E178 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _0803E17C @ =0xFFFFFEFF - ands r0, r1 - str r0, [r2, #0x30] - ldr r2, _0803E180 @ =gUnk_03001160 - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 -_0803E16A: - strb r0, [r2, #0x10] -_0803E16C: - ldr r1, _0803E184 @ =gUnk_080D0648 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_0803E178: .4byte gUnk_03003F80 -_0803E17C: .4byte 0xFFFFFEFF -_0803E180: .4byte gUnk_03001160 -_0803E184: .4byte gUnk_080D0648 - - thumb_func_start sub_0803E188 -sub_0803E188: @ 0x0803E188 - push {lr} - adds r3, r0, #0 - ldr r2, [r3, #0x50] - cmp r2, #0 - beq _0803E19C - ldrb r0, [r2, #0xf] - subs r0, #1 - movs r1, #0 - strb r0, [r2, #0xf] - str r1, [r3, #0x50] -_0803E19C: - adds r0, r3, #0 - bl sub_0804A7D4 - pop {pc} - - thumb_func_start nullsub_19 -nullsub_19: @ 0x0803E1A4 - bx lr - .align 2, 0 - - thumb_func_start sub_0803E1A8 -sub_0803E1A8: @ 0x0803E1A8 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _0803E1F8 - movs r0, #0x4b - movs r1, #1 - bl sub_0804AA60 - cmp r0, #0 - beq _0803E250 - str r5, [r0, #0x50] - str r0, [r5, #0x54] - ldrb r0, [r5, #0xb] - cmp r0, #0 - bne _0803E1D8 - movs r0, #1 - strb r0, [r5, #0xc] - ldr r0, _0803E1D4 @ =0x0000FFE8 - strh r0, [r5, #0x36] - b _0803E1E8 - .align 2, 0 -_0803E1D4: .4byte 0x0000FFE8 -_0803E1D8: - movs r0, #9 - strb r0, [r5, #0xc] - ldr r0, _0803E1F4 @ =0x0000FF80 - strh r0, [r5, #0x36] - adds r1, r5, #0 - adds r1, #0x3b - movs r0, #1 - strb r0, [r1] -_0803E1E8: - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - b _0803E250 - .align 2, 0 -_0803E1F4: .4byte 0x0000FF80 -_0803E1F8: - movs r0, #8 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #1 - strb r0, [r1] - ldr r4, [r5, #0x50] - ldrb r2, [r4, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x19] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldr r0, [r5, #0x50] - ldr r3, _0803E254 @ =0xFFFF0000 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - adds r0, r5, #0 - movs r1, #1 - bl sub_08004260 -_0803E250: - pop {r4, r5, pc} - .align 2, 0 -_0803E254: .4byte 0xFFFF0000 - - thumb_func_start sub_0803E258 -sub_0803E258: @ 0x0803E258 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803E480 - adds r0, r4, #0 - movs r1, #0 - movs r2, #8 - bl sub_08049F64 - cmp r0, #0 - beq _0803E280 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xa - strb r0, [r4, #0xe] - ldr r0, [r4, #0x54] - movs r1, #2 - bl sub_08004260 - b _0803E29C -_0803E280: - ldr r0, _0803E2A4 @ =gUnk_020000B0 - ldr r1, [r0] - cmp r1, #0 - beq _0803E29C - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - adds r0, r4, #0 - bl sub_0806F69C -_0803E29C: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_0803E2A4: .4byte gUnk_020000B0 - - thumb_func_start sub_0803E2A8 -sub_0803E2A8: @ 0x0803E2A8 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - cmp r0, #0 - beq _0803E2B8 - subs r0, #1 - strb r0, [r1, #0xe] - b _0803E2C8 -_0803E2B8: - ldrh r0, [r1, #0x36] - adds r0, #1 - strh r0, [r1, #0x36] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803E2C8 - movs r0, #3 - strb r0, [r1, #0xc] -_0803E2C8: - adds r0, r1, #0 - bl sub_08004274 - pop {pc} - - thumb_func_start sub_0803E2D0 -sub_0803E2D0: @ 0x0803E2D0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803E312 - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x18 - rsbs r1, r1, #0 - cmp r0, r1 - bgt _0803E30C - movs r0, #4 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - adds r0, #0xf - strb r0, [r4, #0xe] - ldr r0, [r4, #0x54] - movs r1, #1 - bl sub_08004260 -_0803E30C: - adds r0, r4, #0 - bl sub_08004274 -_0803E312: - pop {r4, pc} - - thumb_func_start sub_0803E314 -sub_0803E314: @ 0x0803E314 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803E332 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, _0803E33C @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] -_0803E332: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_0803E33C: .4byte gUnk_03001160 - - thumb_func_start sub_0803E340 -sub_0803E340: @ 0x0803E340 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803E444 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0803E352 - subs r0, #1 - b _0803E36A -_0803E352: - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x18 - rsbs r1, r1, #0 - cmp r0, r1 - bgt _0803E36C - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x14 -_0803E36A: - strb r0, [r4, #0xe] -_0803E36C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803E370 -sub_0803E370: @ 0x0803E370 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803E38E - movs r0, #7 - strb r0, [r1, #0xc] - movs r0, #0x10 - strb r0, [r1, #0x15] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r1, #0x24] -_0803E38E: - adds r0, r1, #0 - bl sub_0803E444 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803E398 -sub_0803E398: @ 0x0803E398 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803E444 - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_0803E4D8 - ldr r1, _0803E3CC @ =gUnk_03000BF0 - ldrh r0, [r1, #8] - ldrh r1, [r1, #0x20] - adds r0, r0, r1 - subs r0, #0x10 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bgt _0803E3C8 - bl sub_0805E5A8 - ldr r0, _0803E3D0 @ =gUnk_0813AB94 - bl sub_08080840 -_0803E3C8: - pop {r4, pc} - .align 2, 0 -_0803E3CC: .4byte gUnk_03000BF0 -_0803E3D0: .4byte gUnk_0813AB94 - - thumb_func_start sub_0803E3D4 -sub_0803E3D4: @ 0x0803E3D4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _0803E3E4 - bl sub_0805E780 -_0803E3E4: - ldr r0, [r4, #0x50] - ldr r3, _0803E3F8 @ =0xFFFF0000 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_0803E3F8: .4byte 0xFFFF0000 - - thumb_func_start sub_0803E3FC -sub_0803E3FC: @ 0x0803E3FC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0803E438 @ =gUnk_03001160 - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - strh r0, [r4, #0x32] - ldrh r2, [r4, #0x36] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #8 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0803E43C - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #2 - beq _0803E42E - movs r0, #0 - strb r0, [r4, #0xe] - ldr r0, [r4, #0x54] - movs r1, #2 - bl sub_08004260 -_0803E42E: - adds r0, r4, #0 - bl sub_0803E2A8 - b _0803E442 - .align 2, 0 -_0803E438: .4byte gUnk_03001160 -_0803E43C: - adds r0, r2, #0 - adds r0, #8 - strh r0, [r4, #0x36] -_0803E442: - pop {r4, pc} - - thumb_func_start sub_0803E444 -sub_0803E444: @ 0x0803E444 - push {r4, lr} - adds r4, r0, #0 - bl sub_08077B2C - ldr r2, _0803E478 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r1, r0 - strb r1, [r2, #0x1a] - ldrb r1, [r2, #0xa] - orrs r0, r1 - strb r0, [r2, #0xa] - ldr r1, [r4, #0x4c] - movs r3, #2 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA90 - ldr r1, _0803E47C @ =gUnk_03001160 - adds r1, #0x63 - ldrb r0, [r1] - adds r0, #0xe - strb r0, [r1] - pop {r4, pc} - .align 2, 0 -_0803E478: .4byte gUnk_03003F80 -_0803E47C: .4byte gUnk_03001160 - - thumb_func_start sub_0803E480 -sub_0803E480: @ 0x0803E480 - push {lr} - adds r3, r0, #0 - adds r2, r3, #0 - adds r2, #0x78 - ldrh r1, [r2] - movs r0, #0x96 - lsls r0, r0, #3 - cmp r1, r0 - bls _0803E49A - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r3, #0x24] - b _0803E49E -_0803E49A: - adds r0, r1, #1 - strh r0, [r2] -_0803E49E: - pop {pc} - - thumb_func_start sub_0803E4A0 -sub_0803E4A0: @ 0x0803E4A0 - push {lr} - adds r1, r0, #0 - ldr r0, _0803E4B8 @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - beq _0803E4C6 - ldr r1, [r1, #0x50] - cmp r1, #0 - bne _0803E4BC - movs r0, #0 - b _0803E4D6 - .align 2, 0 -_0803E4B8: .4byte gUnk_030010A0 -_0803E4BC: - adds r0, r1, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0803E4CA -_0803E4C6: - movs r0, #1 - b _0803E4D6 -_0803E4CA: - movs r2, #0 - ldr r0, [r1, #4] - cmp r0, #0 - bne _0803E4D4 - movs r2, #1 -_0803E4D4: - adds r0, r2, #0 -_0803E4D6: - pop {pc} - - thumb_func_start sub_0803E4D8 -sub_0803E4D8: @ 0x0803E4D8 - push {r4, r5, lr} - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r3, _0803E51C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r4, r1, #4 - movs r2, #0x3f - ands r4, r2 - movs r1, #0x32 - ldrsh r0, [r0, r1] - ldrh r1, [r3, #8] - subs r1, #8 - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - ldr r0, _0803E520 @ =gUnk_03001160 - adds r5, r0, #0 - adds r5, #0x38 - ldrb r1, [r5] - adds r0, r4, #0 - bl sub_080002E0 - cmp r0, #0xff - beq _0803E518 - ldr r0, _0803E524 @ =0x00004074 - ldrb r2, [r5] - adds r1, r4, #0 - bl sub_0800015E -_0803E518: - pop {r4, r5, pc} - .align 2, 0 -_0803E51C: .4byte gUnk_03000BF0 -_0803E520: .4byte gUnk_03001160 -_0803E524: .4byte 0x00004074 - - thumb_func_start sub_0803E528 -sub_0803E528: @ 0x0803E528 - push {lr} - ldr r1, _0803E534 @ =gUnk_080D06E0 - bl sub_0800129E - pop {pc} - .align 2, 0 -_0803E534: .4byte gUnk_080D06E0 - - thumb_func_start sub_0803E538 -sub_0803E538: @ 0x0803E538 - push {lr} - ldr r2, _0803E54C @ =gUnk_080D06F8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803E54C: .4byte gUnk_080D06F8 - - thumb_func_start sub_0803E550 -sub_0803E550: @ 0x0803E550 - push {lr} - ldr r1, _0803E55C @ =gUnk_080D06E0 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_0803E55C: .4byte gUnk_080D06E0 - - thumb_func_start sub_0803E560 -sub_0803E560: @ 0x0803E560 - push {r4, lr} - adds r4, r0, #0 - bl sub_08001324 - - thumb_func_start sub_0803E568 -sub_0803E568: @ 0x0803E568 - adds r0, r4, #0 - bl sub_0803E538 - pop {r4, pc} - - thumb_func_start sub_0803E570 -sub_0803E570: @ 0x0803E570 - push {lr} - movs r1, #0xff - movs r2, #0x57 - bl sub_0804A7E0 - pop {pc} - - thumb_func_start nullsub_20 -nullsub_20: @ 0x0803E57C - bx lr - .align 2, 0 - - thumb_func_start sub_0803E580 -sub_0803E580: @ 0x0803E580 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0804A720 - adds r0, r5, #0 - movs r1, #0x19 - movs r2, #0 - bl sub_0804A98C - cmp r0, #0 - beq _0803E5E4 - str r5, [r0, #0x50] - str r0, [r5, #0x54] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - movs r4, #0 - orrs r0, r1 - strb r0, [r5, #0x10] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x7b - strb r4, [r0] - adds r0, #1 - strb r4, [r0] - adds r1, r5, #0 - adds r1, #0x7e - movs r0, #0x20 - strb r0, [r1] - adds r1, #1 - movs r0, #0xfe - strb r0, [r1] - ldrb r1, [r5, #0x14] - lsls r1, r1, #2 - adds r0, r5, #0 - bl sub_080042AC - adds r0, r5, #0 - bl sub_0803E86C -_0803E5E4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803E5E8 -sub_0803E5E8: @ 0x0803E5E8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - subs r1, #0xa - strb r1, [r0] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r0, r4, #0 - bl sub_0803E9D4 - cmp r0, #0 - bne _0803E61A - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803E61A - adds r0, r4, #0 - bl sub_0803E8CC -_0803E61A: - pop {r4, pc} - - thumb_func_start sub_0803E61C -sub_0803E61C: @ 0x0803E61C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - subs r1, #0xa - strb r1, [r0] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r0, r4, #0 - bl sub_0803E9D4 - cmp r0, #0 - bne _0803E66A - adds r0, r4, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _0803E654 - adds r0, r4, #0 - bl sub_080AEF88 - cmp r0, #0 - bne _0803E654 - adds r0, r4, #0 - bl sub_0803E86C - b _0803E66A -_0803E654: - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803E66A - adds r0, r4, #0 - bl sub_0803E92C -_0803E66A: - pop {r4, pc} - - thumb_func_start sub_0803E66C -sub_0803E66C: @ 0x0803E66C - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #0x10 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - cmp r0, #0x21 - bhi _0803E68E - adds r0, #1 - strb r0, [r1] -_0803E68E: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0803E6A4 - adds r0, r4, #0 - bl sub_0803EA64 - cmp r0, #0 - bne _0803E6B0 -_0803E6A4: - movs r0, #4 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x7b - movs r0, #0 - strb r0, [r1] -_0803E6B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803E6B4 -sub_0803E6B4: @ 0x0803E6B4 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #0xa - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - cmp r0, #0x20 - bls _0803E6D8 - subs r0, #1 - strb r0, [r1] - b _0803E6DE -_0803E6D8: - adds r0, r4, #0 - bl sub_0803E86C -_0803E6DE: - pop {r4, pc} - - thumb_func_start sub_0803E6E0 -sub_0803E6E0: @ 0x0803E6E0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - subs r1, #0xc - strb r1, [r0] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - subs r0, #4 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bgt _0803E718 - movs r0, #0 - strb r0, [r1] - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x14] - adds r1, #0x20 - adds r0, r4, #0 - bl sub_080042AC -_0803E718: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803E71C -sub_0803E71C: @ 0x0803E71C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _0803E756 - movs r0, #7 - strb r0, [r2, #0xc] - movs r0, #1 - strb r0, [r2, #0xe] - ldr r1, _0803E758 @ =gUnk_080D0724 - ldrb r0, [r2, #0x14] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x7c - strb r1, [r0] - subs r0, #1 - strb r3, [r0] - adds r1, r2, #0 - adds r1, #0x7f - movs r0, #0xf6 - strb r0, [r1] - adds r0, #0x65 - bl sub_08004488 -_0803E756: - pop {pc} - .align 2, 0 -_0803E758: .4byte gUnk_080D0724 - - thumb_func_start sub_0803E75C -sub_0803E75C: @ 0x0803E75C - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0803E774 - adds r0, r2, #0 - bl sub_080042B8 - b _0803E7B0 -_0803E774: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - adds r1, r2, #0 - adds r1, #0x7f - cmp r0, #0 - bne _0803E78E - movs r0, #2 - strb r0, [r2, #0xe] - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] -_0803E78E: - ldrb r0, [r1] - cmp r0, #0 - beq _0803E7A0 - adds r1, r2, #0 - adds r1, #0x7e - ldrb r0, [r1] - adds r0, #5 - strb r0, [r1] - b _0803E7B0 -_0803E7A0: - movs r0, #8 - strb r0, [r2, #0xc] - movs r0, #0x1e - strb r0, [r2, #0xe] - movs r0, #8 - movs r1, #0 - bl sub_08080964 -_0803E7B0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803E7B4 -sub_0803E7B4: @ 0x0803E7B4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803E7C8 - movs r0, #9 - strb r0, [r1, #0xc] -_0803E7C8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803E7CC -sub_0803E7CC: @ 0x0803E7CC - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x7e - ldrb r0, [r1] - subs r0, #2 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xa - bhi _0803E806 - movs r0, #0xa - strb r0, [r2, #0xc] - movs r0, #0x5a - strb r0, [r2, #0xe] - ldrb r0, [r2, #0x14] - lsls r0, r0, #3 - strb r0, [r2, #0x15] - subs r1, #2 - movs r0, #0 - strb r0, [r1] - adds r1, #3 - movs r0, #0xfe - strb r0, [r1] - adds r0, r2, #0 - movs r1, #0x10 - bl sub_0803E94C - b _0803E814 -_0803E806: - cmp r0, #0x12 - bhi _0803E814 - ldr r2, [r2, #0x54] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] -_0803E814: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803E818 -sub_0803E818: @ 0x0803E818 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0803E840 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803E868 - ldr r0, [r4, #0x54] - ldrb r1, [r0, #0x10] - movs r2, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - adds r0, r4, #0 - movs r1, #0 - bl sub_0803E94C - b _0803E868 -_0803E840: - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #0xa - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1f - bls _0803E868 - adds r0, r4, #0 - bl sub_0803E86C -_0803E868: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803E86C -sub_0803E86C: @ 0x0803E86C - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0803E898 - adds r0, r4, #0 - movs r1, #0x50 - bl sub_0803EAD0 - cmp r0, #0 - beq _0803E898 - ldr r0, _0803E8C4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] -_0803E898: - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _0803E8C8 @ =gUnk_080D0728 - movs r1, #3 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - adds r0, r4, #0 - adds r0, #0x78 - strh r1, [r0] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #4 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_0803E94C - pop {r4, pc} - .align 2, 0 -_0803E8C4: .4byte gUnk_020000B0 -_0803E8C8: .4byte gUnk_080D0728 - - thumb_func_start sub_0803E8CC -sub_0803E8CC: @ 0x0803E8CC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0803E8F4 - movs r0, #3 - ands r0, r5 - cmp r0, #0 - beq _0803E8F4 - adds r0, r4, #0 - bl sub_08049EE4 - adds r0, #4 - movs r1, #0x18 - b _0803E8F8 -_0803E8F4: - movs r1, #0x18 - adds r0, r5, #0 -_0803E8F8: - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #2 - strb r0, [r4, #0xc] - ldr r2, _0803E928 @ =gUnk_080D0730 - lsrs r0, r5, #0x10 - movs r1, #3 - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x78 - strh r1, [r0] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #4 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0x10 - bl sub_0803E94C - pop {r4, r5, pc} - .align 2, 0 -_0803E928: .4byte gUnk_080D0730 - - thumb_func_start sub_0803E92C -sub_0803E92C: @ 0x0803E92C - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0803E944 - adds r0, r4, #0 - bl sub_0803E86C - b _0803E94A -_0803E944: - adds r0, r4, #0 - bl sub_0803E8CC -_0803E94A: - pop {r4, pc} - - thumb_func_start sub_0803E94C -sub_0803E94C: @ 0x0803E94C - push {r4, r5, r6, lr} - adds r3, r0, #0 - adds r6, r1, #0 - ldrb r2, [r3, #0x15] - adds r0, r2, #4 - movs r1, #0x18 - ands r0, r1 - asrs r4, r0, #3 - adds r0, r3, #0 - adds r0, #0x58 - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, r6 - bne _0803E988 - movs r0, #7 - ands r0, r2 - ldrb r5, [r3, #0x14] - cmp r0, #4 - bne _0803E984 - lsrs r0, r2, #3 - subs r0, r5, r0 - movs r1, #3 - ands r0, r1 - cmp r0, #1 - ble _0803E9A2 -_0803E984: - cmp r4, r5 - beq _0803E9A2 -_0803E988: - strb r4, [r3, #0x14] - adds r0, r3, #0 - adds r0, #0x58 - ldrb r1, [r0] - movs r0, #3 - ands r0, r1 - adds r0, r6, r0 - lsls r1, r4, #2 - adds r4, r0, r1 - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_080042AC -_0803E9A2: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0803E9A4 -sub_0803E9A4: @ 0x0803E9A4 - push {r4, lr} - adds r2, r0, #0 - adds r0, #0x7c - ldrb r0, [r0] - adds r0, #0x20 - movs r1, #0xff - ands r0, r1 - asrs r4, r0, #6 - adds r3, r2, #0 - adds r3, #0x58 - ldrb r1, [r3] - movs r0, #3 - ands r0, r1 - cmp r0, r4 - beq _0803E9D2 - ldrb r1, [r3] - movs r0, #4 - rsbs r0, r0, #0 - ands r1, r0 - adds r1, r4, r1 - adds r0, r2, #0 - bl sub_080042AC -_0803E9D2: - pop {r4, pc} - - thumb_func_start sub_0803E9D4 -sub_0803E9D4: @ 0x0803E9D4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0803EA58 - adds r0, r4, #0 - movs r1, #0x38 - bl sub_0803EAD0 - cmp r0, #0 - beq _0803EA10 - movs r0, #3 - strb r0, [r4, #0xc] - ldr r0, _0803EA0C @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x7b - movs r0, #1 - b _0803EA46 - .align 2, 0 -_0803EA0C: .4byte gUnk_020000B0 -_0803EA10: - adds r0, r4, #0 - movs r1, #0x4e - bl sub_0803EAD0 - cmp r0, #0 - beq _0803EA58 - ldr r0, _0803EA54 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x12 - bl sub_0804A044 - adds r2, r0, #0 - cmp r2, #0xff - beq _0803EA58 - adds r1, r4, #0 - adds r1, #0x7a - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803EA60 - movs r0, #5 - strb r0, [r4, #0xc] - strb r2, [r4, #0x15] - movs r0, #4 -_0803EA46: - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_0803E94C - movs r0, #1 - b _0803EA62 - .align 2, 0 -_0803EA54: .4byte gUnk_020000B0 -_0803EA58: - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #4 - strb r0, [r1] -_0803EA60: - movs r0, #0 -_0803EA62: - pop {r4, pc} - - thumb_func_start sub_0803EA64 -sub_0803EA64: @ 0x0803EA64 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0803EAC4 - adds r0, r4, #0 - movs r1, #0x4e - bl sub_0803EAD0 - cmp r0, #0 - beq _0803EAB8 - ldr r0, _0803EAB4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x12 - bl sub_0804A044 - adds r2, r0, #0 - cmp r2, #0xff - beq _0803EAB8 - adds r1, r4, #0 - adds r1, #0x7a - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803EAAE - movs r0, #5 - strb r0, [r4, #0xc] - strb r2, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_0803E94C -_0803EAAE: - movs r0, #1 - b _0803EACE - .align 2, 0 -_0803EAB4: .4byte gUnk_020000B0 -_0803EAB8: - adds r0, r4, #0 - movs r1, #0x38 - bl sub_0803EAD0 - cmp r0, #0 - bne _0803EAAE -_0803EAC4: - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #4 - strb r0, [r1] - movs r0, #0 -_0803EACE: - pop {r4, pc} - - thumb_func_start sub_0803EAD0 -sub_0803EAD0: @ 0x0803EAD0 - push {r4, lr} - adds r3, r1, #0 - ldr r1, _0803EAE8 @ =gUnk_020000B0 - ldr r2, [r1] - movs r4, #0x2e - ldrsh r1, [r2, r4] - movs r4, #0x32 - ldrsh r2, [r2, r4] - subs r2, #4 - bl sub_0806FCB8 - pop {r4, pc} - .align 2, 0 -_0803EAE8: .4byte gUnk_020000B0 - - thumb_func_start sub_0803EAEC -sub_0803EAEC: @ 0x0803EAEC - push {lr} - ldr r1, _0803EAF8 @ =gUnk_080D0880 - bl sub_0800129E - pop {pc} - .align 2, 0 -_0803EAF8: .4byte gUnk_080D0880 - - thumb_func_start sub_0803EAFC -sub_0803EAFC: @ 0x0803EAFC - push {lr} - ldr r2, _0803EB10 @ =gUnk_080D0898 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0803EB10: .4byte gUnk_080D0898 - - thumb_func_start sub_0803EB14 -sub_0803EB14: @ 0x0803EB14 - push {lr} - ldr r1, _0803EB20 @ =gUnk_080D0880 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_0803EB20: .4byte gUnk_080D0880 - - thumb_func_start sub_0803EB24 -sub_0803EB24: @ 0x0803EB24 - push {r4, lr} - adds r4, r0, #0 - bl sub_08001324 - - thumb_func_start sub_0803EB2C -sub_0803EB2C: @ 0x0803EB2C - adds r0, r4, #0 - bl sub_0803EAFC - pop {r4, pc} - - thumb_func_start sub_0803EB34 -sub_0803EB34: @ 0x0803EB34 - push {lr} - movs r1, #0xff - movs r2, #0x57 - bl sub_0804A7E0 - pop {pc} - - thumb_func_start nullsub_21 -nullsub_21: @ 0x0803EB40 - bx lr - .align 2, 0 - - thumb_func_start sub_0803EB44 -sub_0803EB44: @ 0x0803EB44 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - adds r0, r4, #0 - movs r1, #0x19 - movs r2, #0 - bl sub_0804A98C - cmp r0, #0 - beq _0803EBB2 - str r4, [r0, #0x50] - str r0, [r4, #0x54] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - movs r2, #0 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x7b - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - adds r1, r4, #0 - adds r1, #0x7e - movs r0, #0x28 - strb r0, [r1] - adds r1, #1 - movs r0, #0xfe - strb r0, [r1] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x80 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x82 - strh r0, [r1] - ldrb r1, [r4, #0x14] - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0803EE8C -_0803EBB2: - pop {r4, pc} - - thumb_func_start sub_0803EBB4 -sub_0803EBB4: @ 0x0803EBB4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - subs r1, #0xa - strb r1, [r0] - movs r0, #1 - bl sub_08049DF4 - cmp r0, #0 - beq _0803EBE4 - ldr r0, _0803EC10 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_0803E94C -_0803EBE4: - adds r0, r4, #0 - bl sub_0803E9A4 - adds r0, r4, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, #2 - ldrh r2, [r0] - adds r0, r4, #0 - movs r3, #2 - bl sub_0806FCB8 - cmp r0, #0 - bne _0803EC14 - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x10 - bl sub_0803E94C - b _0803EC24 - .align 2, 0 -_0803EC10: .4byte gUnk_020000B0 -_0803EC14: - adds r0, r4, #0 - bl sub_0803EF20 - cmp r0, #0 - bne _0803EC24 - adds r0, r4, #0 - bl sub_0803EEA4 -_0803EC24: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803EC28 -sub_0803EC28: @ 0x0803EC28 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #0x10 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - cmp r0, #0x1c - bls _0803EC4A - subs r0, #1 - strb r0, [r1] -_0803EC4A: - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803EC64 - movs r0, #3 - strb r0, [r4, #0xc] - adds r1, #3 - movs r0, #0 - strb r0, [r1] -_0803EC64: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803EC68 -sub_0803EC68: @ 0x0803EC68 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #0xa - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - cmp r0, #0x27 - bhi _0803EC8C - adds r0, #1 - strb r0, [r1] - b _0803EC92 -_0803EC8C: - adds r0, r4, #0 - bl sub_0803EE8C -_0803EC92: - pop {r4, pc} - - thumb_func_start sub_0803EC94 -sub_0803EC94: @ 0x0803EC94 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #0xa - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r5, r4, #0 - adds r5, #0x80 - ldrh r1, [r5] - adds r6, r4, #0 - adds r6, #0x82 - ldrh r2, [r6] - adds r0, r4, #0 - movs r3, #1 - bl sub_0806FCB8 - cmp r0, #0 - beq _0803ECD8 - ldrh r0, [r5] - strh r0, [r4, #0x2e] - ldrh r0, [r6] - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_0803EE8C - adds r0, r4, #0 - movs r1, #0 - bl sub_0803E94C - b _0803ED02 -_0803ECD8: - adds r0, r4, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _0803ED02 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r5] - ldrh r3, [r6] - bl sub_080045D4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0x10 - bl sub_0803E94C - adds r0, r4, #0 - bl sub_080AEF88 -_0803ED02: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0803ED04 -sub_0803ED04: @ 0x0803ED04 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r1, [r0] - subs r1, #0xc - strb r1, [r0] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - subs r0, #4 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bgt _0803ED3C - movs r0, #0 - strb r0, [r1] - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x14] - adds r1, #0x20 - adds r0, r4, #0 - bl sub_080042AC -_0803ED3C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803ED40 -sub_0803ED40: @ 0x0803ED40 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803ED74 - movs r0, #7 - strb r0, [r2, #0xc] - movs r0, #1 - strb r0, [r2, #0xe] - ldr r1, _0803ED78 @ =gUnk_080D08C4 - ldrb r0, [r2, #0x14] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x7c - strb r1, [r0] - adds r1, r2, #0 - adds r1, #0x7f - movs r0, #0xf6 - strb r0, [r1] - adds r0, #0x65 - bl sub_08004488 -_0803ED74: - pop {pc} - .align 2, 0 -_0803ED78: .4byte gUnk_080D08C4 - - thumb_func_start sub_0803ED7C -sub_0803ED7C: @ 0x0803ED7C - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0803ED94 - adds r0, r2, #0 - bl sub_080042B8 - b _0803EDD0 -_0803ED94: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - adds r1, r2, #0 - adds r1, #0x7f - cmp r0, #0 - bne _0803EDAE - movs r0, #2 - strb r0, [r2, #0xe] - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] -_0803EDAE: - ldrb r0, [r1] - cmp r0, #0 - beq _0803EDC0 - adds r1, r2, #0 - adds r1, #0x7e - ldrb r0, [r1] - adds r0, #5 - strb r0, [r1] - b _0803EDD0 -_0803EDC0: - movs r0, #8 - strb r0, [r2, #0xc] - movs r0, #0x1e - strb r0, [r2, #0xe] - movs r0, #8 - movs r1, #0 - bl sub_08080964 -_0803EDD0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803EDD4 -sub_0803EDD4: @ 0x0803EDD4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803EDE8 - movs r0, #9 - strb r0, [r1, #0xc] -_0803EDE8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803EDEC -sub_0803EDEC: @ 0x0803EDEC - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x7e - ldrb r0, [r1] - subs r0, #2 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xa - bhi _0803EE26 - movs r0, #0xa - strb r0, [r2, #0xc] - movs r0, #0x3c - strb r0, [r2, #0xe] - ldrb r0, [r2, #0x14] - lsls r0, r0, #3 - strb r0, [r2, #0x15] - subs r1, #2 - movs r0, #0 - strb r0, [r1] - adds r1, #3 - movs r0, #0xfe - strb r0, [r1] - adds r0, r2, #0 - movs r1, #0x10 - bl sub_0803E94C - b _0803EE34 -_0803EE26: - cmp r0, #0x12 - bhi _0803EE34 - ldr r2, [r2, #0x54] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] -_0803EE34: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803EE38 -sub_0803EE38: @ 0x0803EE38 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0803EE60 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803EE88 - ldr r0, [r4, #0x54] - ldrb r1, [r0, #0x10] - movs r2, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - adds r0, r4, #0 - movs r1, #0 - bl sub_0803E94C - b _0803EE88 -_0803EE60: - adds r1, r4, #0 - adds r1, #0x7c - ldrb r0, [r1] - subs r0, #0xa - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803E9A4 - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x27 - bls _0803EE88 - adds r0, r4, #0 - bl sub_0803EE8C -_0803EE88: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803EE8C -sub_0803EE8C: @ 0x0803EE8C - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x7a - movs r1, #0x1e - strb r1, [r2] - movs r1, #0 - bl sub_0803E94C - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803EEA4 -sub_0803EEA4: @ 0x0803EEA4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0803EEF8 - adds r0, r4, #0 - movs r1, #0x4e - bl sub_0803EF04 - cmp r0, #0 - beq _0803EEF8 - ldr r0, _0803EEF4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x12 - bl sub_0804A044 - adds r2, r0, #0 - cmp r2, #0xff - beq _0803EEF8 - adds r1, r4, #0 - adds r1, #0x7a - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803EF00 - movs r0, #5 - strb r0, [r4, #0xc] - strb r2, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_0803E94C - movs r0, #1 - b _0803EF02 - .align 2, 0 -_0803EEF4: .4byte gUnk_020000B0 -_0803EEF8: - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0x1e - strb r0, [r1] -_0803EF00: - movs r0, #0 -_0803EF02: - pop {r4, pc} - - thumb_func_start sub_0803EF04 -sub_0803EF04: @ 0x0803EF04 - push {r4, lr} - adds r3, r1, #0 - ldr r1, _0803EF1C @ =gUnk_020000B0 - ldr r2, [r1] - movs r4, #0x2e - ldrsh r1, [r2, r4] - movs r4, #0x32 - ldrsh r2, [r2, r4] - subs r2, #4 - bl sub_0806FCB8 - pop {r4, pc} - .align 2, 0 -_0803EF1C: .4byte gUnk_020000B0 - - thumb_func_start sub_0803EF20 -sub_0803EF20: @ 0x0803EF20 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r6, _0803EF5C @ =gUnk_03003D80 - ldr r4, [r6, #4] - cmp r4, r6 - beq _0803EF6A - ldr r7, _0803EF60 @ =gUnk_080D08C8 -_0803EF2E: - ldrb r0, [r4, #8] - cmp r0, #8 - bne _0803EF64 - ldrb r0, [r4, #9] - lsls r0, r0, #2 - adds r0, r0, r7 - ldr r2, [r0] - adds r0, r5, #0 - adds r1, r4, #0 - bl _call_via_r2 - cmp r0, #0 - beq _0803EF64 - movs r0, #2 - strb r0, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x78 - movs r0, #0xb4 - strh r0, [r1] - adds r1, #3 - movs r0, #1 - strb r0, [r1] - b _0803EF6C - .align 2, 0 -_0803EF5C: .4byte gUnk_03003D80 -_0803EF60: .4byte gUnk_080D08C8 -_0803EF64: - ldr r4, [r4, #4] - cmp r4, r6 - bne _0803EF2E -_0803EF6A: - movs r0, #0 -_0803EF6C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0803EF70 -sub_0803EF70: @ 0x0803EF70 - movs r0, #0 - bx lr - - thumb_func_start sub_0803EF74 -sub_0803EF74: @ 0x0803EF74 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0x32 - ldrsh r2, [r4, r0] - adds r0, r5, #0 - movs r3, #0x50 - bl sub_0806FCB8 - cmp r0, #0 - beq _0803EFA8 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080045C4 - ldrb r1, [r4, #0x15] - subs r1, r1, r0 - adds r1, #2 - movs r0, #0x1f - ands r1, r0 - cmp r1, #4 - bhi _0803EFA8 - movs r0, #1 - b _0803EFAA -_0803EFA8: - movs r0, #0 -_0803EFAA: - pop {r4, r5, pc} - - thumb_func_start sub_0803EFAC -sub_0803EFAC: @ 0x0803EFAC - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - movs r2, #0x50 - movs r3, #0x50 - bl sub_080041A0 - cmp r0, #0 - beq _0803EFD6 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0x1c - bl sub_0804A044 - cmp r0, #0xff - beq _0803EFD6 - ldrb r4, [r4, #0x15] - cmp r0, r4 - bne _0803EFD6 - movs r0, #1 - b _0803EFD8 -_0803EFD6: - movs r0, #0 -_0803EFD8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803EFDC -sub_0803EFDC: @ 0x0803EFDC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0803F004 @ =gUnk_080D0924 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, r5, pc} - .align 2, 0 -_0803F004: .4byte gUnk_080D0924 - - thumb_func_start sub_0803F008 -sub_0803F008: @ 0x0803F008 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0803F024 @ =gUnk_080D093C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0803F694 - pop {r4, pc} - .align 2, 0 -_0803F024: .4byte gUnk_080D093C - - thumb_func_start sub_0803F028 -sub_0803F028: @ 0x0803F028 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - subs r0, #8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _0803F05C - movs r0, #0xff - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r1, [r0] - lsrs r1, r1, #4 - movs r0, #1 - eors r1, r0 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0803F630 - adds r0, r4, #0 - bl sub_0803F6EC -_0803F05C: - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x41 - cmp r0, #0x25 - bne _0803F07E - ldrb r0, [r1] - cmp r0, #0x80 - bne _0803F07E - movs r0, #8 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - b _0803F0E4 -_0803F07E: - ldrb r0, [r1] - cmp r0, #0x9d - bne _0803F08A - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] -_0803F08A: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0803F0B0 - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - lsrs r0, r0, #4 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #7 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0803F0B0: - adds r0, r4, #0 - adds r0, #0x45 - adds r1, r4, #0 - adds r1, #0x7a - ldrb r0, [r0] - ldrb r2, [r1] - cmp r0, r2 - beq _0803F0E4 - strb r0, [r1] - ldrb r0, [r4, #0xc] - subs r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _0803F0D4 - adds r0, r4, #0 - bl sub_0803F51C -_0803F0D4: - adds r0, r4, #0 - adds r0, #0x3e - ldrb r1, [r0] - lsrs r1, r1, #4 - adds r1, #7 - adds r0, r4, #0 - bl sub_08004260 -_0803F0E4: - ldr r1, _0803F0F0 @ =gUnk_080D0924 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_0803F0F0: .4byte gUnk_080D0924 - - thumb_func_start sub_0803F0F4 -sub_0803F0F4: @ 0x0803F0F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_08001328 - adds r0, r4, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _0803F144 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _0803F144 - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - bne _0803F144 - movs r0, #0xff - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x58 - ldrb r0, [r1] - subs r0, #7 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _0803F144 - ldrb r1, [r1] - subs r1, #7 - movs r0, #1 - eors r1, r0 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 -_0803F144: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803F148 -sub_0803F148: @ 0x0803F148 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - subs r0, #7 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bls _0803F164 - ldrb r1, [r4, #0x14] - adds r1, #7 - adds r0, r4, #0 - bl sub_08004260 -_0803F164: - adds r0, r4, #0 - bl sub_08001242 - ldrh r1, [r4, #0x36] - movs r2, #0x36 - ldrsh r0, [r4, r2] - cmp r0, #0 - bne _0803F178 - ldr r0, _0803F1A4 @ =0x0000FFFF - strh r0, [r4, #0x36] -_0803F178: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - bne _0803F1A0 - ldrb r0, [r4, #0x14] - movs r1, #1 - eors r1, r0 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 - movs r0, #0xff - strb r0, [r4, #0x15] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0803F630 -_0803F1A0: - pop {r4, pc} - .align 2, 0 -_0803F1A4: .4byte 0x0000FFFF - - thumb_func_start sub_0803F1A8 -sub_0803F1A8: @ 0x0803F1A8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - beq _0803F1CC - ldr r0, _0803F1C8 @ =gUnk_080D0964 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0803F1DE - .align 2, 0 -_0803F1C8: .4byte gUnk_080D0964 -_0803F1CC: - adds r0, r4, #0 - bl sub_0803F51C - ldrb r1, [r4, #0x15] - lsrs r1, r1, #4 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 -_0803F1DE: - pop {r4, pc} - - thumb_func_start sub_0803F1E0 -sub_0803F1E0: @ 0x0803F1E0 - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - ldr r1, _0803F1F8 @ =gUnk_03001160 - ldrb r1, [r1, #0x14] - lsrs r1, r1, #2 - adds r1, #5 - bl sub_08004260 - pop {pc} - .align 2, 0 -_0803F1F8: .4byte gUnk_03001160 - - thumb_func_start sub_0803F1FC -sub_0803F1FC: @ 0x0803F1FC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F4E8 - pop {r4, pc} - - thumb_func_start sub_0803F20C -sub_0803F20C: @ 0x0803F20C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0803F244 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - cmp r0, #0 - beq _0803F23E - adds r2, r0, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_0803F23E: - adds r0, r4, #0 - bl sub_0804A7D4 -_0803F244: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803F248 -sub_0803F248: @ 0x0803F248 - push {r4, lr} - adds r4, r0, #0 - bl sub_0804A720 - bl sub_08000E50 - movs r2, #0x1e - adds r1, r0, #0 - ands r1, r2 - movs r2, #0 - strb r1, [r4, #0x15] - movs r1, #0xff - strb r1, [r4, #0x14] - movs r1, #1 - strb r1, [r4, #0x1c] - adds r1, r4, #0 - adds r1, #0x45 - ldrb r1, [r1] - adds r3, r4, #0 - adds r3, #0x7a - strb r1, [r3] - lsrs r0, r0, #4 - adds r1, r4, #0 - adds r1, #0x7b - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7c - strh r2, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0803F28E - adds r0, r4, #0 - bl sub_0803F50C - b _0803F2A0 -_0803F28E: - adds r0, r4, #0 - bl sub_0803F51C - ldrb r1, [r4, #0x15] - lsrs r1, r1, #4 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 -_0803F2A0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803F2A4 -sub_0803F2A4: @ 0x0803F2A4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803F5A8 - cmp r0, #0 - beq _0803F2C0 - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x60 - ands r0, r1 - adds r0, #0xa - strb r0, [r4, #0xe] -_0803F2C0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803F2C4 -sub_0803F2C4: @ 0x0803F2C4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803F5A8 - cmp r0, #0 - bne _0803F2D8 - adds r0, r4, #0 - bl sub_0803F50C - b _0803F322 -_0803F2D8: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803F322 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #1 - bl sub_08049DF4 - cmp r0, #0 - beq _0803F308 - ldr r0, _0803F304 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - b _0803F310 - .align 2, 0 -_0803F304: .4byte gUnk_020000B0 -_0803F308: - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 -_0803F310: - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - lsrs r0, r0, #4 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 -_0803F322: - pop {r4, pc} - - thumb_func_start sub_0803F324 -sub_0803F324: @ 0x0803F324 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803F33E - adds r0, r4, #0 - bl sub_0803F51C -_0803F33E: - pop {r4, pc} - - thumb_func_start sub_0803F340 -sub_0803F340: @ 0x0803F340 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803F5D4 - cmp r0, #0 - bne _0803F36A - adds r0, r4, #0 - bl sub_0803F58C - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803F36A - adds r0, r4, #0 - bl sub_0803F51C -_0803F36A: - pop {r4, pc} - - thumb_func_start sub_0803F36C -sub_0803F36C: @ 0x0803F36C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _0803F3A6 - adds r0, r4, #0 - bl sub_0803F66C - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0803F3AC - movs r0, #6 - strb r0, [r4, #0xc] - adds r0, #0xfa - strh r0, [r4, #0x24] - b _0803F3AC -_0803F3A6: - adds r0, r4, #0 - bl sub_0803F51C -_0803F3AC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803F3B0 -sub_0803F3B0: @ 0x0803F3B0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803F5A8 - cmp r0, #0 - bne _0803F3C4 - adds r0, r4, #0 - bl sub_0803F51C - b _0803F41C -_0803F3C4: - movs r0, #1 - bl sub_08049DF4 - cmp r0, #0 - beq _0803F414 - ldrb r1, [r4, #0xe] - adds r1, #1 - strb r1, [r4, #0xe] - ldr r2, _0803F40C @ =gUnk_080D0970 - lsls r0, r1, #0x18 - lsrs r0, r0, #0x1e - adds r0, r0, r2 - ldrb r0, [r0] - ands r1, r0 - cmp r1, #0 - bne _0803F3F6 - ldr r0, _0803F410 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_0803F3F6: - adds r0, r4, #0 - bl sub_0803F66C - adds r0, r4, #0 - bl sub_080AEFB4 - adds r0, r4, #0 - bl sub_08004274 - b _0803F41C - .align 2, 0 -_0803F40C: .4byte gUnk_080D0970 -_0803F410: .4byte gUnk_020000B0 -_0803F414: - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] -_0803F41C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803F420 -sub_0803F420: @ 0x0803F420 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803F43A - adds r0, r4, #0 - bl sub_0803F51C -_0803F43A: - pop {r4, pc} - - thumb_func_start sub_0803F43C -sub_0803F43C: @ 0x0803F43C - push {r4, lr} - adds r4, r0, #0 - bl sub_0803F738 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0803F474 - movs r2, #0 - movs r0, #9 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x78 - strh r2, [r0] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 -_0803F474: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803F478 -sub_0803F478: @ 0x0803F478 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0803F494 - adds r0, r4, #0 - bl sub_0803F6C0 -_0803F494: - bl sub_0807953C - adds r1, r4, #0 - adds r1, #0x78 - cmp r0, #0 - beq _0803F4A6 - ldrh r0, [r1] - adds r0, #0xc - strh r0, [r1] -_0803F4A6: - ldr r2, _0803F500 @ =gUnk_03001160 - adds r0, r2, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0803F4B6 - movs r0, #0xe0 - strh r0, [r1] -_0803F4B6: - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xdf - bls _0803F504 - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0x78 - strh r0, [r1] - movs r0, #0xff - strb r0, [r4, #0x14] - subs r1, #0x3f - movs r0, #0xf4 - strb r0, [r1] - adds r1, #5 - movs r0, #0x14 - strb r0, [r1] - adds r1, #4 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1] - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803F51C - adds r0, r4, #0 - bl sub_0803F6EC - b _0803F50A - .align 2, 0 -_0803F500: .4byte gUnk_03001160 -_0803F504: - adds r0, r4, #0 - bl sub_0803F738 -_0803F50A: - pop {r4, pc} - - thumb_func_start sub_0803F50C -sub_0803F50C: @ 0x0803F50C - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #9 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0803F51C -sub_0803F51C: @ 0x0803F51C - push {lr} - movs r1, #4 - strb r1, [r0, #0xc] - bl sub_0803F528 - pop {pc} - - thumb_func_start sub_0803F528 -sub_0803F528: @ 0x0803F528 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - movs r0, #8 - adds r1, r5, #0 - ands r1, r0 - adds r1, #8 - strb r1, [r4, #0xe] - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0803F55C - ldr r1, _0803F558 @ =gUnk_080D0978 - movs r0, #7 - ands r0, r5 - adds r0, r0, r1 - ldrb r0, [r0] - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - b _0803F562 - .align 2, 0 -_0803F558: .4byte gUnk_080D0978 -_0803F55C: - adds r0, r4, #0 - bl sub_08049EE4 -_0803F562: - movs r1, #0x1e - ands r0, r1 - strb r0, [r4, #0x15] - ldr r2, _0803F588 @ =gUnk_080D0974 - lsrs r0, r5, #4 - movs r1, #3 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x24 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0803F66C - pop {r4, r5, pc} - .align 2, 0 -_0803F588: .4byte gUnk_080D0974 - - thumb_func_start sub_0803F58C -sub_0803F58C: @ 0x0803F58C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x30] - bl sub_080AEFB4 - ldr r1, [r5, #0x30] - subs r4, r1, r4 - lsrs r0, r4, #0x1f - adds r4, r4, r0 - asrs r4, r4, #1 - subs r1, r1, r4 - str r1, [r5, #0x30] - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803F5A8 -sub_0803F5A8: @ 0x0803F5A8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - bne _0803F5BA - movs r0, #0 - b _0803F5D2 -_0803F5BA: - ldr r0, _0803F5CC @ =gUnk_02033A90 - movs r1, #0xa - ldrsh r0, [r0, r1] - cmp r0, #0xf - bgt _0803F5D0 - adds r0, r4, #0 - bl sub_0806FD54 - b _0803F5D2 - .align 2, 0 -_0803F5CC: .4byte gUnk_02033A90 -_0803F5D0: - movs r0, #1 -_0803F5D2: - pop {r4, pc} - - thumb_func_start sub_0803F5D4 -sub_0803F5D4: @ 0x0803F5D4 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0 - beq _0803F5E8 - subs r0, #1 - strh r0, [r1] - b _0803F62C -_0803F5E8: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0803F62C - adds r0, r4, #0 - bl sub_0806FD54 - cmp r0, #0 - bne _0803F61A - ldr r0, _0803F624 @ =gUnk_02033A90 - movs r1, #0xa - ldrsh r0, [r0, r1] - cmp r0, #0xf - ble _0803F62C - ldr r0, _0803F628 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x70 - movs r3, #0x48 - bl sub_080041A0 - cmp r0, #0 - beq _0803F62C -_0803F61A: - adds r0, r4, #0 - bl sub_0803F630 - movs r0, #1 - b _0803F62E - .align 2, 0 -_0803F624: .4byte gUnk_02033A90 -_0803F628: .4byte gUnk_020000B0 -_0803F62C: - movs r0, #0 -_0803F62E: - pop {r4, pc} - - thumb_func_start sub_0803F630 -sub_0803F630: @ 0x0803F630 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #5 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x25 - strb r0, [r1] - movs r5, #0 - ldr r0, _0803F664 @ =gUnk_03004040 - ldr r0, [r0] - cmp r0, #0 - beq _0803F64C - movs r5, #0x3c -_0803F64C: - bl sub_08000E50 - ldr r2, _0803F668 @ =gUnk_080D0980 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r5 - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - pop {r4, r5, pc} - .align 2, 0 -_0803F664: .4byte gUnk_03004040 -_0803F668: .4byte gUnk_080D0980 - - thumb_func_start sub_0803F66C -sub_0803F66C: @ 0x0803F66C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _0803F680 - ldrb r0, [r2, #0x14] - cmp r0, #0xff - bne _0803F692 -_0803F680: - lsrs r0, r1, #4 - ldrb r1, [r2, #0x14] - cmp r0, r1 - beq _0803F692 - strb r0, [r2, #0x14] - adds r1, r0, #1 - adds r0, r2, #0 - bl sub_08004260 -_0803F692: - pop {pc} - - thumb_func_start sub_0803F694 -sub_0803F694: @ 0x0803F694 - push {r4, lr} - ldr r3, _0803F6BC @ =gUnk_080D0984 - movs r1, #0x7b - adds r1, r1, r0 - mov ip, r1 - ldrb r1, [r1] - adds r2, r1, #1 - mov r4, ip - strb r2, [r4] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1b - movs r2, #3 - ands r1, r2 - adds r1, r1, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - strh r1, [r0, #0x36] - pop {r4, pc} - .align 2, 0 -_0803F6BC: .4byte gUnk_080D0984 - - thumb_func_start sub_0803F6C0 -sub_0803F6C0: @ 0x0803F6C0 - push {r4, lr} - adds r0, #0x5a - ldrb r2, [r0] - movs r1, #0xfe - ands r1, r2 - strb r1, [r0] - ldr r4, _0803F6E8 @ =gUnk_03001160 - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xc - strb r0, [r1] - subs r0, #0x10 - bl sub_080526A0 - adds r0, r4, #0 - movs r1, #0x7a - bl sub_0800449C - pop {r4, pc} - .align 2, 0 -_0803F6E8: .4byte gUnk_03001160 - - thumb_func_start sub_0803F6EC -sub_0803F6EC: @ 0x0803F6EC - push {lr} - ldr r2, _0803F72C @ =gUnk_03001160 - adds r0, r2, #0 - adds r0, #0x45 - ldrb r0, [r0] - ldr r3, _0803F730 @ =gUnk_03003F80 - cmp r0, #0 - beq _0803F720 - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r2, #0x20] - ldr r0, _0803F734 @ =0x0000FFFE - strh r0, [r2, #0x36] - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - strb r0, [r2, #0x15] - adds r1, r2, #0 - adds r1, #0x3d - movs r0, #0xc4 - strb r0, [r1] - movs r0, #0x41 - strb r0, [r3, #2] -_0803F720: - ldr r0, [r3, #0x30] - movs r1, #0x11 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r3, #0x30] - pop {pc} - .align 2, 0 -_0803F72C: .4byte gUnk_03001160 -_0803F730: .4byte gUnk_03003F80 -_0803F734: .4byte 0x0000FFFE - - thumb_func_start sub_0803F738 -sub_0803F738: @ 0x0803F738 - push {r4, lr} - adds r4, r0, #0 - bl sub_08077B2C - ldr r2, _0803F768 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r1, r0 - strb r1, [r2, #0x1a] - ldrb r1, [r2, #0xa] - orrs r0, r1 - strb r0, [r2, #0xa] - ldr r0, _0803F76C @ =gUnk_03001160 - adds r1, r4, #0 - movs r2, #0 - movs r3, #1 - bl sub_0806FA90 - adds r4, #0x63 - ldrb r0, [r4] - subs r0, #2 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_0803F768: .4byte gUnk_03003F80 -_0803F76C: .4byte gUnk_03001160 - - thumb_func_start sub_0803F770 -sub_0803F770: @ 0x0803F770 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #5 - bhi _0803F810 - lsls r0, r0, #2 - ldr r1, _0803F784 @ =_0803F788 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803F784: .4byte _0803F788 -_0803F788: @ jump table - .4byte _0803F7A0 @ case 0 - .4byte _0803F7D0 @ case 1 - .4byte _0803F7D8 @ case 2 - .4byte _0803F7E0 @ case 3 - .4byte _0803F7E8 @ case 4 - .4byte _0803F800 @ case 5 -_0803F7A0: - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _0803F7C8 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - adds r2, r4, #0 - adds r2, #0x7a - strh r0, [r2] - ldrh r0, [r4, #0x2e] - strh r0, [r1] - adds r1, #4 - ldrh r0, [r1] - adds r2, #4 - strh r0, [r2] - ldrh r0, [r4, #0x32] - strh r0, [r1] - adds r0, r4, #0 - bl sub_080409B0 -_0803F7C8: - ldr r0, _0803F7CC @ =gUnk_080D0AC8 - b _0803F7EA - .align 2, 0 -_0803F7CC: .4byte gUnk_080D0AC8 -_0803F7D0: - ldr r0, _0803F7D4 @ =gUnk_080D0AE8 - b _0803F7EA - .align 2, 0 -_0803F7D4: .4byte gUnk_080D0AE8 -_0803F7D8: - ldr r0, _0803F7DC @ =gUnk_080D0AF0 - b _0803F7EA - .align 2, 0 -_0803F7DC: .4byte gUnk_080D0AF0 -_0803F7E0: - ldr r0, _0803F7E4 @ =gUnk_080D0AFC - b _0803F7EA - .align 2, 0 -_0803F7E4: .4byte gUnk_080D0AFC -_0803F7E8: - ldr r0, _0803F7FC @ =gUnk_080D0B04 -_0803F7EA: - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0803F810 - .align 2, 0 -_0803F7FC: .4byte gUnk_080D0B04 -_0803F800: - ldr r0, _0803F814 @ =gUnk_080D0B0C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0803F810: - pop {r4, pc} - .align 2, 0 -_0803F814: .4byte gUnk_080D0B0C - - thumb_func_start sub_0803F818 -sub_0803F818: @ 0x0803F818 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - bl sub_0804A720 - movs r0, #0 - bl sub_0807CC3C - cmp r0, #0 - beq _0803F910 - ldr r0, _0803F8FC @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x50 - bhi _0803F910 - movs r4, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - adds r3, r5, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r3] - adds r1, r5, #0 - adds r1, #0x6d - ldrb r0, [r1] - orrs r2, r0 - strb r2, [r1] - bl sub_08000E50 - movs r1, #0x17 - ands r0, r1 - adds r0, #4 - strb r0, [r5, #0x15] - movs r0, #0x30 - strb r0, [r5, #0xe] - movs r0, #0xc - strb r0, [r5, #0xf] - adds r1, r5, #0 - adds r1, #0x82 - movs r0, #4 - strb r0, [r1] - subs r1, #2 - movs r0, #0xff - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x74 - strb r4, [r0] - adds r0, #3 - strb r4, [r0] - adds r1, #4 - movs r0, #9 - strb r0, [r1] - strb r4, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x86 - strb r4, [r0] - adds r0, #1 - strb r4, [r0] - ldrh r1, [r5, #0x2e] - subs r0, #0xf - strh r1, [r0] - ldrh r0, [r5, #0x2e] - adds r1, r5, #0 - adds r1, #0x7a - strh r0, [r1] - ldrh r1, [r5, #0x32] - adds r0, r5, #0 - adds r0, #0x7c - strh r1, [r0] - ldrh r0, [r5, #0x32] - adds r1, r5, #0 - adds r1, #0x7e - strh r0, [r1] - movs r4, #1 - adds r7, r5, #0 - adds r7, #0x75 -_0803F8C2: - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_08040648 - adds r4, #1 - cmp r4, #5 - bls _0803F8C2 - bl sub_08000E50 - adds r0, r5, #0 - bl sub_080408EC - movs r4, #0 - movs r6, #1 -_0803F8E0: - movs r0, #0x5a - movs r1, #0 - bl sub_0804AA60 - str r5, [r0, #0x50] - strb r4, [r0, #0xb] - ldrb r1, [r7] - asrs r1, r4 - ands r1, r6 - cmp r1, #0 - beq _0803F900 - strb r6, [r0, #0xe] - b _0803F902 - .align 2, 0 -_0803F8FC: .4byte gUnk_03003DBC -_0803F900: - strb r1, [r0, #0xe] -_0803F902: - adds r4, #1 - cmp r4, #7 - bls _0803F8E0 - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC -_0803F910: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0803F914 -sub_0803F914: @ 0x0803F914 - push {r4, r5, r6, r7, lr} - sub sp, #4 - adds r7, r0, #0 - adds r4, r7, #0 - adds r4, #0x80 - ldrb r0, [r4] - cmp r0, #2 - beq _0803F998 - cmp r0, #2 - bgt _0803F932 - cmp r0, #0 - beq _0803F95A - cmp r0, #1 - beq _0803F97A - b _0803FA40 -_0803F932: - cmp r0, #4 - bne _0803F938 - b _0803FA3A -_0803F938: - cmp r0, #4 - blt _0803F9CE - adds r3, r4, #0 - cmp r0, #0xff - beq _0803F944 - b _0803FA42 -_0803F944: - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0803FA42 - strb r0, [r3] - movs r0, #0xb - strb r0, [r7, #0xe] - b _0803FA42 -_0803F95A: - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - adds r3, r4, #0 - cmp r0, #0 - bne _0803FA42 - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r7, #0x24] - movs r0, #0x14 - strb r0, [r7, #0xe] - b _0803FA42 -_0803F97A: - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - adds r3, r4, #0 - cmp r0, #0 - bne _0803FA42 - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - movs r0, #0xc0 - strh r0, [r7, #0x24] - movs r0, #0xc - strb r0, [r7, #0xe] - b _0803FA42 -_0803F998: - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - adds r3, r4, #0 - cmp r1, #0 - bne _0803FA42 - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - strh r1, [r7, #0x24] - ldrb r0, [r7, #0x14] - cmp r0, #1 - bhi _0803F9C8 - str r3, [sp] - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x40 - strb r0, [r7, #0xe] - ldr r3, [sp] - b _0803FA42 -_0803F9C8: - movs r0, #8 - strb r0, [r7, #0xe] - b _0803FA42 -_0803F9CE: - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0803FA32 - movs r0, #0 - strh r1, [r7, #0x36] - strb r0, [r4] - ldr r1, _0803FA04 @ =gUnk_080D0ABF - ldrb r0, [r7, #0x14] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r7, #0xe] - adds r0, r7, #0 - bl sub_08040934 - adds r1, r0, #0 - cmp r1, #2 - beq _0803FA1A - cmp r1, #2 - bhi _0803FA08 - cmp r1, #1 - beq _0803FA0E - b _0803FA26 - .align 2, 0 -_0803FA04: .4byte gUnk_080D0ABF -_0803FA08: - cmp r1, #3 - beq _0803FA20 - b _0803FA26 -_0803FA0E: - movs r0, #4 - strb r0, [r7, #0xc] - adds r0, r7, #0 - adds r0, #0x74 - strb r1, [r0] - b _0803FA40 -_0803FA1A: - movs r0, #5 - strb r0, [r7, #0xc] - b _0803FA40 -_0803FA20: - movs r0, #6 - strb r0, [r7, #0xc] - b _0803FA40 -_0803FA26: - adds r1, r7, #0 - adds r1, #0x80 - movs r0, #4 - strb r0, [r1] - adds r3, r1, #0 - b _0803FA42 -_0803FA32: - adds r0, r7, #0 - bl sub_08040AD4 - b _0803FA40 -_0803FA3A: - adds r0, r7, #0 - bl sub_08040670 -_0803FA40: - adds r3, r4, #0 -_0803FA42: - adds r1, r7, #0 - adds r1, #0x82 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803FAAC - movs r0, #4 - strb r0, [r1] - ldrb r2, [r7, #0x15] - adds r2, #0x12 - movs r0, #0x1c - ands r2, r0 - asrs r2, r2, #2 - movs r0, #0x9b - movs r1, #0 - str r3, [sp] - bl sub_080A2960 - adds r6, r0, #0 - ldr r3, [sp] - cmp r6, #0 - beq _0803FAAC - str r7, [r6, #0x50] - str r3, [sp] - bl sub_08000E50 - movs r5, #0xf - ands r0, r5 - ldr r1, _0803FAC4 @ =0x0000FFF9 - adds r4, r1, #0 - adds r0, r4, r0 - ldrh r1, [r6, #0x2e] - adds r0, r0, r1 - strh r0, [r6, #0x2e] - bl sub_08000E50 - ands r0, r5 - adds r4, r4, r0 - ldrh r0, [r6, #0x32] - adds r4, r4, r0 - strh r4, [r6, #0x32] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldr r3, [sp] -_0803FAAC: - ldrb r0, [r3] - cmp r0, #0xff - beq _0803FAB8 - adds r0, r7, #0 - bl sub_080AEF88 -_0803FAB8: - adds r0, r7, #0 - bl sub_080042B8 - add sp, #4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0803FAC4: .4byte 0x0000FFF9 - - thumb_func_start sub_0803FAC8 -sub_0803FAC8: @ 0x0803FAC8 - push {lr} - bl sub_080042B8 - pop {pc} - - thumb_func_start sub_0803FAD0 -sub_0803FAD0: @ 0x0803FAD0 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #5 - bls _0803FADE - b _0803FD32 -_0803FADE: - lsls r0, r0, #2 - ldr r1, _0803FAE8 @ =_0803FAEC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803FAE8: .4byte _0803FAEC -_0803FAEC: @ jump table - .4byte _0803FB04 @ case 0 - .4byte _0803FB34 @ case 1 - .4byte _0803FBB8 @ case 2 - .4byte _0803FBE2 @ case 3 - .4byte _0803FC80 @ case 4 - .4byte _0803FD0C @ case 5 -_0803FB04: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r7, #0 - bl sub_080044EC - adds r1, r0, #0 - cmp r1, #1 - beq _0803FB16 - b _0803FD32 -_0803FB16: - adds r0, r7, #0 - adds r0, #0x80 - strb r1, [r0] - movs r0, #0xc0 - strb r0, [r7, #0xe] - ldrb r1, [r7, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r7, #0x10] - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0x14 - b _0803FC4A -_0803FB34: - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - adds r3, r7, #0 - adds r3, #0x80 - cmp r2, #0 - bne _0803FB58 - movs r0, #2 - strb r0, [r3] - adds r1, r7, #0 - adds r1, #0x3f - movs r0, #0x35 - strb r0, [r1] - adds r0, r7, #0 - adds r0, #0x62 - strb r2, [r0] -_0803FB58: - adds r2, r7, #0 - adds r2, #0x45 - ldr r0, _0803FB70 @ =gUnk_080D0ABC - ldrb r1, [r7, #0x14] - adds r1, r1, r0 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bhs _0803FB74 - movs r0, #1 - strb r0, [r7, #0xe] - b _0803FB76 - .align 2, 0 -_0803FB70: .4byte gUnk_080D0ABC -_0803FB74: - movs r0, #0 -_0803FB76: - cmp r0, #0 - bne _0803FB7C - b _0803FD32 -_0803FB7C: - movs r1, #0 - movs r0, #2 - strb r0, [r3] - adds r2, r7, #0 - adds r2, #0x3f - movs r0, #0x35 - strb r0, [r2] - adds r0, r7, #0 - adds r0, #0x62 - strb r1, [r0] - ldrb r0, [r7, #0x14] - adds r0, #1 - strb r0, [r7, #0x14] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #2 - bhi _0803FBA0 - b _0803FD32 -_0803FBA0: - movs r0, #7 - strb r0, [r7, #0xc] - movs r0, #0xe0 - strb r0, [r7, #0xe] - bl sub_0807A108 - ldr r0, _0803FBB4 @ =0x00000127 - bl sub_080A3268 - b _0803FD4E - .align 2, 0 -_0803FBB4: .4byte 0x00000127 -_0803FBB8: - ldr r0, [r7, #0x54] - adds r0, #0x74 - movs r1, #0x10 - strb r1, [r0] - ldrb r0, [r7, #0xe] - cmp r0, #0 - beq _0803FBD4 - adds r0, r7, #0 - adds r0, #0x80 - movs r1, #3 - strb r1, [r0] - movs r0, #0x40 - strb r0, [r7, #0xe] - b _0803FD32 -_0803FBD4: - adds r0, r7, #0 - adds r0, #0x80 - movs r1, #4 - strb r1, [r0] - movs r0, #0x50 - strb r0, [r7, #0xe] - b _0803FD32 -_0803FBE2: - ldrb r0, [r7, #0xe] - cmp r0, #0 - beq _0803FC08 - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0803FBF4 - b _0803FD32 -_0803FBF4: - ldrb r1, [r7, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r7, #0x10] - movs r0, #0xe0 - lsls r0, r0, #0xa - str r0, [r7, #0x20] - movs r0, #0x10 - strb r0, [r7, #0xf] - b _0803FD32 -_0803FC08: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r7, #0 - bl sub_08003FC4 - adds r2, r0, #0 - cmp r2, #0 - bne _0803FC52 - adds r1, r7, #0 - adds r1, #0x80 - movs r0, #5 - strb r0, [r1] - movs r0, #0x10 - strb r0, [r7, #0xe] - ldrb r1, [r7, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r7, #0x10] - adds r1, r7, #0 - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] - adds r0, r7, #0 - adds r0, #0x86 - strb r2, [r0] - adds r0, r7, #0 - bl sub_080408EC - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0x1e -_0803FC4A: - movs r1, #4 - bl sub_08080964 - b _0803FD32 -_0803FC52: - ldrb r0, [r7, #0xf] - cmp r0, #0 - beq _0803FD32 - subs r1, r0, #1 - strb r1, [r7, #0xf] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0803FC6C - movs r0, #0xd8 - lsls r0, r0, #1 - bl sub_080A3268 - b _0803FD32 -_0803FC6C: - movs r0, #7 - ands r1, r0 - cmp r1, #0 - bne _0803FD32 - ldr r0, _0803FC7C @ =0x00000149 - bl sub_080A3268 - b _0803FD32 - .align 2, 0 -_0803FC7C: .4byte 0x00000149 -_0803FC80: - ldrb r0, [r7, #0xe] - subs r1, r0, #1 - strb r1, [r7, #0xe] - lsls r0, r1, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _0803FCA8 - adds r0, r7, #0 - adds r0, #0x80 - movs r1, #5 - strb r1, [r0] - movs r0, #0x10 - strb r0, [r7, #0xe] - adds r0, r7, #0 - adds r0, #0x86 - strb r2, [r0] - adds r0, r7, #0 - bl sub_080408EC - b _0803FD32 -_0803FCA8: - movs r0, #1 - ands r1, r0 - cmp r1, #0 - beq _0803FD32 - movs r0, #0x9b - movs r1, #1 - movs r2, #0xff - bl sub_080A2960 - adds r6, r0, #0 - cmp r6, #0 - beq _0803FD32 - str r7, [r6, #0x50] - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_0806FA24 - bl sub_08000E50 - movs r5, #0xf - ands r0, r5 - ldr r1, _0803FD08 @ =0x0000FFF9 - adds r4, r1, #0 - adds r0, r4, r0 - ldrh r1, [r6, #0x2e] - adds r0, r0, r1 - strh r0, [r6, #0x2e] - bl sub_08000E50 - ands r0, r5 - adds r4, r4, r0 - ldrh r0, [r6, #0x32] - adds r4, r4, r0 - strh r4, [r6, #0x32] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_080A3268 - b _0803FD32 - .align 2, 0 -_0803FD08: .4byte 0x0000FFF9 -_0803FD0C: - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0803FD32 - movs r0, #1 - strb r0, [r7, #0xc] - adds r0, r7, #0 - adds r0, #0x80 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - subs r0, #0xb - strb r1, [r0] - adds r0, r7, #0 - bl sub_08040670 -_0803FD32: - adds r0, r7, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #2 - bls _0803FD48 - ldrb r1, [r7, #0xe] - movs r0, #1 - ands r0, r1 - adds r1, r7, #0 - adds r1, #0x62 - strb r0, [r1] -_0803FD48: - adds r0, r7, #0 - bl sub_080042B8 -_0803FD4E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0803FD50 -sub_0803FD50: @ 0x0803FD50 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x80 - ldrb r0, [r5] - cmp r0, #1 - beq _0803FDA8 - cmp r0, #1 - bgt _0803FD68 - cmp r0, #0 - beq _0803FD72 - b _0803FE86 -_0803FD68: - cmp r0, #2 - beq _0803FE0C - cmp r0, #3 - beq _0803FE62 - b _0803FE86 -_0803FD72: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0803FD82 - b _0803FE86 -_0803FD82: - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - adds r0, r4, #0 - adds r0, #0x74 - strb r1, [r0] - movs r0, #0x80 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - movs r0, #0x90 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldr r0, _0803FDA4 @ =0x0000012B - bl sub_080A3268 - b _0803FE86 - .align 2, 0 -_0803FDA4: .4byte 0x0000012B -_0803FDA8: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0803FE86 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - adds r0, r4, #0 - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #1 - beq _0803FDD8 - cmp r0, #1 - bgt _0803FDD0 - cmp r0, #0 - beq _0803FDDE - b _0803FDE4 -_0803FDD0: - cmp r0, #2 - beq _0803FDDE - cmp r0, #3 - bne _0803FDE4 -_0803FDD8: - movs r0, #1 - strb r0, [r4, #0xf] - b _0803FDF0 -_0803FDDE: - movs r0, #0 - strb r0, [r4, #0xf] - b _0803FDF0 -_0803FDE4: - bl sub_08000E50 - movs r1, #0x20 - ands r1, r0 - lsrs r1, r1, #5 - strb r1, [r4, #0xf] -_0803FDF0: - ldrb r0, [r4, #0x14] - cmp r0, #1 - bls _0803FDFA - movs r0, #1 - strb r0, [r4, #0xf] -_0803FDFA: - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0x1e - movs r1, #4 - bl sub_08080964 - b _0803FE86 -_0803FE0C: - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0803FE34 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - ldr r2, _0803FE30 @ =gUnk_080D0ABF - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - movs r1, #1 - orrs r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r4, #0xe] - b _0803FE86 - .align 2, 0 -_0803FE30: .4byte gUnk_080D0ABF -_0803FE34: - movs r0, #7 - ands r1, r0 - cmp r1, #0 - bne _0803FE46 - ldrb r2, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0x1f - bl sub_0804A98C -_0803FE46: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0803FE86 - ldrb r0, [r4, #0x14] - cmp r0, #1 - bls _0803FE86 - ldrb r0, [r4, #0xe] - cmp r0, #5 - bhi _0803FE86 - movs r0, #0x80 - strb r0, [r4, #0xe] - movs r0, #0 - strb r0, [r4, #0xf] - b _0803FE86 -_0803FE62: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0803FE80 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r5] - strh r1, [r4, #0x36] - adds r0, r4, #0 - bl sub_08040670 - b _0803FE86 -_0803FE80: - adds r0, r4, #0 - bl sub_08040AD4 -_0803FE86: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0803FE90 -sub_0803FE90: @ 0x0803FE90 - push {r4, r5, lr} - adds r4, r0, #0 - adds r3, r4, #0 - adds r3, #0x80 - ldrb r2, [r3] - cmp r2, #1 - beq _0803FED4 - cmp r2, #1 - bgt _0803FEA8 - cmp r2, #0 - beq _0803FEAE - b _0803FF74 -_0803FEA8: - cmp r2, #2 - beq _0803FF52 - b _0803FF74 -_0803FEAE: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803FF74 - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - movs r0, #0x40 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x14] - cmp r0, #1 - bls _0803FF74 - movs r0, #0x80 - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] - b _0803FF74 -_0803FED4: - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0803FEFC - ldrb r0, [r3] - adds r0, #1 - strb r0, [r3] - ldr r1, _0803FEF8 @ =gUnk_080D0ABF - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - orrs r0, r2 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - b _0803FF74 - .align 2, 0 -_0803FEF8: .4byte gUnk_080D0ABF -_0803FEFC: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0803FF24 - movs r0, #7 - ands r1, r0 - cmp r1, #0 - bne _0803FF14 - ldrb r2, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0x1f - bl sub_0804A98C -_0803FF14: - ldrb r0, [r4, #0xe] - cmp r0, #5 - bhi _0803FF74 - movs r0, #0x40 - strb r0, [r4, #0xe] - movs r0, #0 - strb r0, [r4, #0xf] - b _0803FF74 -_0803FF24: - movs r5, #0xf - ands r5, r1 - cmp r5, #0 - bne _0803FF74 - adds r0, r4, #0 - movs r1, #0x1f - movs r2, #2 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _0803FF74 - strb r5, [r1, #0xb] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _0803FF74 - ldrh r0, [r1, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x11 - strh r0, [r1, #0x24] - b _0803FF74 -_0803FF52: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0803FF6E - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r3] - adds r0, r4, #0 - bl sub_08040670 - b _0803FF74 -_0803FF6E: - adds r0, r4, #0 - bl sub_08040AD4 -_0803FF74: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - - thumb_func_start sub_0803FF7C -sub_0803FF7C: @ 0x0803FF7C - push {r4, r5, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x80 - ldrb r5, [r2] - cmp r5, #1 - beq _0803FFBC - cmp r5, #1 - bgt _0803FF94 - cmp r5, #0 - beq _0803FF9A - b _08040062 -_0803FF94: - cmp r5, #2 - beq _08040040 - b _08040062 -_0803FF9A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08040062 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #0x80 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x14] - cmp r0, #1 - bls _08040062 - movs r0, #1 - strb r0, [r4, #0xf] - b _08040062 -_0803FFBC: - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0803FFE4 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - ldr r1, _0803FFE0 @ =gUnk_080D0ABF - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - orrs r0, r5 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - b _08040062 - .align 2, 0 -_0803FFE0: .4byte gUnk_080D0ABF -_0803FFE4: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0804000C - movs r0, #7 - ands r1, r0 - cmp r1, #0 - bne _0803FFFC - ldrb r2, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0x1f - bl sub_0804A98C -_0803FFFC: - ldrb r0, [r4, #0xe] - cmp r0, #5 - bhi _08040062 - movs r0, #0x80 - strb r0, [r4, #0xe] - movs r0, #0 - strb r0, [r4, #0xf] - b _08040062 -_0804000C: - movs r0, #0x1f - ands r1, r0 - cmp r1, #0 - bne _08040062 - adds r0, r4, #0 - movs r1, #0x1f - movs r2, #2 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _08040062 - strb r5, [r1, #0xb] - ldrh r0, [r1, #0x32] - subs r0, #0x20 - strh r0, [r1, #0x32] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _08040062 - ldrh r0, [r1, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x11 - strh r0, [r1, #0x24] - b _08040062 -_08040040: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0804005C - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r2] - adds r0, r4, #0 - bl sub_08040670 - b _08040062 -_0804005C: - adds r0, r4, #0 - bl sub_08040AD4 -_08040062: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0804006C -sub_0804006C: @ 0x0804006C - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08078B48 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08040090 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080400C2 - movs r0, #2 - bl sub_0807CD10 - movs r0, #8 - strb r0, [r4, #0xf] - b _080400BA -_08040090: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080400B4 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _080400BA - adds r1, r4, #0 - adds r1, #0x45 - strb r0, [r1] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _080400BA -_080400B4: - adds r0, r4, #0 - bl sub_0804A7D4 -_080400BA: - adds r0, r4, #0 - bl sub_080042B8 - b _08040126 -_080400C2: - ldrb r0, [r4, #0xf] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r4, #0xf] - cmp r0, #0 - bne _08040120 - adds r0, r4, #0 - movs r1, #0x55 - movs r2, #0 - bl sub_080A29AC - adds r5, r0, #0 - cmp r5, #0 - beq _08040120 - bl sub_08000E50 - ldr r1, _08040128 @ =0x00003F3F - ands r0, r1 - movs r3, #0xff - adds r1, r0, #0 - ands r1, r3 - ldr r6, _0804012C @ =0x0000FFE0 - adds r2, r6, #0 - adds r1, r2, r1 - ldrh r6, [r5, #0x2e] - adds r1, r1, r6 - strh r1, [r5, #0x2e] - lsrs r0, r0, #8 - ands r0, r3 - adds r2, r2, r0 - ldrh r0, [r5, #0x32] - adds r2, r2, r0 - strh r2, [r5, #0x32] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2] - movs r0, #0xb7 - lsls r0, r0, #1 - bl sub_080A3268 -_08040120: - adds r0, r4, #0 - bl sub_080042B8 -_08040126: - pop {r4, r5, r6, pc} - .align 2, 0 -_08040128: .4byte 0x00003F3F -_0804012C: .4byte 0x0000FFE0 - - thumb_func_start sub_08040130 -sub_08040130: @ 0x08040130 - push {lr} - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - strb r2, [r0, #0xe] - adds r1, r0, #0 - adds r1, #0x80 - strb r2, [r1] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #6 - orrs r1, r2 - strb r1, [r3] - ldrb r1, [r0, #0xe] - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804015C -sub_0804015C: @ 0x0804015C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0804017C - adds r2, r4, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - bl sub_0805E780 -_0804017C: - adds r0, r5, #0 - adds r0, #0x7a - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r5, #0 - adds r0, #0x7e - ldrh r0, [r0] - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r0, #0 - bne _0804019E - adds r0, r4, #0 - bl sub_080042B8 - b _080401A6 -_0804019E: - adds r0, r4, #0 - movs r1, #2 - bl sub_080042BA -_080401A6: - ldrb r0, [r5, #0xc] - cmp r0, #4 - bls _080401C0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _080401D2 - movs r0, #1 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - b _080401D2 -_080401C0: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080401D2 - movs r0, #0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_080401D2: - ldrb r0, [r5, #0xc] - cmp r0, #3 - beq _080401DC - ldrh r0, [r5, #0x36] - strh r0, [r4, #0x36] -_080401DC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080401E0 -sub_080401E0: @ 0x080401E0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xb] - adds r5, r1, #0 - cmp r5, #0 - beq _08040212 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, #1 - adds r3, r4, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r4, #0xb] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - b _08040260 -_08040212: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08040264 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x45 - bhi _08040260 - adds r0, r4, #0 - movs r1, #2 - movs r2, #1 - bl sub_08040648 - adds r0, r4, #0 - movs r1, #2 - movs r2, #2 - bl sub_08040648 - movs r0, #1 - strb r0, [r4, #0xc] - strb r5, [r4, #0xe] - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x17 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x74 - strb r5, [r0] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_08040260: - pop {r4, r5, pc} - .align 2, 0 -_08040264: .4byte gUnk_03003DBC - - thumb_func_start sub_08040268 -sub_08040268: @ 0x08040268 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _08040286 - adds r2, r4, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - bl sub_0805E780 -_08040286: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r2, [r4, #0xb] - cmp r2, #1 - beq _080402C6 - cmp r2, #1 - bgt _0804029E - cmp r2, #0 - beq _080402E4 - b _08040382 -_0804029E: - cmp r2, #2 - bne _08040382 - ldr r1, _080402DC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - lsls r0, r0, #1 - ldr r1, _080402E0 @ =gUnk_080D0B18 - adds r0, r0, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - ldrh r2, [r4, #0x2e] - adds r1, r1, r2 - strh r1, [r4, #0x2e] - ldrb r0, [r0, #1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] -_080402C6: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0x1e] - cmp r0, #2 - beq _08040382 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - strb r0, [r4, #0x18] - b _08040382 - .align 2, 0 -_080402DC: .4byte gUnk_03001160 -_080402E0: .4byte gUnk_080D0B18 -_080402E4: - adds r5, r4, #0 - adds r5, #0x74 - ldrb r0, [r5] - cmp r0, #1 - beq _0804032E - cmp r0, #1 - bgt _080402F8 - cmp r0, #0 - beq _08040302 - b _08040382 -_080402F8: - cmp r0, #0x10 - beq _08040354 - cmp r0, #0x11 - beq _08040366 - b _08040382 -_08040302: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08040382 - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x27 - strb r0, [r4, #0xf] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08040382 - strb r1, [r5] - adds r0, r4, #0 - movs r1, #8 - bl sub_080042AC - b _08040382 -_0804032E: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08040382 - strb r2, [r5] - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x17 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _08040382 -_08040354: - adds r0, r4, #0 - movs r1, #7 - bl sub_080042AC - movs r0, #0x11 - strb r0, [r5] - movs r0, #0x50 - strb r0, [r4, #0xf] - b _08040382 -_08040366: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08040382 - movs r0, #1 - strb r0, [r5] - movs r0, #0x30 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #8 - bl sub_080042AC -_08040382: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0804038C -sub_0804038C: @ 0x0804038C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080403AA - adds r2, r4, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - bl sub_0805E780 -_080403AA: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0x1e] - cmp r0, #2 - bne _080403CA - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] -_080403CA: - pop {r4, pc} - - thumb_func_start sub_080403CC -sub_080403CC: @ 0x080403CC - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r2, [r3] - subs r1, #9 - ands r1, r2 - movs r2, #4 - orrs r1, r2 - strb r1, [r3] - movs r1, #0 - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_080403EC -sub_080403EC: @ 0x080403EC - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0804040A - adds r2, r4, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - bl sub_0805E780 -_0804040A: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0804041C -sub_0804041C: @ 0x0804041C - push {lr} - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - adds r1, r0, #0 - adds r1, #0x80 - strb r2, [r1] - movs r1, #0xa - strb r1, [r0, #0xe] - ldrb r2, [r0, #0x18] - subs r1, #0xe - ands r1, r2 - strb r1, [r0, #0x18] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r2, #7 - orrs r1, r2 - strb r1, [r3] - movs r1, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804044C -sub_0804044C: @ 0x0804044C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0804046A - adds r2, r4, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - bl sub_0805E780 -_0804046A: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #5 - beq _0804048A - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r1] - cmp r0, #0 - beq _080404BC - movs r0, #0 - strb r0, [r1] - ldrb r1, [r4, #0x18] - subs r0, #4 - ands r0, r1 - strb r0, [r4, #0x18] - b _080404BC -_0804048A: - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r1] - cmp r0, #0 - bne _080404A6 - adds r0, #1 - strb r0, [r1] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_080404A6: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080404BC - movs r0, #0xa - strb r0, [r4, #0xe] - ldr r0, _080404CC @ =0x00000149 - bl sub_080A3268 -_080404BC: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_080404CC: .4byte 0x00000149 - - thumb_func_start sub_080404D0 -sub_080404D0: @ 0x080404D0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xb] - cmp r0, #0 - beq _080404FC - movs r0, #2 - strb r0, [r2, #0xc] - movs r0, #0xa - strb r0, [r2, #0xe] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - subs r0, #0x12 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r3] - adds r0, r2, #0 - movs r1, #2 - bl sub_08004260 - b _08040518 -_080404FC: - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r2, #0x18] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] -_08040518: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804051C -sub_0804051C: @ 0x0804051C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0804053A - adds r2, r4, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - bl sub_0805E780 -_0804053A: - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r1] - cmp r0, #0 - beq _0804054A - cmp r0, #1 - beq _0804056C - b _080405C4 -_0804054A: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #6 - bne _080405CC - movs r0, #1 - movs r2, #1 - strb r0, [r1] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _080405C4 -_0804056C: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #6 - beq _08040582 - movs r0, #0 - strb r0, [r1] - ldrb r1, [r4, #0x18] - subs r0, #4 - ands r0, r1 - strb r0, [r4, #0x18] - b _080405C4 -_08040582: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080405A8 - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] - ldr r0, _080405D0 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x46 - bhi _080405A8 - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - movs r2, #1 - bl sub_08040648 -_080405A8: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080405BE - movs r0, #0xa - strb r0, [r4, #0xe] - ldr r0, _080405D4 @ =0x00000149 - bl sub_080A3268 -_080405BE: - adds r0, r4, #0 - bl sub_08004274 -_080405C4: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 -_080405CC: - pop {r4, pc} - .align 2, 0 -_080405D0: .4byte gUnk_03003DBC -_080405D4: .4byte 0x00000149 - - thumb_func_start sub_080405D8 -sub_080405D8: @ 0x080405D8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080405F6 - adds r2, r4, #0 - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - bl sub_0805E780 -_080405F6: - adds r3, r4, #0 - adds r3, #0x80 - ldrb r2, [r3] - cmp r2, #0 - bne _08040626 - ldr r0, [r4, #0x50] - ldr r0, [r0, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #6 - beq _08040638 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08040638 - adds r0, r2, #1 - strb r0, [r3] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - b _08040638 -_08040626: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08040638 - bl sub_0805E780 -_08040638: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_08040648 -sub_08040648: @ 0x08040648 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r4, r1, #0 - adds r7, r2, #0 - movs r0, #0x4f - bl sub_0804AA60 - adds r5, r0, #0 - strb r7, [r5, #0xb] - str r6, [r5, #0x50] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0806FA24 - cmp r4, #2 - bne _0804066E - cmp r7, #0 - bne _0804066E - str r5, [r6, #0x54] -_0804066E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08040670 -sub_08040670: @ 0x08040670 - push {lr} - adds r2, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x80 - strb r1, [r0] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #0x24] - movs r0, #0xc - strb r0, [r2, #0xe] - ldrb r0, [r2, #0x14] - cmp r0, #0 - bne _08040698 - adds r0, r2, #0 - bl sub_080406A0 - b _0804069E -_08040698: - adds r0, r2, #0 - bl sub_08040770 -_0804069E: - pop {pc} - - thumb_func_start sub_080406A0 -sub_080406A0: @ 0x080406A0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - bl sub_08000E50 - mov r8, r0 - movs r0, #0x30 - mov r1, r8 - ands r1, r0 - mov r8, r1 - adds r0, r5, #0 - adds r0, #0x86 - ldrb r6, [r0] - ldr r2, _080406F0 @ =gUnk_03000BF0 - ldrh r3, [r2, #6] - ldr r4, _080406F4 @ =gUnk_080D0B58 - lsls r1, r6, #1 - lsls r0, r6, #2 - adds r0, r0, r4 - ldrh r0, [r0] - adds r7, r3, r0 - ldrh r2, [r2, #8] - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r0, [r1] - adds r4, r2, r0 - adds r0, r5, #0 - adds r1, r7, #0 - adds r2, r4, #0 - movs r3, #0x1c - bl sub_0806FCB8 - cmp r0, #0 - beq _0804071E - cmp r6, #0 - beq _080406F8 - movs r6, #0 - b _08040702 - .align 2, 0 -_080406F0: .4byte gUnk_03000BF0 -_080406F4: .4byte gUnk_080D0B58 -_080406F8: - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - adds r6, r1, #1 -_08040702: - ldr r2, _0804074C @ =gUnk_03000BF0 - ldrh r3, [r2, #6] - ldr r4, _08040750 @ =gUnk_080D0B58 - lsls r1, r6, #1 - lsls r0, r6, #2 - adds r0, r0, r4 - ldrh r0, [r0] - adds r7, r3, r0 - ldrh r2, [r2, #8] - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r0, [r1] - adds r4, r2, r0 -_0804071E: - movs r2, #0x2e - ldrsh r0, [r5, r2] - movs r2, #0x32 - ldrsh r1, [r5, r2] - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080045D4 - strb r0, [r5, #0x15] - movs r0, #0x20 - mov r1, r8 - ands r0, r1 - cmp r0, #0 - beq _0804075A - ldrb r1, [r5, #0x15] - movs r0, #0x10 - mov r2, r8 - ands r2, r0 - cmp r2, #0 - beq _08040754 - adds r0, r1, #1 - b _08040758 - .align 2, 0 -_0804074C: .4byte gUnk_03000BF0 -_08040750: .4byte gUnk_080D0B58 -_08040754: - adds r0, r1, #0 - adds r0, #0x1f -_08040758: - strb r0, [r5, #0x15] -_0804075A: - ldrb r0, [r5, #0x15] - movs r1, #0x1f - ands r1, r0 - strb r1, [r5, #0x15] - adds r0, r5, #0 - adds r0, #0x86 - strb r6, [r0] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08040770 -sub_08040770: @ 0x08040770 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - bl sub_08000E50 - mov r8, r0 - movs r0, #0x38 - mov r1, r8 - ands r1, r0 - mov r8, r1 - adds r0, r7, #0 - adds r0, #0x86 - ldrb r5, [r0] - ldr r2, _080407CC @ =gUnk_03000BF0 - ldrh r3, [r2, #6] - ldr r4, _080407D0 @ =gUnk_080D0B64 - lsls r1, r5, #1 - lsls r0, r5, #2 - adds r0, r0, r4 - ldrh r0, [r0] - adds r6, r3, r0 - ldrh r2, [r2, #8] - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r0, [r1] - adds r4, r2, r0 - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #0x1c - bl sub_0806FCB8 - cmp r0, #0 - beq _0804089A - ldrb r0, [r7, #0x14] - cmp r0, #2 - beq _08040822 - movs r0, #8 - mov r2, r8 - ands r0, r2 - cmp r0, #0 - beq _080407D4 - adds r5, #1 - b _080407D6 - .align 2, 0 -_080407CC: .4byte gUnk_03000BF0 -_080407D0: .4byte gUnk_080D0B64 -_080407D4: - adds r5, #3 -_080407D6: - movs r0, #3 - ands r5, r0 - adds r0, r7, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _0804087E - adds r0, r7, #0 - adds r0, #0x75 - ldrb r0, [r0] - cmp r0, #0x3c - beq _0804080A - cmp r0, #0x3c - bgt _080407F8 - cmp r0, #0xf - beq _08040802 - b _0804087E -_080407F8: - cmp r0, #0xc3 - beq _0804081A - cmp r0, #0xf0 - beq _08040812 - b _0804087E -_08040802: - cmp r5, #0 - bne _0804087E - movs r5, #2 - b _0804087E -_0804080A: - cmp r5, #1 - bne _0804087E - movs r5, #3 - b _0804087E -_08040812: - cmp r5, #2 - bne _0804087E - movs r5, #0 - b _0804087E -_0804081A: - cmp r5, #3 - bne _0804087E - movs r5, #1 - b _0804087E -_08040822: - adds r1, r7, #0 - adds r1, #0x87 - ldrb r2, [r1] - movs r0, #0x7f - ands r0, r2 - adds r4, r1, #0 - cmp r0, #0 - beq _08040848 - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _0804083E - adds r5, #1 - b _08040840 -_0804083E: - adds r5, #3 -_08040840: - ldrb r0, [r4] - subs r0, #1 - strb r0, [r4] - b _0804087A -_08040848: - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - adds r0, #4 - strb r0, [r4] - ldrb r6, [r4] - bl sub_08000E50 - movs r1, #0x20 - ands r1, r0 - cmp r1, #0 - bne _08040868 - movs r1, #0x80 - orrs r1, r6 - b _0804086A -_08040868: - adds r1, r6, #0 -_0804086A: - strb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08040878 - adds r5, #1 - b _0804087A -_08040878: - adds r5, #3 -_0804087A: - movs r0, #3 - ands r5, r0 -_0804087E: - ldr r2, _080408C8 @ =gUnk_03000BF0 - ldrh r3, [r2, #6] - ldr r4, _080408CC @ =gUnk_080D0B64 - lsls r1, r5, #1 - lsls r0, r5, #2 - adds r0, r0, r4 - ldrh r0, [r0] - adds r6, r3, r0 - ldrh r2, [r2, #8] - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r0, [r1] - adds r4, r2, r0 -_0804089A: - movs r1, #0x2e - ldrsh r0, [r7, r1] - movs r2, #0x32 - ldrsh r1, [r7, r2] - adds r2, r6, #0 - adds r3, r4, #0 - bl sub_080045D4 - strb r0, [r7, #0x15] - movs r0, #0x20 - mov r1, r8 - ands r0, r1 - cmp r0, #0 - beq _080408D6 - ldrb r1, [r7, #0x15] - movs r0, #0x10 - mov r2, r8 - ands r2, r0 - cmp r2, #0 - beq _080408D0 - adds r0, r1, #1 - b _080408D4 - .align 2, 0 -_080408C8: .4byte gUnk_03000BF0 -_080408CC: .4byte gUnk_080D0B64 -_080408D0: - adds r0, r1, #0 - adds r0, #0x1f -_080408D4: - strb r0, [r7, #0x15] -_080408D6: - ldrb r0, [r7, #0x15] - movs r1, #0x1f - ands r1, r0 - strb r1, [r7, #0x15] - adds r0, r7, #0 - adds r0, #0x86 - strb r5, [r0] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080408EC -sub_080408EC: @ 0x080408EC - push {r4, r5, r6, r7, lr} - adds r2, r0, #0 - ldrb r0, [r2, #0x14] - cmp r0, #0 - bne _08040902 - movs r1, #0xf0 - adds r4, r2, #0 - adds r4, #0x75 - adds r5, r2, #0 - adds r5, #0x76 - b _08040926 -_08040902: - adds r4, r2, #0 - adds r4, #0x75 - adds r5, r2, #0 - adds r5, #0x76 - ldr r7, _08040930 @ =gUnk_080D0B74 - movs r6, #0x3c -_0804090E: - bl sub_08000E50 - ands r0, r6 - lsrs r0, r0, #2 - adds r0, r0, r7 - ldrb r1, [r0] - ldrb r0, [r4] - cmp r1, r0 - bne _08040922 - movs r1, #0xff -_08040922: - cmp r1, #0xff - beq _0804090E -_08040926: - movs r0, #0 - strb r1, [r4] - strb r0, [r5] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08040930: .4byte gUnk_080D0B74 - - thumb_func_start sub_08040934 -sub_08040934: @ 0x08040934 - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #0x3e - ands r1, r0 - movs r2, #0 - cmp r1, #0x2e - bhi _08040948 - movs r2, #1 -_08040948: - adds r0, r4, #0 - adds r0, #0x87 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _08040958 - movs r2, #0 -_08040958: - adds r4, #0x84 - ldrb r0, [r4] - cmp r0, #9 - beq _080409A4 - cmp r2, #0 - beq _080409AA - adds r0, #1 - movs r1, #5 - bl __modsi3 - strb r0, [r4] - bl sub_08000E50 - movs r1, #0xf8 - ands r1, r0 - lsrs r1, r1, #3 - ldr r0, _08040998 @ =gUnk_080D0B84 - adds r0, r1, r0 - ldrb r2, [r0] - ldrb r0, [r4] - cmp r0, #1 - beq _0804099C - cmp r0, #1 - blt _080409AA - cmp r0, #4 - bgt _080409AA - cmp r0, #3 - blt _080409AA - cmp r2, #0 - bne _080409AA - b _080409A8 - .align 2, 0 -_08040998: .4byte gUnk_080D0B84 -_0804099C: - cmp r2, #0 - beq _080409A8 - movs r2, #3 - b _080409AA -_080409A4: - movs r0, #0 - strb r0, [r4] -_080409A8: - movs r2, #1 -_080409AA: - adds r0, r2, #0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080409B0 -sub_080409B0: @ 0x080409B0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x81 - adds r0, r0, r4 - mov ip, r0 - ldrb r1, [r0] - cmp r1, #1 - beq _080409EA - cmp r1, #1 - bgt _080409CA - cmp r1, #0 - beq _080409D0 - b _08040A68 -_080409CA: - cmp r1, #2 - beq _08040A04 - b _08040A68 -_080409D0: - adds r0, r4, #0 - adds r0, #0x75 - adds r2, r4, #0 - adds r2, #0x76 - ldrb r0, [r0] - ldrb r3, [r2] - cmp r0, r3 - bne _08040A68 - movs r0, #1 - mov r3, ip - strb r0, [r3] - strb r1, [r2] - b _08040A68 -_080409EA: - adds r0, r4, #0 - adds r0, #0x76 - ldrb r0, [r0] - cmp r0, #0 - beq _08040A68 - movs r0, #2 - mov r1, ip - strb r0, [r1] - adds r1, r4, #0 - adds r1, #0x77 - movs r0, #0x10 - strb r0, [r1] - b _08040A68 -_08040A04: - adds r1, r4, #0 - adds r1, #0x77 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _08040A68 - adds r0, r4, #0 - adds r0, #0x75 - adds r3, r4, #0 - adds r3, #0x76 - ldrb r1, [r0] - ldrb r0, [r3] - ands r0, r1 - cmp r1, r0 - beq _08040A3C - movs r0, #1 - mov r1, ip - strb r0, [r1] - strb r2, [r3] - ldr r0, _08040A38 @ =0x00000155 - bl sub_080A3268 - b _08040A68 - .align 2, 0 -_08040A38: .4byte 0x00000155 -_08040A3C: - movs r1, #3 - strb r1, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] - mov r3, ip - strb r1, [r3] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x36 - strb r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0xb2 - lsls r0, r0, #1 - bl sub_080A3268 -_08040A68: - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #2 - bhi _08040A84 - adds r0, r4, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - beq _08040AC8 - adds r0, r4, #0 - bl sub_080AF18C - b _08040AC8 -_08040A84: - adds r2, r4, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - adds r5, r2, #0 - cmp r0, #0 - beq _08040AB0 - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08040AB0 - movs r0, #0xc - movs r1, #1 - bl sub_08080964 - ldr r0, _08040ACC @ =0x00000127 - bl sub_080A3268 -_08040AB0: - ldrb r0, [r5] - cmp r0, #0x8a - bne _08040AC8 - ldr r0, _08040AD0 @ =gUnk_03003F80 - adds r0, #0xa0 - ldrb r0, [r0] - cmp r0, #5 - bne _08040AC8 - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0xc0 - strb r0, [r1] -_08040AC8: - pop {r4, r5, pc} - .align 2, 0 -_08040ACC: .4byte 0x00000127 -_08040AD0: .4byte gUnk_03003F80 - - thumb_func_start sub_08040AD4 -sub_08040AD4: @ 0x08040AD4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - movs r1, #0x3f - ands r1, r0 - lsls r6, r1, #0x18 - lsrs r4, r6, #0x18 - movs r0, #0x1f - ands r0, r4 - cmp r0, #0 - bne _08040AF0 - ldr r0, _08040B0C @ =0x000001A9 - bl sub_080A3268 -_08040AF0: - movs r0, #3 - ands r4, r0 - cmp r4, #0 - bne _08040B2A - lsrs r4, r6, #0x1a - movs r0, #0x2e - ldrsh r2, [r5, r0] - adds r0, r4, #4 - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08040B10 - subs r0, r2, #1 - b _08040B12 - .align 2, 0 -_08040B0C: .4byte 0x000001A9 -_08040B10: - adds r0, r2, #1 -_08040B12: - strh r0, [r5, #0x2e] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #2 - movs r1, #4 - ands r0, r1 - cmp r0, #0 - beq _08040B26 - subs r0, r2, #1 - b _08040B28 -_08040B26: - adds r0, r2, #1 -_08040B28: - strh r0, [r5, #0x32] -_08040B2A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08040B2C -sub_08040B2C: @ 0x08040B2C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _08040B5C - ldr r0, [r5, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08040B5C - adds r0, r5, #0 - bl sub_08041300 - cmp r0, #0 - beq _08040B4E - adds r0, r5, #0 - bl sub_0803F6EC -_08040B4E: - adds r0, r5, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_08040B5C: - ldr r4, _08040B80 @ =gUnk_080D0DC4 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, r5, pc} - .align 2, 0 -_08040B80: .4byte gUnk_080D0DC4 - - thumb_func_start sub_08040B84 -sub_08040B84: @ 0x08040B84 - push {lr} - ldr r2, _08040B98 @ =gUnk_080D0DDC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08040B98: .4byte gUnk_080D0DDC - - thumb_func_start sub_08040B9C -sub_08040B9C: @ 0x08040B9C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - subs r0, #8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _08040BD0 - movs r0, #0xff - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r1, [r0] - lsrs r1, r1, #4 - movs r0, #1 - eors r1, r0 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08041134 - adds r0, r4, #0 - bl sub_0803F6EC -_08040BD0: - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x25 - bne _08040BF4 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #0x80 - bne _08040C0E - movs r0, #8 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - b _08040C9C -_08040BF4: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #0x80 - bne _08040C0E - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0x78 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08041128 -_08040C0E: - ldrb r0, [r5] - cmp r0, #0x9d - bne _08040C1A - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] -_08040C1A: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08040C40 - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - lsrs r0, r0, #4 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #7 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08040C40: - adds r0, r4, #0 - adds r0, #0x45 - adds r1, r4, #0 - adds r1, #0x7a - ldrb r2, [r0] - adds r6, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5] - cmp r2, r0 - beq _08040C9C - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08040C70 - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - lsrs r0, r0, #4 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #7 - adds r0, r4, #0 - bl sub_08004260 - b _08040C98 -_08040C70: - adds r1, r4, #0 - adds r1, #0x3d - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _08040C84 - movs r0, #0x80 - orrs r0, r2 - strb r0, [r1] -_08040C84: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xff - strb r0, [r6] - movs r0, #0xa - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] -_08040C98: - ldrb r0, [r6] - strb r0, [r5] -_08040C9C: - ldr r1, _08040CA8 @ =gUnk_080D0DC4 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08040CA8: .4byte gUnk_080D0DC4 - - thumb_func_start sub_08040CAC -sub_08040CAC: @ 0x08040CAC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_08001328 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08040D04 - adds r0, r4, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _08040D2C - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _08040D2C - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - bne _08040D2C - movs r0, #0xff - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x58 - ldrb r0, [r1] - subs r0, #7 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _08040D2C - ldrb r1, [r1] - subs r1, #7 - movs r0, #1 - eors r1, r0 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 - b _08040D2C -_08040D04: - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - movs r5, #4 - rsbs r5, r5, #0 - adds r3, r5, #0 - ands r3, r2 - orrs r3, r1 - strb r3, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _08040D2C - ands r3, r5 - movs r0, #1 - orrs r3, r0 - strb r3, [r4, #0x18] -_08040D2C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08040D30 -sub_08040D30: @ 0x08040D30 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - subs r0, #7 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bls _08040D4C - ldrb r1, [r4, #0x14] - adds r1, #7 - adds r0, r4, #0 - bl sub_08004260 -_08040D4C: - adds r0, r4, #0 - bl sub_08001242 - ldrh r1, [r4, #0x36] - movs r2, #0x36 - ldrsh r0, [r4, r2] - cmp r0, #0 - bne _08040D60 - ldr r0, _08040D8C @ =0x0000FFFF - strh r0, [r4, #0x36] -_08040D60: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - bne _08040D88 - ldrb r0, [r4, #0x14] - movs r1, #1 - eors r1, r0 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 - movs r0, #0xff - strb r0, [r4, #0x15] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08041134 -_08040D88: - pop {r4, pc} - .align 2, 0 -_08040D8C: .4byte 0x0000FFFF - - thumb_func_start sub_08040D90 -sub_08040D90: @ 0x08040D90 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08040DB4 - ldr r0, _08040DB0 @ =gUnk_080D0E08 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _08040DC6 - .align 2, 0 -_08040DB0: .4byte gUnk_080D0E08 -_08040DB4: - adds r0, r4, #0 - bl sub_08041128 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #4 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 -_08040DC6: - pop {r4, pc} - - thumb_func_start sub_08040DC8 -sub_08040DC8: @ 0x08040DC8 - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x3c - strb r1, [r0, #0x1d] - ldr r1, _08040DE0 @ =gUnk_03001160 - ldrb r1, [r1, #0x14] - lsrs r1, r1, #2 - adds r1, #5 - bl sub_08004260 - pop {pc} - .align 2, 0 -_08040DE0: .4byte gUnk_03001160 - - thumb_func_start sub_08040DE4 -sub_08040DE4: @ 0x08040DE4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F4E8 - pop {r4, pc} - - thumb_func_start sub_08040DF4 -sub_08040DF4: @ 0x08040DF4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _08040E38 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - cmp r0, #0 - beq _08040E26 - adds r2, r0, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_08040E26: - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08040E34 - adds r0, r4, #0 - bl sub_0804A7D4 - b _08040E38 -_08040E34: - bl sub_0805E780 -_08040E38: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08040E3C -sub_08040E3C: @ 0x08040E3C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - bl sub_08000E50 - movs r2, #0x1e - adds r1, r0, #0 - ands r1, r2 - movs r2, #0 - strb r1, [r4, #0x15] - movs r1, #0xff - strb r1, [r4, #0x14] - movs r5, #1 - strb r5, [r4, #0x1c] - adds r1, r4, #0 - adds r1, #0x45 - ldrb r1, [r1] - adds r3, r4, #0 - adds r3, #0x7a - strb r1, [r3] - lsrs r0, r0, #4 - adds r1, r4, #0 - adds r1, #0x7b - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7c - strh r2, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08040E86 - strb r5, [r4, #0xc] - ldrb r0, [r4, #0xe] - bl sub_0804B128 - str r0, [r4, #0x54] - b _08040E8C -_08040E86: - adds r0, r4, #0 - bl sub_080411CC -_08040E8C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08040E90 -sub_08040E90: @ 0x08040E90 - push {r4, lr} - adds r4, r0, #0 - bl sub_080411E8 - cmp r0, #0 - beq _08040EA4 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xe] -_08040EA4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08040EA8 -sub_08040EA8: @ 0x08040EA8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08040EC4 - adds r0, r4, #0 - bl sub_080411CC - adds r0, r4, #0 - bl sub_0804122C -_08040EC4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08040EC8 -sub_08040EC8: @ 0x08040EC8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08040F08 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - bl sub_08000E50 - adds r1, r4, #0 - adds r1, #0x80 - ldrb r2, [r1] - movs r1, #0x30 - ands r1, r0 - adds r1, #0x3c - adds r0, r2, #0 - muls r0, r1, r0 - adds r0, #0x78 - adds r1, r4, #0 - adds r1, #0x7c - strh r0, [r1] - adds r0, r4, #0 - bl sub_08041128 -_08040F08: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08040F0C -sub_08040F0C: @ 0x08040F0C - push {r4, lr} - adds r4, r0, #0 - bl sub_08041170 - cmp r0, #0 - bne _08040F36 - adds r0, r4, #0 - bl sub_0803F58C - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08040F36 - adds r0, r4, #0 - bl sub_08041128 -_08040F36: - pop {r4, pc} - - thumb_func_start sub_08040F38 -sub_08040F38: @ 0x08040F38 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - movs r1, #1 - bl sub_08049F84 - strb r0, [r4, #0x15] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _08040F8E - adds r0, r4, #0 - bl sub_0803F66C - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08040F94 - movs r0, #6 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r2, #0xe0 - adds r1, r0, #0 - ands r1, r2 - strb r1, [r4, #0xe] - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r4, #0x24] - lsrs r0, r0, #8 - movs r1, #0x78 - ands r0, r1 - adds r0, #0x3c - adds r1, r4, #0 - adds r1, #0x7e - strh r0, [r1] - b _08040F94 -_08040F8E: - adds r0, r4, #0 - bl sub_08041128 -_08040F94: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08040F98 -sub_08040F98: @ 0x08040F98 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0803F5A8 - cmp r0, #0 - bne _08040FB2 - adds r0, r4, #0 - bl sub_08041128 - b _08041014 -_08040FB2: - movs r0, #1 - bl sub_08049DF4 - cmp r0, #0 - beq _0804100C - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0804100C - ldrb r1, [r4, #0xe] - adds r1, #1 - strb r1, [r4, #0xe] - ldr r2, _08041004 @ =gUnk_080D0E14 - lsls r0, r1, #0x18 - lsrs r0, r0, #0x1e - adds r0, r0, r2 - ldrb r0, [r0] - ands r1, r0 - cmp r1, #0 - bne _08040FF4 - ldr r0, _08041008 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_08040FF4: - adds r0, r4, #0 - bl sub_0803F66C - adds r0, r4, #0 - bl sub_080AEFB4 - b _08041014 - .align 2, 0 -_08041004: .4byte gUnk_080D0E14 -_08041008: .4byte gUnk_020000B0 -_0804100C: - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] -_08041014: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08041018 -sub_08041018: @ 0x08041018 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08041042 - bl sub_08000E50 - movs r1, #0xf8 - ands r0, r1 - adds r0, #0xb4 - adds r1, r4, #0 - adds r1, #0x7c - strh r0, [r1] - adds r0, r4, #0 - bl sub_08041128 -_08041042: - pop {r4, pc} - - thumb_func_start sub_08041044 -sub_08041044: @ 0x08041044 - push {r4, lr} - adds r4, r0, #0 - bl sub_0803F738 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08041074 - movs r0, #0 - movs r1, #9 - strb r1, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 -_08041074: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08041078 -sub_08041078: @ 0x08041078 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08041094 - adds r0, r4, #0 - bl sub_0803F6C0 -_08041094: - bl sub_0807953C - adds r1, r4, #0 - adds r1, #0x78 - cmp r0, #0 - beq _080410A6 - ldrh r0, [r1] - adds r0, #8 - strh r0, [r1] -_080410A6: - ldr r2, _08041100 @ =gUnk_03001160 - adds r0, r2, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080410B6 - movs r0, #0xe0 - strh r0, [r1] -_080410B6: - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xdf - bls _08041104 - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0x78 - strh r0, [r1] - movs r0, #0xff - strb r0, [r4, #0x14] - subs r1, #0x3f - movs r0, #0xf4 - strb r0, [r1] - adds r1, #5 - movs r0, #0x14 - strb r0, [r1] - adds r1, #4 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1] - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] - adds r0, r4, #0 - bl sub_08041128 - adds r0, r4, #0 - bl sub_0803F6EC - b _0804110A - .align 2, 0 -_08041100: .4byte gUnk_03001160 -_08041104: - adds r0, r4, #0 - bl sub_0803F738 -_0804110A: - pop {r4, pc} - - thumb_func_start sub_0804110C -sub_0804110C: @ 0x0804110C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08041126 - adds r0, r4, #0 - bl sub_08041128 -_08041126: - pop {r4, pc} - - thumb_func_start sub_08041128 -sub_08041128: @ 0x08041128 - push {lr} - movs r1, #4 - strb r1, [r0, #0xc] - bl sub_0803F528 - pop {pc} - - thumb_func_start sub_08041134 -sub_08041134: @ 0x08041134 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #5 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x25 - strb r0, [r1] - movs r5, #0 - ldr r0, _08041168 @ =gUnk_03004040 - ldr r0, [r0] - cmp r0, #0 - beq _08041150 - movs r5, #0x3c -_08041150: - bl sub_08000E50 - ldr r2, _0804116C @ =gUnk_080D0E18 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r5 - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - pop {r4, r5, pc} - .align 2, 0 -_08041168: .4byte gUnk_03004040 -_0804116C: .4byte gUnk_080D0E18 - - thumb_func_start sub_08041170 -sub_08041170: @ 0x08041170 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0 - beq _08041184 - subs r0, #1 - strh r0, [r1] - b _080411C8 -_08041184: - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _080411C8 - adds r0, r4, #0 - bl sub_0806FD54 - cmp r0, #0 - bne _080411B6 - ldr r0, _080411C0 @ =gUnk_02033A90 - movs r1, #0xa - ldrsh r0, [r0, r1] - cmp r0, #0xf - ble _080411C8 - ldr r0, _080411C4 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - movs r2, #0x70 - movs r3, #0x48 - bl sub_080041A0 - cmp r0, #0 - beq _080411C8 -_080411B6: - adds r0, r4, #0 - bl sub_08041134 - movs r0, #1 - b _080411CA - .align 2, 0 -_080411C0: .4byte gUnk_02033A90 -_080411C4: .4byte gUnk_020000B0 -_080411C8: - movs r0, #0 -_080411CA: - pop {r4, pc} - - thumb_func_start sub_080411CC -sub_080411CC: @ 0x080411CC - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #7 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - movs r1, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080411E8 -sub_080411E8: @ 0x080411E8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _08041222 - ldrb r0, [r4, #0xb] - cmp r0, #1 - beq _08041204 - cmp r0, #2 - beq _08041218 -_08041200: - movs r0, #1 - b _08041224 -_08041204: - ldr r0, _08041214 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08041222 - b _08041200 - .align 2, 0 -_08041214: .4byte gUnk_03003F80 -_08041218: - ldr r0, _08041228 @ =gUnk_02033A90 - movs r1, #0xa - ldrsh r0, [r0, r1] - cmp r0, #0xf - bgt _08041200 -_08041222: - movs r0, #0 -_08041224: - pop {r4, pc} - .align 2, 0 -_08041228: .4byte gUnk_02033A90 - - thumb_func_start sub_0804122C -sub_0804122C: @ 0x0804122C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - mov r8, r0 - bl sub_08000E50 - movs r6, #6 - ands r6, r0 - lsrs r5, r0, #8 - movs r0, #3 - ands r5, r0 - movs r7, #0 - ldr r3, _080412FC @ =gUnk_03000BF0 - mov sb, r3 -_08041250: - movs r0, #0x50 - movs r1, #1 - bl sub_0804AA60 - adds r2, r0, #0 - cmp r2, #0 - beq _080412C8 - lsls r1, r6, #1 - add r1, r8 - mov r3, sb - ldrh r0, [r3, #6] - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - mov r3, sb - ldrh r0, [r3, #8] - ldrh r1, [r1, #2] - adds r0, r0, r1 - strh r0, [r2, #0x32] - str r4, [r2, #0x50] - adds r0, r2, #0 - adds r0, #0x80 - strb r5, [r0] - adds r3, r2, #0 - adds r3, #0x6d - ldrb r0, [r3] - movs r1, #4 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x70 - strh r1, [r0] - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - adds r1, r2, #0 - adds r1, #0x72 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x6e - ldrb r0, [r0] - subs r1, #4 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x6f - ldrb r0, [r0] - adds r1, #1 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08016A30 - adds r6, #2 - movs r0, #6 - ands r6, r0 - adds r5, #1 - movs r0, #3 - ands r5, r0 -_080412C8: - adds r7, #1 - cmp r7, #2 - bls _08041250 - lsls r1, r6, #1 - add r1, r8 - ldr r2, _080412FC @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldrh r3, [r1] - adds r0, r0, r3 - movs r3, #0 - strh r0, [r4, #0x2e] - ldrh r0, [r2, #8] - ldrh r1, [r1, #2] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x38 - strb r3, [r0] - adds r0, r4, #0 - bl sub_08016A30 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080412FC: .4byte gUnk_03000BF0 - - thumb_func_start sub_08041300 -sub_08041300: @ 0x08041300 - push {lr} - adds r1, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x25 - bne _0804131A - adds r0, r1, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _0804131A - movs r0, #1 - b _0804132C -_0804131A: - movs r2, #0 - ldrb r0, [r1, #0xc] - subs r0, #8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _0804132A - movs r2, #1 -_0804132A: - adds r0, r2, #0 -_0804132C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08041330 -sub_08041330: @ 0x08041330 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08041384 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08041384 - adds r2, r4, #0 - adds r2, #0x45 - ldrb r0, [r2] - cmp r0, #0 - bne _08041384 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xff - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x84 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _08041384 - movs r0, #0xd - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - ldr r0, _08041398 @ =0x80010000 - bl sub_080A3268 - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 -_08041384: - ldr r0, _0804139C @ =gUnk_080D0E1C - ldrb r1, [r4, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08041398: .4byte 0x80010000 -_0804139C: .4byte gUnk_080D0E1C - - thumb_func_start sub_080413A0 -sub_080413A0: @ 0x080413A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080423A4 - ldr r1, _080413BC @ =gUnk_080D0E2C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080413BC: .4byte gUnk_080D0E2C - - thumb_func_start sub_080413C0 -sub_080413C0: @ 0x080413C0 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r7, _080413F8 @ =gUnk_030010A0 - adds r0, r7, #0 - adds r0, #0x38 - ldrb r0, [r0] - movs r6, #1 - adds r5, r6, #0 - ands r5, r0 - cmp r5, #0 - beq _08041420 - adds r0, r4, #0 - bl sub_08041FCC - cmp r0, #0 - beq _08041486 - adds r0, r7, #0 - adds r0, #0x39 - ldrb r1, [r0] - movs r0, #0xc - ands r0, r1 - cmp r0, #0 - bne _080413FC - movs r0, #5 - strb r0, [r4, #0xc] - strb r6, [r4, #0xd] - b _08041404 - .align 2, 0 -_080413F8: .4byte gUnk_030010A0 -_080413FC: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] -_08041404: - ldr r0, _0804141C @ =gUnk_030010A0 - adds r1, r0, #0 - adds r1, #0x40 - ldrh r1, [r1] - strh r1, [r4, #0x2e] - adds r0, #0x42 - ldrh r0, [r0] - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_08042004 - b _0804144A - .align 2, 0 -_0804141C: .4byte gUnk_030010A0 -_08041420: - adds r0, r4, #0 - bl sub_08041ED4 - cmp r0, #0 - beq _08041486 - strb r6, [r4, #0xc] - strb r5, [r4, #0xd] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0xb1 - ands r0, r1 - strb r0, [r2] - ldr r0, _08041488 @ =0x0000FFB0 - strh r0, [r4, #0x36] - ldr r0, _0804148C @ =gUnk_03000BF0 - str r4, [r0, #0x30] - bl sub_080809D4 -_0804144A: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r3, r4, #0 - adds r3, #0x6d - ldrb r0, [r3] - movs r2, #0 - orrs r1, r0 - strb r1, [r3] - adds r0, r4, #0 - adds r0, #0x79 - strb r2, [r0] - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0x3c - strh r0, [r1] - adds r1, #2 - movs r0, #0x78 - strh r0, [r1] - adds r1, #6 - movs r0, #3 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_08041486: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08041488: .4byte 0x0000FFB0 -_0804148C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08041490 -sub_08041490: @ 0x08041490 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xd] - cmp r0, #5 - bls _080414A0 - b _080415CC -_080414A0: - lsls r0, r0, #2 - ldr r1, _080414AC @ =_080414B0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080414AC: .4byte _080414B0 -_080414B0: @ jump table - .4byte _080415E6 @ case 0 - .4byte _080414C8 @ case 1 - .4byte _08041510 @ case 2 - .4byte _08041532 @ case 3 - .4byte _0804155C @ case 4 - .4byte _08041592 @ case 5 -_080414C8: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4, #0x34] - movs r1, #0x80 - lsls r1, r1, #8 - adds r0, r0, r1 - str r0, [r4, #0x34] - ldrh r1, [r4, #0x36] - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - bne _080414F4 - ldr r0, _0804150C @ =0x000001A9 - bl sub_080A3268 -_080414F4: - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #6 - rsbs r0, r0, #0 - cmp r1, r0 - ble _080415E6 - movs r0, #2 - strb r0, [r4, #0xd] - ldr r0, _0804150C @ =0x000001A9 - bl sub_080A3268 - b _080415E6 - .align 2, 0 -_0804150C: .4byte 0x000001A9 -_08041510: - adds r0, r4, #0 - bl sub_08042004 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08041520 - subs r0, #1 - b _080415E4 -_08041520: - adds r0, r4, #0 - movs r1, #0 - bl sub_08041F74 - cmp r0, #0 - beq _080415E6 - movs r0, #3 - strb r0, [r4, #0xd] - b _080415E2 -_08041532: - adds r0, r4, #0 - bl sub_08042004 - ldrb r0, [r4, #0xe] - adds r5, r0, #0 - cmp r5, #0 - beq _08041544 - subs r0, #1 - b _080415E4 -_08041544: - adds r0, r4, #0 - movs r1, #1 - bl sub_08041F74 - cmp r0, #0 - beq _080415E6 - movs r0, #4 - strb r0, [r4, #0xd] - movs r0, #0x78 - strb r0, [r4, #0xe] - strb r5, [r4, #0xf] - b _080415E6 -_0804155C: - adds r0, r4, #0 - bl sub_08042004 - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _08041574 - movs r0, #5 - strb r0, [r4, #0xd] - b _080415E6 -_08041574: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3c - bhi _080415E6 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080415E6 - adds r0, r4, #0 - bl sub_08041F1C - cmp r0, #0 - beq _080415E6 - movs r0, #1 - strb r0, [r4, #0xf] - b _080415E6 -_08041592: - adds r0, r4, #0 - bl sub_08042004 - movs r0, #6 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldr r1, _080415BC @ =gUnk_030010A0 - adds r1, #0x38 - ldrb r2, [r1] - movs r0, #1 - orrs r0, r2 - strb r0, [r1] - ldr r1, _080415C0 @ =gUnk_03000BF0 - ldr r0, _080415C4 @ =gUnk_03001160 - str r0, [r1, #0x30] - ldr r0, _080415C8 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - b _080415E6 - .align 2, 0 -_080415BC: .4byte gUnk_030010A0 -_080415C0: .4byte gUnk_03000BF0 -_080415C4: .4byte gUnk_03001160 -_080415C8: .4byte gUnk_03003F80 -_080415CC: - adds r0, r4, #0 - bl sub_08042004 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080415E6 - movs r0, #2 - strb r0, [r4, #0xc] -_080415E2: - movs r0, #0x3c -_080415E4: - strb r0, [r4, #0xe] -_080415E6: - pop {r4, r5, pc} - - thumb_func_start sub_080415E8 -sub_080415E8: @ 0x080415E8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08042004 - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08041614 - bl sub_08000E50 - movs r1, #1 - ands r0, r1 - adds r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08042028 -_08041614: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08041618 -sub_08041618: @ 0x08041618 - push {r4, lr} - adds r4, r0, #0 - bl sub_08042004 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080AEF88 - ldr r0, _0804165C @ =gUnk_03000BF0 - ldrh r2, [r0, #8] - adds r0, r2, #0 - adds r0, #0x90 - movs r3, #0x32 - ldrsh r1, [r4, r3] - cmp r0, r1 - blt _08041644 - adds r0, r2, #0 - adds r0, #0x40 - cmp r0, r1 - ble _08041646 -_08041644: - strh r0, [r4, #0x32] -_08041646: - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _08041660 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - b _08041694 - .align 2, 0 -_0804165C: .4byte gUnk_03000BF0 -_08041660: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1d - bhi _0804166E - ldrh r0, [r4, #0x24] - subs r0, #8 - b _0804167A -_0804166E: - ldrh r1, [r4, #0x24] - movs r2, #0x24 - ldrsh r0, [r4, r2] - cmp r0, #0xff - bgt _0804167C - adds r0, r1, #6 -_0804167A: - strh r0, [r4, #0x24] -_0804167C: - ldrb r1, [r4, #0xe] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _08041694 - adds r0, r4, #0 - bl sub_0804207C - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_08041694: - adds r0, r4, #0 - bl sub_0804212C - adds r0, r4, #0 - bl sub_080421AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080416A4 -sub_080416A4: @ 0x080416A4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08042004 - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080416DA - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - cmp r0, #0 - bne _080416D4 - adds r0, r4, #0 - bl sub_08042120 - b _080416DA -_080416D4: - adds r0, r4, #0 - bl sub_08042028 -_080416DA: - pop {r4, pc} - - thumb_func_start sub_080416DC -sub_080416DC: @ 0x080416DC - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08042004 - adds r0, r5, #0 - bl sub_080042B8 - adds r0, r5, #0 - bl sub_0804212C - adds r0, r5, #0 - bl sub_080421AC - ldrb r1, [r5, #0xd] - cmp r1, #0 - bne _08041748 - movs r4, #1 - strb r4, [r5, #0xd] - bl sub_08000E50 - ands r0, r4 - cmp r0, #0 - beq _08041716 - ldr r0, [r5, #0x64] - ldr r2, [r0, #0x14] - cmp r2, #0 - bne _08041724 - ldr r2, [r0, #0x18] - b _08041720 -_08041716: - ldr r0, [r5, #0x64] - ldr r2, [r0, #0x18] - cmp r2, #0 - bne _08041724 - ldr r2, [r0, #0x14] -_08041720: - cmp r2, #0 - beq _08041734 -_08041724: - ldrb r0, [r2, #0xc] - cmp r0, #2 - bne _08041734 - movs r1, #0 - movs r0, #4 - strb r0, [r2, #0xc] - strb r1, [r2, #0xd] - b _080417AA -_08041734: - bl sub_08000E50 - movs r1, #1 - ands r0, r1 - adds r0, #1 - strb r0, [r5, #0xf] - adds r0, r5, #0 - bl sub_08042028 - b _080417AA -_08041748: - adds r0, r5, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #0 - bne _080417AA - adds r2, r1, #0 - cmp r2, #2 - bne _080417AA - ldr r0, _0804179C @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r1, [r0] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _080417A4 - movs r0, #0xb5 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _080417AA - str r5, [r2, #0x50] - ldr r1, [r5, #0x64] - str r2, [r1, #0x10] - ldr r0, _080417A0 @ =gUnk_03000BF0 - str r2, [r0, #0x30] - movs r0, #6 - strb r0, [r5, #0xc] - movs r0, #0x1e - strb r0, [r5, #0xe] - ldr r1, [r1, #4] - movs r0, #1 - strb r0, [r1, #0xd] - ldr r0, [r5, #0x64] - ldr r0, [r0, #4] - movs r1, #0xe - bl sub_08004260 - b _080417AA - .align 2, 0 -_0804179C: .4byte gUnk_030010A0 -_080417A0: .4byte gUnk_03000BF0 -_080417A4: - strb r2, [r5, #0xc] - movs r0, #0x3c - strb r0, [r5, #0xe] -_080417AA: - pop {r4, r5, pc} - - thumb_func_start sub_080417AC -sub_080417AC: @ 0x080417AC - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _08041816 - ldr r0, [r5, #0x64] - ldr r4, [r0, #4] - adds r0, r4, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - adds r0, r1, #0 - cmp r0, #1 - bne _080417DA - movs r0, #0xfe - ands r0, r1 - strb r0, [r4] - adds r0, r5, #0 - movs r1, #4 - bl sub_080042AC - b _0804181A -_080417DA: - cmp r0, #2 - bne _08041806 - movs r0, #0x51 - movs r1, #3 - bl sub_0804AA60 - adds r1, r0, #0 - cmp r1, #0 - beq _0804181A - ldr r0, [r5, #0x64] - str r0, [r1, #0x64] - ldr r0, [r5, #0x64] - str r1, [r0, #0xc] - ldr r0, [r0, #8] - movs r1, #0x14 - bl sub_08004260 - ldrb r1, [r4] - movs r0, #0xfd - ands r0, r1 - strb r0, [r4] - b _0804181A -_08041806: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0804181A - adds r0, r5, #0 - bl sub_0804235C - b _0804181A -_08041816: - subs r0, #1 - strb r0, [r5, #0xe] -_0804181A: - adds r0, r5, #0 - bl sub_08042004 - adds r0, r5, #0 - bl sub_080042B8 - pop {r4, r5, pc} - - thumb_func_start sub_08041828 -sub_08041828: @ 0x08041828 - push {r4, lr} - adds r4, r0, #0 - bl sub_08042214 - adds r0, r4, #0 - bl sub_08042004 - adds r0, r4, #0 - bl sub_080042B8 - ldr r2, _08041868 @ =gUnk_03000BF0 - ldrh r0, [r2, #8] - adds r0, #0x48 - movs r3, #0x32 - ldrsh r1, [r4, r3] - cmp r0, r1 - beq _0804186C - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldrh r0, [r2, #8] - adds r0, #0x48 - movs r2, #0 - cmp r0, r1 - blt _0804185C - movs r2, #0x10 -_0804185C: - strb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F69C - b _0804187E - .align 2, 0 -_08041868: .4byte gUnk_03000BF0 -_0804186C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0804187E - adds r0, r4, #0 - bl sub_08042050 -_0804187E: - pop {r4, pc} - - thumb_func_start sub_08041880 -sub_08041880: @ 0x08041880 - push {r4, lr} - adds r4, r0, #0 - bl sub_08042004 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F69C - ldr r0, _080418D4 @ =gUnk_03000BF0 - ldrh r2, [r0, #6] - adds r0, r2, #0 - adds r0, #0x20 - movs r3, #0x2e - ldrsh r1, [r4, r3] - cmp r0, r1 - bgt _080418AE - movs r3, #0xa0 - lsls r3, r3, #1 - adds r0, r2, r3 - cmp r0, r1 - bge _080418BE -_080418AE: - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0x3f - ble _080418BE - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r4, #0x15] -_080418BE: - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _080418D8 - movs r0, #9 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - b _080418F8 - .align 2, 0 -_080418D4: .4byte gUnk_03000BF0 -_080418D8: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1d - bhi _080418E6 - ldrh r0, [r4, #0x24] - subs r0, #0xc - b _080418F6 -_080418E6: - ldrh r2, [r4, #0x24] - movs r3, #0x24 - ldrsh r1, [r4, r3] - ldr r0, _08041900 @ =0x000001FF - cmp r1, r0 - bgt _080418F8 - adds r0, r2, #0 - adds r0, #0x10 -_080418F6: - strh r0, [r4, #0x24] -_080418F8: - adds r0, r4, #0 - bl sub_08042214 - pop {r4, pc} - .align 2, 0 -_08041900: .4byte 0x000001FF - - thumb_func_start sub_08041904 -sub_08041904: @ 0x08041904 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08042004 - adds r0, r4, #0 - bl sub_080042B8 - adds r3, r4, #0 - adds r3, #0x79 - ldrb r0, [r3] - cmp r0, #0 - beq _08041924 - adds r0, r4, #0 - bl sub_08042214 - b _0804197A -_08041924: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _0804197A - ldr r0, _0804196C @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r0, r1] - movs r5, #0x2e - ldrsh r1, [r4, r5] - subs r0, r0, r1 - adds r0, #0x40 - cmp r0, #0x80 - bhi _08041970 - movs r0, #0xa - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x7b - strb r2, [r0] - ldr r0, [r4, #0x64] - ldr r0, [r0, #0x1c] - movs r1, #1 - strb r1, [r0, #0xe] - ldr r0, [r4, #0x64] - ldr r0, [r0, #0x20] - strb r1, [r0, #0xe] - ldr r0, [r4, #0x64] - ldr r0, [r0, #0x24] - strb r1, [r0, #0xe] - ldr r0, [r4, #0x64] - ldr r0, [r0, #0x28] - strb r1, [r0, #0xe] - b _0804197A - .align 2, 0 -_0804196C: .4byte gUnk_03001160 -_08041970: - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - strb r2, [r3] -_0804197A: - pop {r4, r5, pc} - - thumb_func_start sub_0804197C -sub_0804197C: @ 0x0804197C - push {r4, lr} - adds r4, r0, #0 - bl sub_08042004 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - cmp r0, #0xf - bne _080419A6 - movs r1, #0 - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x79 - strb r1, [r0] - b _080419F6 -_080419A6: - cmp r0, #0xf0 - bne _080419F6 - movs r1, #0 - movs r0, #0xb - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - strb r1, [r4, #0x15] - adds r0, #0xf5 - strh r0, [r4, #0x24] - movs r0, #0x90 - lsls r0, r0, #9 - str r0, [r4, #0x20] - ldr r1, _080419F8 @ =0x0000016B - adds r0, r4, #0 - bl sub_0801D2B4 - adds r0, r4, #0 - movs r1, #5 - bl sub_080042AC - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0xf - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - movs r1, #0x15 - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - movs r1, #0x1e - bl sub_08004260 - ldr r0, _080419FC @ =0x00000127 - bl sub_080A3268 -_080419F6: - pop {r4, pc} - .align 2, 0 -_080419F8: .4byte 0x0000016B -_080419FC: .4byte 0x00000127 - - thumb_func_start sub_08041A00 -sub_08041A00: @ 0x08041A00 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _08041A60 - cmp r0, #1 - beq _08041ABC - ldr r2, _08041A5C @ =gUnk_080D0E64 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #3 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - ldrb r1, [r4, #0xe] - cmp r1, #0 - bne _08041AF0 - movs r0, #0xc - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r1, #0xa0 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_0801D2B4 - adds r0, r4, #0 - movs r1, #8 - bl sub_080042AC - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - movs r1, #0x10 - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - movs r1, #0x18 - bl sub_08004260 - b _08041AF0 - .align 2, 0 -_08041A5C: .4byte gUnk_080D0E64 -_08041A60: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_080042B8 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - bl sub_08004274 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_08004274 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08041AF0 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xf0 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #8 - strb r0, [r1] - subs r1, #6 - movs r0, #0x38 - strb r0, [r1] - movs r0, #0x14 - movs r1, #0 - bl sub_08080964 - adds r0, r4, #0 - movs r1, #6 - bl sub_080042AC - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - movs r1, #0x16 - bl sub_08004260 - b _08041AF0 -_08041ABC: - adds r0, r4, #0 - bl sub_080042B8 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08041AF0 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x39 - strb r0, [r1] - adds r1, #6 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] -_08041AF0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08041AF4 -sub_08041AF4: @ 0x08041AF4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_08004274 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _08041B12 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - bl sub_08004274 -_08041B12: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _08041B44 - cmp r0, #1 - beq _08041B70 - adds r0, r4, #0 - bl sub_08042004 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - adds r2, r0, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08041BC0 - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #9 - bl sub_080042AC - b _08041BCE -_08041B44: - ldr r0, [r4, #0x34] - ldr r1, _08041B6C @ =0xFFFF8000 - adds r0, r0, r1 - str r0, [r4, #0x34] - movs r2, #0x36 - ldrsh r1, [r4, r2] - movs r0, #4 - rsbs r0, r0, #0 - cmp r1, r0 - bge _08041BCE - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0x15] - movs r0, #0x80 - strh r0, [r4, #0x24] - b _08041BCE - .align 2, 0 -_08041B6C: .4byte 0xFFFF8000 -_08041B70: - adds r0, r4, #0 - bl sub_08042004 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08041B82 - subs r0, #1 - strb r0, [r4, #0xe] - b _08041BCE -_08041B82: - adds r0, r4, #0 - bl sub_0806F69C - ldr r0, _08041BBC @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - adds r0, #0x48 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08041BCE - movs r0, #2 - strb r0, [r4, #0xd] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - movs r1, #0x11 - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - movs r1, #0x19 - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - movs r1, #0x1f - bl sub_08004260 - b _08041BCE - .align 2, 0 -_08041BBC: .4byte gUnk_03000BF0 -_08041BC0: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08041BCE - adds r0, r4, #0 - bl sub_0804235C -_08041BCE: - pop {r4, pc} - - thumb_func_start sub_08041BD0 -sub_08041BD0: @ 0x08041BD0 - push {lr} - ldr r2, _08041BE4 @ =gUnk_080D0E68 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08041BE4: .4byte gUnk_080D0E68 - - thumb_func_start sub_08041BE8 -sub_08041BE8: @ 0x08041BE8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - bl sub_08079F8C - cmp r0, #0 - beq _08041CBA - movs r5, #0 - movs r0, #1 - strb r0, [r6, #0xd] - movs r0, #0x78 - strb r0, [r6, #0xe] - ldrb r1, [r6, #0x11] - movs r4, #0x10 - rsbs r4, r4, #0 - adds r0, r4, #0 - ands r0, r1 - movs r1, #3 - mov r8, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r6, #0x11] - adds r0, r6, #0 - movs r1, #0xa - bl sub_080042AC - ldr r0, [r6, #0x64] - ldr r7, [r0, #4] - str r5, [r7, #0x64] - adds r0, r7, #0 - bl sub_0805E7BC - ldr r0, [r6, #0x64] - str r5, [r0, #4] - ldr r7, [r0, #8] - ldrb r0, [r7, #0x11] - ands r4, r0 - mov r0, r8 - orrs r4, r0 - strb r4, [r7, #0x11] - adds r0, r7, #0 - bl sub_080AE068 - ldr r1, _08041CC0 @ =0x000001F5 - adds r0, r7, #0 - bl sub_080ADF80 - ldr r1, _08041CC4 @ =0x0000016B - adds r0, r7, #0 - bl sub_0801D2B4 - adds r0, r7, #0 - movs r1, #0x1a - bl sub_08004260 - ldr r0, [r6, #0x64] - ldr r7, [r0, #0xc] - str r5, [r7, #0x64] - adds r0, r7, #0 - bl sub_0805E7BC - ldr r0, [r6, #0x64] - str r5, [r0, #0xc] - ldr r7, [r0, #0x10] - str r5, [r7, #0x64] - adds r0, r7, #0 - bl sub_0805E7BC - ldr r2, [r6, #0x64] - str r5, [r2, #0x10] - ldr r1, _08041CC8 @ =gUnk_03000BF0 - ldr r0, _08041CCC @ =gUnk_03001160 - str r0, [r1, #0x30] - ldr r7, [r2, #0x1c] - str r5, [r7, #0x64] - adds r0, r7, #0 - bl sub_0805E7BC - ldr r0, [r6, #0x64] - str r5, [r0, #0x1c] - ldr r7, [r0, #0x20] - str r5, [r7, #0x64] - adds r0, r7, #0 - bl sub_0805E7BC - ldr r0, [r6, #0x64] - str r5, [r0, #0x20] - ldr r7, [r0, #0x24] - str r5, [r7, #0x64] - adds r0, r7, #0 - bl sub_0805E7BC - ldr r0, [r6, #0x64] - str r5, [r0, #0x24] - ldr r7, [r0, #0x28] - str r5, [r7, #0x64] - adds r0, r7, #0 - bl sub_0805E7BC - ldr r0, [r6, #0x64] - str r5, [r0, #0x28] - movs r0, #2 - bl sub_08078A90 -_08041CBA: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08041CC0: .4byte 0x000001F5 -_08041CC4: .4byte 0x0000016B -_08041CC8: .4byte gUnk_03000BF0 -_08041CCC: .4byte gUnk_03001160 - - thumb_func_start sub_08041CD0 -sub_08041CD0: @ 0x08041CD0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08041D0C - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08041CF6 - subs r0, #1 - strb r0, [r4, #0xe] - b _08041D12 -_08041CF6: - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r0, _08041D08 @ =0x00001651 - bl sub_08056378 - b _08041D12 - .align 2, 0 -_08041D08: .4byte 0x00001651 -_08041D0C: - adds r0, r4, #0 - bl sub_080042B8 -_08041D12: - pop {r4, pc} - - thumb_func_start sub_08041D14 -sub_08041D14: @ 0x08041D14 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_08004274 - ldr r0, _08041D3C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08041D7C - ldrb r0, [r4, #0xe] - adds r5, r0, #0 - cmp r5, #0 - beq _08041D40 - subs r0, #1 - strb r0, [r4, #0xe] - b _08041D7C - .align 2, 0 -_08041D3C: .4byte gUnk_02000050 -_08041D40: - ldr r0, _08041D80 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x45 - bhi _08041D7C - movs r0, #0xb6 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - str r4, [r0, #0x50] - str r0, [r4, #0x54] - movs r0, #0xb6 - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - str r4, [r0, #0x50] - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x96 - strb r0, [r4, #0xe] - strb r5, [r4, #0xf] - ldrb r1, [r4, #0x18] - subs r0, #0x9a - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xe2 - lsls r0, r0, #1 - bl sub_080A3268 -_08041D7C: - pop {r4, r5, pc} - .align 2, 0 -_08041D80: .4byte gUnk_03003DBC - - thumb_func_start sub_08041D84 -sub_08041D84: @ 0x08041D84 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x64] - ldr r0, [r0, #8] - bl sub_08004274 - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _08041D9C - subs r0, #1 - strb r0, [r5, #0xe] - b _08041E18 -_08041D9C: - ldrb r1, [r5, #0xf] - adds r0, r1, #0 - cmp r0, #0xef - bhi _08041DEC - cmp r0, #0xb7 - bls _08041DD8 - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _08041DD8 - ldr r0, [r5, #0x64] - ldr r0, [r0, #8] - ldr r4, _08041DE8 @ =gUnk_080D0E80 - ldrb r1, [r5, #0xf] - subs r1, #0xb8 - asrs r1, r1, #3 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r1, [r1] - bl sub_0801D2B4 - ldr r0, [r5, #0x54] - ldrb r1, [r5, #0xf] - subs r1, #0xb8 - asrs r1, r1, #3 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r1, [r1] - bl sub_0801D2B4 -_08041DD8: - ldrb r0, [r5, #0xf] - cmp r0, #0xe6 - bne _08041E0C - movs r0, #7 - movs r1, #4 - bl sub_08050054 - b _08041E0C - .align 2, 0 -_08041DE8: .4byte gUnk_080D0E80 -_08041DEC: - movs r0, #4 - strb r0, [r5, #0xd] - ldrb r1, [r5, #0x18] - subs r0, #8 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - ldr r1, _08041E1C @ =0x00000173 - adds r0, r5, #0 - bl sub_0801D2B4 - adds r0, r5, #0 - movs r1, #0xb - bl sub_080042AC -_08041E0C: - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] - adds r0, r5, #0 - bl sub_08041E78 -_08041E18: - pop {r4, r5, pc} - .align 2, 0 -_08041E1C: .4byte 0x00000173 - - thumb_func_start sub_08041E20 -sub_08041E20: @ 0x08041E20 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08041E78 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_08004274 - ldr r0, _08041E4C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08041E48 - movs r0, #5 - strb r0, [r4, #0xd] - movs r0, #0x5a - strb r0, [r4, #0xe] -_08041E48: - pop {r4, pc} - .align 2, 0 -_08041E4C: .4byte gUnk_03000FD0 - - thumb_func_start sub_08041E50 -sub_08041E50: @ 0x08041E50 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _08041E76 - movs r0, #0x51 - bl sub_0807CD04 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - str r5, [r0, #0x64] - bl sub_0805E7BC - bl sub_0805E780 -_08041E76: - pop {r4, r5, pc} - - thumb_func_start sub_08041E78 -sub_08041E78: @ 0x08041E78 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xf] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08041ECE - adds r0, r4, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08041ECE - ldrb r1, [r4, #0xf] - lsrs r1, r1, #3 - movs r0, #0xe - ands r1, r0 - ldr r0, _08041ED0 @ =gUnk_080D0E90 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r3, [r2, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - movs r0, #4 - movs r1, #0 - bl sub_08080964 -_08041ECE: - pop {r4, pc} - .align 2, 0 -_08041ED0: .4byte gUnk_080D0E90 - - thumb_func_start sub_08041ED4 -sub_08041ED4: @ 0x08041ED4 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _08041F14 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x45 - bhi _08041F18 - movs r0, #0x2c - bl sub_0801D8E0 - adds r4, r0, #0 - cmp r4, #0 - beq _08041F18 - str r4, [r5, #0x64] - str r5, [r4] - movs r0, #0 - str r0, [r4, #0xc] - str r0, [r4, #0x14] - str r0, [r4, #0x18] - movs r0, #0x51 - movs r1, #1 - bl sub_0804AA60 - str r4, [r0, #0x64] - str r0, [r4, #4] - movs r0, #0x51 - movs r1, #2 - bl sub_0804AA60 - str r4, [r0, #0x64] - str r0, [r4, #8] - movs r0, #1 - b _08041F1A - .align 2, 0 -_08041F14: .4byte gUnk_03003DBC -_08041F18: - movs r0, #0 -_08041F1A: - pop {r4, r5, pc} - - thumb_func_start sub_08041F1C -sub_08041F1C: @ 0x08041F1C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08041F6C @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x43 - bhi _08041F70 - movs r0, #0x5f - movs r1, #0 - bl sub_0804AA60 - adds r1, r0, #0 - str r4, [r1, #0x50] - ldr r0, [r4, #0x64] - str r1, [r0, #0x1c] - movs r0, #0x5f - movs r1, #1 - bl sub_0804AA60 - adds r1, r0, #0 - str r4, [r1, #0x50] - ldr r0, [r4, #0x64] - str r1, [r0, #0x20] - movs r0, #0x5f - movs r1, #2 - bl sub_0804AA60 - adds r1, r0, #0 - str r4, [r1, #0x50] - ldr r0, [r4, #0x64] - str r1, [r0, #0x24] - movs r0, #0x5f - movs r1, #3 - bl sub_0804AA60 - adds r1, r0, #0 - str r4, [r1, #0x50] - ldr r0, [r4, #0x64] - str r1, [r0, #0x28] - movs r0, #1 - b _08041F72 - .align 2, 0 -_08041F6C: .4byte gUnk_03003DBC -_08041F70: - movs r0, #0 -_08041F72: - pop {r4, pc} - - thumb_func_start sub_08041F74 -sub_08041F74: @ 0x08041F74 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r0, _08041F88 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x46 - bls _08041F8C - movs r0, #0 - b _08041FC8 - .align 2, 0 -_08041F88: .4byte gUnk_03003DBC -_08041F8C: - ldr r7, [r5, #0x64] - movs r4, #0 - ldr r0, _08041FC0 @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r0, [r0] - asrs r0, r6 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08041FB6 - movs r0, #0x52 - movs r1, #0 - bl sub_0804AA60 - adds r4, r0, #0 - strb r6, [r4, #0xb] - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_08041FB6: - cmp r6, #0 - bne _08041FC4 - str r4, [r7, #0x14] - b _08041FC6 - .align 2, 0 -_08041FC0: .4byte gUnk_030010A0 -_08041FC4: - str r4, [r7, #0x18] -_08041FC6: - movs r0, #1 -_08041FC8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08041FCC -sub_08041FCC: @ 0x08041FCC - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08041FFC @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x4c - bhi _08042000 - adds r0, r4, #0 - bl sub_08041ED4 - cmp r0, #0 - beq _08042000 - adds r0, r4, #0 - movs r1, #0 - bl sub_08041F74 - adds r0, r4, #0 - movs r1, #1 - bl sub_08041F74 - adds r0, r4, #0 - bl sub_08041F1C - movs r0, #1 - b _08042002 - .align 2, 0 -_08041FFC: .4byte gUnk_03003DBC -_08042000: - movs r0, #0 -_08042002: - pop {r4, pc} - - thumb_func_start sub_08042004 -sub_08042004: @ 0x08042004 - ldr r3, _08042024 @ =gUnk_080D0EA0 - adds r2, r0, #0 - adds r2, #0x78 - ldrb r1, [r2] - adds r1, #1 - strb r1, [r2] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1c - movs r2, #7 - ands r1, r2 - adds r1, r1, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - strh r1, [r0, #0x36] - bx lr - .align 2, 0 -_08042024: .4byte gUnk_080D0EA0 - - thumb_func_start sub_08042028 -sub_08042028: @ 0x08042028 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #3 - strb r5, [r4, #0xc] - bl sub_08000E50 - ldr r1, _0804204C @ =gUnk_080D0EA8 - ands r0, r5 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - movs r0, #0x40 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0804207C - strb r0, [r4, #0x15] - pop {r4, r5, pc} - .align 2, 0 -_0804204C: .4byte gUnk_080D0EA8 - - thumb_func_start sub_08042050 -sub_08042050: @ 0x08042050 - push {r4, lr} - adds r4, r0, #0 - movs r0, #8 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _08042078 @ =gUnk_080D0EAC - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r1, [r1] - strb r1, [r4, #0xe] - movs r1, #0x20 - strh r1, [r4, #0x24] - lsrs r0, r0, #8 - movs r1, #0x10 - ands r0, r1 - adds r0, #8 - strb r0, [r4, #0x15] - pop {r4, pc} - .align 2, 0 -_08042078: .4byte gUnk_080D0EAC - - thumb_func_start sub_0804207C -sub_0804207C: @ 0x0804207C - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - movs r0, #0x2e - ldrsh r6, [r5, r0] - movs r1, #0x32 - ldrsh r0, [r5, r1] - adds r7, r0, #0 - subs r7, #0x10 - ldr r0, [r5, #0x64] - ldr r4, [r0, #0x14] - cmp r4, #0 - beq _080420B8 - ldrb r0, [r4, #0xc] - cmp r0, #4 - bls _080420B8 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r7, #0 - movs r3, #0x30 - bl sub_0806FCB8 - cmp r0, #0 - beq _080420B8 - movs r2, #0x2e - ldrsh r0, [r4, r2] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r6, #0 - adds r3, r7, #0 - b _08042118 -_080420B8: - ldr r0, [r5, #0x64] - ldr r4, [r0, #0x18] - cmp r4, #0 - beq _080420E4 - ldrb r0, [r4, #0xc] - cmp r0, #4 - bls _080420E4 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r7, #0 - movs r3, #0x30 - bl sub_0806FCB8 - cmp r0, #0 - beq _080420E4 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r6, #0 - adds r3, r7, #0 - b _08042118 -_080420E4: - ldr r0, _080420FC @ =gUnk_03001160 - movs r4, #0x32 - ldrsh r1, [r0, r4] - adds r2, r0, #0 - cmp r1, #0x3f - bgt _08042104 - ldr r0, _08042100 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - adds r3, r0, #0 - adds r3, #0x18 - b _0804210C - .align 2, 0 -_080420FC: .4byte gUnk_03001160 -_08042100: .4byte gUnk_03000BF0 -_08042104: - movs r1, #0x32 - ldrsh r0, [r2, r1] - adds r3, r0, #0 - subs r3, #0x28 -_0804210C: - movs r4, #0x2e - ldrsh r0, [r5, r4] - movs r4, #0x32 - ldrsh r1, [r5, r4] - movs r4, #0x2e - ldrsh r2, [r2, r4] -_08042118: - bl sub_080045D4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08042120 -sub_08042120: @ 0x08042120 - movs r2, #0 - movs r1, #5 - strb r1, [r0, #0xc] - strb r2, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_0804212C -sub_0804212C: @ 0x0804212C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0 - beq _0804213E - subs r0, #1 - b _080421A8 -_0804213E: - movs r5, #0 - movs r0, #0x32 - ldrsh r1, [r4, r0] - subs r1, #0x44 - ldr r3, _0804216C @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r0, [r3, r2] - subs r0, r0, r1 - cmp r0, #0x60 - bhi _0804217A - movs r6, #0x2e - ldrsh r2, [r4, r6] - adds r0, r2, #0 - subs r0, #0x38 - movs r6, #0x2e - ldrsh r1, [r3, r6] - subs r0, r1, r0 - cmp r0, #0x38 - bhi _08042170 - ldr r0, [r4, #0x64] - ldr r5, [r0, #0x18] - b _0804217A - .align 2, 0 -_0804216C: .4byte gUnk_03001160 -_08042170: - subs r0, r1, r2 - cmp r0, #0x38 - bhi _0804217A - ldr r0, [r4, #0x64] - ldr r5, [r0, #0x14] -_0804217A: - cmp r5, #0 - beq _080421A2 - ldrb r0, [r5, #0xc] - cmp r0, #2 - bne _080421AA - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _080421AA - movs r1, #0 - movs r0, #3 - strb r0, [r5, #0xc] - strb r1, [r5, #0xd] - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0xb4 - lsls r0, r0, #2 - b _080421A8 -_080421A2: - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0x3c -_080421A8: - strh r0, [r1] -_080421AA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080421AC -sub_080421AC: @ 0x080421AC - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x7e - ldrh r0, [r5] - adds r7, r0, #0 - cmp r7, #0 - beq _080421C0 - subs r0, #1 - b _08042210 -_080421C0: - adds r6, r4, #0 - adds r6, #0x79 - ldrb r0, [r6] - cmp r0, #0 - bne _080421FE - bl sub_08000E50 - movs r5, #1 - ands r0, r5 - cmp r0, #0 - beq _080421F4 - ldr r0, _080421F0 @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r1, [r0] - movs r0, #0xc - ands r0, r1 - cmp r0, #0 - beq _080421F4 - adds r0, r4, #0 - bl sub_08042264 - strb r5, [r6] - b _08042212 - .align 2, 0 -_080421F0: .4byte gUnk_030010A0 -_080421F4: - adds r1, r4, #0 - adds r1, #0x7e - movs r0, #0x1e - strh r0, [r1] - b _08042212 -_080421FE: - adds r0, r4, #0 - movs r1, #0 - bl sub_080422C0 - cmp r0, #0 - beq _08042212 - strb r7, [r6] - movs r0, #0xb4 - lsls r0, r0, #1 -_08042210: - strh r0, [r5] -_08042212: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08042214 -sub_08042214: @ 0x08042214 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x7e - ldrh r0, [r6] - adds r7, r0, #0 - cmp r7, #0 - beq _08042228 - subs r0, #1 - b _0804225E -_08042228: - adds r5, r4, #0 - adds r5, #0x79 - ldrb r0, [r5] - cmp r0, #0 - bne _0804224E - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _0804224A - adds r0, r4, #0 - bl sub_0804228C - movs r0, #1 - strb r0, [r5] - b _08042260 -_0804224A: - movs r0, #0x1e - b _0804225E -_0804224E: - adds r0, r4, #0 - movs r1, #1 - bl sub_080422C0 - cmp r0, #0 - beq _08042260 - strb r7, [r5] - movs r0, #0xb4 -_0804225E: - strh r0, [r6] -_08042260: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08042264 -sub_08042264: @ 0x08042264 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - bl sub_080042AC - ldr r0, [r4, #0x64] - ldr r1, [r0, #4] - movs r0, #1 - strb r0, [r1, #0xd] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - movs r1, #0xd - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - movs r1, #0x13 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_0804228C -sub_0804228C: @ 0x0804228C - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_080042AC - ldr r0, [r4, #0x64] - ldr r1, [r0, #4] - movs r0, #1 - strb r0, [r1, #0xd] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - movs r1, #0xd - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - movs r1, #0x13 - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - movs r1, #0x1d - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080422C0 -sub_080422C0: @ 0x080422C0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - mov r8, r1 - bl sub_080042B8 - ldr r0, [r5, #0x64] - ldr r0, [r0, #8] - bl sub_08004274 - ldr r0, [r5, #0x64] - ldr r7, [r0, #4] - adds r0, r7, #0 - bl sub_08004274 - mov r0, r8 - adds r0, #1 - adds r6, r7, #0 - adds r6, #0x5a - ldrb r4, [r6] - cmp r0, r4 - bne _08042306 - movs r0, #0x21 - bl sub_080A7EE0 - cmp r0, #0 - beq _08042354 - mov r1, r8 - strb r1, [r0, #0xa] - str r5, [r0, #0x50] - ldrb r0, [r6] - bics r0, r4 - strb r0, [r6] - b _08042354 -_08042306: - cmp r4, #4 - bne _0804231A - movs r0, #0xfb - ands r4, r0 - strb r4, [r6] - adds r0, r5, #0 - movs r1, #3 - bl sub_080042AC - b _08042354 -_0804231A: - movs r0, #0x80 - ands r4, r0 - cmp r4, #0 - beq _08042354 - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC - movs r0, #0 - strb r0, [r7, #0xd] - adds r0, r7, #0 - movs r1, #0xc - bl sub_08004260 - ldr r0, [r5, #0x64] - ldr r0, [r0, #8] - movs r1, #0x12 - bl sub_08004260 - mov r0, r8 - cmp r0, #1 - bne _08042350 - ldr r0, [r5, #0x64] - ldr r0, [r0, #0xc] - movs r1, #0x1b - bl sub_08004260 -_08042350: - movs r0, #1 - b _08042356 -_08042354: - movs r0, #0 -_08042356: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0804235C -sub_0804235C: @ 0x0804235C - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x79 - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x7e - movs r5, #0 - movs r0, #0xf0 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - strb r5, [r0, #0xd] - movs r1, #0xc - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - movs r1, #0x12 - bl sub_08004260 - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - movs r1, #0x1b - bl sub_08004260 - pop {r4, r5, pc} - - thumb_func_start sub_080423A4 -sub_080423A4: @ 0x080423A4 - push {r4, lr} - ldr r0, _080423CC @ =gUnk_030010A0 - adds r4, r0, #0 - adds r4, #0x38 - ldrb r1, [r4] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _0804241C - ldr r0, _080423D0 @ =gUnk_02002A40 - movs r2, #0x93 - lsls r2, r2, #3 - adds r1, r0, r2 - ldr r0, [r1] - cmp r0, #0 - beq _080423D4 - subs r0, #1 - str r0, [r1] - b _0804241C - .align 2, 0 -_080423CC: .4byte gUnk_030010A0 -_080423D0: .4byte gUnk_02002A40 -_080423D4: - ldr r2, _08042420 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0xa9 - ldrb r0, [r0] - cmp r0, #1 - bgt _0804241C - cmp r0, #0 - blt _0804241C - ldr r0, [r2, #0x2c] - cmp r0, #0 - bne _0804241C - ldr r1, _08042424 @ =gUnk_03001160 - adds r0, r1, #0 - adds r0, #0x7a - ldrh r0, [r0] - cmp r0, #0 - bne _0804241C - movs r3, #0x36 - ldrsh r0, [r1, r3] - movs r1, #0x80 - lsls r1, r1, #8 - ands r0, r1 - cmp r0, #0 - beq _0804240A - ldrb r0, [r2, #0xa] - cmp r0, #0 - beq _0804241C -_0804240A: - movs r0, #0xb7 - lsls r0, r0, #4 - movs r1, #0 - bl sub_08078AA8 - ldrb r0, [r4] - movs r1, #2 - orrs r0, r1 - strb r0, [r4] -_0804241C: - pop {r4, pc} - .align 2, 0 -_08042420: .4byte gUnk_03003F80 -_08042424: .4byte gUnk_03001160 - - thumb_func_start sub_08042428 -sub_08042428: @ 0x08042428 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0] - ldr r0, [r0, #4] - cmp r0, #0 - bne _0804243C - str r0, [r4, #0x64] - bl sub_0805E780 -_0804243C: - ldrb r1, [r4, #0xc] - cmp r1, #0 - bne _08042450 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - adds r0, r4, #0 - movs r1, #0xc - bl sub_08004260 -_08042450: - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0804245C - adds r0, r4, #0 - bl sub_08004274 -_0804245C: - ldr r0, [r4, #0x58] - ldr r1, _0804249C @ =0x008000FF - ands r0, r1 - subs r1, #0xf3 - cmp r0, r1 - bne _08042480 - adds r0, r4, #0 - movs r1, #0xc - bl sub_08004260 - bl sub_08000E50 - movs r1, #0x78 - ands r0, r1 - adds r0, #0x78 - adds r1, r4, #0 - adds r1, #0x59 - strb r0, [r1] -_08042480: - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r1, r4, #0 - movs r2, #0 - movs r3, #1 - bl sub_0806FA90 - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - pop {r4, pc} - .align 2, 0 -_0804249C: .4byte 0x008000FF - - thumb_func_start sub_080424A0 -sub_080424A0: @ 0x080424A0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080424B4 - str r0, [r4, #0x64] - bl sub_0805E780 -_080424B4: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080424C6 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x12 - bl sub_08004260 -_080424C6: - ldr r0, [r4, #0x64] - ldr r0, [r0] - movs r3, #1 - rsbs r3, r3, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA90 - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x12 - bne _08042502 - ldr r1, _08042504 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - ldr r1, _08042508 @ =gUnk_080D0EB0 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] -_08042502: - pop {r4, pc} - .align 2, 0 -_08042504: .4byte gUnk_03001160 -_08042508: .4byte gUnk_080D0EB0 - - thumb_func_start sub_0804250C -sub_0804250C: @ 0x0804250C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08042520 - str r0, [r4, #0x64] - bl sub_0805E780 -_08042520: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08042532 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x1c - bl sub_08004260 -_08042532: - ldr r0, [r4, #0x64] - ldr r0, [r0] - movs r3, #1 - rsbs r3, r3, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA90 - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_08042554 -sub_08042554: @ 0x08042554 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0804256C @ =gUnk_080D1230 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0804256C: .4byte gUnk_080D1230 - - thumb_func_start sub_08042570 -sub_08042570: @ 0x08042570 - push {lr} - ldr r2, _08042584 @ =gUnk_080D1248 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08042584: .4byte gUnk_080D1248 - - thumb_func_start sub_08042588 -sub_08042588: @ 0x08042588 - push {lr} - ldr r1, _08042594 @ =gUnk_080D1230 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08042594: .4byte gUnk_080D1230 - - thumb_func_start nullsub_170 -nullsub_170: @ 0x08042598 - bx lr - .align 2, 0 - - thumb_func_start sub_0804259C -sub_0804259C: @ 0x0804259C - push {lr} - ldr r2, _080425B0 @ =gUnk_080D125C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080425B0: .4byte gUnk_080D125C - - thumb_func_start sub_080425B4 -sub_080425B4: @ 0x080425B4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_080437DC - cmp r0, #0 - beq _0804264C - adds r0, r4, #0 - adds r0, #0x7c - movs r1, #0 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - ldr r5, _08042614 @ =gUnk_030010A0 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - movs r6, #1 - adds r1, r6, #0 - ands r1, r0 - cmp r1, #0 - beq _08042634 - adds r0, r5, #0 - adds r0, #0x3c - ldrb r0, [r0] - ldrb r1, [r4, #0xb] - cmp r0, r1 - bne _08042620 - adds r0, r4, #0 - bl sub_08043EB8 - adds r0, r4, #0 - bl sub_08043ABC - adds r0, r5, #0 - adds r0, #0x39 - ldrb r1, [r0] - ldrb r0, [r4, #0xb] - adds r0, #2 - asrs r1, r0 - ands r1, r6 - cmp r1, #0 - beq _08042618 - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #4 - strb r0, [r4, #0xd] - b _0804264C - .align 2, 0 -_08042614: .4byte gUnk_030010A0 -_08042618: - movs r0, #8 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - b _0804264C -_08042620: - adds r0, r4, #0 - bl sub_08044000 - adds r0, r4, #0 - bl sub_08043BC8 - adds r0, r4, #0 - bl sub_08043A10 - b _0804264C -_08042634: - strb r6, [r4, #0xc] - strb r1, [r4, #0xd] - ldr r2, [r4, #0x64] - ldr r1, _08042650 @ =gUnk_080D1280 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2, #0x20] - adds r0, r4, #0 - bl sub_08042654 -_0804264C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08042650: .4byte gUnk_080D1280 - - thumb_func_start sub_08042654 -sub_08042654: @ 0x08042654 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0xb] - lsls r3, r0, #2 - ldr r0, [r6, #0x64] - adds r2, r0, #0 - adds r2, #0x18 - ldrb r0, [r6, #0xd] - cmp r0, #4 - bls _0804266A - b _080427FC -_0804266A: - lsls r0, r0, #2 - ldr r1, _08042674 @ =_08042678 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08042674: .4byte _08042678 -_08042678: @ jump table - .4byte _0804268C @ case 0 - .4byte _080426B0 @ case 1 - .4byte _080426E0 @ case 2 - .4byte _08042710 @ case 3 - .4byte _08042740 @ case 4 -_0804268C: - movs r0, #1 - strb r0, [r6, #0xd] - ldr r1, _080426A8 @ =gUnk_080D1284 - ldrb r0, [r6, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2, #1] - ldr r1, _080426AC @ =gUnk_080D1286 - ldrb r0, [r6, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r6, #0 - b _080427EE - .align 2, 0 -_080426A8: .4byte gUnk_080D1284 -_080426AC: .4byte gUnk_080D1286 -_080426B0: - ldrh r0, [r2, #8] - ldrh r1, [r2] - adds r0, r0, r1 - strh r0, [r2] - ldr r1, [r6, #0x64] - adds r1, #0x34 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xb - bhi _080426CC - b _0804280E -_080426CC: - movs r0, #2 - strb r0, [r6, #0xd] - ldr r1, _080426DC @ =gUnk_080D1286 - adds r0, r3, #1 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r6, #0 - b _080427EE - .align 2, 0 -_080426DC: .4byte gUnk_080D1286 -_080426E0: - ldrh r0, [r2, #8] - ldrh r1, [r2] - adds r0, r0, r1 - strh r0, [r2] - ldr r1, [r6, #0x64] - adds r1, #0x44 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xd - bhi _080426FC - b _0804280E -_080426FC: - movs r0, #3 - strb r0, [r6, #0xd] - ldr r1, _0804270C @ =gUnk_080D1286 - adds r0, r3, #2 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r6, #0 - b _080427EE - .align 2, 0 -_0804270C: .4byte gUnk_080D1286 -_08042710: - ldrh r0, [r2, #8] - ldrh r1, [r2] - adds r0, r0, r1 - strh r0, [r2] - ldr r1, [r6, #0x64] - adds r1, #0x54 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xf - bls _0804280E - movs r0, #4 - strb r0, [r6, #0xd] - ldr r1, _0804273C @ =gUnk_080D1286 - adds r0, r3, #3 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r6, #0 - b _080427EE - .align 2, 0 -_0804273C: .4byte gUnk_080D1286 -_08042740: - ldrh r0, [r2, #8] - ldrh r1, [r2] - adds r0, r0, r1 - strh r0, [r2] - ldr r1, [r6, #0x64] - adds r1, #0x64 - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1b - bls _0804280E - movs r0, #5 - strb r0, [r6, #0xd] - movs r0, #0x5a - strb r0, [r6, #0xe] - ldr r0, [r6, #0x64] - ldr r1, [r0] - ldrb r0, [r1, #0x10] - movs r5, #0x80 - orrs r0, r5 - strb r0, [r1, #0x10] - ldr r0, [r6, #0x64] - ldr r1, [r0] - adds r1, #0x29 - ldrb r2, [r1] - movs r3, #8 - rsbs r3, r3, #0 - adds r0, r3, #0 - ands r0, r2 - movs r4, #4 - orrs r0, r4 - strb r0, [r1] - ldr r0, [r6, #0x64] - ldr r1, [r0, #4] - ldrb r0, [r1, #0x10] - orrs r0, r5 - strb r0, [r1, #0x10] - ldr r0, [r6, #0x64] - ldr r1, [r0, #4] - adds r1, #0x29 - ldrb r2, [r1] - adds r0, r3, #0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - ldr r0, [r6, #0x64] - ldr r1, [r0, #8] - ldrb r0, [r1, #0x10] - orrs r0, r5 - strb r0, [r1, #0x10] - ldr r0, [r6, #0x64] - ldr r1, [r0, #8] - adds r1, #0x29 - ldrb r2, [r1] - adds r0, r3, #0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - ldr r0, [r6, #0x64] - ldr r1, [r0, #0xc] - ldrb r0, [r1, #0x10] - orrs r0, r5 - strb r0, [r1, #0x10] - ldr r0, [r6, #0x64] - ldr r1, [r0, #0xc] - adds r1, #0x29 - ldrb r2, [r1] - adds r0, r3, #0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - ldr r0, [r6, #0x64] - ldr r1, [r0, #0x10] - ldrb r0, [r1, #0x10] - orrs r0, r5 - strb r0, [r1, #0x10] - ldr r0, [r6, #0x64] - ldr r0, [r0, #0x10] - adds r0, #0x29 - ldrb r1, [r0] - ands r3, r1 - orrs r3, r4 - strb r3, [r0] - adds r0, r6, #0 - movs r1, #7 -_080427EE: - bl sub_080042AC - movs r0, #0xaf - lsls r0, r0, #1 - bl sub_080A3268 - b _0804280E -_080427FC: - ldrb r0, [r6, #0xe] - subs r0, #1 - strb r0, [r6, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0804280E - adds r0, r6, #0 - bl sub_08043BC8 -_0804280E: - adds r0, r6, #0 - bl sub_08043A10 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08042818 -sub_08042818: @ 0x08042818 - push {r4, lr} - adds r4, r0, #0 - bl sub_08043CD4 - ldr r0, [r4, #0x64] - adds r2, r0, #0 - adds r2, #0x18 - ldrh r1, [r2, #8] - ldrh r3, [r0, #0x18] - adds r1, r1, r3 - strh r1, [r0, #0x18] - ldrb r0, [r2, #0xd] - subs r0, #1 - strb r0, [r2, #0xd] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08042848 - movs r0, #0x78 - strb r0, [r2, #0xd] - movs r3, #8 - ldrsh r0, [r2, r3] - rsbs r0, r0, #0 - strh r0, [r2, #8] -_08042848: - ldrh r0, [r2, #0xa] - ldrh r3, [r2, #4] - adds r0, r0, r3 - strh r0, [r2, #4] - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - ands r0, r1 - cmp r0, #0 - bne _08042868 - movs r0, #0x50 - strb r0, [r2, #0xe] - movs r1, #0xa - ldrsh r0, [r2, r1] - rsbs r0, r0, #0 - strh r0, [r2, #0xa] -_08042868: - adds r0, r4, #0 - bl sub_08043A10 - pop {r4, pc} - - thumb_func_start sub_08042870 -sub_08042870: @ 0x08042870 - push {r4, lr} - adds r4, r0, #0 - bl sub_08043CD4 - ldr r1, _08042890 @ =gUnk_080D1290 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08043A10 - pop {r4, pc} - .align 2, 0 -_08042890: .4byte gUnk_080D1290 - - thumb_func_start sub_08042894 -sub_08042894: @ 0x08042894 - movs r1, #1 - strb r1, [r0, #0xd] - ldr r2, [r0, #0x64] - ldr r1, _080428A8 @ =gUnk_080D12AC - ldrb r0, [r0, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2, #0x20] - bx lr - .align 2, 0 -_080428A8: .4byte gUnk_080D12AC - - thumb_func_start sub_080428AC -sub_080428AC: @ 0x080428AC - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - adds r3, r0, #0 - adds r3, #0x18 - ldrb r0, [r3, #5] - cmp r0, #0x40 - beq _080428CC - cmp r0, #0x40 - bls _080428C6 - ldrh r0, [r3, #4] - subs r0, #0x80 - b _080428CA -_080428C6: - ldrh r0, [r3, #4] - adds r0, #0x80 -_080428CA: - strh r0, [r3, #4] -_080428CC: - ldrb r1, [r3, #1] - ldr r2, _080428E8 @ =gUnk_080D12B0 - ldrb r0, [r4, #0xb] - adds r0, r0, r2 - ldrb r0, [r0] - subs r1, r1, r0 - adds r1, #1 - cmp r1, #2 - bls _080428EC - ldrh r0, [r3, #8] - ldrh r1, [r3] - adds r0, r0, r1 - strh r0, [r3] - b _080428F4 - .align 2, 0 -_080428E8: .4byte gUnk_080D12B0 -_080428EC: - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] -_080428F4: - adds r0, r4, #0 - bl sub_08043BF0 - pop {r4, pc} - - thumb_func_start sub_080428FC -sub_080428FC: @ 0x080428FC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0804293C - movs r0, #3 - strb r0, [r4, #0xd] - ldr r1, [r4, #0x64] - adds r1, #0x18 - movs r0, #8 - ldrsh r2, [r1, r0] - lsls r0, r2, #1 - adds r0, r0, r2 - rsbs r0, r0, #0 - strh r0, [r1, #8] - ldr r0, _08042940 @ =0x00000153 - bl sub_080A3268 - movs r2, #0 - movs r3, #0x3b -_0804292A: - ldr r0, [r4, #0x64] - lsls r1, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - adds r0, #0x3f - strb r3, [r0] - adds r2, #1 - cmp r2, #4 - bls _0804292A -_0804293C: - pop {r4, pc} - .align 2, 0 -_08042940: .4byte 0x00000153 - - thumb_func_start sub_08042944 -sub_08042944: @ 0x08042944 - push {lr} - adds r3, r0, #0 - ldr r2, [r3, #0x64] - adds r1, r2, #0 - adds r1, #0x18 - ldrb r0, [r1, #1] - subs r0, #0x7c - cmp r0, #8 - bls _08042960 - ldrh r0, [r1, #8] - ldrh r1, [r2, #0x18] - adds r0, r0, r1 - strh r0, [r2, #0x18] - b _08042968 -_08042960: - movs r0, #4 - strb r0, [r3, #0xd] - ldrh r0, [r1, #8] - strh r0, [r3, #0x24] -_08042968: - adds r0, r3, #0 - bl sub_08043BF0 - pop {pc} - - thumb_func_start sub_08042970 -sub_08042970: @ 0x08042970 - push {r4, r5, lr} - adds r3, r0, #0 - ldr r4, [r3, #0x64] - adds r2, r4, #0 - adds r2, #0x18 - ldrb r0, [r2, #1] - ldr r1, _080429A4 @ =gUnk_080D12B2 - ldrb r5, [r3, #0xb] - adds r1, r5, r1 - ldrb r1, [r1] - subs r0, r0, r1 - adds r0, #2 - cmp r0, #4 - bls _080429AC - ldr r0, _080429A8 @ =gUnk_080D12B4 - adds r0, r5, r0 - movs r1, #0 - ldrsb r1, [r0, r1] - ldrh r0, [r2, #8] - adds r1, r1, r0 - strh r1, [r2, #8] - ldrh r0, [r4, #0x18] - adds r0, r0, r1 - strh r0, [r4, #0x18] - b _080429CA - .align 2, 0 -_080429A4: .4byte gUnk_080D12B2 -_080429A8: .4byte gUnk_080D12B4 -_080429AC: - movs r0, #5 - strb r0, [r3, #0xd] - movs r0, #0x3c - strb r0, [r3, #0xe] - movs r2, #0 - movs r4, #0x39 -_080429B8: - ldr r0, [r3, #0x64] - lsls r1, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - adds r0, #0x3f - strb r4, [r0] - adds r2, #1 - cmp r2, #4 - bls _080429B8 -_080429CA: - adds r0, r3, #0 - bl sub_08043BF0 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080429D4 -sub_080429D4: @ 0x080429D4 - push {r4, lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080429FA - movs r0, #6 - strb r0, [r1, #0xd] - ldr r4, [r1, #0x64] - adds r4, #0x18 - movs r2, #0x24 - ldrsh r0, [r1, r2] - rsbs r0, r0, #0 - movs r1, #6 - bl __divsi3 - strh r0, [r4, #8] -_080429FA: - pop {r4, pc} - - thumb_func_start sub_080429FC -sub_080429FC: @ 0x080429FC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x64] - adds r5, r3, #0 - adds r5, #0x18 - ldrb r1, [r5, #1] - ldr r2, _08042A28 @ =gUnk_080D12B6 - ldrb r0, [r4, #0xb] - adds r0, r0, r2 - ldrb r0, [r0] - subs r1, r1, r0 - adds r1, #1 - cmp r1, #2 - bls _08042A2C - ldrh r0, [r5, #8] - ldrh r1, [r3, #0x18] - adds r0, r0, r1 - strh r0, [r3, #0x18] - adds r0, r4, #0 - bl sub_08043BF0 - b _08042A3A - .align 2, 0 -_08042A28: .4byte gUnk_080D12B6 -_08042A2C: - adds r0, r4, #0 - bl sub_08043BC8 - adds r0, r4, #0 - movs r1, #7 - bl sub_080042AC -_08042A3A: - pop {r4, r5, pc} - - thumb_func_start sub_08042A3C -sub_08042A3C: @ 0x08042A3C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08042A68 @ =gUnk_080D12B8 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08043A10 - ldr r0, [r4, #0x64] - ldr r1, [r0, #0x10] - adds r4, #0x78 - ldrh r0, [r1, #0x36] - ldrb r4, [r4] - adds r0, r0, r4 - strh r0, [r1, #0x36] - pop {r4, pc} - .align 2, 0 -_08042A68: .4byte gUnk_080D12B8 - - thumb_func_start sub_08042A6C -sub_08042A6C: @ 0x08042A6C - adds r3, r0, #0 - movs r2, #0 - movs r1, #1 - strb r1, [r3, #0xd] - adds r0, #0x78 - strb r2, [r0] - adds r0, #6 - strb r1, [r0] - ldr r1, [r3, #0x64] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r1, #0x22] - bx lr - .align 2, 0 - - thumb_func_start sub_08042A88 -sub_08042A88: @ 0x08042A88 - push {r4, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x64] - adds r2, r3, #0 - adds r2, #0x18 - ldr r1, _08042AA8 @ =gUnk_080D12C8 - ldrb r0, [r4, #0xb] - adds r0, r0, r1 - ldrb r1, [r0] - ldrb r0, [r2, #1] - cmp r1, r0 - beq _08042ABC - cmp r1, r0 - bhs _08042AB0 - ldr r1, _08042AAC @ =0xFFFFFF00 - b _08042AB4 - .align 2, 0 -_08042AA8: .4byte gUnk_080D12C8 -_08042AAC: .4byte 0xFFFFFF00 -_08042AB0: - movs r1, #0x80 - lsls r1, r1, #1 -_08042AB4: - adds r0, r1, #0 - ldrh r1, [r3, #0x18] - adds r0, r0, r1 - strh r0, [r3, #0x18] -_08042ABC: - movs r1, #0xa - ldrsh r0, [r2, r1] - ldrh r1, [r2, #4] - cmp r0, r1 - bge _08042ACE - ldrh r0, [r2, #0xa] - subs r0, r1, r0 - strh r0, [r2, #4] - b _08042AE6 -_08042ACE: - movs r0, #0 - strh r0, [r2, #4] - ldr r1, _08042AE8 @ =gUnk_080D12CA - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2, #8] - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] -_08042AE6: - pop {r4, pc} - .align 2, 0 -_08042AE8: .4byte gUnk_080D12CA - - thumb_func_start sub_08042AEC -sub_08042AEC: @ 0x08042AEC - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08042B1C - movs r0, #3 - strb r0, [r5, #0xd] - movs r0, #4 - strb r0, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x3f - movs r4, #0x3d - strb r4, [r0] - adds r0, r5, #0 - movs r1, #0xe - bl sub_080042AC - ldr r0, [r5, #0x64] - ldr r0, [r0, #4] - adds r0, #0x3f - strb r4, [r0] -_08042B1C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08042B20 -sub_08042B20: @ 0x08042B20 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x64] - adds r1, r0, #0 - adds r1, #0x18 - ldrb r0, [r1, #5] - cmp r0, #0x7a - bhi _08042B3E - movs r2, #0xa0 - lsls r2, r2, #3 - adds r0, r2, #0 - ldrh r2, [r1, #4] - adds r0, r0, r2 - strh r0, [r1, #4] - b _08042B42 -_08042B3E: - movs r0, #0x80 - strb r0, [r1, #5] -_08042B42: - ldrb r0, [r1, #5] - cmp r0, #0x30 - bls _08042B50 - ldrh r0, [r1, #8] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] -_08042B50: - ldr r0, [r5, #0x64] - ldr r0, [r0, #0xc] - ldrb r0, [r0, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - beq _08042BE0 - adds r0, r5, #0 - bl sub_08043C40 - movs r6, #0 - movs r7, #0xa - rsbs r7, r7, #0 -_08042B68: - ldr r0, [r5, #0x64] - lsls r1, r6, #2 - adds r0, r0, r1 - ldr r4, [r0] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, r7 - blt _08042BD4 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _08042BD4 - cmp r6, #0 - bne _08042BBA - movs r0, #0xaf - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08042B9C - ldr r0, [r5, #0x64] - ldr r0, [r0, #0x10] - str r0, [r1, #0x50] -_08042B9C: - ldr r0, [r5, #0x64] - ldr r0, [r0, #0x10] - str r1, [r0, #0x68] - movs r0, #0xaf - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08042BBA - ldr r0, [r5, #0x64] - ldr r0, [r0, #0x10] - bl sub_0806FA24 -_08042BBA: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0x18] - movs r2, #4 - rsbs r2, r2, #0 - adds r1, r2, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, _08042BDC @ =0x00000161 - bl sub_080A3268 -_08042BD4: - adds r6, #1 - cmp r6, #3 - bls _08042B68 - b _08042C12 - .align 2, 0 -_08042BDC: .4byte 0x00000161 -_08042BE0: - adds r0, r5, #0 - adds r0, #0x78 - ldrb r1, [r0] - adds r1, #2 - strb r1, [r0] - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _08042C12 - movs r0, #5 - strb r0, [r5, #0xc] - strb r1, [r5, #0xd] - movs r0, #0x1e - strb r0, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x3f - movs r1, #0x39 - strb r1, [r0] - ldr r0, [r5, #0x64] - ldr r0, [r0, #4] - adds r0, #0x3f - strb r1, [r0] -_08042C12: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08042C14 -sub_08042C14: @ 0x08042C14 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08042C30 @ =gUnk_080D12D0 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08043A78 - pop {r4, pc} - .align 2, 0 -_08042C30: .4byte gUnk_080D12D0 - - thumb_func_start sub_08042C34 -sub_08042C34: @ 0x08042C34 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - adds r7, r0, #0 - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08042D0C - movs r0, #0x3c - strb r0, [r7, #0xe] - movs r0, #3 - strb r0, [r7, #0xf] - movs r0, #1 - strb r0, [r7, #0xd] - bl sub_08000E50 - movs r1, #6 - ands r1, r0 - ldr r0, _08042D14 @ =gUnk_080D12F8 - adds r1, r1, r0 - ldr r3, _08042D18 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r2, [r3, r0] - movs r0, #0 - ldrsb r0, [r1, r0] - adds r6, r2, r0 - movs r0, #0x32 - ldrsh r2, [r3, r0] - movs r0, #1 - ldrsb r0, [r1, r0] - adds r5, r2, r0 - ldr r3, _08042D1C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - adds r0, r2, #0 - adds r0, #0x20 - cmp r0, r6 - ble _08042C86 - adds r6, r0, #0 -_08042C86: - ldrh r0, [r3, #0x1e] - adds r0, r2, r0 - subs r0, #0x20 - cmp r0, r6 - bge _08042C92 - adds r6, r0, #0 -_08042C92: - ldrh r1, [r3, #8] - adds r0, r1, #0 - adds r0, #0x20 - cmp r0, r5 - ble _08042C9E - adds r5, r0, #0 -_08042C9E: - ldrh r0, [r3, #0x20] - adds r0, r1, r0 - subs r0, #0x40 - cmp r0, r5 - bge _08042CAA - adds r5, r0, #0 -_08042CAA: - subs r0, r6, r2 - subs r0, #0x90 - cmp r0, #0x40 - bhi _08042CC2 - subs r0, r5, r1 - subs r0, #8 - cmp r0, #0x40 - bhi _08042CC2 - adds r6, r2, #0 - adds r6, #0xb0 - adds r5, r1, #0 - adds r5, #0x40 -_08042CC2: - movs r4, #0 - mov r8, r4 - movs r3, #0x18 -_08042CC8: - ldr r0, [r7, #0x64] - lsls r1, r4, #2 - adds r0, r0, r1 - ldr r2, [r0] - strh r6, [r2, #0x2e] - strh r5, [r2, #0x32] - movs r0, #0x32 - strh r0, [r2, #0x36] - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0x39 - strb r0, [r1] - ldr r1, [r7, #0x64] - adds r1, r1, r3 - movs r0, #0x80 - strh r0, [r1] - mov r0, r8 - strh r0, [r1, #4] - ldr r0, _08042D20 @ =gUnk_080D1419 - adds r0, r4, r0 - ldrb r0, [r0] - strb r0, [r1, #0xc] - cmp r4, #0 - beq _08042D04 - adds r0, r2, #0 - movs r1, #0x12 - str r3, [sp] - bl sub_08004260 - ldr r3, [sp] -_08042D04: - adds r3, #0x10 - adds r4, #1 - cmp r4, #3 - bls _08042CC8 -_08042D0C: - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08042D14: .4byte gUnk_080D12F8 -_08042D18: .4byte gUnk_03001160 -_08042D1C: .4byte gUnk_03000BF0 -_08042D20: .4byte gUnk_080D1419 - - thumb_func_start sub_08042D24 -sub_08042D24: @ 0x08042D24 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08042D68 - movs r0, #2 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x3f - movs r1, #0x3d - strb r1, [r0] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - adds r0, #0x3f - strb r1, [r0] - movs r0, #0xaf - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08042D5E - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - str r0, [r1, #0x50] -_08042D5E: - str r1, [r4, #0x68] - adds r0, r4, #0 - movs r1, #0xd - bl sub_080042AC -_08042D68: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08042D6C -sub_08042D6C: @ 0x08042D6C - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r6, #0 -_08042D72: - ldr r0, [r5, #0x64] - lsls r1, r6, #2 - adds r0, r0, r1 - ldr r4, [r0] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #3 - bgt _08042DC4 - cmp r6, #2 - beq _08042D8E - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_08042D8E: - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - bne _08042DB4 - movs r0, #0xaf - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08042DB4 - adds r0, r4, #0 - bl sub_0806FA24 - movs r0, #0xb3 - lsls r0, r0, #1 - bl sub_080A3268 -_08042DB4: - ldrb r0, [r4, #0x18] - movs r2, #4 - rsbs r2, r2, #0 - adds r1, r2, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_08042DC4: - adds r6, #1 - cmp r6, #3 - bls _08042D72 - ldr r0, [r5, #0x64] - ldr r4, [r0, #0xc] - ldrh r2, [r4, #0x36] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #3 - rsbs r0, r0, #0 - cmp r1, r0 - bgt _08042E28 - ldr r0, _08042E20 @ =0x0000FFFB - strh r0, [r4, #0x36] - ldr r2, [r5, #0x64] - ldr r1, _08042E24 @ =gUnk_080D1300 - ldrb r0, [r5, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2, #0x20] - ldr r1, [r5, #0x64] - movs r0, #0xc0 - strh r0, [r1, #0x22] - movs r0, #3 - strb r0, [r5, #0xd] - movs r0, #0x1e - strb r0, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x3f - movs r4, #0x39 - strb r4, [r0] - adds r1, r5, #0 - adds r1, #0x7f - movs r0, #0x2d - strb r0, [r1] - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC - ldr r0, [r5, #0x64] - ldr r0, [r0, #4] - adds r0, #0x3f - strb r4, [r0] - b _08042E2C - .align 2, 0 -_08042E20: .4byte 0x0000FFFB -_08042E24: .4byte gUnk_080D1300 -_08042E28: - subs r0, r2, #2 - strh r0, [r4, #0x36] -_08042E2C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08042E30 -sub_08042E30: @ 0x08042E30 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r1, r6, #0 - adds r1, #0x7f - ldrb r0, [r1] - cmp r0, #0 - bne _08042E4A - adds r0, r6, #0 - bl sub_08043C98 - cmp r0, #0 - bne _08042EF0 - b _08042E4E -_08042E4A: - subs r0, #1 - strb r0, [r1] -_08042E4E: - ldr r7, [r6, #0x64] - adds r5, r7, #0 - adds r5, #0x18 - ldrb r0, [r6, #0xe] - subs r0, #1 - strb r0, [r6, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08042EB2 - movs r0, #4 - strb r0, [r6, #0xd] - bl sub_08000E50 - movs r1, #0x38 - ands r0, r1 - adds r0, #0x28 - strb r0, [r6, #0xe] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r6, #0x24] - ldrb r0, [r5, #1] - lsrs r0, r0, #3 - strb r0, [r6, #0x15] - movs r1, #0x2e - ldrsh r0, [r6, r1] - movs r2, #0x32 - ldrsh r1, [r6, r2] - ldr r3, _08042ED4 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - movs r4, #0x88 - lsls r4, r4, #1 - adds r2, r2, r4 - ldrh r3, [r3, #8] - adds r3, #0x60 - bl sub_080045D4 - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _08042ED8 @ =gUnk_080D1304 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r0, r0, r4 - movs r1, #0x1f - ands r0, r1 - adds r1, r6, #0 - adds r1, #0x79 - strb r0, [r1] -_08042EB2: - ldrh r0, [r5, #8] - ldrh r1, [r7, #0x18] - adds r0, r0, r1 - strh r0, [r7, #0x18] - ldrh r0, [r5, #0xa] - ldrh r2, [r5, #4] - adds r1, r0, r2 - strh r1, [r5, #4] - lsls r0, r0, #0x10 - cmp r0, #0 - ble _08042EDC - ldrb r0, [r5, #5] - cmp r0, #0x18 - bls _08042EEA - movs r4, #0xa - ldrsh r0, [r5, r4] - b _08042EE6 - .align 2, 0 -_08042ED4: .4byte gUnk_03000BF0 -_08042ED8: .4byte gUnk_080D1304 -_08042EDC: - ldrb r0, [r5, #5] - cmp r0, #3 - bhi _08042EEA - movs r1, #0xa - ldrsh r0, [r5, r1] -_08042EE6: - rsbs r0, r0, #0 - strh r0, [r5, #0xa] -_08042EEA: - adds r0, r6, #0 - bl sub_080042B8 -_08042EF0: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08042EF4 -sub_08042EF4: @ 0x08042EF4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08043C98 - cmp r0, #0 - bne _08042FCE - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08042F4E - ldr r0, _08042F38 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x50 - bl sub_0806FCB8 - cmp r0, #0 - beq _08042F3C - movs r0, #6 - strb r0, [r4, #0xd] - movs r0, #0x28 - strb r0, [r4, #0xe] - b _08042F4E - .align 2, 0 -_08042F38: .4byte gUnk_03001160 -_08042F3C: - movs r0, #5 - strb r0, [r4, #0xd] - adds r0, r4, #0 - movs r1, #0xf - bl sub_080042AC - ldr r0, _08042FD4 @ =0x0000019B - bl sub_080A3268 -_08042F4E: - ldr r0, [r4, #0x64] - adds r7, r0, #0 - adds r7, #0x18 - ldrb r0, [r7, #5] - cmp r0, #0x1f - bhi _08042F66 - movs r1, #0x80 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r2, [r7, #4] - adds r0, r0, r2 - strh r0, [r7, #4] -_08042F66: - ldr r0, [r4, #0x50] - movs r1, #0x2e - ldrsh r3, [r0, r1] - mov r8, r3 - movs r2, #0x32 - ldrsh r0, [r0, r2] - adds r6, r0, #0 - subs r6, #0x10 - adds r0, r4, #0 - mov r1, r8 - adds r2, r6, #0 - movs r3, #0x30 - bl sub_0806FCB8 - adds r5, r4, #0 - adds r5, #0x79 - cmp r0, #0 - beq _08042FAC - movs r3, #0x2e - ldrsh r0, [r4, r3] - movs r2, #0x32 - ldrsh r1, [r4, r2] - mov r2, r8 - adds r3, r6, #0 - bl sub_080045D4 - adds r1, r0, #0 - ldrb r0, [r5] - subs r0, r0, r1 - adds r0, #4 - cmp r0, #8 - bhi _08042FAC - movs r0, #0x10 - eors r1, r0 - strb r1, [r5] -_08042FAC: - ldrb r0, [r5] - ldrb r3, [r4, #0x15] - cmp r0, r3 - beq _08042FC2 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - ldrb r0, [r4, #0x15] - lsls r0, r0, #3 - strb r0, [r7, #1] -_08042FC2: - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - ldrb r1, [r4, #0x15] - strb r1, [r0, #0x15] - bl sub_080AEF88 -_08042FCE: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08042FD4: .4byte 0x0000019B - - thumb_func_start sub_08042FD8 -sub_08042FD8: @ 0x08042FD8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_080042B8 - adds r0, r5, #0 - bl sub_08043C98 - cmp r0, #0 - bne _08043046 - adds r6, r5, #0 - adds r6, #0x5a - ldrb r1, [r6] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08043018 - movs r0, #0x20 - bl sub_080A7EE0 - adds r4, r0, #0 - cmp r4, #0 - beq _08043046 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrh r0, [r4, #0x36] - subs r0, #0x18 - movs r1, #0 - strh r0, [r4, #0x36] - strb r1, [r6] - b _08043046 -_08043018: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08043046 - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08043036 - movs r0, #8 - strb r0, [r5, #0xd] - movs r0, #0x3c - strb r0, [r5, #0xe] - b _08043046 -_08043036: - movs r0, #3 - strb r0, [r5, #0xd] - movs r0, #0x3c - strb r0, [r5, #0xe] - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC -_08043046: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08043048 -sub_08043048: @ 0x08043048 - push {r4, lr} - adds r4, r0, #0 - bl sub_08043C98 - cmp r0, #0 - bne _080430CC - ldr r2, [r4, #0x64] - adds r1, r2, #0 - adds r1, #0x18 - ldrb r0, [r1, #5] - cmp r0, #0x4f - bhi _08043094 - movs r2, #0x80 - lsls r2, r2, #2 - adds r0, r2, #0 - ldrh r3, [r1, #4] - adds r0, r0, r3 - strh r0, [r1, #4] - ldrb r0, [r1, #5] - cmp r0, #0x4f - bls _080430C6 - movs r2, #0 - movs r3, #0x3b -_08043076: - ldr r0, [r4, #0x64] - lsls r1, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - adds r0, #0x3f - strb r3, [r0] - adds r2, #1 - cmp r2, #4 - bls _08043076 - ldr r0, _08043090 @ =0x00000153 - bl sub_080A3268 - b _080430C6 - .align 2, 0 -_08043090: .4byte 0x00000153 -_08043094: - movs r3, #8 - ldrsh r0, [r1, r3] - lsls r0, r0, #3 - ldrh r1, [r2, #0x18] - adds r0, r0, r1 - strh r0, [r2, #0x18] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080430C6 - movs r0, #7 - strb r0, [r4, #0xd] - movs r2, #0 - movs r3, #0x39 -_080430B4: - ldr r0, [r4, #0x64] - lsls r1, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - adds r0, #0x3f - strb r3, [r0] - adds r2, #1 - cmp r2, #4 - bls _080430B4 -_080430C6: - adds r0, r4, #0 - bl sub_08043B9C -_080430CC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080430D0 -sub_080430D0: @ 0x080430D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08043C98 - cmp r0, #0 - bne _08043128 - ldr r1, [r4, #0x64] - adds r2, r1, #0 - adds r2, #0x18 - ldrh r0, [r2, #8] - ldrh r3, [r1, #0x18] - adds r0, r0, r3 - strh r0, [r1, #0x18] - ldr r1, _08043110 @ =0xFFFFFF00 - adds r0, r1, #0 - ldrh r3, [r2, #4] - adds r0, r0, r3 - strh r0, [r2, #4] - ldrb r0, [r2, #5] - cmp r0, #0x17 - bhi _08043128 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08043114 - movs r0, #8 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - b _08043128 - .align 2, 0 -_08043110: .4byte 0xFFFFFF00 -_08043114: - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r0, _0804312C @ =0x0000FF40 - strh r0, [r2, #0xa] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_08043128: - pop {r4, pc} - .align 2, 0 -_0804312C: .4byte 0x0000FF40 - - thumb_func_start sub_08043130 -sub_08043130: @ 0x08043130 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldr r1, [r6, #0x64] - adds r4, r1, #0 - adds r4, #0x18 - ldrb r0, [r4, #5] - cmp r0, #0 - beq _08043160 - adds r0, r6, #0 - bl sub_08043C98 - cmp r0, #0 - bne _080431E0 - ldrb r0, [r4, #5] - subs r0, #1 - strb r0, [r4, #5] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080431E0 - adds r0, r6, #0 - movs r1, #0xd - bl sub_080042AC - b _080431E0 -_08043160: - ldrb r0, [r6, #0xe] - cmp r0, #0 - beq _08043186 - subs r0, #1 - strb r0, [r6, #0xe] - movs r5, #1 - movs r1, #0x28 -_0804316E: - ldr r0, [r6, #0x64] - adds r4, r0, r1 - ldrb r0, [r4, #5] - cmp r0, #0 - beq _0804317C - subs r0, #1 - strb r0, [r4, #5] -_0804317C: - adds r1, #0x10 - adds r5, #1 - cmp r5, #3 - bls _0804316E - b _080431E0 -_08043186: - ldr r1, [r1, #0xc] - ldrh r0, [r1, #0x36] - adds r0, #3 - strh r0, [r1, #0x36] - movs r5, #0 - movs r7, #4 - rsbs r7, r7, #0 -_08043194: - ldr r0, [r6, #0x64] - lsls r1, r5, #2 - adds r0, r0, r1 - ldr r4, [r0] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, r7 - ble _080431C4 - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _080431BC - ldr r0, _080431E4 @ =0x00000161 - bl sub_080A3268 -_080431BC: - ldrb r1, [r4, #0x18] - adds r0, r7, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_080431C4: - adds r5, #1 - cmp r5, #3 - bls _08043194 - ldrb r0, [r6, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - bne _080431E0 - movs r0, #9 - strb r0, [r6, #0xd] - movs r0, #0x3c - strb r0, [r6, #0xe] - adds r0, r6, #0 - bl sub_0804AA1C -_080431E0: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080431E4: .4byte 0x00000161 - - thumb_func_start sub_080431E8 -sub_080431E8: @ 0x080431E8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0804324E - movs r0, #6 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r5, #0 - ldr r7, _08043250 @ =gUnk_080D130C - movs r6, #0x18 -_08043206: - ldr r1, [r4, #0x64] - adds r1, r1, r6 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r7 - ldrh r0, [r0] - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #8 - strh r0, [r1, #4] - ldr r0, _08043254 @ =gUnk_080D1414 - adds r0, r5, r0 - ldrb r0, [r0] - strb r0, [r1, #0xc] - cmp r5, #3 - bne _08043230 - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - movs r1, #0x11 - bl sub_08004260 -_08043230: - adds r6, #0x10 - adds r5, #1 - cmp r5, #3 - bls _08043206 - ldr r2, [r4, #0x64] - ldr r1, _08043258 @ =gUnk_080D1310 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2, #0x20] - adds r0, r4, #0 - movs r1, #0xe - bl sub_080042AC -_0804324E: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08043250: .4byte gUnk_080D130C -_08043254: .4byte gUnk_080D1414 -_08043258: .4byte gUnk_080D1310 - - thumb_func_start sub_0804325C -sub_0804325C: @ 0x0804325C - push {r4, lr} - adds r4, r0, #0 - bl sub_08043CD4 - ldr r0, _0804329C @ =gUnk_080D1314 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08043A10 - adds r2, r4, #0 - adds r2, #0x78 - ldrb r0, [r2] - adds r1, r0, #0 - cmp r1, #0 - beq _080432A4 - cmp r1, #2 - bls _080432A0 - subs r0, #2 - strb r0, [r2] - ldr r0, [r4, #0x64] - ldr r1, [r0, #0x10] - ldrh r0, [r1, #0x36] - ldrb r2, [r2] - adds r0, r0, r2 - strh r0, [r1, #0x36] - b _080432A4 - .align 2, 0 -_0804329C: .4byte gUnk_080D1314 -_080432A0: - movs r0, #0 - strb r0, [r2] -_080432A4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080432A8 -sub_080432A8: @ 0x080432A8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - movs r3, #3 - movs r2, #0 - ldr r0, [r4, #0x64] - adds r1, r0, #0 - adds r1, #0x48 - ldrb r0, [r1, #0xc] - cmp r0, #2 - bls _080432C2 - subs r0, #1 - strb r0, [r1, #0xc] - movs r2, #1 -_080432C2: - subs r3, #1 - cmp r3, #0 - blt _080432E0 - lsls r0, r3, #4 - adds r0, #0x18 - ldr r1, [r4, #0x64] - adds r1, r1, r0 - ldrb r0, [r1, #0xc] - cmp r0, #2 - bls _080432C2 - subs r0, #1 - strb r0, [r1, #0xc] - adds r2, #1 - cmp r2, #1 - ble _080432C2 -_080432E0: - ldr r0, [r4, #0x64] - adds r1, r0, #0 - adds r1, #0x18 - ldrb r0, [r1, #5] - subs r0, #2 - strb r0, [r1, #5] - movs r3, #0 - movs r6, #0x80 - movs r7, #4 - rsbs r7, r7, #0 - movs r5, #1 -_080432F6: - ldr r0, [r4, #0x64] - lsls r1, r3, #2 - adds r0, r0, r1 - ldr r2, [r0] - movs r1, #0x36 - ldrsh r0, [r2, r1] - cmp r0, #3 - bgt _08043316 - ldrb r0, [r2, #0x10] - orrs r0, r6 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x18] - adds r0, r7, #0 - ands r0, r1 - orrs r0, r5 - strb r0, [r2, #0x18] -_08043316: - adds r3, #1 - cmp r3, #3 - ble _080432F6 - ldr r1, [r4, #0x64] - ldr r0, [r1] - ldrb r0, [r0, #0x18] - lsls r0, r0, #0x1e - lsrs r2, r0, #0x1e - cmp r2, #1 - bne _08043348 - adds r0, r1, #0 - adds r0, #0x34 - ldrb r0, [r0] - cmp r0, #2 - bhi _08043348 - strb r2, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #0x80 - lsls r0, r0, #7 - strh r0, [r1, #0x1c] - ldr r0, [r4, #0x64] - ldr r0, [r0, #0x10] - bl sub_0804AA1C -_08043348: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0804334C -sub_0804334C: @ 0x0804334C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08043388 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0804341C - movs r5, #0 - movs r7, #0x80 - movs r6, #4 - rsbs r6, r6, #0 - movs r3, #1 -_0804336A: - ldr r0, [r4, #0x64] - lsls r1, r5, #2 - adds r0, r0, r1 - ldr r2, [r0] - ldrb r0, [r2, #0x10] - orrs r0, r7 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x18] - adds r0, r6, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, #0x18] - adds r5, #1 - cmp r5, #4 - bls _0804336A -_08043388: - ldr r3, [r4, #0x64] - adds r2, r3, #0 - adds r2, #0x18 - ldr r1, _080433AC @ =gUnk_080D131C - ldrb r0, [r4, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - ldrb r1, [r2, #1] - subs r0, r0, r1 - adds r0, #1 - cmp r0, #2 - bls _080433B0 - ldrh r0, [r2, #8] - ldrh r1, [r3, #0x18] - adds r0, r0, r1 - strh r0, [r3, #0x18] - movs r7, #0 - b _080433B2 - .align 2, 0 -_080433AC: .4byte gUnk_080D131C -_080433B0: - movs r7, #1 -_080433B2: - adds r0, r4, #0 - bl sub_08043B9C - movs r5, #0 - movs r6, #0x18 -_080433BC: - ldr r0, [r4, #0x64] - adds r2, r0, r6 - ldr r0, _080433E4 @ =gUnk_080D1414 - adds r0, r5, r0 - ldrb r1, [r2, #0xc] - ldrb r3, [r0] - cmp r3, r1 - bls _080433E8 - adds r0, r1, #1 - strb r0, [r2, #0xc] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r3, r0 - bne _0804341C - movs r0, #0xaf - lsls r0, r0, #1 - bl sub_080A3268 - b _0804341C - .align 2, 0 -_080433E4: .4byte gUnk_080D1414 -_080433E8: - cmp r7, #0 - beq _08043414 - cmp r5, #4 - bne _08043414 - adds r0, r4, #0 - bl sub_08043BC8 - adds r0, r4, #0 - movs r1, #7 - bl sub_080042AC - adds r1, r4, #0 - adds r1, #0x7e - ldrb r0, [r1] - cmp r0, #0 - beq _08043414 - movs r0, #0 - strb r0, [r1] - ldr r0, [r4, #0x64] - ldr r1, [r0, #0x14] - movs r0, #2 - strb r0, [r1, #0xd] -_08043414: - adds r6, #0x10 - adds r5, #1 - cmp r5, #4 - bls _080433BC -_0804341C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08043420 -sub_08043420: @ 0x08043420 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0804343C @ =gUnk_080D1320 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08043ABC - pop {r4, pc} - .align 2, 0 -_0804343C: .4byte gUnk_080D1320 - - thumb_func_start sub_08043440 -sub_08043440: @ 0x08043440 - push {r4, r5, r6, lr} - adds r3, r0, #0 - movs r2, #0 - movs r5, #0 - movs r6, #0 - movs r4, #0x18 -_0804344C: - ldr r0, [r3, #0x64] - adds r1, r0, r4 - ldrb r0, [r1, #5] - cmp r0, #0x10 - bls _0804345E - subs r0, #0x10 - strb r0, [r1, #5] - adds r5, #1 - b _08043460 -_0804345E: - strh r6, [r1, #4] -_08043460: - adds r4, #0x10 - adds r2, #1 - cmp r2, #4 - bls _0804344C - cmp r5, #0 - bne _0804348C - movs r2, #0 - movs r4, #0x80 - lsls r4, r4, #8 -_08043472: - ldr r0, [r3, #0x64] - lsls r1, r2, #4 - adds r0, r0, r1 - strh r4, [r0, #0x18] - adds r2, #1 - cmp r2, #4 - bls _08043472 - movs r0, #1 - strb r0, [r3, #0xd] - adds r0, r3, #0 - movs r1, #0x10 - bl sub_080042AC -_0804348C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08043490 -sub_08043490: @ 0x08043490 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0, #0x10] - mov ip, r0 - ldrh r1, [r0, #0x36] - movs r2, #0x36 - ldrsh r0, [r0, r2] - movs r2, #4 - rsbs r2, r2, #0 - cmp r0, r2 - bge _080434C4 - movs r0, #0xc0 - lsls r0, r0, #9 - mov r3, ip - str r0, [r3, #0x20] - movs r0, #0 - movs r1, #2 - strb r1, [r4, #0xd] - adds r2, r4, #0 - adds r2, #0x7e - strb r0, [r2] - ldr r0, [r4, #0x64] - ldr r0, [r0, #0x14] - strb r1, [r0, #0xd] - b _08043514 -_080434C4: - subs r0, r1, #2 - mov r1, ip - strh r0, [r1, #0x36] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _08043514 - ldrb r0, [r1, #0x10] - movs r3, #0x80 - orrs r0, r3 - strb r0, [r1, #0x10] - ldrb r1, [r1, #0x18] - adds r0, r2, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - mov r2, ip - strb r0, [r2, #0x18] - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xef - ands r0, r1 - strb r0, [r2] - mov r1, ip - adds r1, #0x3f - movs r0, #0x3a - strb r0, [r1] - ldr r0, _0804351C @ =gUnk_080FD450 - mov r1, ip - str r0, [r1, #0x48] - ldr r0, [r4, #0x64] - ldr r1, [r0, #8] - ldrb r0, [r1, #0x10] - orrs r3, r0 - strb r3, [r1, #0x10] - ldr r0, [r4, #0x64] - ldr r2, [r0, #0xc] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] -_08043514: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_0804351C: .4byte gUnk_080FD450 - - thumb_func_start sub_08043520 -sub_08043520: @ 0x08043520 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x64] - ldr r4, [r0, #0x10] - movs r1, #0xd0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _08043556 - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #6 - rsbs r0, r0, #0 - cmp r1, r0 - ble _08043556 - ldr r0, _08043558 @ =0x0000FFFA - strh r0, [r4, #0x36] - movs r0, #3 - strb r0, [r5, #0xd] - adds r1, r5, #0 - adds r1, #0x7a - movs r0, #0xe1 - lsls r0, r0, #2 - strh r0, [r1] -_08043556: - pop {r4, r5, pc} - .align 2, 0 -_08043558: .4byte 0x0000FFFA - - thumb_func_start sub_0804355C -sub_0804355C: @ 0x0804355C - push {r4, lr} - adds r4, r0, #0 - bl sub_08043DB0 - adds r1, r4, #0 - adds r1, #0x7a - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08043578 - movs r0, #4 - strb r0, [r4, #0xd] -_08043578: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - - thumb_func_start sub_08043580 -sub_08043580: @ 0x08043580 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldr r1, [r0, #0x10] - ldrh r0, [r1, #0x36] - adds r0, #3 - strh r0, [r1, #0x36] - movs r2, #0 - movs r5, #4 - rsbs r5, r5, #0 - movs r6, #0x7f -_08043596: - ldr r0, [r4, #0x64] - lsls r1, r2, #2 - adds r0, r0, r1 - ldr r3, [r0] - movs r1, #0x36 - ldrsh r0, [r3, r1] - cmp r0, r5 - ble _080435B6 - ldrb r1, [r3, #0x10] - adds r0, r6, #0 - ands r0, r1 - strb r0, [r3, #0x10] - ldrb r1, [r3, #0x18] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r3, #0x18] -_080435B6: - adds r2, #1 - cmp r2, #4 - bls _08043596 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - bne _080435EE - movs r0, #5 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r0, [r4, #0x64] - ldr r3, [r0, #0x10] - adds r2, r3, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r1, r3, #0 - adds r1, #0x3f - movs r0, #0x39 - strb r0, [r1] - ldr r0, _080435F0 @ =gUnk_080FD538 - str r0, [r3, #0x48] - adds r0, r4, #0 - bl sub_0804AA1C -_080435EE: - pop {r4, r5, r6, pc} - .align 2, 0 -_080435F0: .4byte gUnk_080FD538 - - thumb_func_start sub_080435F4 -sub_080435F4: @ 0x080435F4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08043674 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xd] - strb r0, [r4, #0xe] - movs r5, #0 - ldr r0, _08043658 @ =gUnk_080D1338 - mov sb, r0 - movs r0, #0 - mov r8, r0 - movs r6, #0x18 - ldr r7, _0804365C @ =gUnk_080D133C -_08043622: - ldr r1, [r4, #0x64] - adds r1, r1, r6 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - add r0, sb - ldrh r0, [r0] - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #7 - strh r0, [r1, #4] - mov r0, r8 - strb r0, [r1, #0xc] - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r7 - ldrh r0, [r0] - strh r0, [r1, #8] - ldr r0, [r4, #0x64] - lsls r1, r5, #2 - adds r0, r0, r1 - ldr r2, [r0] - cmp r5, #0 - bne _08043660 - adds r0, r2, #0 - bl sub_08043B9C - b _0804366C - .align 2, 0 -_08043658: .4byte gUnk_080D1338 -_0804365C: .4byte gUnk_080D133C -_08043660: - ldr r0, _0804367C @ =gUnk_080D1340 - adds r0, r5, r0 - ldrb r1, [r0] - adds r0, r2, #0 - bl sub_08004260 -_0804366C: - adds r6, #0x10 - adds r5, #1 - cmp r5, #4 - bls _08043622 -_08043674: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0804367C: .4byte gUnk_080D1340 - - thumb_func_start sub_08043680 -sub_08043680: @ 0x08043680 - push {lr} - ldr r2, _08043694 @ =gUnk_080D1348 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08043694: .4byte gUnk_080D1348 - - thumb_func_start sub_08043698 -sub_08043698: @ 0x08043698 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r3, #0 - movs r5, #0x7f -_080436A8: - ldr r0, [r4, #0x64] - lsls r1, r3, #2 - adds r0, r0, r1 - ldr r2, [r0] - ldrb r1, [r2, #0x10] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r2, #0x10] - adds r3, #1 - cmp r3, #4 - bls _080436A8 - pop {r4, r5, pc} - - thumb_func_start sub_080436C0 -sub_080436C0: @ 0x080436C0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _080436FC - movs r0, #0x14 - strb r0, [r4, #0xe] - movs r0, #2 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - str r5, [r0, #0x64] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - bl sub_0805E7BC -_080436FC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08043700 -sub_08043700: @ 0x08043700 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _08043734 - movs r0, #0x14 - strb r0, [r4, #0xe] - movs r0, #3 - strb r0, [r4, #0xd] - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - str r5, [r0, #0x64] - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_0805E7BC -_08043734: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08043738 -sub_08043738: @ 0x08043738 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _0804376C - movs r0, #0x14 - strb r0, [r4, #0xe] - movs r0, #4 - strb r0, [r4, #0xd] - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - str r5, [r0, #0x64] - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - bl sub_0805E7BC -_0804376C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08043770 -sub_08043770: @ 0x08043770 - push {r4, r5, lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - bne _080437D8 - ldr r0, [r2, #0x64] - ldr r3, [r0, #0x14] - ldr r0, _080437AC @ =gUnk_030010A0 - adds r5, r0, #0 - adds r5, #0x39 - ldrb r1, [r5] - movs r0, #0xc - ands r0, r1 - cmp r0, #0 - bne _0804379A - movs r0, #2 - strb r0, [r3, #0xd] -_0804379A: - ldrb r0, [r2, #0xb] - cmp r0, #0 - bne _080437B0 - ldr r0, [r3, #0x64] - str r4, [r0, #0x14] - ldrb r1, [r5] - movs r0, #0xfe - b _080437B8 - .align 2, 0 -_080437AC: .4byte gUnk_030010A0 -_080437B0: - ldr r0, [r3, #0x64] - str r4, [r0, #0x18] - ldrb r1, [r5] - movs r0, #0xfd -_080437B8: - ands r0, r1 - strb r0, [r5] - ldr r0, [r2, #0x64] - ldr r0, [r0, #0x10] - movs r1, #0 - str r1, [r0, #0x64] - ldr r0, [r2, #0x64] - ldr r0, [r0, #0x10] - adds r0, #0x45 - strb r1, [r0] - ldr r1, [r2, #0x68] - ldr r0, [r2, #0x64] - ldr r0, [r0, #0x10] - str r0, [r1, #0x50] - bl sub_0805E780 -_080437D8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080437DC -sub_080437DC: @ 0x080437DC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - ldr r0, _0804392C @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x43 - bls _080437EE - b _08043934 -_080437EE: - movs r0, #0x68 - bl sub_0801D8E0 - adds r7, r0, #0 - cmp r7, #0 - bne _080437FC - b _08043934 -_080437FC: - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r4, #8 - rsbs r4, r4, #0 - adds r0, r4, #0 - ands r0, r1 - movs r1, #5 - mov r8, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r2] - adds r1, r6, #0 - adds r1, #0x3c - ldrb r0, [r1] - movs r5, #0x10 - orrs r0, r5 - strb r0, [r1] - str r7, [r6, #0x64] - str r6, [r7] - movs r0, #0x52 - movs r1, #1 - bl sub_0804AA60 - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - adds r0, r4, #0 - ands r0, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, #0 - adds r1, #0x3c - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - str r7, [r2, #0x64] - str r2, [r7, #4] - adds r0, r6, #0 - adds r1, r2, #0 - bl sub_0806FA24 - movs r0, #0x52 - movs r1, #2 - bl sub_0804AA60 - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - adds r0, r4, #0 - ands r0, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, #0 - adds r1, #0x3c - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - str r7, [r2, #0x64] - str r2, [r7, #8] - adds r0, r6, #0 - adds r1, r2, #0 - bl sub_0806FA24 - movs r0, #0x52 - movs r1, #3 - bl sub_0804AA60 - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - adds r0, r4, #0 - ands r0, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, #0 - adds r1, #0x3c - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - str r7, [r2, #0x64] - str r2, [r7, #0xc] - adds r0, r6, #0 - adds r1, r2, #0 - bl sub_0806FA24 - movs r0, #0x52 - movs r1, #4 - bl sub_0804AA60 - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x29 - ldrb r0, [r1] - ands r4, r0 - mov r0, r8 - orrs r4, r0 - strb r4, [r1] - adds r1, #0x13 - ldrb r0, [r1] - orrs r5, r0 - strb r5, [r1] - str r7, [r2, #0x64] - str r2, [r7, #0x10] - adds r0, r6, #0 - adds r1, r2, #0 - bl sub_0806FA24 - ldr r0, [r6, #0x50] - str r0, [r7, #0x14] - ldr r1, _08043930 @ =gUnk_080D135C - ldrb r0, [r6, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r2, [r0] - movs r3, #0 - strh r2, [r7, #0x18] - movs r1, #0x80 - lsls r1, r1, #7 - strh r1, [r7, #0x1c] - adds r0, r7, #0 - adds r0, #0x24 - strb r3, [r0] - strh r2, [r7, #0x28] - strh r1, [r7, #0x2c] - adds r0, #0x10 - strb r3, [r0] - strh r2, [r7, #0x38] - strh r1, [r7, #0x3c] - adds r0, #0x10 - strb r3, [r0] - adds r0, #4 - strh r2, [r0] - adds r0, #4 - strh r1, [r0] - adds r0, #8 - strb r3, [r0] - adds r0, #4 - strh r2, [r0] - adds r0, #4 - strh r1, [r0] - adds r0, #8 - strb r3, [r0] - movs r0, #1 - b _08043936 - .align 2, 0 -_0804392C: .4byte gUnk_03003DBC -_08043930: .4byte gUnk_080D135C -_08043934: - movs r0, #0 -_08043936: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0804393C -sub_0804393C: @ 0x0804393C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldr r0, [r5, #0x64] - ldr r1, [r0] - adds r0, r1, #0 - adds r0, #0x7c - ldrb r0, [r0] - lsls r2, r0, #0x18 - cmp r2, #0 - beq _0804397C - adds r0, r1, #0 - adds r0, #0x7d - ldrb r0, [r0] - ldrb r1, [r5, #0xa] - cmp r0, r1 - bhi _0804397C - ldr r4, _08043978 @ =gUnk_080D1362 - ldrb r3, [r5, #0xa] - lsls r1, r3, #4 - lsrs r0, r2, #0x1b - movs r2, #0xf - ands r0, r2 - adds r1, r1, r0 - adds r1, r1, r4 - ldrb r4, [r1] - adds r6, r3, #0 - b _08043980 - .align 2, 0 -_08043978: .4byte gUnk_080D1362 -_0804397C: - movs r4, #0 - ldrb r6, [r5, #0xa] -_08043980: - lsls r0, r6, #4 - adds r0, #0x18 - ldr r2, [r5, #0x64] - mov ip, r2 - adds r2, r2, r0 - ldrb r0, [r2, #0xc] - adds r0, r4, r0 - lsls r4, r0, #8 - ldr r3, _08043A0C @ =gUnk_080C9160 - ldrb r1, [r2, #5] - adds r0, r1, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r3 - movs r7, #0 - ldrsh r0, [r0, r7] - rsbs r0, r0, #0 - adds r7, r0, #0 - muls r7, r4, r7 - mov r8, r7 - movs r0, #0x7f - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r3 - movs r7, #0 - ldrsh r0, [r1, r7] - muls r0, r4, r0 - cmp r0, #0 - bge _080439BC - adds r0, #0xff -_080439BC: - asrs r4, r0, #8 - ldrb r1, [r2, #1] - lsls r0, r1, #1 - adds r0, r0, r3 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r2, r0, #0 - muls r2, r4, r2 - adds r1, #0x40 - lsls r1, r1, #1 - adds r1, r1, r3 - movs r3, #0 - ldrsh r0, [r1, r3] - rsbs r0, r0, #0 - adds r3, r0, #0 - muls r3, r4, r3 - adds r0, r6, #1 - lsls r0, r0, #2 - add r0, ip - ldr r0, [r0] - adds r1, r5, #0 - bl sub_0806FA48 - ldr r0, [r5, #0x34] - add r0, r8 - str r0, [r5, #0x34] - ldr r1, [r5, #0x64] - ldrb r0, [r5, #0xa] - adds r0, #1 - lsls r0, r0, #2 - adds r1, r1, r0 - ldr r0, [r1] - adds r0, #0x63 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x63 - strb r1, [r0] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08043A0C: .4byte gUnk_080C9160 - - thumb_func_start sub_08043A10 -sub_08043A10: @ 0x08043A10 - push {r4, lr} - adds r4, r0, #0 - bl sub_08043B7C - ldr r0, [r4, #0x64] - ldr r0, [r0, #0x10] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r1, [r0, #0x10] - ldrh r0, [r1, #0x32] - subs r0, #8 - strh r0, [r1, #0x32] - ldr r0, [r4, #0x64] - ldr r1, [r0, #0x10] - ldrh r0, [r1, #0x36] - subs r0, #8 - strh r0, [r1, #0x36] - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r0, [r0] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r1, [r0] - ldrh r0, [r1, #0x32] - adds r0, #1 - strh r0, [r1, #0x32] - ldr r0, [r4, #0x64] - ldr r1, [r0] - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r4, #0x7c - ldrb r0, [r4] - cmp r0, #0 - beq _08043A76 - subs r0, #1 - strb r0, [r4] -_08043A76: - pop {r4, pc} - - thumb_func_start sub_08043A78 -sub_08043A78: @ 0x08043A78 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08043B7C - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r0, [r0] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r1, [r0] - ldrh r0, [r1, #0x32] - adds r0, #1 - strh r0, [r1, #0x32] - ldr r0, [r4, #0x64] - ldr r1, [r0] - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08043ABC -sub_08043ABC: @ 0x08043ABC - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08043B7C - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r0, [r0] - bl sub_0804393C - ldr r0, [r4, #0x64] - ldr r1, [r0] - ldrh r0, [r1, #0x32] - adds r0, #1 - strh r0, [r1, #0x32] - ldr r0, [r4, #0x64] - ldr r1, [r0] - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08043B08 -sub_08043B08: @ 0x08043B08 - push {r4, r5, r6, lr} - ldrb r3, [r0, #0xa] - lsls r1, r3, #4 - adds r4, r1, #0 - adds r4, #8 - ldr r2, [r0, #0x64] - adds r6, r2, r4 - adds r1, #0x18 - adds r4, r2, r1 - ldr r0, _08043B40 @ =gUnk_080D13B2 - adds r3, r3, r0 - ldrb r5, [r3] - ldr r0, [r2] - ldrb r0, [r0, #0xb] - cmp r0, #0 - bne _08043B44 - ldrb r1, [r6, #1] - ldrb r0, [r4, #1] - subs r0, r1, r0 - lsls r0, r0, #0x18 - asrs r3, r0, #0x18 - cmp r5, r3 - bhs _08043B5E - cmp r3, #0 - ble _08043B56 - subs r0, r1, r5 - b _08043B5C - .align 2, 0 -_08043B40: .4byte gUnk_080D13B2 -_08043B44: - ldrb r0, [r4, #1] - ldrb r1, [r6, #1] - subs r0, r0, r1 - lsls r0, r0, #0x18 - asrs r3, r0, #0x18 - cmp r5, r3 - bhs _08043B5E - cmp r3, #0 - bge _08043B5A -_08043B56: - strb r1, [r4, #1] - b _08043B5E -_08043B5A: - adds r0, r1, r5 -_08043B5C: - strb r0, [r4, #1] -_08043B5E: - ldrb r2, [r6, #5] - ldrb r0, [r4, #5] - subs r3, r2, r0 - lsls r1, r5, #1 - adds r0, r3, r5 - cmp r1, r0 - bhs _08043B78 - cmp r3, #0 - ble _08043B74 - subs r0, r2, r5 - b _08043B76 -_08043B74: - adds r0, r2, r5 -_08043B76: - strb r0, [r4, #5] -_08043B78: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08043B7C -sub_08043B7C: @ 0x08043B7C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - bl sub_08043B08 - ldr r0, [r4, #0x64] - ldr r0, [r0, #8] - bl sub_08043B08 - ldr r0, [r4, #0x64] - ldr r0, [r0, #0xc] - bl sub_08043B08 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08043B9C -sub_08043B9C: @ 0x08043B9C - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x64] - ldrb r0, [r0, #0x19] - adds r0, #4 - movs r1, #0xff - ands r0, r1 - asrs r0, r0, #3 - ldr r1, _08043BC4 @ =gUnk_080D13B7 - adds r0, r0, r1 - ldrb r1, [r0] - ldrb r0, [r2, #0x1e] - subs r0, #1 - cmp r1, r0 - beq _08043BC0 - adds r0, r2, #0 - bl sub_080042AC -_08043BC0: - pop {pc} - .align 2, 0 -_08043BC4: .4byte gUnk_080D13B7 - - thumb_func_start sub_08043BC8 -sub_08043BC8: @ 0x08043BC8 - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0xb] - lsls r2, r2, #2 - ldr r1, _08043BEC @ =gUnk_080D13D8 - adds r2, r2, r1 - ldr r1, [r0, #0x64] - adds r1, #0x18 - ldrh r0, [r2] - strh r0, [r1, #8] - ldrh r0, [r2, #2] - strh r0, [r1, #0xa] - movs r0, #0x5a - strb r0, [r1, #0xd] - movs r0, #0x28 - strb r0, [r1, #0xe] - bx lr - .align 2, 0 -_08043BEC: .4byte gUnk_080D13D8 - - thumb_func_start sub_08043BF0 -sub_08043BF0: @ 0x08043BF0 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x64] - adds r1, r0, #0 - adds r1, #0x18 - ldrb r0, [r2, #0xb] - cmp r0, #0 - bne _08043C18 - ldrb r0, [r1, #1] - movs r1, #6 - cmp r0, #0x2f - bls _08043C2E - movs r1, #7 - cmp r0, #0x5f - bls _08043C2E - movs r1, #9 - cmp r0, #0x8f - bhi _08043C2E - movs r1, #8 - b _08043C2E -_08043C18: - ldrb r0, [r1, #1] - movs r1, #8 - cmp r0, #0xd0 - bhi _08043C2E - movs r1, #7 - cmp r0, #0xa0 - bhi _08043C2E - movs r1, #5 - cmp r0, #0x70 - bls _08043C2E - movs r1, #6 -_08043C2E: - adds r0, r2, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, r1 - beq _08043C3E - adds r0, r2, #0 - bl sub_080042AC -_08043C3E: - pop {pc} - - thumb_func_start sub_08043C40 -sub_08043C40: @ 0x08043C40 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldrb r0, [r1, #5] - cmp r0, #0x1f - bhi _08043C54 - ldr r6, _08043C50 @ =gUnk_080D13E0 - b _08043C68 - .align 2, 0 -_08043C50: .4byte gUnk_080D13E0 -_08043C54: - cmp r0, #0x2f - bhi _08043C60 - ldr r6, _08043C5C @ =gUnk_080D13E3 - b _08043C68 - .align 2, 0 -_08043C5C: .4byte gUnk_080D13E3 -_08043C60: - ldr r6, _08043C84 @ =gUnk_080D13E0 - cmp r0, #0x77 - bhi _08043C68 - adds r6, #6 -_08043C68: - movs r4, #0 - movs r5, #0x28 -_08043C6C: - ldr r0, [r7, #0x64] - adds r3, r0, r5 - adds r0, r6, r4 - ldrb r1, [r3, #0xc] - ldrb r2, [r0] - adds r0, r1, #0 - cmp r2, r0 - beq _08043C8C - cmp r2, r0 - bhs _08043C88 - subs r0, r1, #1 - b _08043C8A - .align 2, 0 -_08043C84: .4byte gUnk_080D13E0 -_08043C88: - adds r0, r1, #1 -_08043C8A: - strb r0, [r3, #0xc] -_08043C8C: - adds r5, #0x10 - adds r4, #1 - cmp r4, #2 - bls _08043C6C - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08043C98 -sub_08043C98: @ 0x08043C98 - push {lr} - adds r3, r0, #0 - ldr r0, [r3, #0x64] - ldr r1, [r0, #8] - ldr r2, [r0, #0xc] - adds r1, #0x41 - ldrb r0, [r1] - cmp r0, #0x9d - beq _08043CB4 - adds r0, r2, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9d - bne _08043CD0 -_08043CB4: - adds r0, r3, #0 - bl sub_08043D08 - ldr r0, _08043CCC @ =gUnk_030010A0 - adds r0, #0x38 - ldrb r2, [r0] - movs r1, #2 - orrs r1, r2 - strb r1, [r0] - movs r0, #1 - b _08043CD2 - .align 2, 0 -_08043CCC: .4byte gUnk_030010A0 -_08043CD0: - movs r0, #0 -_08043CD2: - pop {pc} - - thumb_func_start sub_08043CD4 -sub_08043CD4: @ 0x08043CD4 - push {r4, r5, lr} - adds r3, r0, #0 - movs r2, #0 - adds r4, r3, #0 - adds r4, #0x7c - movs r5, #0x78 - movs r0, #0x7d - adds r0, r0, r3 - mov ip, r0 -_08043CE6: - ldr r0, [r3, #0x64] - lsls r1, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9d - bne _08043CFE - strb r5, [r4] - mov r0, ip - strb r2, [r0] - b _08043D04 -_08043CFE: - adds r2, #1 - cmp r2, #4 - bls _08043CE6 -_08043D04: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08043D08 -sub_08043D08: @ 0x08043D08 - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #0 - movs r0, #7 - strb r0, [r5, #0xc] - strb r1, [r5, #0xd] - adds r0, r5, #0 - movs r1, #0xd - bl sub_080042AC - ldr r0, [r5, #0x64] - ldr r4, [r0, #0x10] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0x13 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0804AA1C - adds r0, r4, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08043D78 - ldr r1, _08043DAC @ =gUnk_080D13E9 - ldrb r0, [r5, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - ldrh r0, [r2, #0x32] - subs r0, #6 - strh r0, [r2, #0x32] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_08043D78: - ldr r0, [r5, #0x64] - ldr r0, [r0, #0xc] - adds r1, r4, #0 - bl sub_0806FA24 - ldr r1, [r5, #0x64] - adds r1, #0x54 - ldrh r0, [r4, #0x36] - ldrb r1, [r1] - adds r0, r0, r1 - strh r0, [r4, #0x36] - movs r2, #0 - movs r3, #0x39 -_08043D92: - ldr r0, [r5, #0x64] - lsls r1, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - adds r0, #0x3f - strb r3, [r0] - adds r2, #1 - cmp r2, #4 - bls _08043D92 - movs r0, #0xfe - bl sub_08004488 - pop {r4, r5, pc} - .align 2, 0 -_08043DAC: .4byte gUnk_080D13E9 - - thumb_func_start sub_08043DB0 -sub_08043DB0: @ 0x08043DB0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r0, _08043E48 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08043EAC - ldr r0, [r5, #0x64] - ldr r2, [r0, #0xc] - movs r1, #0x2e - ldrsh r0, [r2, r1] - ldr r6, _08043E4C @ =gUnk_03000BF0 - ldrh r1, [r6, #6] - subs r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r2, r3] - ldrh r2, [r6, #8] - subs r1, r1, r2 - adds r1, #2 - movs r2, #3 - movs r3, #3 - bl sub_0800293E - cmp r0, #0 - beq _08043EAC - ldr r0, _08043E50 @ =gUnk_080D13EC - bl sub_08080840 - ldr r4, _08043E54 @ =gUnk_030010A0 - adds r0, r4, #0 - adds r0, #0x39 - ldrb r1, [r0] - movs r0, #3 - ands r0, r1 - cmp r0, #3 - beq _08043DFE - movs r0, #1 - strb r0, [r4, #0xd] -_08043DFE: - adds r0, r5, #0 - adds r0, #0x7a - ldrh r0, [r0] - movs r1, #0x3c - bl __divsi3 - movs r1, #0x1e - subs r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x3d - strb r1, [r0] - ldrb r1, [r5, #0xb] - subs r0, #1 - strb r1, [r0] - ldr r0, [r5, #0x64] - ldr r2, [r0, #0x14] - ldrh r1, [r2, #0x2e] - adds r0, r4, #0 - adds r0, #0x40 - strh r1, [r0] - ldrh r0, [r2, #0x32] - adds r1, r4, #0 - adds r1, #0x42 - strh r0, [r1] - ldr r0, [r2, #0x64] - ldr r3, [r0, #0x14] - cmp r3, #0 - beq _08043E58 - ldrh r1, [r3, #0x2e] - adds r0, r4, #0 - adds r0, #0x44 - strh r1, [r0] - ldrh r1, [r3, #0x32] - adds r0, #2 - strh r1, [r0] - b _08043E70 - .align 2, 0 -_08043E48: .4byte gUnk_03003F80 -_08043E4C: .4byte gUnk_03000BF0 -_08043E50: .4byte gUnk_080D13EC -_08043E54: .4byte gUnk_030010A0 -_08043E58: - movs r1, #0x88 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r3, [r6, #6] - adds r0, r0, r3 - adds r1, r4, #0 - adds r1, #0x44 - strh r0, [r1] - ldrh r0, [r6, #8] - adds r0, #0x60 - adds r1, #2 - strh r0, [r1] -_08043E70: - ldr r0, [r2, #0x64] - ldr r3, [r0, #0x18] - cmp r3, #0 - beq _08043E90 - ldr r1, _08043E8C @ =gUnk_030010A0 - ldrh r2, [r3, #0x2e] - adds r0, r1, #0 - adds r0, #0x48 - strh r2, [r0] - ldrh r0, [r3, #0x32] - adds r1, #0x4a - strh r0, [r1] - b _08043EAC - .align 2, 0 -_08043E8C: .4byte gUnk_030010A0 -_08043E90: - ldr r2, _08043EB0 @ =gUnk_030010A0 - ldr r3, _08043EB4 @ =gUnk_03000BF0 - movs r1, #0x88 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r1, [r3, #6] - adds r0, r0, r1 - adds r1, r2, #0 - adds r1, #0x48 - strh r0, [r1] - ldrh r0, [r3, #8] - adds r0, #0x60 - adds r2, #0x4a - strh r0, [r2] -_08043EAC: - pop {r4, r5, r6, pc} - .align 2, 0 -_08043EB0: .4byte gUnk_030010A0 -_08043EB4: .4byte gUnk_03000BF0 - - thumb_func_start sub_08043EB8 -sub_08043EB8: @ 0x08043EB8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - ldrb r0, [r7, #0x10] - movs r5, #0x80 - orrs r0, r5 - strb r0, [r7, #0x10] - adds r2, r7, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r4, #8 - rsbs r4, r4, #0 - adds r0, r4, #0 - ands r0, r1 - movs r6, #4 - orrs r0, r6 - strb r0, [r2] - adds r0, r7, #0 - movs r1, #0xd - bl sub_080042AC - ldr r0, [r7, #0x64] - ldr r3, [r0, #4] - ldrb r0, [r3, #0x10] - orrs r0, r5 - strb r0, [r3, #0x10] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r1, [r2] - adds r0, r4, #0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - ldr r0, [r7, #0x64] - ldr r3, [r0, #8] - ldrb r0, [r3, #0x10] - orrs r0, r5 - strb r0, [r3, #0x10] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r1, [r2] - adds r0, r4, #0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - ldr r0, [r7, #0x64] - ldr r3, [r0, #0xc] - ldrb r1, [r3, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r3, #0x10] - ldrb r2, [r3, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - movs r2, #1 - mov r8, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r3, #0x18] - adds r3, #0x29 - ldrb r2, [r3] - adds r0, r4, #0 - ands r0, r2 - orrs r0, r6 - strb r0, [r3] - ldr r0, [r7, #0x64] - ldr r3, [r0, #0x10] - ldrb r0, [r3, #0x10] - orrs r5, r0 - strb r5, [r3, #0x10] - ldrb r0, [r3, #0x18] - ands r1, r0 - mov r0, r8 - orrs r1, r0 - strb r1, [r3, #0x18] - adds r1, r3, #0 - adds r1, #0x29 - ldrb r0, [r1] - ands r4, r0 - orrs r4, r6 - strb r4, [r1] - ldrb r0, [r7, #0xb] - cmp r0, #0 - bne _08043F74 - ldr r1, _08043F70 @ =gUnk_030010A0 - adds r0, r1, #0 - adds r0, #0x44 - b _08043F7A - .align 2, 0 -_08043F70: .4byte gUnk_030010A0 -_08043F74: - ldr r1, _08043F8C @ =gUnk_030010A0 - adds r0, r1, #0 - adds r0, #0x48 -_08043F7A: - ldrh r0, [r0] - strh r0, [r3, #0x2e] - ldrb r0, [r7, #0xb] - cmp r0, #0 - bne _08043F90 - adds r0, r1, #0 - adds r0, #0x46 - b _08043F94 - .align 2, 0 -_08043F8C: .4byte gUnk_030010A0 -_08043F90: - adds r0, r1, #0 - adds r0, #0x4a -_08043F94: - ldrh r1, [r0] - movs r0, #0 - strh r1, [r3, #0x32] - strh r0, [r3, #0x36] - adds r2, r3, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xef - ands r0, r1 - strb r0, [r2] - adds r1, r3, #0 - adds r1, #0x3f - movs r0, #0x3a - strb r0, [r1] - ldr r0, _08043FF8 @ =gUnk_080FD450 - str r0, [r3, #0x48] - movs r0, #0xaf - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _08043FCA - ldr r0, [r7, #0x64] - ldr r0, [r0, #0xc] - str r0, [r3, #0x50] -_08043FCA: - ldr r0, [r7, #0x64] - ldr r0, [r0] - str r3, [r0, #0x68] - movs r2, #0 - movs r6, #0 - movs r5, #0x80 - lsls r5, r5, #8 - ldr r4, _08043FFC @ =gUnk_080D1419 - movs r3, #0x18 -_08043FDC: - ldr r0, [r7, #0x64] - adds r0, r0, r3 - strh r5, [r0] - strh r6, [r0, #4] - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0, #0xc] - adds r3, #0x10 - adds r2, #1 - cmp r2, #4 - bls _08043FDC - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08043FF8: .4byte gUnk_080FD450 -_08043FFC: .4byte gUnk_080D1419 - - thumb_func_start sub_08044000 -sub_08044000: @ 0x08044000 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #1 - ldr r0, _08044070 @ =gUnk_080D1400 - movs r3, #0 - ldr r2, _08044074 @ =gUnk_080D1414 - mov ip, r2 - movs r7, #8 - rsbs r7, r7, #0 - adds r5, r1, r0 - movs r6, #0x18 -_0804401C: - ldr r0, [r4, #0x64] - lsls r1, r3, #2 - adds r0, r0, r1 - ldr r2, [r0] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r2, #0x29 - ldrb r1, [r2] - adds r0, r7, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r4, #0x64] - adds r1, r1, r6 - ldrh r0, [r5] - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #7 - strh r0, [r1, #4] - mov r2, ip - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1, #0xc] - adds r5, #2 - adds r6, #0x10 - adds r3, #1 - cmp r3, #4 - bls _0804401C - adds r0, r4, #0 - movs r1, #7 - bl sub_080042AC - ldr r1, [r4, #0x64] - ldr r0, [r1, #0x14] - ldr r1, [r1, #0x10] - bl sub_0806FA24 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08044070: .4byte gUnk_080D1400 -_08044074: .4byte gUnk_080D1414 - - thumb_func_start sub_08044078 -sub_08044078: @ 0x08044078 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080440C4 - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _080440AC - ldr r3, _080440B8 @ =gUnk_030010A0 - adds r0, r3, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080440BC - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r1, r3, #0 - adds r1, #0x3c - ldrb r0, [r0, #0xb] - ldrb r1, [r1] - cmp r0, r1 - bne _080440BC -_080440AC: - adds r0, r4, #0 - movs r1, #0x12 - bl sub_08004260 - b _080440C4 - .align 2, 0 -_080440B8: .4byte gUnk_030010A0 -_080440BC: - adds r0, r4, #0 - movs r1, #0x11 - bl sub_08004260 -_080440C4: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_080440CC -sub_080440CC: @ 0x080440CC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08044110 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _08044104 @ =gUnk_030010A0 - adds r1, r2, #0 - adds r1, #0x38 - ldrb r1, [r1] - ands r0, r1 - cmp r0, #0 - beq _08044108 - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r1, r2, #0 - adds r1, #0x3c - ldrb r0, [r0, #0xb] - ldrb r1, [r1] - cmp r0, r1 - bne _08044108 - adds r0, r4, #0 - movs r1, #0x13 - bl sub_08004260 - b _08044110 - .align 2, 0 -_08044104: .4byte gUnk_030010A0 -_08044108: - adds r0, r4, #0 - movs r1, #0x11 - bl sub_08004260 -_08044110: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_08044118 -sub_08044118: @ 0x08044118 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08044130 @ =gUnk_080D1588 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08044130: .4byte gUnk_080D1588 - - thumb_func_start sub_08044134 -sub_08044134: @ 0x08044134 - push {lr} - ldr r2, _08044148 @ =gUnk_080D15A0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08044148: .4byte gUnk_080D15A0 - - thumb_func_start sub_0804414C -sub_0804414C: @ 0x0804414C - push {lr} - ldr r1, _08044158 @ =gUnk_080D1588 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_08044158: .4byte gUnk_080D1588 - - thumb_func_start sub_0804415C -sub_0804415C: @ 0x0804415C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0804418E - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08044188 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080441BA - movs r0, #8 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08044310 - b _080441BA -_08044188: - movs r0, #8 - strb r0, [r4, #0xe] - b _080441BA -_0804418E: - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _080441B0 - ldr r0, _080441AC @ =gUnk_080D15A8 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _080441BA - .align 2, 0 -_080441AC: .4byte gUnk_080D15A8 -_080441B0: - adds r0, r4, #0 - bl sub_080445C0 - bl sub_0805E780 -_080441BA: - pop {r4, pc} - - thumb_func_start sub_080441BC -sub_080441BC: @ 0x080441BC - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_080441C4 -sub_080441C4: @ 0x080441C4 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_080441CC -sub_080441CC: @ 0x080441CC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _080441DE - adds r0, r4, #0 - bl sub_0804A7D4 -_080441DE: - pop {r4, pc} - - thumb_func_start sub_080441E0 -sub_080441E0: @ 0x080441E0 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - movs r0, #0x12 - bl sub_0807CC30 - cmp r0, #0 - beq _080441F2 - bl sub_0805E780 -_080441F2: - ldrb r7, [r4, #0xa] - cmp r7, #0 - bne _08044284 - ldr r0, _08044244 @ =0x000001EB - movs r1, #1 - bl sub_080AD8F0 - adds r6, r0, #0 - ldrb r1, [r6] - lsls r0, r1, #2 - adds r0, r0, r1 - adds r5, r0, #1 - adds r0, r5, #0 - bl sub_0801D8E0 - adds r1, r0, #0 - str r1, [r4, #0x64] - cmp r1, #0 - beq _0804429A - adds r0, r6, #0 - adds r2, r5, #0 - bl sub_0801D66C - adds r1, r4, #0 - adds r1, #0x28 - movs r0, #0xff - strb r0, [r1] - ldr r0, [r4, #0x64] - ldrb r0, [r0] - lsls r0, r0, #3 - adds r0, #0xc - bl sub_0801D8E0 - adds r2, r0, #0 - cmp r2, #0 - bne _08044248 - ldr r0, [r4, #0x64] - bl sub_0801DA0C - b _0804429A - .align 2, 0 -_08044244: .4byte 0x000001EB -_08044248: - str r2, [r4, #0x48] - ldr r0, _0804427C @ =gUnk_080FD188 - ldr r1, [r0, #4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, #4] - adds r0, r4, #0 - bl sub_080442BC - movs r0, #1 - strb r0, [r4, #0x1e] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x75 - strb r7, [r0] - adds r1, r4, #0 - adds r1, #0x76 - ldr r0, _08044280 @ =0x0000FFFF - strh r0, [r1] - b _08044292 - .align 2, 0 -_0804427C: .4byte gUnk_080FD188 -_08044280: .4byte 0x0000FFFF -_08044284: - movs r0, #0 - strb r0, [r4, #0x1e] - strh r0, [r4, #0x24] - ldr r0, _0804429C @ =gUnk_080FD168 - str r0, [r4, #0x48] - movs r0, #1 - strb r0, [r4, #0x1c] -_08044292: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] -_0804429A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0804429C: .4byte gUnk_080FD168 - - thumb_func_start sub_080442A0 -sub_080442A0: @ 0x080442A0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0 - bne _080442B2 - adds r0, r1, #0 - bl sub_08044498 - b _080442B8 -_080442B2: - adds r0, r1, #0 - bl sub_08044550 -_080442B8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080442BC -sub_080442BC: @ 0x080442BC - push {r4, r5, r6, r7, lr} - adds r3, r0, #0 - ldr r5, _0804430C @ =gUnk_080D15B4 - ldr r0, [r3, #0x64] - ldrb r6, [r0] - movs r4, #0 - cmp r4, r6 - bhs _08044304 - movs r7, #0 -_080442CE: - ldr r1, [r3, #0x48] - lsls r2, r4, #3 - adds r1, r2, r1 - ldrb r0, [r5] - strb r0, [r1, #0xc] - ldr r0, [r3, #0x48] - adds r0, r2, r0 - ldrb r1, [r5, #1] - strb r1, [r0, #0xd] - ldr r0, [r3, #0x48] - adds r0, r2, r0 - ldrb r1, [r5, #2] - strb r1, [r0, #0xe] - ldr r0, [r3, #0x48] - adds r0, r2, r0 - ldrb r1, [r5, #3] - strb r1, [r0, #0xf] - ldr r0, [r3, #0x48] - adds r0, r2, r0 - adds r0, #0xc - strb r7, [r0, #4] - ldr r0, [r3, #0x48] - adds r2, r2, r0 - strb r4, [r2, #0x11] - adds r4, #1 - cmp r4, r6 - blo _080442CE -_08044304: - adds r0, r3, #0 - adds r0, #0x74 - strb r6, [r0] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0804430C: .4byte gUnk_080D15B4 - - thumb_func_start sub_08044310 -sub_08044310: @ 0x08044310 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - movs r4, #0xff - movs r6, #0xff - ldr r0, _08044334 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r1, r0, #1 - movs r0, #3 - ands r1, r0 - cmp r1, #1 - beq _0804436A - cmp r1, #1 - bgt _08044338 - cmp r1, #0 - beq _08044342 - b _080443EA - .align 2, 0 -_08044334: .4byte gUnk_03001160 -_08044338: - cmp r1, #2 - beq _08044392 - cmp r1, #3 - beq _080443C4 - b _080443EA -_08044342: - movs r2, #0 - adds r0, r5, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r2, r0 - bhs _080443EA - adds r3, r0, #0 - ldr r1, [r5, #0x48] -_08044352: - ldrb r0, [r1, #0x10] - cmp r0, #0 - bne _08044360 - ldrb r0, [r1, #0xd] - cmp r6, r0 - bls _08044360 - adds r4, r2, #0 -_08044360: - adds r1, #8 - adds r2, #1 - cmp r2, r3 - blo _08044352 - b _080443EA -_0804436A: - movs r2, #0 - adds r0, r5, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r2, r0 - bhs _080443EA - adds r3, r0, #0 - ldr r1, [r5, #0x48] -_0804437A: - ldrb r0, [r1, #0x10] - cmp r0, #0 - bne _08044388 - ldrb r0, [r1, #0xe] - cmp r6, r0 - bls _08044388 - adds r4, r2, #0 -_08044388: - adds r1, #8 - adds r2, #1 - cmp r2, r3 - blo _0804437A - b _080443EA -_08044392: - movs r2, #0 - adds r0, r5, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r2, r0 - bhs _080443EA - adds r3, r0, #0 - ldr r1, [r5, #0x48] -_080443A2: - ldrb r0, [r1, #0x10] - cmp r0, #0 - bne _080443B0 - ldrb r0, [r1, #0xc] - cmp r6, r0 - bls _080443B0 - adds r4, r2, #0 -_080443B0: - adds r1, #8 - adds r2, #1 - cmp r2, r3 - blo _080443A2 - b _080443EA -_080443BA: - mov r1, r8 - adds r0, r1, r4 - ldrb r0, [r0, #0x11] - strb r0, [r3, #5] - b _08044492 -_080443C4: - movs r2, #0 - adds r0, r5, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r2, r0 - bhs _080443EA - adds r3, r0, #0 - ldr r1, [r5, #0x48] -_080443D4: - ldrb r0, [r1, #0x10] - cmp r0, #0 - bne _080443E2 - ldrb r0, [r1, #0xf] - cmp r6, r0 - bls _080443E2 - adds r4, r2, #0 -_080443E2: - adds r1, #8 - adds r2, #1 - cmp r2, r3 - blo _080443D4 -_080443EA: - cmp r4, #0xff - beq _08044492 - ldr r0, [r5, #0x48] - lsls r4, r4, #3 - adds r0, r4, r0 - movs r1, #1 - strb r1, [r0, #0x10] - ldr r1, [r5, #0x64] - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - lsls r0, r1, #2 - adds r0, r0, r1 - adds r0, #1 - adds r7, r2, r0 - ldr r0, [r5, #0x48] - adds r0, r4, r0 - ldrb r1, [r0, #0x11] - lsls r0, r1, #2 - adds r0, r0, r1 - adds r0, #1 - adds r6, r2, r0 - movs r0, #0x53 - movs r1, #1 - bl sub_0804AA60 - adds r1, r0, #0 - mov r8, r4 - cmp r1, #0 - beq _08044440 - movs r2, #0 - ldrsb r2, [r6, r2] - adds r2, #8 - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r6, r3] - adds r3, #8 - lsls r3, r3, #0x10 - adds r0, r5, #0 - bl sub_0806FA48 -_08044440: - ldr r0, [r5, #0x64] - ldrb r0, [r0] - cmp r0, #0 - bne _08044458 - movs r0, #0x12 - bl sub_0807CD04 - movs r0, #0x72 - bl sub_080A3268 - bl sub_0805E780 -_08044458: - movs r2, #0 - adds r3, r5, #0 - adds r3, #0x74 -_0804445E: - adds r0, r6, r2 - adds r1, r7, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, #1 - cmp r2, #4 - bls _0804445E - movs r2, #0 - ldrb r1, [r3] - cmp r2, r1 - bhs _08044492 - ldr r4, [r5, #0x48] - ldr r0, [r5, #0x64] - ldrb r6, [r0] - adds r5, r1, #0 - adds r3, r4, #0 - adds r3, #0xc - adds r1, r4, #0 -_08044482: - ldrb r0, [r1, #0x11] - cmp r0, r6 - beq _080443BA - adds r3, #8 - adds r1, #8 - adds r2, #1 - cmp r2, r5 - blo _08044482 -_08044492: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08044498 -sub_08044498: @ 0x08044498 - push {r4, r5, r6, lr} - mov ip, r0 - ldr r6, _08044538 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r6, r1] - ldr r3, _0804453C @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r2, #0x3f - ands r4, r2 - movs r5, #0x32 - ldrsh r0, [r6, r5] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - ldr r0, _08044540 @ =gUnk_03003F80 - adds r0, #0x92 - ldrh r0, [r0] - movs r1, #0xf0 - lsls r1, r1, #4 - ands r1, r0 - mov r2, ip - adds r2, #0x75 - ldrb r0, [r2] - cmp r1, r0 - bne _080444DE - mov r0, ip - adds r0, #0x76 - ldrh r0, [r0] - cmp r4, r0 - beq _0804454C -_080444DE: - strb r1, [r2] - mov r0, ip - adds r0, #0x76 - strh r4, [r0] - mov r1, ip - ldr r0, [r1, #0x64] - adds r2, r0, #1 - ldrb r4, [r0] - movs r3, #0x2e - ldrsh r1, [r6, r3] - mov r5, ip - movs r3, #0x2e - ldrsh r0, [r5, r3] - subs r5, r1, r0 - movs r0, #0x32 - ldrsh r1, [r6, r0] - mov r3, ip - movs r6, #0x32 - ldrsh r0, [r3, r6] - subs r1, r1, r0 - movs r3, #0 - cmp r3, r4 - bhs _0804454C -_0804450C: - movs r0, #0 - ldrsb r0, [r2, r0] - subs r0, r5, r0 - cmp r0, #0xf - bhi _08044544 - movs r0, #1 - ldrsb r0, [r2, r0] - subs r0, r1, r0 - cmp r0, #0xf - bhi _08044544 - movs r0, #0xf - movs r1, #0x11 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0804454C - ldr r0, _08044538 @ =gUnk_03001160 - bl sub_0806FA24 - b _0804454C - .align 2, 0 -_08044538: .4byte gUnk_03001160 -_0804453C: .4byte gUnk_03000BF0 -_08044540: .4byte gUnk_03003F80 -_08044544: - adds r2, #5 - adds r3, #1 - cmp r3, r4 - blo _0804450C -_0804454C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08044550 -sub_08044550: @ 0x08044550 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldr r0, _080445A8 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _080445B4 - ldrh r1, [r6, #0x24] - movs r2, #0x24 - ldrsh r0, [r6, r2] - cmp r0, #0xff - bgt _08044570 - adds r0, r1, #0 - adds r0, #0x10 - strh r0, [r6, #0x24] -_08044570: - ldr r5, _080445AC @ =gUnk_03001160 - ldrb r0, [r5, #0x14] - movs r4, #0xe - ands r4, r0 - ldr r0, _080445B0 @ =gUnk_08126EE4 - adds r4, r4, r0 - movs r3, #0x2e - ldrsh r0, [r6, r3] - movs r7, #0x32 - ldrsh r1, [r6, r7] - movs r3, #0x2e - ldrsh r2, [r5, r3] - movs r3, #0 - ldrsb r3, [r4, r3] - adds r2, r2, r3 - movs r7, #0x32 - ldrsh r3, [r5, r7] - ldrb r4, [r4, #1] - lsls r4, r4, #0x18 - asrs r4, r4, #0x18 - adds r3, r3, r4 - bl sub_080045D4 - strb r0, [r6, #0x15] - adds r0, r6, #0 - bl sub_0806F69C - b _080445BE - .align 2, 0 -_080445A8: .4byte gUnk_03003F80 -_080445AC: .4byte gUnk_03001160 -_080445B0: .4byte gUnk_08126EE4 -_080445B4: - adds r0, r6, #0 - bl sub_080445C0 - bl sub_0805E780 -_080445BE: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080445C0 -sub_080445C0: @ 0x080445C0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x21 - movs r1, #1 - movs r2, #1 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _080445DA - adds r0, r4, #0 - bl sub_0806FA24 -_080445DA: - pop {r4, pc} - - thumb_func_start sub_080445DC -sub_080445DC: @ 0x080445DC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08044604 - cmp r0, #3 - beq _08044604 - ldr r1, [r5, #0x2c] - ldr r0, [r5, #0x78] - subs r1, r1, r0 - ldr r0, [r4, #0x2c] - adds r0, r0, r1 - str r0, [r4, #0x2c] - ldr r1, [r5, #0x30] - ldr r0, [r5, #0x7c] - subs r1, r1, r0 - ldr r0, [r4, #0x30] - adds r0, r0, r1 - str r0, [r4, #0x30] -_08044604: - ldr r1, _08044684 @ =gUnk_080D1604 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #0 - beq _08044626 - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] -_08044626: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08044680 - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - bne _0804464A - ldrb r0, [r4, #0xc] - cmp r0, #6 - bne _0804464A - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 -_0804464A: - adds r2, r4, #0 - adds r2, #0x45 - ldrb r0, [r2] - cmp r0, #0xfc - bhi _08044680 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xff - strb r0, [r2] - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080A29BC - ldr r0, _08044688 @ =0x000001C3 - bl sub_080A3268 -_08044680: - pop {r4, r5, pc} - .align 2, 0 -_08044684: .4byte gUnk_080D1604 -_08044688: .4byte 0x000001C3 - - thumb_func_start sub_0804468C -sub_0804468C: @ 0x0804468C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x38 - movs r6, #0 - movs r5, #3 - strb r5, [r0] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x84 - strb r6, [r0] - ldrb r3, [r4, #0xa] - cmp r3, #0 - beq _080446C8 - cmp r3, #1 - beq _08044728 - b _0804474A -_080446C8: - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x79 - ldrb r0, [r2] - lsls r0, r0, #3 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x78 - strb r3, [r0] - adds r0, #0xb - strb r3, [r0] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r2] - adds r1, r5, #0 - ands r1, r0 - lsls r1, r1, #1 - ldr r0, _08044724 @ =gUnk_080D1620 - adds r1, r1, r0 - ldr r0, [r4, #0x50] - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r1, r3] - subs r3, #0x10 - lsls r3, r3, #0x10 - adds r1, r4, #0 - bl sub_0806FA48 - ldr r0, [r4, #0x50] - ldrh r0, [r0, #0x36] - strh r0, [r4, #0x36] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _0804474A - .align 2, 0 -_08044724: .4byte gUnk_080D1620 -_08044728: - strb r5, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - strb r6, [r0] - adds r0, #0xf - movs r2, #1 - strb r3, [r0] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC -_0804474A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0804474C -sub_0804474C: @ 0x0804474C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r2, [r0, #0xc] - cmp r2, #3 - beq _0804476C - cmp r2, #3 - bgt _08044762 - cmp r2, #2 - beq _0804479A - b _080447A8 -_08044762: - cmp r2, #5 - beq _0804477A - cmp r2, #6 - beq _0804478A - b _080447A8 -_0804476C: - movs r1, #0 - strb r2, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - strb r1, [r0] - strb r1, [r4, #0xe] - b _080447A8 -_0804477A: - movs r0, #0 - strb r2, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x74 - strb r0, [r1] - movs r0, #1 - strb r0, [r4, #0xf] - b _080447A8 -_0804478A: - movs r0, #0 - strb r2, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x74 - strb r0, [r1] - movs r0, #0x20 - strb r0, [r4, #0xf] - b _080447A8 -_0804479A: - movs r1, #0 - strb r2, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - strb r1, [r0] - subs r0, #0x35 - strb r1, [r0] -_080447A8: - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _080447B6 - adds r0, r4, #0 - bl sub_080042B8 - b _080447DC -_080447B6: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080447D0 - movs r0, #2 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - adds r0, #1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_080447D0: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_080042B8 -_080447DC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080447E0 -sub_080447E0: @ 0x080447E0 - push {r4, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x50] - ldrb r0, [r3, #0xc] - cmp r0, #1 - bne _08044818 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x2b - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_08044E74 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08044864 - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - b _08044864 -_08044818: - adds r1, r4, #0 - adds r1, #0x77 - ldrb r0, [r1] - adds r2, r0, #1 - movs r0, #7 - ands r2, r0 - strb r2, [r1] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08044852 - movs r0, #1 - ands r0, r2 - cmp r0, #0 - beq _08044848 - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - b _08044852 -_08044848: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_08044852: - adds r0, r3, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r0, #2 - bne _08044864 - adds r0, r4, #0 - movs r1, #2 - bl sub_08044E74 -_08044864: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08044868 -sub_08044868: @ 0x08044868 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r0, #3 - bne _0804487E - b _080449C8 -_0804487E: - cmp r0, #3 - bgt _0804488E - cmp r0, #1 - beq _08044948 - cmp r0, #2 - bne _0804488C - b _080449AE -_0804488C: - b _080449EA -_0804488E: - cmp r0, #0xfe - beq _08044898 - cmp r0, #0xff - beq _080448B6 - b _080449EA -_08044898: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #0 - bne _080448A4 - b _080449EA -_080448A4: - adds r0, r4, #0 - adds r0, #0x74 - ldrb r0, [r0] - cmp r0, #2 - beq _080448B0 - b _080449EA -_080448B0: - bl sub_0805E780 - b _080449EA -_080448B6: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #0 - bne _080448C2 - b _080449EA -_080448C2: - adds r6, r4, #0 - adds r6, #0x74 - ldrb r0, [r6] - cmp r0, #0 - beq _080448D2 - cmp r0, #1 - beq _08044900 - b _080449EA -_080448D2: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080448E2 - b _080449EA -_080448E2: - movs r0, #1 - strb r0, [r6] - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strb r0, [r4, #0x15] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - b _080449EA -_08044900: - adds r0, r4, #0 - bl sub_0806F69C - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - subs r2, #0x10 - adds r0, r4, #0 - movs r3, #0xc - bl sub_0806FCB8 - cmp r0, #0 - beq _08044934 - ldrb r0, [r6] - adds r0, #1 - strb r0, [r6] - ldrh r0, [r5, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x32] - subs r0, #0x10 - strh r0, [r4, #0x32] - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - b _080449EA -_08044934: - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strb r0, [r4, #0x15] - b _080449EA -_08044948: - adds r1, r4, #0 - adds r1, #0x83 - ldrb r0, [r1] - cmp r0, #0 - bne _08044964 - adds r0, #1 - strb r0, [r1] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_08044964: - adds r0, r4, #0 - bl sub_08044DEC - adds r0, r5, #0 - adds r0, #0x86 - ldrb r0, [r0] - cmp r0, #1 - bls _080449A8 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r6, r0, #0x1e - cmp r6, #1 - bne _080449A8 - movs r0, #0x84 - adds r0, r0, r4 - mov r8, r0 - ldrb r7, [r0] - cmp r7, #0 - bne _080449A8 - adds r0, r4, #0 - movs r1, #0x18 - movs r2, #0 - bl sub_0804A98C - adds r5, r0, #0 - cmp r5, #0 - beq _080449A8 - strb r6, [r5, #0xb] - str r4, [r5, #0x50] - mov r0, r8 - strb r6, [r0] - adds r0, r4, #0 - adds r0, #0x3f - strb r7, [r0] -_080449A8: - movs r0, #0x20 - strb r0, [r4, #0xe] - b _080449EA -_080449AE: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080449EA - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x10 - bhi _080449EA - adds r0, r4, #0 - bl sub_0806F69C - b _080449EA -_080449C8: - adds r0, r4, #0 - movs r1, #1 - bl sub_08044E74 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _080449E2 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - b _080449E8 -_080449E2: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 -_080449E8: - strb r0, [r4, #0x10] -_080449EA: - adds r0, r4, #0 - bl sub_080042B8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080449F8 -sub_080449F8: @ 0x080449F8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x50] - bl sub_080042B8 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08044A90 - adds r6, r4, #0 - adds r6, #0x74 - ldrb r0, [r6] - cmp r0, #1 - beq _08044A6A - cmp r0, #1 - bgt _08044A1C - cmp r0, #0 - beq _08044A26 - b _08044B02 -_08044A1C: - cmp r0, #2 - beq _08044AC6 - cmp r0, #3 - beq _08044AF8 - b _08044B02 -_08044A26: - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044B02 - adds r1, r5, #0 - adds r1, #0x78 - ldrb r0, [r1] - cmp r0, #0 - bne _08044A4C - adds r0, #1 - strb r0, [r1] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] -_08044A4C: - movs r0, #4 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0x15] - adds r0, #1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _08044B02 - movs r0, #1 - strb r0, [r6] - b _08044B02 -_08044A6A: - ldrb r0, [r5, #0xe] - cmp r0, #2 - beq _08044A84 - cmp r0, #2 - bgt _08044A7A - cmp r0, #1 - beq _08044A9A - b _08044B02 -_08044A7A: - cmp r0, #3 - beq _08044ABA - cmp r0, #4 - beq _08044AB4 - b _08044B02 -_08044A84: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _08044B02 - strb r0, [r5, #0xf] -_08044A90: - adds r0, r5, #0 - movs r1, #0 - bl sub_08044E74 - b _08044B02 -_08044A9A: - ldrb r0, [r5, #0x15] - adds r0, #0x10 - movs r4, #0x1f - ands r0, r4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0x15] - adds r0, #0x10 - ands r0, r4 - strb r0, [r5, #0x15] - b _08044AC0 -_08044AB4: - adds r0, r5, #0 - bl sub_0806F69C -_08044ABA: - adds r0, r5, #0 - bl sub_0806F69C -_08044AC0: - movs r0, #2 - strb r0, [r5, #0xe] - b _08044B02 -_08044AC6: - adds r1, r5, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #0 - bne _08044B02 - adds r0, #1 - strb r0, [r1] - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - beq _08044B02 - adds r0, r5, #0 - movs r1, #0x1c - movs r2, #0 - bl sub_0804A98C - adds r4, r0, #0 - cmp r4, #0 - beq _08044B02 - ldrh r0, [r4, #0x32] - adds r0, #4 - strh r0, [r4, #0x32] - str r5, [r4, #0x50] - str r4, [r5, #0x54] - b _08044B02 -_08044AF8: - ldrb r0, [r5, #0xf] - cmp r0, #0 - beq _08044B02 - movs r0, #0 - strb r0, [r5, #0xf] -_08044B02: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08044B04 -sub_08044B04: @ 0x08044B04 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldr r6, [r4, #0x50] - bl sub_080042B8 - ldrb r0, [r6, #0xc] - cmp r0, #1 - bne _08044B26 - adds r0, r4, #0 - movs r1, #0 - bl sub_08044E74 - movs r0, #0x20 - strb r0, [r4, #0xe] - b _08044DE6 -_08044B26: - adds r0, r6, #0 - adds r0, #0x74 - ldrb r5, [r0] - cmp r5, #1 - bne _08044B32 - b _08044D10 -_08044B32: - cmp r5, #1 - bgt _08044B3C - cmp r5, #0 - beq _08044B4A - b _08044DE6 -_08044B3C: - cmp r5, #2 - bne _08044B42 - b _08044DE6 -_08044B42: - cmp r5, #3 - bne _08044B48 - b _08044D6A -_08044B48: - b _08044DE6 -_08044B4A: - adds r0, r4, #0 - bl sub_0806F69C - adds r7, r4, #0 - adds r7, #0x74 - ldrb r0, [r7] - mov r8, r7 - cmp r0, #1 - beq _08044BF4 - cmp r0, #1 - bgt _08044B66 - cmp r0, #0 - beq _08044B72 - b _08044DE6 -_08044B66: - cmp r0, #2 - beq _08044C4C - cmp r0, #3 - bne _08044B70 - b _08044C9C -_08044B70: - b _08044DE6 -_08044B72: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044B98 - adds r0, r4, #0 - adds r0, #0x78 - ldrb r0, [r0] - movs r1, #2 - cmp r0, #0 - beq _08044B8C - movs r1, #4 -_08044B8C: - strb r1, [r4, #0xe] - ldrb r0, [r4, #0x15] - adds r0, #1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_08044B98: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - movs r2, #0xff - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - beq _08044BAA - b _08044DE6 -_08044BAA: - ldrb r0, [r4, #0xe] - cmp r0, #2 - beq _08044BB6 - movs r0, #1 - strb r0, [r4, #0xf] - b _08044DE6 -_08044BB6: - adds r1, r4, #0 - adds r1, #0x78 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ands r0, r2 - cmp r0, #2 - bls _08044BDA - mov r2, r8 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - movs r0, #1 - strb r0, [r1] - movs r0, #4 - strb r0, [r4, #0xe] - strb r3, [r4, #0xf] - b _08044BDE -_08044BDA: - movs r0, #0x20 - strb r0, [r4, #0xf] -_08044BDE: - ldrb r0, [r1] - movs r2, #0xa0 - lsls r2, r2, #3 - adds r1, r2, #0 - cmp r0, #0 - beq _08044BF0 - movs r0, #0xa0 - lsls r0, r0, #2 - adds r1, r0, #0 -_08044BF0: - strh r1, [r4, #0x24] - b _08044DE6 -_08044BF4: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08044C04 - b _08044DE6 -_08044C04: - movs r0, #6 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - adds r0, #1 - movs r2, #0x1f - mov r8, r2 - mov r2, r8 - ands r0, r2 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - ands r0, r1 - cmp r0, #0x30 - beq _08044C24 - b _08044DE6 -_08044C24: - movs r0, #0x2e - ldrsh r1, [r6, r0] - movs r0, #0x32 - ldrsh r2, [r6, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strh r5, [r4, #0x24] - adds r0, #0x10 - mov r1, r8 - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x10 - strb r0, [r4, #0xe] - strb r0, [r4, #0xf] - ldrb r0, [r7] - adds r0, #1 - strb r0, [r7] - b _08044DE6 -_08044C4C: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08044CA2 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #4 - beq _08044CAE - cmp r5, #4 - bgt _08044C6A - cmp r5, #0 - beq _08044C78 - b _08044DE6 -_08044C6A: - cmp r5, #0xc - beq _08044C70 - b _08044DE6 -_08044C70: - movs r0, #0xa0 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - b _08044DE6 -_08044C78: - ldrb r0, [r7] - adds r0, #1 - strb r0, [r7] - movs r2, #0x2e - ldrsh r1, [r6, r2] - movs r0, #0x32 - ldrsh r2, [r6, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strb r0, [r4, #0x15] - strh r5, [r4, #0x24] - movs r0, #4 - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - b _08044DE6 -_08044C9C: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08044CB6 -_08044CA2: - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08044CAE - b _08044DE6 -_08044CAE: - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - b _08044DE6 -_08044CB6: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08044CD2 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044CD2 - movs r0, #0xa0 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - ldr r0, _08044D0C @ =0x0000014F - bl sub_080A3268 -_08044CD2: - adds r0, r4, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #3 - bne _08044CF8 - movs r2, #0x2e - ldrsh r1, [r6, r2] - movs r0, #0x32 - ldrsh r2, [r6, r0] - subs r2, #0x10 - adds r0, r4, #0 - movs r3, #0xc - bl sub_0806FCB8 - cmp r0, #0 - beq _08044CF8 - ldrb r0, [r6, #0xe] - adds r0, #1 - strb r0, [r6, #0xe] -_08044CF8: - movs r2, #0x2e - ldrsh r1, [r6, r2] - movs r0, #0x32 - ldrsh r2, [r6, r0] - subs r2, #0x10 - adds r0, r4, #0 - bl sub_080045B4 - strb r0, [r4, #0x15] - b _08044DE6 - .align 2, 0 -_08044D0C: .4byte 0x0000014F -_08044D10: - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #1 - beq _08044D50 - cmp r0, #3 - bne _08044DE6 - strb r5, [r1] - movs r0, #0x50 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r3, _08044D4C @ =0xFFF00000 - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08044DE6 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _08044DE6 - .align 2, 0 -_08044D4C: .4byte 0xFFF00000 -_08044D50: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _08044DE6 - strb r0, [r1] - movs r0, #0x20 - strb r0, [r4, #0xe] - movs r0, #4 - strb r0, [r4, #0xf] - b _08044DE6 -_08044D6A: - adds r5, r4, #0 - adds r5, #0x74 - ldrb r0, [r5] - cmp r0, #1 - beq _08044DA4 - cmp r0, #1 - bgt _08044D7E - cmp r0, #0 - beq _08044D84 - b _08044DE6 -_08044D7E: - cmp r0, #2 - beq _08044DBE - b _08044DE6 -_08044D84: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08044DE6 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044DE6 - adds r0, r4, #0 - bl sub_08044DEC - movs r0, #1 - strb r0, [r5] - movs r0, #0x10 - strb r0, [r4, #0xe] - b _08044DE6 -_08044DA4: - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08044DE6 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - b _08044DE6 -_08044DBE: - adds r0, r4, #0 - movs r1, #1 - bl sub_08044E74 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _08044DD8 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - b _08044DDE -_08044DD8: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 -_08044DDE: - strb r0, [r4, #0x10] - ldrb r0, [r6, #0xe] - adds r0, #1 - strb r0, [r6, #0xe] -_08044DE6: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08044DEC -sub_08044DEC: @ 0x08044DEC - push {lr} - mov ip, r0 - ldr r0, [r0, #0x50] - adds r0, #0x80 - mov r1, ip - adds r1, #0x79 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _08044E1A - mov r0, ip - ldrb r1, [r0, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x18] - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] - b _08044E26 -_08044E1A: - mov r2, ip - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] -_08044E26: - mov r0, ip - ldrb r1, [r0, #0x10] - movs r0, #0x7f - ands r0, r1 - movs r1, #0 - mov r2, ip - strb r0, [r2, #0x10] - mov r0, ip - adds r0, #0x78 - strb r1, [r0] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r2, #0x24] - ldr r0, [r2, #0x50] - adds r1, r0, #0 - adds r1, #0x80 - ldrb r1, [r1] - subs r1, #1 - ldr r2, _08044E6C @ =gUnk_080D1628 - mov r3, ip - adds r3, #0x79 - lsls r1, r1, #2 - ldrb r3, [r3] - adds r1, r1, r3 - adds r1, r1, r2 - ldrb r1, [r1] - mov r2, ip - strb r1, [r2, #0x15] - ldr r3, _08044E70 @ =0xFFF00000 - mov r1, ip - movs r2, #0 - bl sub_0806FA48 - pop {pc} - .align 2, 0 -_08044E6C: .4byte gUnk_080D1628 -_08044E70: .4byte 0xFFF00000 - - thumb_func_start sub_08044E74 -sub_08044E74: @ 0x08044E74 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r2, r1, #0 - movs r0, #0 - movs r1, #1 - strb r1, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x74 - strb r0, [r1] - cmp r2, #1 - beq _08044ED4 - cmp r2, #1 - blo _08044EE4 - adds r6, r5, #0 - adds r6, #0x78 - cmp r2, #2 - bne _08044F3E - strb r2, [r5, #0xc] - ldrb r0, [r5, #0x15] - adds r0, #0x18 - movs r4, #0x1f - ands r0, r4 - strb r0, [r5, #0x15] - ldr r0, [r5, #0x50] - ldr r3, _08044ED0 @ =0xFFF00000 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - movs r0, #0xc0 - lsls r0, r0, #6 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0x15] - adds r0, #8 - ands r0, r4 - strb r0, [r5, #0x15] - movs r0, #0xa0 - lsls r0, r0, #3 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_0806F69C - b _08044F3E - .align 2, 0 -_08044ED0: .4byte 0xFFF00000 -_08044ED4: - ldrb r0, [r5, #0x15] - adds r0, #8 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - adds r6, r5, #0 - adds r6, #0x78 - b _08044F3E -_08044EE4: - adds r0, r5, #0 - adds r0, #0x78 - ldrb r1, [r0] - adds r6, r0, #0 - cmp r1, #0 - beq _08044F32 - ldrb r0, [r5, #0xe] - cmp r0, #1 - beq _08044F18 - cmp r0, #1 - blt _08044F3E - cmp r0, #4 - bgt _08044F3E - cmp r0, #3 - blt _08044F3E - movs r4, #0xff -_08044F04: - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - ands r0, r4 - cmp r0, #2 - bne _08044F04 - b _08044F3E -_08044F18: - ldrb r0, [r5, #0x15] - adds r0, #0x10 - movs r4, #0x1f - ands r0, r4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0x15] - adds r0, #0x10 - ands r0, r4 - strb r0, [r5, #0x15] - b _08044F3E -_08044F32: - ldrb r0, [r5, #0xe] - cmp r0, #2 - bne _08044F3E - adds r0, r5, #0 - bl sub_0806F69C -_08044F3E: - movs r0, #0 - movs r1, #1 - strb r1, [r5, #0xe] - strb r0, [r6] - movs r0, #0xa0 - lsls r0, r0, #3 - strh r0, [r5, #0x24] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08044F50 -sub_08044F50: @ 0x08044F50 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08044F6C @ =gUnk_080D16A4 - bl sub_0800129E - movs r3, #0xc - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_08044F6C: .4byte gUnk_080D16A4 - - thumb_func_start sub_08044F70 -sub_08044F70: @ 0x08044F70 - push {lr} - ldr r2, _08044F84 @ =gUnk_080D16BC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08044F84: .4byte gUnk_080D16BC - - thumb_func_start sub_08044F88 -sub_08044F88: @ 0x08044F88 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - beq _08044FA2 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, r1 - beq _08044FA2 - movs r0, #4 - strb r0, [r4, #0xc] - b _08044FAA -_08044FA2: - ldr r1, _08044FC0 @ =gUnk_080D16A4 - adds r0, r4, #0 - bl sub_0804AA30 -_08044FAA: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _08044FBC - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_08044FBC: - pop {r4, pc} - .align 2, 0 -_08044FC0: .4byte gUnk_080D16A4 - - thumb_func_start nullsub_171 -nullsub_171: @ 0x08044FC4 - bx lr - .align 2, 0 - - thumb_func_start sub_08044FC8 -sub_08044FC8: @ 0x08044FC8 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0804A720 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08044FF8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08044FF8 -sub_08044FF8: @ 0x08044FF8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x1e - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - adds r4, #0x84 - strb r0, [r4] - pop {r4, pc} - - thumb_func_start sub_08045018 -sub_08045018: @ 0x08045018 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08004274 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08045086 - movs r4, #3 - strb r4, [r5, #0xc] - movs r0, #1 - strb r0, [r5, #0xe] - movs r1, #0x24 - ldrsh r0, [r5, r1] - cmp r0, #0 - ble _0804504C - movs r0, #0x80 - lsls r0, r0, #5 - movs r2, #0x24 - ldrsh r1, [r5, r2] - bl sub_0806FA04 - lsrs r0, r0, #8 - strb r0, [r5, #0xe] -_0804504C: - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0804507C - bl sub_08000E50 - ands r0, r4 - cmp r0, #0 - beq _0804507C - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #8 - ands r0, r1 - adds r0, #0xfc - adds r4, r4, r0 - movs r0, #0x18 - ands r4, r0 - strb r4, [r5, #0x15] - b _08045086 -_0804507C: - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] -_08045086: - pop {r4, r5, pc} - - thumb_func_start sub_08045088 -sub_08045088: @ 0x08045088 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080450A6 - movs r0, #1 - strb r0, [r4, #0xc] -_080450A6: - pop {r4, pc} - - thumb_func_start sub_080450A8 -sub_080450A8: @ 0x080450A8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0x10 - mov r8, r0 - ldr r1, _0804516C @ =gUnk_080D16D0 - ldrb r0, [r0, #0xa] - adds r0, r0, r1 - ldrb r7, [r0] - movs r0, #0x48 - subs r0, r0, r7 - ldr r1, _08045170 @ =gUnk_03003DBC - ldrb r1, [r1] - cmp r0, r1 - ble _08045160 - cmp r7, #0 - beq _080450E2 - mov r4, sp - adds r5, r7, #0 -_080450D0: - mov r0, r8 - ldrb r1, [r0, #0xa] - movs r0, #0x57 - bl sub_0804AA60 - stm r4!, {r0} - subs r5, #1 - cmp r5, #0 - bne _080450D0 -_080450E2: - ldr r2, _08045174 @ =gUnk_080D16D4 - mov sb, r2 - movs r5, #0 - cmp r5, r7 - bge _08045142 -_080450EC: - lsls r0, r5, #2 - add r0, sp - ldr r6, [r0] - adds r4, r5, #1 - adds r0, r4, #0 - adds r1, r7, #0 - bl __modsi3 - lsls r0, r0, #2 - add r0, sp - ldr r0, [r0] - str r0, [r6, #0x54] - adds r0, r5, r7 - subs r0, #1 - adds r1, r7, #0 - bl __modsi3 - lsls r0, r0, #2 - add r0, sp - ldr r0, [r0] - str r0, [r6, #0x50] - movs r1, #0 - movs r0, #1 - strb r0, [r6, #0xb] - strh r1, [r6, #0x36] - adds r1, r6, #0 - adds r1, #0x3d - movs r0, #0xf0 - strb r0, [r1] - mov r0, sb - movs r2, #0 - ldrsb r2, [r0, r2] - movs r3, #1 - ldrsb r3, [r0, r3] - mov r0, r8 - adds r1, r6, #0 - bl sub_08045178 - movs r2, #2 - add sb, r2 - adds r5, r4, #0 - cmp r5, r7 - blt _080450EC -_08045142: - mov r0, r8 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r6, r0, #0 - cmp r6, #0 - beq _0804515A - mov r0, r8 - adds r1, r6, #0 - bl sub_0806FA24 -_0804515A: - mov r0, r8 - bl sub_0805E7BC -_08045160: - add sp, #0x10 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0804516C: .4byte gUnk_080D16D0 -_08045170: .4byte gUnk_03003DBC -_08045174: .4byte gUnk_080D16D4 - - thumb_func_start sub_08045178 -sub_08045178: @ 0x08045178 - push {r4, r5, r6, lr} - adds r4, r1, #0 - adds r5, r2, #0 - adds r6, r3, #0 - cmp r4, #0 - beq _080451C6 - bl sub_0804A4E4 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_080002CC - cmp r0, #0 - bne _080451C6 - movs r1, #0x2e - ldrsh r0, [r4, r1] - adds r2, r0, r5 - cmp r2, #0 - blt _080451AE - ldr r0, _080451C8 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - ldrh r0, [r0, #0x1e] - adds r1, r1, r0 - cmp r2, r1 - bge _080451AE - strh r2, [r4, #0x2e] -_080451AE: - movs r1, #0x32 - ldrsh r0, [r4, r1] - adds r2, r0, r6 - cmp r2, #0 - blt _080451C6 - ldr r0, _080451C8 @ =gUnk_03000BF0 - ldrh r1, [r0, #8] - ldrh r0, [r0, #0x20] - adds r1, r1, r0 - cmp r2, r1 - bge _080451C6 - strh r2, [r4, #0x32] -_080451C6: - pop {r4, r5, r6, pc} - .align 2, 0 -_080451C8: .4byte gUnk_03000BF0 - - thumb_func_start sub_080451CC -sub_080451CC: @ 0x080451CC - ldrb r3, [r0, #0x10] - movs r2, #0xfe - ands r2, r3 - strb r2, [r1, #0x10] - ldr r2, [r0, #0x2c] - str r2, [r1, #0x2c] - ldr r2, [r0, #0x30] - str r2, [r1, #0x30] - ldr r2, [r0, #0x34] - str r2, [r1, #0x34] - adds r0, #0x68 - adds r1, #0x68 - ldrb r2, [r0, #4] - strb r2, [r1, #4] - ldrb r2, [r0, #5] - strb r2, [r1, #5] - ldrb r2, [r0, #6] - strb r2, [r1, #6] - ldrb r2, [r0, #7] - strb r2, [r1, #7] - ldrh r2, [r0, #8] - strh r2, [r1, #8] - ldrh r0, [r0, #0xa] - strh r0, [r1, #0xa] - bx lr - .align 2, 0 - - thumb_func_start sub_08045200 -sub_08045200: @ 0x08045200 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0804521C @ =gUnk_080D17C0 - bl sub_0800129E - movs r3, #8 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl sub_0804A9AC - pop {r4, pc} - .align 2, 0 -_0804521C: .4byte gUnk_080D17C0 - - thumb_func_start sub_08045220 -sub_08045220: @ 0x08045220 - push {lr} - ldr r2, _08045234 @ =gUnk_080D17D8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08045234: .4byte gUnk_080D17D8 - - thumb_func_start sub_08045238 -sub_08045238: @ 0x08045238 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0804524C - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0804524C: - ldr r1, _08045258 @ =gUnk_080D17C0 - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, pc} - .align 2, 0 -_08045258: .4byte gUnk_080D17C0 - - thumb_func_start sub_0804525C -sub_0804525C: @ 0x0804525C - push {r4, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x50] - cmp r4, r3 - beq _08045298 - cmp r3, #0 - beq _08045298 - adds r2, r4, #0 - adds r2, #0x6c - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] - ldr r1, [r4, #0x50] - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] - ldr r1, [r4, #0x54] - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - adds r0, r4, #0 - adds r0, #0x6d - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08045298 - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_08058800 -_08045298: - adds r0, r4, #0 - bl sub_0804A7D4 - pop {r4, pc} - - thumb_func_start nullsub_22 -nullsub_22: @ 0x080452A0 - bx lr - .align 2, 0 - - thumb_func_start sub_080452A4 -sub_080452A4: @ 0x080452A4 - push {r4, r5, lr} - adds r4, r0, #0 - movs r2, #1 - movs r5, #1 - strb r5, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0804A720 - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _080452DC - movs r0, #2 - strb r0, [r4, #0xc] - strb r5, [r4, #0xe] - b _080452E2 -_080452DC: - adds r0, r4, #0 - bl sub_080452E4 -_080452E2: - pop {r4, r5, pc} - - thumb_func_start sub_080452E4 -sub_080452E4: @ 0x080452E4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #1 - strb r0, [r4, #0xe] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080452FC -sub_080452FC: @ 0x080452FC - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08004274 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08045370 - movs r4, #3 - strb r4, [r5, #0xc] - movs r0, #1 - strb r0, [r5, #0xe] - movs r1, #0x24 - ldrsh r0, [r5, r1] - cmp r0, #0 - ble _08045330 - movs r0, #0x80 - lsls r0, r0, #5 - movs r2, #0x24 - ldrsh r1, [r5, r2] - bl sub_0806FA04 - lsrs r0, r0, #8 - strb r0, [r5, #0xe] -_08045330: - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08045360 - bl sub_08000E50 - ands r0, r4 - cmp r0, #0 - beq _08045360 - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #8 - ands r0, r1 - adds r0, #0xfc - adds r4, r4, r0 - movs r0, #0x18 - ands r4, r0 - strb r4, [r5, #0x15] - b _08045370 -_08045360: - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_08045374 -_08045370: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08045374 -sub_08045374: @ 0x08045374 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08045392 - movs r0, #1 - strb r0, [r4, #0xc] -_08045392: - pop {r4, pc} - - thumb_func_start sub_08045394 -sub_08045394: @ 0x08045394 - push {lr} - ldr r1, _080453A0 @ =gUnk_080D17E8 - bl sub_0800129E - pop {pc} - .align 2, 0 -_080453A0: .4byte gUnk_080D17E8 - - thumb_func_start sub_080453A4 -sub_080453A4: @ 0x080453A4 - push {lr} - ldr r2, _080453B8 @ =gUnk_080D1800 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080453B8: .4byte gUnk_080D1800 - - thumb_func_start sub_080453BC -sub_080453BC: @ 0x080453BC - push {lr} - adds r2, r0, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - beq _080453D6 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, r1 - beq _080453D6 - movs r0, #2 - strb r0, [r2, #0xc] - b _080453DE -_080453D6: - ldr r1, _080453E0 @ =gUnk_080D17E8 - adds r0, r2, #0 - bl sub_0804AA30 -_080453DE: - pop {pc} - .align 2, 0 -_080453E0: .4byte gUnk_080D17E8 - - thumb_func_start nullsub_172 -nullsub_172: @ 0x080453E4 - bx lr - .align 2, 0 - - thumb_func_start sub_080453E8 -sub_080453E8: @ 0x080453E8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - adds r0, #0x3f - strb r1, [r0] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0804A720 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08045524 - pop {r4, pc} - - thumb_func_start sub_08045430 -sub_08045430: @ 0x08045430 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - bl sub_08004274 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08045452 - adds r0, r4, #0 - bl sub_08045524 -_08045452: - pop {r4, pc} - - thumb_func_start sub_08045454 -sub_08045454: @ 0x08045454 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0x10 - mov r8, r0 - ldr r1, _08045518 @ =gUnk_080D180C - ldrb r0, [r0, #0xa] - adds r0, r0, r1 - ldrb r7, [r0] - movs r0, #0x48 - subs r0, r0, r7 - ldr r1, _0804551C @ =gUnk_03003DBC - ldrb r1, [r1] - cmp r0, r1 - ble _0804550C - cmp r7, #0 - beq _0804548E - mov r4, sp - adds r5, r7, #0 -_0804547C: - mov r0, r8 - ldrb r1, [r0, #0xa] - movs r0, #0x59 - bl sub_0804AA60 - stm r4!, {r0} - subs r5, #1 - cmp r5, #0 - bne _0804547C -_0804548E: - ldr r2, _08045520 @ =gUnk_080D1810 - mov sb, r2 - movs r5, #0 - cmp r5, r7 - bge _080454EE -_08045498: - lsls r0, r5, #2 - add r0, sp - ldr r6, [r0] - adds r4, r5, #1 - adds r0, r4, #0 - adds r1, r7, #0 - bl __modsi3 - lsls r0, r0, #2 - add r0, sp - ldr r0, [r0] - str r0, [r6, #0x54] - adds r0, r5, r7 - subs r0, #1 - adds r1, r7, #0 - bl __modsi3 - lsls r0, r0, #2 - add r0, sp - ldr r0, [r0] - str r0, [r6, #0x50] - movs r1, #0 - movs r0, #1 - strb r0, [r6, #0xb] - strh r1, [r6, #0x36] - adds r1, r6, #0 - adds r1, #0x3d - movs r0, #0xf0 - strb r0, [r1] - mov r0, sb - movs r2, #0 - ldrsb r2, [r0, r2] - movs r3, #1 - ldrsb r3, [r0, r3] - mov r0, r8 - adds r1, r6, #0 - bl sub_08045178 - movs r2, #2 - add sb, r2 - adds r5, r4, #0 - cmp r5, r7 - blt _08045498 -_080454EE: - mov r0, r8 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r6, r0, #0 - cmp r6, #0 - beq _08045506 - mov r0, r8 - adds r1, r6, #0 - bl sub_0806FA24 -_08045506: - mov r0, r8 - bl sub_0805E7BC -_0804550C: - add sp, #0x10 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08045518: .4byte gUnk_080D180C -_0804551C: .4byte gUnk_03003DBC -_08045520: .4byte gUnk_080D1810 - - thumb_func_start sub_08045524 -sub_08045524: @ 0x08045524 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xe0 - lsls r0, r0, #9 - str r0, [r5, #0x20] - adds r0, r5, #0 - movs r1, #1 - movs r2, #8 - bl sub_0804A024 - adds r4, r0, #0 - cmp r4, #0xff - beq _08045556 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - bne _08045556 - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0xe] - b _08045596 -_08045556: - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _08045562 - subs r0, #1 - strb r0, [r5, #0xe] - b _080455A8 -_08045562: - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0xe] - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _0804559E - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _0804559E - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #8 - ands r0, r1 - adds r0, #0xfc - adds r4, r4, r0 -_08045596: - movs r0, #0x18 - ands r4, r0 - strb r4, [r5, #0x15] - b _080455A8 -_0804559E: - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] -_080455A8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080455AC -sub_080455AC: @ 0x080455AC - push {lr} - ldr r1, _080455B8 @ =gUnk_080D1868 - bl sub_0800129E - pop {pc} - .align 2, 0 -_080455B8: .4byte gUnk_080D1868 - - thumb_func_start sub_080455BC -sub_080455BC: @ 0x080455BC - push {lr} - ldr r2, _080455D0 @ =gUnk_080D1880 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080455D0: .4byte gUnk_080D1880 - - thumb_func_start sub_080455D4 -sub_080455D4: @ 0x080455D4 - push {lr} - ldr r1, _080455E0 @ =gUnk_080D1868 - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_080455E0: .4byte gUnk_080D1868 - - thumb_func_start sub_080455E4 -sub_080455E4: @ 0x080455E4 - push {lr} - adds r3, r0, #0 - ldr r0, [r3, #0x50] - cmp r3, r0 - beq _0804560A - cmp r0, #0 - beq _0804560A - adds r2, r3, #0 - adds r2, #0x6c - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] - ldr r1, [r3, #0x50] - ldr r0, [r3, #0x54] - str r0, [r1, #0x54] - ldr r1, [r3, #0x54] - ldr r0, [r3, #0x50] - str r0, [r1, #0x50] -_0804560A: - adds r0, r3, #0 - bl sub_0804A7D4 - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_23 -nullsub_23: @ 0x08045614 - bx lr - .align 2, 0 - - thumb_func_start sub_08045618 -sub_08045618: @ 0x08045618 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0804A720 - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08045678 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08045654 -sub_08045654: @ 0x08045654 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - bl sub_08004274 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08045676 - adds r0, r4, #0 - bl sub_08045678 -_08045676: - pop {r4, pc} - - thumb_func_start sub_08045678 -sub_08045678: @ 0x08045678 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xe0 - lsls r0, r0, #9 - str r0, [r5, #0x20] - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _0804568E - subs r0, #1 - strb r0, [r5, #0xe] - b _080456D4 -_0804568E: - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0xe] - adds r0, r5, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _080456CA - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - cmp r1, #0 - beq _080456CA - adds r0, r5, #0 - bl sub_08049EE4 - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #8 - ands r0, r1 - adds r0, #0xfc - adds r4, r4, r0 - movs r0, #0x18 - ands r4, r0 - strb r4, [r5, #0x15] - b _080456D4 -_080456CA: - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r5, #0x15] -_080456D4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080456D8 -sub_080456D8: @ 0x080456D8 - push {lr} - ldr r1, _080456E4 @ =gUnk_080D1888 - bl sub_0800129E - pop {pc} - .align 2, 0 -_080456E4: .4byte gUnk_080D1888 - - thumb_func_start sub_080456E8 -sub_080456E8: @ 0x080456E8 - push {lr} - ldr r2, _080456FC @ =gUnk_080D18A0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080456FC: .4byte gUnk_080D18A0 - - thumb_func_start sub_08045700 -sub_08045700: @ 0x08045700 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #0 - beq _080457D0 - ldr r0, [r5, #0x50] - ldr r3, [r0, #0x50] - adds r0, r5, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080457D0 - movs r0, #0x3f - ands r0, r1 - cmp r0, #0xe - beq _08045728 - cmp r0, #0x15 - bne _08045778 -_08045728: - adds r1, r5, #0 - adds r1, #0x81 - ldrb r0, [r1] - cmp r0, #0 - bne _0804575C - movs r0, #3 - strb r0, [r5, #0xc] - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldrb r1, [r5, #0xa] - lsls r1, r1, #3 - ldrb r0, [r5, #0xe] - adds r0, #2 - orrs r1, r0 - adds r0, r5, #0 - bl sub_08004260 - ldr r0, [r5, #0x50] - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - ldrb r2, [r5, #0xe] - adds r2, #2 - orrs r1, r2 - bl sub_08004260 -_0804575C: - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _0804576C - movs r0, #0xbd - lsls r0, r0, #1 - bl sub_080A3268 - b _080457D0 -_0804576C: - ldr r0, _08045774 @ =0x00000119 - bl sub_080A3268 - b _080457D0 - .align 2, 0 -_08045774: .4byte 0x00000119 -_08045778: - adds r2, r5, #0 - adds r2, #0x45 - ldrb r1, [r2] - adds r0, r1, #0 - cmp r0, #0xff - beq _080457D0 - movs r0, #0xff - strb r0, [r2] - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _080457D0 - adds r0, r3, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _080457D0 - adds r0, r3, #0 - adds r0, #0x76 - movs r1, #1 - ldrb r2, [r5, #0xb] - lsls r1, r2 - ldrb r2, [r0] - orrs r1, r2 - strb r1, [r0] - adds r1, r5, #0 - adds r1, #0x85 - ldrb r0, [r1] - cmp r0, #0 - bne _080457D0 - adds r0, #1 - strb r0, [r1] - ldrb r1, [r5, #0xa] - lsls r1, r1, #3 - movs r4, #6 - orrs r1, r4 - adds r0, r5, #0 - bl sub_08004260 - ldr r0, [r5, #0x50] - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - orrs r1, r4 - bl sub_08004260 -_080457D0: - ldr r1, _080457DC @ =gUnk_080D1888 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_080457DC: .4byte gUnk_080D1888 - - thumb_func_start nullsub_173 -nullsub_173: @ 0x080457E0 - bx lr - .align 2, 0 - - thumb_func_start sub_080457E4 -sub_080457E4: @ 0x080457E4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08045850 @ =gUnk_02000050 - ldrb r0, [r0] - movs r2, #0x7f - ands r2, r0 - cmp r2, #0 - bne _08045868 - movs r3, #1 - strb r3, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - adds r0, #4 - strb r2, [r0] - strb r2, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0x30 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x83 - strb r2, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08045854 - adds r0, r4, #0 - bl sub_08045A00 - movs r0, #0x5a - movs r1, #1 - bl sub_0804AA60 - adds r1, r0, #0 - cmp r1, #0 - beq _0804585A - str r4, [r1, #0x50] - str r1, [r4, #0x54] - ldrb r0, [r4, #0xe] - strb r0, [r1, #0xe] - ldrb r0, [r4, #0xb] - strb r0, [r1, #0xb] - adds r0, r4, #0 - bl sub_0806FA24 - b _0804585A - .align 2, 0 -_08045850: .4byte gUnk_02000050 -_08045854: - adds r0, r4, #0 - adds r0, #0x63 - strb r3, [r0] -_0804585A: - ldrb r1, [r4, #0xa] - lsls r1, r1, #3 - movs r0, #1 - orrs r1, r0 - adds r0, r4, #0 - bl sub_08004260 -_08045868: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0804586C -sub_0804586C: @ 0x0804586C - push {r4, lr} - adds r4, r0, #0 - bl sub_08045A28 - adds r1, r4, #0 - adds r1, #0x82 - ldrb r0, [r1] - cmp r0, #0 - bne _080458AA - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080458C2 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0804589A - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_0804589A: - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xa] - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 - b _080458C2 -_080458AA: - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080458C2 - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] -_080458C2: - pop {r4, pc} - - thumb_func_start sub_080458C4 -sub_080458C4: @ 0x080458C4 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08045A28 - ldr r1, [r5, #0x50] - ldrb r2, [r5, #0xa] - cmp r2, #0 - beq _080458D6 - ldr r1, [r1, #0x50] -_080458D6: - ldrb r0, [r1, #0xc] - cmp r0, #3 - bne _08045934 - adds r0, r1, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #1 - bne _08045934 - movs r0, #0 - movs r4, #4 - strb r4, [r5, #0xc] - strb r0, [r5, #0xf] - cmp r2, #0 - beq _08045934 - ldrb r0, [r5, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r5, #0x10] - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _0804591C - ldrb r1, [r5, #0xa] - lsls r1, r1, #3 - movs r4, #5 - orrs r1, r4 - adds r0, r5, #0 - bl sub_08004260 - ldr r0, [r5, #0x50] - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - orrs r1, r4 - bl sub_08004260 - b _08045934 -_0804591C: - ldrb r1, [r5, #0xa] - lsls r1, r1, #3 - orrs r1, r4 - adds r0, r5, #0 - bl sub_08004260 - ldr r0, [r5, #0x50] - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - orrs r1, r4 - bl sub_08004260 -_08045934: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08045938 -sub_08045938: @ 0x08045938 - push {r4, lr} - adds r4, r0, #0 - bl sub_08045A28 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08045980 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08045980 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08045966 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x32 - b _0804597E -_08045966: - ldr r0, [r4, #0x50] - ldr r2, [r0, #0x50] - adds r2, #0x76 - movs r0, #1 - ldrb r1, [r4, #0xb] - lsls r0, r1 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x31 -_0804597E: - strb r0, [r1] -_08045980: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08045984 -sub_08045984: @ 0x08045984 - push {r4, lr} - adds r4, r0, #0 - bl sub_08045A28 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080459A6 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080459FE - movs r0, #0x20 - strb r0, [r4, #0xf] - b _080459FE -_080459A6: - ldr r2, [r4, #0x50] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080459B0 - ldr r2, [r2, #0x50] -_080459B0: - ldrb r0, [r2, #0x14] - cmp r0, #2 - bhi _080459FE - ldrb r0, [r2, #0xc] - cmp r0, #3 - beq _080459FE - movs r0, #0 - movs r3, #1 - strb r3, [r4, #0xc] - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x81 - strb r0, [r1] - adds r1, #4 - strb r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080459DA - subs r1, #0x46 - movs r0, #0x33 - strb r0, [r1] -_080459DA: - adds r0, r2, #0 - adds r0, #0x75 - ldrb r0, [r0] - ldrb r1, [r4, #0xb] - asrs r0, r1 - ands r0, r3 - cmp r0, #0 - beq _080459EE - strb r3, [r4, #0xe] - b _080459F0 -_080459EE: - strb r0, [r4, #0xe] -_080459F0: - ldrb r1, [r4, #0xa] - lsls r1, r1, #3 - movs r0, #1 - orrs r1, r0 - adds r0, r4, #0 - bl sub_08004260 -_080459FE: - pop {r4, pc} - - thumb_func_start sub_08045A00 -sub_08045A00: @ 0x08045A00 - push {lr} - adds r1, r0, #0 - ldrb r3, [r1, #0xb] - lsls r3, r3, #1 - ldr r0, _08045A24 @ =gUnk_080D18B4 - adds r3, r3, r0 - ldr r0, [r1, #0x50] - movs r2, #0 - ldrsb r2, [r3, r2] - lsls r2, r2, #0x10 - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - adds r3, #3 - lsls r3, r3, #0x10 - bl sub_0806FA48 - pop {pc} - .align 2, 0 -_08045A24: .4byte gUnk_080D18B4 - - thumb_func_start sub_08045A28 -sub_08045A28: @ 0x08045A28 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r0, #0 - bne _08045A3E - adds r0, r5, #0 - bl sub_08004274 -_08045A3E: - adds r6, r5, #0 - adds r6, #0x5a - ldrb r0, [r6] - movs r1, #0x70 - mov r8, r1 - mov r4, r8 - ands r4, r0 - ldrb r7, [r5, #0xa] - cmp r7, #0 - bne _08045AF8 - adds r0, r5, #0 - bl sub_08045A00 - adds r1, r5, #0 - adds r1, #0x83 - ldrb r0, [r1] - adds r2, r1, #0 - cmp r0, #1 - beq _08045AA4 - cmp r0, #1 - bgt _08045A6E - cmp r0, #0 - beq _08045A78 - b _08045B7C -_08045A6E: - cmp r0, #2 - beq _08045ABC - cmp r0, #3 - beq _08045AE8 - b _08045B7C -_08045A78: - cmp r4, #0x20 - beq _08045A8C - cmp r4, #0x20 - bhi _08045A86 - cmp r4, #0 - beq _08045A96 - b _08045B7C -_08045A86: - cmp r4, #0x40 - beq _08045A96 - b _08045B7C -_08045A8C: - movs r0, #1 - strb r0, [r1] - movs r1, #0x9f - lsls r1, r1, #1 - b _08045B5A -_08045A96: - movs r0, #2 - strb r0, [r2] - ldr r1, _08045AA0 @ =0x0000013F - b _08045B5A - .align 2, 0 -_08045AA0: .4byte 0x0000013F -_08045AA4: - cmp r4, #0 - beq _08045AB0 - cmp r4, #0x10 - bne _08045B7C - strb r7, [r1] - b _08045B58 -_08045AB0: - movs r0, #2 - strb r0, [r1] - ldr r1, _08045AB8 @ =0x0000013F - b _08045B5A - .align 2, 0 -_08045AB8: .4byte 0x0000013F -_08045ABC: - cmp r4, #0x20 - beq _08045AD0 - cmp r4, #0x20 - bhi _08045ACA - cmp r4, #0x10 - beq _08045ADA - b _08045B7C -_08045ACA: - cmp r4, #0x40 - beq _08045ADE - b _08045B7C -_08045AD0: - movs r0, #1 - strb r0, [r1] - movs r1, #0x9f - lsls r1, r1, #1 - b _08045B5A -_08045ADA: - strb r7, [r1] - b _08045B58 -_08045ADE: - strb r0, [r1] - ldr r1, _08045AE4 @ =0x0000013F - b _08045B5A - .align 2, 0 -_08045AE4: .4byte 0x0000013F -_08045AE8: - cmp r4, #0 - bne _08045B7C - movs r0, #2 - strb r0, [r1] - ldr r1, _08045AF4 @ =0x0000013F - b _08045B5A - .align 2, 0 -_08045AF4: .4byte 0x0000013F -_08045AF8: - ldr r0, [r5, #0x50] - ldr r3, _08045B18 @ =0xFFFF0000 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - adds r2, r5, #0 - adds r2, #0x83 - ldrb r0, [r2] - cmp r0, #1 - beq _08045B3A - cmp r0, #1 - bgt _08045B1C - cmp r0, #0 - beq _08045B22 - b _08045B7C - .align 2, 0 -_08045B18: .4byte 0xFFFF0000 -_08045B1C: - cmp r0, #2 - beq _08045B68 - b _08045B7C -_08045B22: - ldrb r0, [r6] - mov r1, r8 - ands r1, r0 - cmp r1, #0x10 - beq _08045B54 - cmp r1, #0x20 - bne _08045B7C - movs r0, #1 - strb r0, [r2] - movs r1, #0x9f - lsls r1, r1, #1 - b _08045B5A -_08045B3A: - ldrb r0, [r6] - mov r1, r8 - ands r1, r0 - cmp r1, #0 - beq _08045B4A - cmp r1, #0x10 - beq _08045B54 - b _08045B7C -_08045B4A: - strb r1, [r2] - ldr r1, _08045B50 @ =0x0000013F - b _08045B5A - .align 2, 0 -_08045B50: .4byte 0x0000013F -_08045B54: - movs r0, #2 - strb r0, [r2] -_08045B58: - ldr r1, _08045B64 @ =0x0000013B -_08045B5A: - adds r0, r5, #0 - bl sub_0801D2B4 - b _08045B7C - .align 2, 0 -_08045B64: .4byte 0x0000013B -_08045B68: - ldrb r0, [r6] - mov r1, r8 - ands r1, r0 - cmp r1, #0 - bne _08045B7C - strb r1, [r2] - ldr r1, _08045B84 @ =0x0000013F - adds r0, r5, #0 - bl sub_0801D2B4 -_08045B7C: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08045B84: .4byte 0x0000013F - - thumb_func_start sub_08045B88 -sub_08045B88: @ 0x08045B88 - push {lr} - ldr r1, _08045B94 @ =gUnk_080D19FC - bl sub_0800129E - pop {pc} - .align 2, 0 -_08045B94: .4byte gUnk_080D19FC - - thumb_func_start sub_08045B98 -sub_08045B98: @ 0x08045B98 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r1, _08045BC4 @ =gUnk_080D1A14 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0800445C - pop {r4, pc} - .align 2, 0 -_08045BC4: .4byte gUnk_080D1A14 - - thumb_func_start sub_08045BC8 -sub_08045BC8: @ 0x08045BC8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #1 - bne _08045C2C - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r2, #0x7f - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0x42 - bne _08045C2C - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - movs r0, #0x28 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - adds r0, r2, #0 - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #4 - bl sub_08046030 - adds r0, r4, #0 - movs r1, #3 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08045C16 - ldrh r0, [r1, #0x36] - subs r0, #8 - strh r0, [r1, #0x36] -_08045C16: - ldr r0, _08045C30 @ =gUnk_03003F80 - adds r0, #0x27 - movs r1, #0xff - strb r1, [r0] - ldr r0, _08045C34 @ =0x000001BB - bl sub_08004488 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 -_08045C2C: - pop {r4, pc} - .align 2, 0 -_08045C30: .4byte gUnk_03003F80 -_08045C34: .4byte 0x000001BB - - thumb_func_start nullsub_174 -nullsub_174: @ 0x08045C38 - bx lr - .align 2, 0 - - thumb_func_start sub_08045C3C -sub_08045C3C: @ 0x08045C3C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - strb r0, [r4, #0xf] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x78 - movs r2, #0 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - strb r2, [r4, #0x14] - movs r0, #0x10 - strb r0, [r4, #0x15] - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0xb1 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_08046030 - adds r0, r4, #0 - bl sub_08095C48 - ldr r1, _08045CA0 @ =gUnk_08015AC4 - adds r0, r4, #0 - bl sub_0807DAD0 - adds r0, r4, #0 - bl sub_0807DD50 - pop {r4, pc} - .align 2, 0 -_08045CA0: .4byte gUnk_08015AC4 - - thumb_func_start sub_08045CA4 -sub_08045CA4: @ 0x08045CA4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - adds r5, r0, #0 - cmp r5, #0 - beq _08045CC0 - subs r0, #1 - strb r0, [r4, #0xe] - b _08045CD8 -_08045CC0: - adds r0, r4, #0 - movs r1, #0 - bl sub_08045F54 - cmp r0, #0 - beq _08045CD8 - adds r0, r4, #0 - bl sub_08045FF0 - strb r5, [r4, #0xd] - movs r0, #1 - strb r0, [r4, #0xf] -_08045CD8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start nullsub_24 -nullsub_24: @ 0x08045CDC - bx lr - .align 2, 0 - - thumb_func_start sub_08045CE0 -sub_08045CE0: @ 0x08045CE0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xd] - cmp r0, #4 - bls _08045CF0 - b _08045DF8 -_08045CF0: - lsls r0, r0, #2 - ldr r1, _08045CFC @ =_08045D00 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08045CFC: .4byte _08045D00 -_08045D00: @ jump table - .4byte _08045D14 @ case 0 - .4byte _08045D36 @ case 1 - .4byte _08045D60 @ case 2 - .4byte _08045D9A @ case 3 - .4byte _08045DBC @ case 4 -_08045D14: - movs r6, #1 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08045DF8 - strb r6, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08045F98 - b _08045DB2 -_08045D36: - movs r6, #1 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _08045DF8 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x20 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - adds r0, r4, #0 - bl sub_08045F98 - adds r0, r4, #0 - movs r1, #2 - bl sub_08046030 - b _08045DF8 -_08045D60: - movs r6, #1 - adds r0, r4, #0 - bl sub_0804604C - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _08045DF8 - adds r0, r4, #0 - movs r1, #4 - movs r2, #0 - bl sub_0804A98C - adds r1, r0, #0 - cmp r1, #0 - beq _08045DF8 - str r4, [r1, #0x50] - ldrb r0, [r4, #0x15] - strb r0, [r1, #0x15] - ldrb r1, [r5] - movs r0, #0xfe - ands r0, r1 - strb r0, [r5] - movs r0, #3 - strb r0, [r4, #0xd] - b _08045DF8 -_08045D9A: - movs r6, #2 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08045DF8 - movs r0, #4 - strb r0, [r4, #0xd] - movs r0, #0x50 - strb r0, [r4, #0xe] -_08045DB2: - adds r0, r4, #0 - movs r1, #1 - bl sub_08046030 - b _08045DF8 -_08045DBC: - movs r6, #2 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08045DF8 - adds r0, r4, #0 - movs r1, #0 - bl sub_08045F54 - adds r5, r0, #0 - cmp r5, #0 - beq _08045DEC - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08045F98 - b _08045DF8 -_08045DEC: - adds r0, r4, #0 - bl sub_08045FA0 - movs r0, #0x50 - strb r0, [r4, #0xe] - strb r5, [r4, #0xf] -_08045DF8: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08045F54 - adds r5, r0, #0 - cmp r5, #0 - bne _08045E12 - adds r0, r4, #0 - bl sub_08045FA0 - strb r5, [r4, #0xd] - strb r5, [r4, #0xe] - strb r5, [r4, #0xf] -_08045E12: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08045E14 -sub_08045E14: @ 0x08045E14 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08045E2C @ =gUnk_03003F80 - adds r0, #0x27 - movs r1, #0xff - strb r1, [r0] - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _08045E30 - cmp r0, #1 - beq _08045E70 - b _08045EBA - .align 2, 0 -_08045E2C: .4byte gUnk_03003F80 -_08045E30: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08045E6A - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08045EBA - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - bl sub_08045F98 - adds r0, r4, #0 - movs r1, #5 - bl sub_08046030 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - b _08045EBA -_08045E6A: - subs r0, #1 - strb r0, [r4, #0xe] - b _08045EBA -_08045E70: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08045EBA - movs r1, #0 - movs r0, #5 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - adds r0, r4, #0 - bl sub_08046030 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC - adds r2, r0, #0 - cmp r2, #0 - beq _08045EBA - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r2, #0x36] - subs r0, #0xc - strh r0, [r2, #0x36] - adds r0, r2, #0 - movs r1, #2 - bl sub_0805E3A0 -_08045EBA: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0800445C - pop {r4, pc} - - thumb_func_start sub_08045EC8 -sub_08045EC8: @ 0x08045EC8 - push {lr} - movs r1, #0 - bl sub_0807DD94 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08045ED4 -sub_08045ED4: @ 0x08045ED4 - push {lr} - bl sub_08045FA0 - pop {pc} - - thumb_func_start sub_08045EDC -sub_08045EDC: @ 0x08045EDC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - adds r1, r0, #0 - cmp r1, #0 - bne _08045F00 - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x20 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - adds r0, r4, #0 - bl sub_08045F98 - adds r0, r4, #0 - movs r1, #2 - bl sub_08046030 -_08045F00: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0804604C - adds r3, r4, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r2, #1 - ands r2, r1 - cmp r2, #0 - beq _08045F38 - movs r0, #0xfe - ands r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080954AC - ldr r0, _08045F34 @ =0x0000018D - bl sub_08004488 - b _08045F4E - .align 2, 0 -_08045F34: .4byte 0x0000018D -_08045F38: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08045F4E - movs r0, #5 - strb r0, [r4, #0xc] - strb r2, [r4, #0xd] - adds r0, r4, #0 - movs r1, #1 - bl sub_08046030 -_08045F4E: - pop {r4, pc} - - thumb_func_start nullsub_25 -nullsub_25: @ 0x08045F50 - bx lr - .align 2, 0 - - thumb_func_start sub_08045F54 -sub_08045F54: @ 0x08045F54 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - movs r0, #1 - bl sub_08049DF4 - adds r4, r0, #0 - cmp r4, #0 - beq _08045F90 - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #0x20 - movs r3, #0x20 - bl sub_080041A0 - cmp r0, #0 - bne _08045F90 - cmp r5, #2 - beq _08045F94 - movs r3, #0x50 - cmp r5, #0 - beq _08045F82 - movs r3, #0x58 -_08045F82: - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r3, #0 - bl sub_080041A0 - cmp r0, #0 - bne _08045F94 -_08045F90: - movs r0, #0 - b _08045F96 -_08045F94: - movs r0, #1 -_08045F96: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08045F98 -sub_08045F98: @ 0x08045F98 - movs r1, #0x10 - strb r1, [r0, #0x15] - movs r0, #1 - bx lr - - thumb_func_start sub_08045FA0 -sub_08045FA0: @ 0x08045FA0 - push {lr} - adds r2, r0, #0 - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r3] - adds r0, r2, #0 - adds r0, #0x78 - ldrh r0, [r0] - movs r1, #0 - strh r0, [r2, #0x2e] - adds r0, r2, #0 - adds r0, #0x7a - ldrh r0, [r0] - strh r0, [r2, #0x32] - adds r0, r2, #0 - adds r0, #0x62 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, r2, #0 - movs r1, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08045FF0 -sub_08045FF0: @ 0x08045FF0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08045F98 - adds r0, r4, #0 - movs r1, #1 - bl sub_08046030 - pop {r4, pc} - - thumb_func_start sub_08046030 -sub_08046030: @ 0x08046030 - push {lr} - adds r3, r1, #0 - ldrb r1, [r0, #0x15] - lsrs r1, r1, #3 - ldr r2, _08046048 @ =gUnk_080D1A38 - adds r3, r3, r2 - ldrb r2, [r3] - orrs r1, r2 - bl sub_08004260 - pop {pc} - .align 2, 0 -_08046048: .4byte gUnk_080D1A38 - - thumb_func_start sub_0804604C -sub_0804604C: @ 0x0804604C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _08046070 - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xf - bhi _08046070 - ldr r1, _08046074 @ =gUnk_080D1A3E - ldrb r0, [r2, #0xe] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x63 - strb r1, [r0] -_08046070: - pop {pc} - .align 2, 0 -_08046074: .4byte gUnk_080D1A3E - - thumb_func_start sub_08046078 -sub_08046078: @ 0x08046078 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldr r0, _08046114 @ =gUnk_03003F80 - adds r0, #0x27 - movs r1, #0 - strb r1, [r0] - ldr r4, _08046118 @ =gUnk_080D1A4E - ldr r6, _0804611C @ =gUnk_03000BF0 - movs r5, #4 -_0804608A: - adds r0, r7, #0 - movs r1, #2 - movs r2, #0x40 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _080460AE - ldrh r0, [r4] - ldrh r2, [r6, #6] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - adds r4, #2 - ldrh r0, [r4] - ldrh r2, [r6, #8] - adds r0, r0, r2 - strh r0, [r1, #0x32] - adds r4, #2 -_080460AE: - subs r5, #1 - cmp r5, #0 - bge _0804608A - movs r0, #0xb7 - lsls r0, r0, #1 - bl sub_08004488 - ldr r0, _08046120 @ =0x000007A2 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _08046124 @ =0x000007A3 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _08046128 @ =0x000007A5 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804612C @ =0x000007A6 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _08046130 @ =0x000007A7 - movs r1, #1 - bl sub_0807BA8C - adds r0, r7, #0 - movs r1, #0x43 - movs r2, #0x40 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08046102 - adds r0, r7, #0 - bl sub_0806FA24 - movs r0, #0xc2 - lsls r0, r0, #1 - bl sub_08004488 -_08046102: - ldr r1, [r7, #0x54] - cmp r1, #0 - beq _0804610C - movs r0, #0xff - strb r0, [r1, #0xc] -_0804610C: - adds r0, r7, #0 - bl sub_0804AA1C - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08046114: .4byte gUnk_03003F80 -_08046118: .4byte gUnk_080D1A4E -_0804611C: .4byte gUnk_03000BF0 -_08046120: .4byte 0x000007A2 -_08046124: .4byte 0x000007A3 -_08046128: .4byte 0x000007A5 -_0804612C: .4byte 0x000007A6 -_08046130: .4byte 0x000007A7 - - thumb_func_start sub_08046134 -sub_08046134: @ 0x08046134 - push {lr} - ldr r2, _08046148 @ =gUnk_080D1A64 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08046148: .4byte gUnk_080D1A64 - - thumb_func_start sub_0804614C -sub_0804614C: @ 0x0804614C - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r0, _08046248 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x3d - bhi _08046244 - movs r0, #0x22 - bl sub_080A7EE0 - adds r1, r0, #0 - movs r4, #0 - strb r4, [r1, #0xa] - str r6, [r1, #0x50] - ldr r0, [r6, #0x64] - str r1, [r0, #0x14] - movs r0, #0x63 - movs r1, #0 - bl sub_0804AA60 - adds r1, r0, #0 - str r6, [r1, #0x50] - ldr r0, [r6, #0x64] - str r1, [r0, #0x10] - movs r0, #0x61 - movs r1, #0 - bl sub_0804AA60 - adds r1, r0, #0 - str r6, [r1, #0x50] - movs r0, #0x61 - movs r1, #1 - bl sub_0804AA60 - adds r1, r0, #0 - str r6, [r1, #0x50] - movs r0, #0x61 - movs r1, #2 - bl sub_0804AA60 - adds r1, r0, #0 - str r6, [r1, #0x50] - movs r0, #0x61 - movs r1, #3 - bl sub_0804AA60 - adds r1, r0, #0 - str r6, [r1, #0x50] - movs r0, #0x61 - movs r1, #4 - bl sub_0804AA60 - adds r1, r0, #0 - str r6, [r1, #0x50] - movs r0, #0x61 - movs r1, #5 - bl sub_0804AA60 - adds r1, r0, #0 - str r6, [r1, #0x50] - movs r0, #0x61 - movs r1, #6 - bl sub_0804AA60 - adds r1, r0, #0 - str r6, [r1, #0x50] - movs r0, #0x61 - movs r1, #7 - bl sub_0804AA60 - adds r1, r0, #0 - str r6, [r1, #0x50] - movs r0, #1 - strb r0, [r6, #0xc] - ldrb r2, [r6, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r6, #0x1b] - ldrb r0, [r6, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r6, #0x19] - adds r0, r6, #0 - adds r0, #0x38 - movs r5, #2 - strb r5, [r0] - adds r0, #0x40 - strb r4, [r0] - adds r0, #1 - strb r4, [r0] - adds r1, r6, #0 - adds r1, #0x70 - movs r0, #0x3c - strh r0, [r1] - ldr r0, _0804624C @ =gUnk_02019EE0 - movs r4, #0x80 - lsls r4, r4, #8 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _08046250 @ =gUnk_02002F00 - adds r1, r4, #0 - bl sub_0801D630 - adds r0, r6, #0 - movs r1, #0 - bl sub_0804660C - adds r0, r6, #0 - bl sub_080464C0 - ldr r0, _08046254 @ =gUnk_03001160 - adds r1, r0, #0 - adds r1, #0x38 - strb r5, [r1] - bl sub_08016A04 - ldr r1, _08046258 @ =sub_08046498 - adds r0, r6, #0 - movs r2, #0 - bl sub_08052D74 -_08046244: - pop {r4, r5, r6, pc} - .align 2, 0 -_08046248: .4byte gUnk_03003DBC -_0804624C: .4byte gUnk_02019EE0 -_08046250: .4byte gUnk_02002F00 -_08046254: .4byte gUnk_03001160 -_08046258: .4byte sub_08046498 - - thumb_func_start sub_0804625C -sub_0804625C: @ 0x0804625C - push {r4, lr} - adds r4, r0, #0 - adds r3, r4, #0 - adds r3, #0x79 - ldrb r2, [r3] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08046286 - movs r1, #0x7f - ands r1, r2 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r3] - movs r0, #3 - ands r1, r0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_0804660C - b _0804629A -_08046286: - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _0804629A - movs r0, #0xbf - ands r0, r2 - strb r0, [r3] - adds r0, r4, #0 - bl sub_080464C0 -_0804629A: - bl sub_080465C8 - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r3, #0x38 - ands r3, r1 - cmp r3, #0 - beq _080462D6 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x7a - movs r2, #0 - strh r1, [r0] - adds r0, #2 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - adds r1, r4, #0 - adds r1, #0x70 - movs r0, #0x3c - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] - b _0804632A -_080462D6: - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08046302 - movs r0, #3 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x70 - movs r1, #0 - movs r0, #0x3c - strh r0, [r2] - strb r1, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x7a - strh r3, [r0] - adds r0, #2 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #3 - strb r1, [r0] - b _0804632A -_08046302: - movs r0, #0x80 - lsls r0, r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0804632A - adds r1, r4, #0 - adds r1, #0x70 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0804632A - movs r0, #0xb4 - lsls r0, r0, #1 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #1 - bl sub_08046634 -_0804632A: - pop {r4, pc} - - thumb_func_start sub_0804632C -sub_0804632C: @ 0x0804632C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080465C8 - adds r0, r4, #0 - bl sub_080466A8 - adds r3, r4, #0 - adds r3, #0x7a - ldrh r0, [r3] - adds r2, r0, #1 - movs r5, #0 - strh r2, [r3] - lsls r1, r2, #0x10 - ldr r0, _08046360 @ =0x059F0000 - cmp r1, r0 - bls _08046364 - movs r0, #0 - strh r0, [r3] - adds r0, r4, #0 - adds r0, #0x7c - strb r5, [r0] - adds r0, #1 - strb r5, [r0] - adds r0, #3 - b _08046388 - .align 2, 0 -_08046360: .4byte 0x059F0000 -_08046364: - lsls r0, r2, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #0x78 - bne _08046374 - adds r0, r4, #0 - bl sub_08046668 - b _0804638A -_08046374: - movs r0, #0xa5 - lsls r0, r0, #3 - cmp r1, r0 - bne _0804638A - adds r0, r4, #0 - adds r0, #0x78 - strb r5, [r0] - adds r0, #5 - strb r5, [r0] - adds r0, #2 -_08046388: - strb r5, [r0] -_0804638A: - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080463B8 - adds r1, r4, #0 - adds r1, #0x70 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080463B8 - movs r0, #0xb4 - lsls r0, r0, #1 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_08046634 -_080463B8: - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #0x38 - ands r0, r1 - cmp r0, #0 - bne _080463E0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x70 - movs r2, #0 - movs r0, #0x3c - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x78 - strb r2, [r0] - adds r0, #8 - strb r2, [r0] -_080463E0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080463E4 -sub_080463E4: @ 0x080463E4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_080465C8 - adds r1, r4, #0 - adds r1, #0x70 - ldrh r0, [r1] - subs r0, #1 - movs r5, #0 - strh r0, [r1] - ldr r2, _0804643C @ =0x0000FFFF - adds r6, r2, #0 - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08046410 - movs r0, #0xb4 - lsls r0, r0, #1 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #1 - bl sub_08046634 -_08046410: - adds r0, r4, #0 - bl sub_080466A8 - adds r3, r4, #0 - adds r3, #0x7a - ldrh r0, [r3] - adds r2, r0, #1 - strh r2, [r3] - adds r0, r2, #0 - ands r0, r6 - ldr r1, _08046440 @ =0x0000059F - cmp r0, r1 - bls _08046444 - movs r0, #0 - strh r0, [r3] - adds r0, r4, #0 - adds r0, #0x7c - strb r5, [r0] - adds r0, #1 - strb r5, [r0] - adds r0, #3 - b _08046468 - .align 2, 0 -_0804643C: .4byte 0x0000FFFF -_08046440: .4byte 0x0000059F -_08046444: - lsls r0, r2, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #0x78 - bne _08046454 - adds r0, r4, #0 - bl sub_08046668 - b _0804646A -_08046454: - movs r0, #0xa5 - lsls r0, r0, #3 - cmp r1, r0 - bne _0804646A - adds r0, r4, #0 - adds r0, #0x78 - strb r5, [r0] - adds r0, #5 - strb r5, [r0] - adds r0, #2 -_08046468: - strb r5, [r0] -_0804646A: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _08046494 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x70 - movs r2, #0 - movs r0, #0x3c - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x78 - strb r2, [r0] - adds r0, #8 - strb r2, [r0] - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 -_08046494: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08046498 -sub_08046498: @ 0x08046498 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _080464B8 @ =gUnk_02019EE0 - movs r4, #0x80 - lsls r4, r4, #8 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _080464BC @ =gUnk_02002F00 - adds r1, r4, #0 - bl sub_0801D630 - adds r0, r5, #0 - bl sub_080464C0 - pop {r4, r5, pc} - .align 2, 0 -_080464B8: .4byte gUnk_02019EE0 -_080464BC: .4byte gUnk_02002F00 - - thumb_func_start sub_080464C0 -sub_080464C0: @ 0x080464C0 - push {r4, r5, r6, lr} - ldr r1, _08046508 @ =gUnk_080D1A74 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #6 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl sub_080197D4 - bl sub_08046518 - movs r6, #0x20 - ldr r4, _0804650C @ =gUnk_02019EE0 - ldr r0, _08046510 @ =0x00003260 - adds r5, r4, r0 -_080464DE: - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0x40 - bl sub_0801D66C - movs r0, #0x80 - lsls r0, r0, #1 - adds r5, r5, r0 - adds r4, #0x40 - subs r6, #1 - cmp r6, #0 - bne _080464DE - ldr r0, _0804650C @ =gUnk_02019EE0 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - ldr r1, _08046514 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - pop {r4, r5, r6, pc} - .align 2, 0 -_08046508: .4byte gUnk_080D1A74 -_0804650C: .4byte gUnk_02019EE0 -_08046510: .4byte 0x00003260 -_08046514: .4byte gUnk_02000070 - - thumb_func_start sub_08046518 -sub_08046518: @ 0x08046518 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - ldr r1, _080465AC @ =gUnk_02010654 - ldr r2, _080465B0 @ =0xFFFFBCB0 - adds r0, r1, r2 - ldr r3, _080465B4 @ =0xFFFFECB0 - adds r2, r1, r3 - ldr r7, _080465B8 @ =0x00006658 - adds r7, r1, r7 - str r7, [sp, #4] - ldr r3, _080465BC @ =0xFFFFD658 - adds r6, r1, r3 - movs r1, #0x10 -_0804653A: - movs r5, #0x10 - movs r7, #0x80 - adds r7, r7, r0 - mov sl, r7 - adds r3, r2, #0 - adds r3, #0x80 - str r3, [sp] - ldr r7, [sp, #4] - adds r7, #0x40 - mov r8, r7 - movs r3, #0x40 - adds r3, r3, r6 - mov sb, r3 - subs r1, #1 - mov ip, r1 - adds r3, r0, #0 - adds r3, #0x20 - adds r4, r2, #0 - adds r4, #0x20 -_08046560: - ldrh r0, [r3] - strh r0, [r4] - ldrh r0, [r3] - lsls r0, r0, #1 - ldr r7, _080465AC @ =gUnk_02010654 - adds r0, r0, r7 - ldrh r1, [r0] - ldr r0, [sp, #4] - adds r2, r0, r5 - ldr r7, _080465C0 @ =gUnk_080B37A0 - adds r0, r1, r7 - ldrb r0, [r0] - strb r0, [r2] - adds r2, r6, r5 - ldr r0, _080465C4 @ =gUnk_080B3E80 - adds r1, r1, r0 - ldrb r0, [r1] - strb r0, [r2] - subs r3, #2 - subs r4, #2 - subs r5, #1 - cmp r5, #0 - bne _08046560 - mov r0, sl - ldr r2, [sp] - mov r1, r8 - str r1, [sp, #4] - mov r6, sb - mov r1, ip - cmp r1, #0 - bne _0804653A - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080465AC: .4byte gUnk_02010654 -_080465B0: .4byte 0xFFFFBCB0 -_080465B4: .4byte 0xFFFFECB0 -_080465B8: .4byte 0x00006658 -_080465BC: .4byte 0xFFFFD658 -_080465C0: .4byte gUnk_080B37A0 -_080465C4: .4byte gUnk_080B3E80 - - thumb_func_start sub_080465C8 -sub_080465C8: @ 0x080465C8 - push {r4, lr} - ldr r3, _080465FC @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r2, [r3, r0] - ldr r1, _08046600 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r2, r2, r0 - asrs r2, r2, #3 - movs r4, #0x32 - ldrsh r0, [r3, r4] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #3 - ldr r1, _08046604 @ =gUnk_02019EE0 - lsls r0, r0, #7 - adds r0, r0, r2 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0 - beq _080465F8 - ldr r1, _08046608 @ =gUnk_03003F80 - movs r0, #1 - strb r0, [r1, #0x14] -_080465F8: - pop {r4, pc} - .align 2, 0 -_080465FC: .4byte gUnk_03001160 -_08046600: .4byte gUnk_03000BF0 -_08046604: .4byte gUnk_02019EE0 -_08046608: .4byte gUnk_03003F80 - - thumb_func_start sub_0804660C -sub_0804660C: @ 0x0804660C - push {r4, lr} - strb r1, [r0, #0x14] - lsrs r1, r1, #5 - lsls r1, r1, #1 - ldr r2, _0804662C @ =gUnk_080D1A84 - adds r1, r1, r2 - ldr r3, _08046630 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - ldrh r4, [r1] - adds r2, r2, r4 - strh r2, [r0, #0x2e] - ldrh r2, [r3, #8] - ldrh r1, [r1, #2] - adds r2, r2, r1 - strh r2, [r0, #0x32] - pop {r4, pc} - .align 2, 0 -_0804662C: .4byte gUnk_080D1A84 -_08046630: .4byte gUnk_03000BF0 - - thumb_func_start sub_08046634 -sub_08046634: @ 0x08046634 - push {r4, r5, lr} - adds r5, r0, #0 - cmp r1, #0 - bne _08046650 - ldr r4, _0804664C @ =gUnk_080D1AF4 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - adds r1, r1, r4 - ldrb r1, [r1] - b _0804665A - .align 2, 0 -_0804664C: .4byte gUnk_080D1AF4 -_08046650: - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #7 - ands r1, r0 -_0804665A: - ldrb r2, [r5, #0x14] - lsrs r2, r2, #3 - adds r0, r1, #0 - movs r1, #0 - bl sub_080A1ED0 - pop {r4, r5, pc} - - thumb_func_start sub_08046668 -sub_08046668: @ 0x08046668 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _080466A0 - adds r5, r4, #0 - adds r5, #0x78 - ldrb r0, [r5] - cmp r0, #0xff - beq _080466A0 - bl sub_08000E50 - ldr r2, _080466A4 @ =gUnk_080D1AF8 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - movs r1, #0 - strb r0, [r5] - adds r0, r4, #0 - adds r0, #0x7f - strb r1, [r0] - adds r0, #3 - strb r1, [r0] - adds r0, r4, #0 - bl sub_080467DC -_080466A0: - pop {r4, r5, pc} - .align 2, 0 -_080466A4: .4byte gUnk_080D1AF8 - - thumb_func_start sub_080466A8 -sub_080466A8: @ 0x080466A8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrb r2, [r0] - cmp r2, #0 - beq _0804674C - adds r0, #1 - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r4, #0xe] - adds r5, r0, #0 - cmp r1, #0 - bne _080466D0 - subs r0, #5 - ldrb r0, [r0] - cmp r0, #0xff - beq _080466D0 - movs r0, #4 - strb r0, [r4, #0xe] -_080466D0: - ldrb r0, [r5] - bl sub_08000E62 - cmp r0, #2 - bls _0804674C - movs r0, #0 - strb r0, [r4, #0xe] - strb r0, [r5] - adds r7, r4, #0 - adds r7, #0x78 - subs r0, #1 - adds r6, r0, #0 - movs r0, #0xff - strb r0, [r7] - adds r0, #0x28 - bl sub_080A3268 - adds r5, r4, #0 - adds r5, #0x45 - ldrb r0, [r5] - cmp r0, #0 - beq _08046746 - movs r0, #8 - movs r1, #0 - bl sub_08080964 - adds r1, r4, #0 - adds r1, #0x82 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ands r0, r6 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xc - bhi _0804671E - ldrb r0, [r5] - subs r0, #1 - strb r0, [r5] -_0804671E: - ldrb r0, [r5] - cmp r0, #0 - bne _08046730 - strb r0, [r7] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0xa5 - lsls r0, r0, #3 - b _08046744 -_08046730: - adds r1, r4, #0 - adds r1, #0x7f - ldrb r0, [r1] - cmp r0, #0 - bne _08046746 - movs r0, #1 - strb r0, [r1] - subs r1, #5 - movs r0, #0x87 - lsls r0, r0, #3 -_08046744: - strh r0, [r1] -_08046746: - adds r0, r4, #0 - bl sub_080467DC -_0804674C: - ldrb r1, [r4, #0xe] - cmp r1, #0 - beq _080467CC - adds r0, r4, #0 - adds r0, #0x78 - ldrb r0, [r0] - cmp r0, #0xff - beq _080467CC - subs r0, r1, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _080467CC - adds r2, r4, #0 - adds r2, #0x80 - adds r3, r4, #0 - adds r3, #0x7d - ldrb r0, [r2] - ldrb r1, [r3] - orrs r0, r1 - strb r0, [r2] - strb r5, [r3] - adds r0, r4, #0 - bl sub_080467DC - ldr r0, [r4, #0x64] - adds r0, #0x3c - ldrb r1, [r0] - adds r0, r1, #0 - cmp r0, #0xff - beq _080467CC - ldr r2, _080467D8 @ =gUnk_03001160 - adds r0, r2, #0 - adds r0, #0x3e - strb r1, [r0] - adds r1, r2, #0 - adds r1, #0x3d - movs r0, #0xf4 - strb r0, [r1] - adds r1, #5 - movs r0, #0xa - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0x2c - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _080467CC - ldr r0, [r4, #0x64] - ldrh r0, [r0, #0x38] - strh r0, [r2, #0x2e] - ldr r0, [r4, #0x64] - ldrh r0, [r0, #0x3a] - strh r0, [r2, #0x32] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08016A04 -_080467CC: - adds r1, r4, #0 - adds r1, #0x7c - movs r0, #0 - strb r0, [r1] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080467D8: .4byte gUnk_03001160 - - thumb_func_start sub_080467DC -sub_080467DC: @ 0x080467DC - push {lr} - movs r1, #0 - ldr r0, [r0, #0x64] - movs r2, #0 - adds r0, #0x18 -_080467E6: - stm r0!, {r2} - adds r1, #1 - cmp r1, #7 - bls _080467E6 - pop {pc} - - thumb_func_start sub_080467F0 -sub_080467F0: @ 0x080467F0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08046810 - adds r0, r4, #0 - adds r0, #0x7d - ldrb r1, [r0] - movs r0, #3 - ands r1, r0 - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_08046810: - ldr r1, _0804688C @ =gUnk_080D1AFC - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xc] - adds r5, r4, #0 - adds r5, #0x78 - cmp r0, #7 - beq _08046836 - ldrh r3, [r5] - adds r0, r4, #0 - movs r1, #0xaa - movs r2, #0xaa - bl sub_0805EC9C -_08046836: - ldrh r0, [r5] - lsrs r0, r0, #8 - rsbs r0, r0, #0 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08048004 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - adds r1, r4, #0 - adds r1, #0x7d - strb r0, [r1] - ldrb r2, [r4, #0x18] - lsls r0, r2, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _08046878 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldr r1, _08046890 @ =gUnk_03000BF0 - movs r3, #0xc - ldrsh r1, [r1, r3] - subs r0, r0, r1 - adds r0, #0x30 - movs r1, #0x80 - lsls r1, r1, #1 - cmp r0, r1 - bls _08046878 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r4, #0x18] -_08046878: - ldr r2, _08046894 @ =gUnk_03001160 - ldrh r1, [r2, #0x2e] - adds r0, r4, #0 - adds r0, #0x84 - strh r1, [r0] - ldrh r1, [r2, #0x32] - adds r0, #2 - strh r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_0804688C: .4byte gUnk_080D1AFC -_08046890: .4byte gUnk_03000BF0 -_08046894: .4byte gUnk_03001160 - - thumb_func_start sub_08046898 -sub_08046898: @ 0x08046898 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x22 - bl sub_080A7EE0 - adds r1, r0, #0 - cmp r1, #0 - beq _0804690C - movs r4, #0 - movs r3, #1 - movs r0, #1 - strb r0, [r1, #0xa] - str r5, [r1, #0x50] - str r1, [r5, #0x54] - strb r0, [r5, #0xc] - strb r4, [r5, #0xd] - ldrb r1, [r5, #0x19] - movs r0, #3 - orrs r1, r0 - ldrb r2, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r3 - strb r0, [r5, #0x18] - ldrb r2, [r5, #0x1b] - movs r3, #0x3f - adds r0, r3, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r5, #0x1b] - ands r1, r3 - orrs r1, r2 - strb r1, [r5, #0x19] - adds r2, r5, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x7c - strb r4, [r0] - subs r0, #4 - strh r4, [r0] - adds r0, #2 - strh r4, [r0] - subs r0, #8 - strh r4, [r0] - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC -_0804690C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08046910 -sub_08046910: @ 0x08046910 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0804692C @ =gUnk_080D1B1C - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_0804692C: .4byte gUnk_080D1B1C - - thumb_func_start sub_08046930 -sub_08046930: @ 0x08046930 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08046948 - movs r0, #5 - strb r0, [r4, #0xd] - movs r0, #0x20 - strb r0, [r4, #0x15] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] -_08046948: - adds r0, r4, #0 - bl sub_08047D88 - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - beq _0804696A - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xd] - strb r0, [r4, #0xe] - strb r1, [r4, #0x14] - strb r1, [r4, #0x15] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] -_0804696A: - pop {r4, pc} - - thumb_func_start sub_0804696C -sub_0804696C: @ 0x0804696C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08047E48 - ldr r5, _080469C8 @ =gUnk_03000BF0 - ldrh r0, [r5, #8] - movs r1, #0x98 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080469A6 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x80 - strb r0, [r4, #0x15] - adds r0, #0x80 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] - movs r0, #0x2e - bl sub_080A3268 -_080469A6: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080469C6 - ldrh r0, [r5, #8] - movs r1, #0x96 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080469C6 - movs r0, #0 - strb r0, [r4, #0xe] - movs r0, #0xf7 - bl sub_080A3268 -_080469C6: - pop {r4, r5, pc} - .align 2, 0 -_080469C8: .4byte gUnk_03000BF0 - - thumb_func_start sub_080469CC -sub_080469CC: @ 0x080469CC - push {r4, lr} - adds r4, r0, #0 - bl sub_08047E48 - ldr r0, _080469F0 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - movs r1, #0x84 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _080469EE - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x90 - strb r0, [r4, #0x15] -_080469EE: - pop {r4, pc} - .align 2, 0 -_080469F0: .4byte gUnk_03000BF0 - - thumb_func_start sub_080469F4 -sub_080469F4: @ 0x080469F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047E48 - ldr r0, _08046A2C @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _08046A28 - movs r0, #4 - strb r0, [r4, #0xd] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] -_08046A28: - pop {r4, pc} - .align 2, 0 -_08046A2C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08046A30 -sub_08046A30: @ 0x08046A30 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08046A50 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08046A50: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08046A54 -sub_08046A54: @ 0x08046A54 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047E48 - ldr r0, _08046A74 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - movs r1, #0xe0 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _08046A72 - movs r0, #6 - strb r0, [r4, #0xd] -_08046A72: - pop {r4, pc} - .align 2, 0 -_08046A74: .4byte gUnk_03000BF0 - - thumb_func_start sub_08046A78 -sub_08046A78: @ 0x08046A78 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08046A98 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08046A98: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08046A9C -sub_08046A9C: @ 0x08046A9C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - bne _08046ABA - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - bne _08046ABA - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_08046ABA: - ldr r1, _08046AE4 @ =gUnk_080D1B38 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - beq _08046AE2 - movs r1, #0 - movs r0, #6 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08046AE2: - pop {r4, pc} - .align 2, 0 -_08046AE4: .4byte gUnk_080D1B38 - - thumb_func_start sub_08046AE8 -sub_08046AE8: @ 0x08046AE8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - ldrb r1, [r0, #0x14] - lsrs r1, r1, #5 - adds r0, r4, #0 - bl sub_08048178 - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08047D88 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08046B18 -sub_08046B18: @ 0x08046B18 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r1, r0, #0 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _08046B6C - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _08046B54 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _08046B50 @ =0xFFFFFF00 - b _08046B5C - .align 2, 0 -_08046B50: .4byte 0xFFFFFF00 -_08046B54: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_08046B5C: - adds r0, r2, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - b _08046B70 -_08046B6C: - movs r0, #2 - strb r0, [r4, #0xd] -_08046B70: - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - - thumb_func_start sub_08046B8C -sub_08046B8C: @ 0x08046B8C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x80 - ldrh r1, [r5] - adds r6, r4, #0 - adds r6, #0x82 - ldrh r2, [r6] - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08046BD8 - movs r0, #3 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r1, _08046BD4 @ =gUnk_03000BF0 - movs r2, #0x80 - lsls r2, r2, #2 - adds r0, r2, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r5] - adds r2, #0x10 - adds r0, r2, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r6] - adds r0, r4, #0 - bl sub_08047D88 - b _08046C02 - .align 2, 0 -_08046BD4: .4byte gUnk_03000BF0 -_08046BD8: - ldrh r0, [r5] - movs r3, #0x2e - ldrsh r1, [r4, r3] - subs r0, r0, r1 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 -_08046C02: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08046C04 -sub_08046C04: @ 0x08046C04 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r1, r0, #0 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _08046C58 - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _08046C40 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _08046C3C @ =0xFFFFFF00 - b _08046C48 - .align 2, 0 -_08046C3C: .4byte 0xFFFFFF00 -_08046C40: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_08046C48: - adds r0, r2, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - b _08046C6C -_08046C58: - movs r0, #4 - strb r0, [r4, #0xd] - adds r0, r1, #0 - adds r0, #0x20 - movs r1, #0xc0 - ands r0, r1 - lsrs r0, r0, #6 - adds r1, r4, #0 - adds r1, #0x70 - strh r0, [r1] -_08046C6C: - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - - thumb_func_start sub_08046C88 -sub_08046C88: @ 0x08046C88 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x80 - ldrh r1, [r5] - adds r6, r4, #0 - adds r6, #0x82 - ldrh r2, [r6] - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08046CC0 - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - bl sub_08048158 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08048178 - adds r0, r4, #0 - bl sub_08047D88 - b _08046CEA -_08046CC0: - ldrh r0, [r5] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 -_08046CEA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08046CEC -sub_08046CEC: @ 0x08046CEC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - bne _08046D0A - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - bne _08046D0A - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC -_08046D0A: - ldr r1, _08046D40 @ =gUnk_080D1B4C - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08046D3C - movs r0, #0 - movs r1, #2 - strb r1, [r4, #0xc] - strb r0, [r4, #0xd] - ldrh r0, [r4, #0x24] - strb r0, [r4, #0x14] -_08046D3C: - pop {r4, pc} - .align 2, 0 -_08046D40: .4byte gUnk_080D1B4C - - thumb_func_start sub_08046D44 -sub_08046D44: @ 0x08046D44 - push {lr} - mov ip, r0 - movs r0, #1 - mov r1, ip - strb r0, [r1, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r1, #0x24] - ldr r0, [r1, #0x64] - ldr r0, [r0, #4] - ldrb r1, [r0, #0x14] - lsrs r1, r1, #5 - lsls r1, r1, #1 - ldr r0, _08046D90 @ =gUnk_080D1B60 - adds r1, r1, r0 - ldr r3, _08046D94 @ =gUnk_03000BF0 - ldrh r0, [r3, #6] - ldrh r2, [r1] - adds r0, r0, r2 - mov r2, ip - adds r2, #0x80 - strh r0, [r2] - ldrh r0, [r3, #8] - ldrh r1, [r1, #2] - adds r0, r0, r1 - mov r1, ip - adds r1, #0x82 - strh r0, [r1] - mov r1, ip - ldrb r0, [r1, #0x15] - lsls r0, r0, #8 - adds r1, #0x76 - strh r0, [r1] - mov r0, ip - bl sub_08047D88 - pop {pc} - .align 2, 0 -_08046D90: .4byte gUnk_080D1B60 -_08046D94: .4byte gUnk_03000BF0 - - thumb_func_start sub_08046D98 -sub_08046D98: @ 0x08046D98 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r1, r0, #0 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _08046DEC - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _08046DD4 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _08046DD0 @ =0xFFFFFF00 - b _08046DDC - .align 2, 0 -_08046DD0: .4byte 0xFFFFFF00 -_08046DD4: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_08046DDC: - adds r0, r2, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - b _08046DF0 -_08046DEC: - movs r0, #2 - strb r0, [r4, #0xd] -_08046DF0: - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - - thumb_func_start sub_08046E0C -sub_08046E0C: @ 0x08046E0C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x80 - ldrh r1, [r5] - adds r6, r4, #0 - adds r6, #0x82 - ldrh r2, [r6] - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08046E3C - movs r0, #3 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08047D88 - b _08046E66 -_08046E3C: - ldrh r0, [r5] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 -_08046E66: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08046E68 -sub_08046E68: @ 0x08046E68 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x64] - ldr r0, [r0, #4] - ldrb r1, [r0, #0x14] - movs r0, #0x80 - adds r6, r0, #0 - eors r6, r1 - ldrb r0, [r5, #0x15] - cmp r6, r0 - beq _08046EC6 - subs r0, r6, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _08046E94 - adds r1, r5, #0 - adds r1, #0x76 - ldr r2, _08046E90 @ =0xFFFFFF00 - b _08046E9C - .align 2, 0 -_08046E90: .4byte 0xFFFFFF00 -_08046E94: - adds r1, r5, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_08046E9C: - adds r0, r2, #0 - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_08047D88 - ldrb r0, [r5, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r5, #0 - bl sub_08047EA4 - b _08046EEE -_08046EC6: - movs r0, #4 - strb r0, [r5, #0xd] - movs r0, #0x3f - strb r0, [r5, #0xe] - movs r4, #1 - strb r4, [r5, #0xf] - bl sub_08000E50 - ldr r1, _08046EF0 @ =gUnk_080D1B70 - ands r0, r4 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - adds r0, r0, r6 - movs r1, #0xc0 - ands r0, r1 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_08047D88 -_08046EEE: - pop {r4, r5, r6, pc} - .align 2, 0 -_08046EF0: .4byte gUnk_080D1B70 - - thumb_func_start sub_08046EF4 -sub_08046EF4: @ 0x08046EF4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08046F12 - movs r0, #0x7f - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - movs r1, #0x80 - eors r0, r1 - strb r0, [r4, #0x15] -_08046F12: - ldr r2, _08046F60 @ =gUnk_080D1B74 - ldrb r0, [r4, #0xe] - lsrs r0, r0, #3 - movs r1, #0xf - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r4, #0x24] - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r3 - cmp r0, #0 - bne _08046F58 - bl sub_08000E50 - movs r1, #0x38 - ands r0, r1 - adds r0, #0x78 - strb r0, [r4, #0xf] - movs r0, #0x23 - bl sub_080A7EE0 - adds r2, r0, #0 - cmp r2, #0 - beq _08046F58 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - str r4, [r2, #0x50] - adds r0, r2, #0 - bl sub_08016A04 -_08046F58: - adds r0, r4, #0 - bl sub_08047E48 - pop {r4, pc} - .align 2, 0 -_08046F60: .4byte gUnk_080D1B74 - - thumb_func_start sub_08046F64 -sub_08046F64: @ 0x08046F64 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - bne _08046F82 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - bne _08046F82 - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC -_08046F82: - ldr r1, _08046FE4 @ =gUnk_080D1B94 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08046FC8 - movs r0, #0x78 - strh r0, [r1] - movs r0, #0x23 - bl sub_080A7EE0 - adds r2, r0, #0 - cmp r2, #0 - beq _08046FC8 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - str r4, [r2, #0x50] - adds r0, r2, #0 - bl sub_08016A04 -_08046FC8: - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08046FE0 - movs r1, #0 - movs r0, #5 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08046FE0: - pop {r4, pc} - .align 2, 0 -_08046FE4: .4byte gUnk_080D1B94 - - thumb_func_start sub_08046FE8 -sub_08046FE8: @ 0x08046FE8 - push {lr} - adds r3, r0, #0 - movs r0, #1 - strb r0, [r3, #0xd] - movs r0, #0xe0 - lsls r0, r0, #1 - strh r0, [r3, #0x24] - adds r1, r3, #0 - adds r1, #0x7e - movs r0, #0x1e - strh r0, [r1] - ldr r2, _08047028 @ =gUnk_03000BF0 - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r1, #0 - ldrh r1, [r2, #6] - adds r0, r0, r1 - adds r1, r3, #0 - adds r1, #0x80 - strh r0, [r1] - movs r1, #0xc8 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r1, r3, #0 - adds r1, #0x82 - strh r0, [r1] - adds r0, r3, #0 - bl sub_08047D88 - pop {pc} - .align 2, 0 -_08047028: .4byte gUnk_03000BF0 - - thumb_func_start sub_0804702C -sub_0804702C: @ 0x0804702C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r3, r0, #0 - ldrb r2, [r4, #0x15] - subs r0, r2, r3 - adds r0, #2 - movs r1, #0xff - ands r0, r1 - cmp r0, #4 - bls _0804706C - subs r0, r3, r2 - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08047068 - subs r0, r2, #1 - b _0804706A -_08047068: - adds r0, r2, #1 -_0804706A: - strb r0, [r4, #0x15] -_0804706C: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - adds r0, r4, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, #2 - ldrh r2, [r0] - movs r0, #0x24 - ldrsh r3, [r4, r0] - asrs r3, r3, #0x10 - adds r3, #0x10 - adds r0, r4, #0 - bl sub_0806FCB8 - cmp r0, #0 - beq _080470B0 - movs r0, #2 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] -_080470B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080470B4 -sub_080470B4: @ 0x080470B4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x40 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _0804710A - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _080470D8 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _080470D4 @ =0xFFFFFF00 - b _080470E0 - .align 2, 0 -_080470D4: .4byte 0xFFFFFF00 -_080470D8: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_080470E0: - adds r0, r2, #0 - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - b _0804713A -_0804710A: - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - bl sub_08000E50 - ldr r2, _0804713C @ =gUnk_080D1BBC - movs r1, #1 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - adds r0, r4, #0 - bl sub_08047D88 -_0804713A: - pop {r4, pc} - .align 2, 0 -_0804713C: .4byte gUnk_080D1BBC - - thumb_func_start sub_08047140 -sub_08047140: @ 0x08047140 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x76 - adds r0, #0x74 - ldrh r0, [r0] - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - cmp r0, #0xbf - bls _08047164 - movs r0, #0xc0 - strb r0, [r2, #0x15] - movs r0, #4 - strb r0, [r2, #0xd] -_08047164: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804717C -sub_0804717C: @ 0x0804717C - push {r4, lr} - adds r4, r0, #0 - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldr r0, _080471C0 @ =0x0000027F - cmp r1, r0 - bgt _08047192 - adds r0, r2, #0 - adds r0, #8 - strh r0, [r4, #0x24] -_08047192: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - ldr r0, _080471C4 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - movs r1, #0x80 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080471BC - movs r0, #5 - strb r0, [r4, #0xd] -_080471BC: - pop {r4, pc} - .align 2, 0 -_080471C0: .4byte 0x0000027F -_080471C4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080471C8 -sub_080471C8: @ 0x080471C8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - movs r0, #0xc0 - lsls r0, r0, #1 - cmp r1, r0 - ble _080471E0 - adds r0, r2, #0 - subs r0, #0x10 - strh r0, [r4, #0x24] -_080471E0: - ldrb r0, [r4, #0x15] - cmp r0, #0xdf - bhi _080471EA - adds r0, #1 - strb r0, [r4, #0x15] -_080471EA: - ldrb r1, [r4, #0x15] - movs r5, #0x80 - lsls r5, r5, #1 - subs r1, r5, r1 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - ldr r0, _0804722C @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - movs r1, #0xc8 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _08047238 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - cmp r0, r5 - bls _08047234 - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #1 - ands r1, r0 - cmp r1, #0 - beq _08047230 - movs r0, #6 - b _08047236 - .align 2, 0 -_0804722C: .4byte gUnk_03000BF0 -_08047230: - strb r1, [r4, #0xd] - b _08047238 -_08047234: - movs r0, #0 -_08047236: - strb r0, [r4, #0xd] -_08047238: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0804723C -sub_0804723C: @ 0x0804723C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - subs r0, #2 - strb r0, [r4, #0x15] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xbf - bhi _08047266 - movs r0, #7 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - movs r0, #0xc0 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x76 - movs r0, #0xc0 - lsls r0, r0, #8 - strh r0, [r1] -_08047266: - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08047284 -sub_08047284: @ 0x08047284 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #0xe0 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - cmp r0, #0x3f - bhi _080472A4 - movs r0, #0x40 - strb r0, [r2, #0x15] - movs r0, #8 - strb r0, [r2, #0xd] -_080472A4: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080472BC -sub_080472BC: @ 0x080472BC - push {r4, lr} - adds r4, r0, #0 - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldr r0, _08047308 @ =0x000002FF - cmp r1, r0 - bgt _080472D2 - adds r0, r2, #0 - adds r0, #8 - strh r0, [r4, #0x24] -_080472D2: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - ldr r0, _0804730C @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - movs r1, #0xac - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _08047306 - movs r0, #9 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] -_08047306: - pop {r4, pc} - .align 2, 0 -_08047308: .4byte 0x000002FF -_0804730C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08047310 -sub_08047310: @ 0x08047310 - push {lr} - adds r2, r0, #0 - ldrh r3, [r2, #0x24] - movs r0, #0x24 - ldrsh r1, [r2, r0] - ldr r0, _08047364 @ =0x0000017F - cmp r1, r0 - bgt _08047326 - adds r0, r3, #0 - subs r0, #0x10 - strh r0, [r2, #0x24] -_08047326: - adds r1, r2, #0 - adds r1, #0x76 - ldr r3, _08047368 @ =0xFFFFFE30 - adds r0, r3, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - adds r0, #0x7f - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3f - bhi _0804734C - movs r0, #0xc0 - strb r0, [r2, #0x15] - movs r0, #4 - strb r0, [r2, #0xd] -_0804734C: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - .align 2, 0 -_08047364: .4byte 0x0000017F -_08047368: .4byte 0xFFFFFE30 - - thumb_func_start sub_0804736C -sub_0804736C: @ 0x0804736C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - bne _0804738A - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - bne _0804738A - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_0804738A: - ldr r0, _080473B4 @ =gUnk_080D1BC0 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - bne _080473B0 - movs r0, #7 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_080473B0: - pop {r4, pc} - .align 2, 0 -_080473B4: .4byte gUnk_080D1BC0 - - thumb_func_start sub_080473B8 -sub_080473B8: @ 0x080473B8 - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x90 - lsls r1, r1, #1 - strh r1, [r0, #0x24] - ldr r3, _080473EC @ =gUnk_03000BF0 - movs r2, #0x80 - lsls r2, r2, #2 - adds r1, r2, #0 - ldrh r2, [r3, #6] - adds r1, r1, r2 - adds r2, r0, #0 - adds r2, #0x80 - strh r1, [r2] - movs r2, #0xe8 - lsls r2, r2, #1 - adds r1, r2, #0 - ldrh r3, [r3, #8] - adds r1, r1, r3 - adds r2, r0, #0 - adds r2, #0x82 - strh r1, [r2] - bl sub_08047D88 - pop {pc} - .align 2, 0 -_080473EC: .4byte gUnk_03000BF0 - - thumb_func_start sub_080473F0 -sub_080473F0: @ 0x080473F0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r3, r0, #0 - ldrb r2, [r4, #0x15] - subs r0, r2, r3 - adds r0, #2 - movs r1, #0xff - ands r0, r1 - cmp r0, #4 - bls _08047444 - subs r1, r3, r2 - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08047438 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bge _08047434 - subs r0, r2, #2 - b _08047442 -_08047434: - subs r0, r2, #1 - b _08047442 -_08047438: - cmp r1, #1 - ble _08047440 - adds r0, r2, #2 - b _08047442 -_08047440: - adds r0, r2, #1 -_08047442: - strb r0, [r4, #0x15] -_08047444: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - adds r0, r4, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, #2 - ldrh r2, [r0] - adds r0, r4, #0 - movs r3, #8 - bl sub_0806FCB8 - cmp r0, #0 - beq _08047482 - movs r0, #2 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] -_08047482: - pop {r4, pc} - - thumb_func_start sub_08047484 -sub_08047484: @ 0x08047484 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x40 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _080474DA - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _080474A8 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _080474A4 @ =0xFFFFFF00 - b _080474B0 - .align 2, 0 -_080474A4: .4byte 0xFFFFFF00 -_080474A8: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_080474B0: - adds r0, r2, #0 - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - b _08047504 -_080474DA: - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - strb r1, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x76 - movs r0, #0x80 - lsls r0, r0, #7 - strh r0, [r1] - subs r1, #2 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1] - adds r1, #0xa - movs r0, #0xf0 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08047D88 -_08047504: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08047508 -sub_08047508: @ 0x08047508 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0804754C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - movs r1, #0xd0 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r3, #0x2e - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0804759A - ldrb r1, [r4, #0x15] - cmp r1, #0 - bne _08047550 - ldrh r0, [r2, #8] - movs r1, #0x82 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0804759A - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - rsbs r1, r1, #0 - strh r1, [r0] - adds r2, r4, #0 - adds r2, #0x76 - ldrh r0, [r2] - adds r0, r0, r1 - strh r0, [r2] - lsrs r0, r0, #8 - b _08047598 - .align 2, 0 -_0804754C: .4byte gUnk_03000BF0 -_08047550: - adds r0, r4, #0 - adds r0, #0x74 - movs r3, #0 - ldrsh r2, [r0, r3] - cmp r2, #0 - bge _0804757E - adds r3, r4, #0 - adds r3, #0x76 - ldrh r0, [r3] - adds r0, r0, r2 - strh r0, [r3] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r4, #0x15] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0804759A - movs r0, #0 - strb r0, [r4, #0x15] - movs r0, #0 - strh r0, [r3] - b _0804759A -_0804757E: - cmp r1, #0x3f - bhi _0804759A - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - adds r0, r0, r2 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r4, #0x15] - cmp r0, #0x3f - bls _0804759A - movs r0, #0x40 -_08047598: - strb r0, [r4, #0x15] -_0804759A: - adds r0, r4, #0 - bl sub_08047E48 - ldr r0, _080475F0 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - movs r1, #0xa0 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _080475CA - movs r0, #4 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x15] - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] -_080475CA: - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080475EE - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - movs r0, #0x62 - bl sub_0804AA60 - cmp r0, #0 - beq _080475EE - str r4, [r0, #0x50] -_080475EE: - pop {r4, pc} - .align 2, 0 -_080475F0: .4byte gUnk_03000BF0 - - thumb_func_start sub_080475F4 -sub_080475F4: @ 0x080475F4 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x76 - movs r3, #0xc0 - lsls r3, r3, #1 - adds r0, r3, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - cmp r0, #0xbf - bls _08047626 - movs r0, #0xc0 - strb r0, [r2, #0x15] - movs r0, #5 - strb r0, [r2, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r2, #0x24] - adds r1, #8 - movs r0, #0x3c - strh r0, [r1] -_08047626: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - - thumb_func_start sub_0804763C -sub_0804763C: @ 0x0804763C - push {r4, lr} - adds r4, r0, #0 - ldr r2, _08047680 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - movs r1, #0xf8 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r3, #0x2e - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _080476D0 - ldrb r1, [r4, #0x15] - cmp r1, #0 - bne _08047684 - ldrh r0, [r2, #8] - movs r1, #0x82 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080476D0 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - rsbs r1, r1, #0 - strh r1, [r0] - adds r2, r4, #0 - adds r2, #0x76 - ldrh r0, [r2] - adds r0, r0, r1 - strh r0, [r2] - lsrs r0, r0, #8 - b _080476CE - .align 2, 0 -_08047680: .4byte gUnk_03000BF0 -_08047684: - adds r0, r4, #0 - adds r0, #0x74 - movs r3, #0 - ldrsh r2, [r0, r3] - cmp r2, #0 - ble _080476B4 - adds r3, r4, #0 - adds r3, #0x76 - ldrh r0, [r3] - adds r0, r0, r2 - strh r0, [r3] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r4, #0x15] - movs r1, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080476D0 - movs r0, #0 - strb r0, [r4, #0x15] - strh r1, [r3] - b _080476D0 -_080476B4: - cmp r1, #0xc0 - bls _080476D0 - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - adds r0, r0, r2 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r4, #0x15] - cmp r0, #0xc0 - bhi _080476D0 - movs r0, #0xc0 -_080476CE: - strb r0, [r4, #0x15] -_080476D0: - adds r0, r4, #0 - bl sub_08047E48 - ldr r0, _08047728 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - movs r1, #0xc0 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _08047700 - movs r0, #6 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x15] - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] -_08047700: - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08047724 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - movs r0, #0x62 - bl sub_0804AA60 - cmp r0, #0 - beq _08047724 - str r4, [r0, #0x50] -_08047724: - pop {r4, pc} - .align 2, 0 -_08047728: .4byte gUnk_03000BF0 - - thumb_func_start sub_0804772C -sub_0804772C: @ 0x0804772C - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x76 - ldr r3, _08047774 @ =0xFFFFFE80 - adds r0, r3, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - cmp r0, #0x40 - bhi _0804775C - movs r0, #0x40 - strb r0, [r2, #0x15] - movs r0, #3 - strb r0, [r2, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r2, #0x24] - adds r1, #8 - movs r0, #0x1e - strh r0, [r1] -_0804775C: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - .align 2, 0 -_08047774: .4byte 0xFFFFFE80 - - thumb_func_start sub_08047778 -sub_08047778: @ 0x08047778 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08047794 @ =gUnk_080D1BDC - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08047794: .4byte gUnk_080D1BDC - - thumb_func_start sub_08047798 -sub_08047798: @ 0x08047798 - push {r4, lr} - adds r3, r0, #0 - movs r0, #1 - strb r0, [r3, #0xd] - movs r0, #0x80 - strh r0, [r3, #0x24] - movs r0, #0x2e - ldrsh r1, [r3, r0] - ldr r2, _080477BC @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - ldr r0, _080477C0 @ =0x000001F7 - cmp r1, r0 - bgt _080477C4 - adds r1, r3, #0 - adds r1, #0x80 - movs r0, #0xa8 - b _080477CC - .align 2, 0 -_080477BC: .4byte gUnk_03000BF0 -_080477C0: .4byte 0x000001F7 -_080477C4: - adds r1, r3, #0 - adds r1, #0x80 - movs r0, #0xd2 - lsls r0, r0, #2 -_080477CC: - strh r0, [r1] - ldrh r0, [r2, #6] - ldrh r4, [r1] - adds r0, r0, r4 - strh r0, [r1] - movs r1, #0xd2 - lsls r1, r1, #2 - adds r0, r1, #0 - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r1, r3, #0 - adds r1, #0x82 - strh r0, [r1] - adds r0, r3, #0 - bl sub_08047D88 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080477F0 -sub_080477F0: @ 0x080477F0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldr r0, _08047868 @ =0x000002FF - cmp r1, r0 - bgt _0804780A - adds r0, r2, #0 - adds r0, #8 - strh r0, [r4, #0x24] -_0804780A: - adds r7, r4, #0 - adds r7, #0x80 - ldrh r0, [r7] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r6, r4, #0 - adds r6, #0x82 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08047E48 - ldr r0, _0804786C @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x80 - bl sub_0806FCB8 - adds r1, r0, #0 - cmp r1, #0 - bne _08047870 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - ldrb r0, [r4, #0x14] - strb r0, [r4, #0x15] - b _0804790C - .align 2, 0 -_08047868: .4byte 0x000002FF -_0804786C: .4byte gUnk_03001160 -_08047870: - ldr r5, _080478FC @ =gUnk_03000BF0 - ldrh r1, [r5, #6] - movs r0, #0x80 - lsls r0, r0, #2 - mov r8, r0 - add r1, r8 - ldrh r2, [r5, #8] - movs r3, #0x84 - lsls r3, r3, #2 - adds r2, r2, r3 - movs r3, #0x80 - lsls r3, r3, #1 - adds r0, r4, #0 - bl sub_0806FCB8 - cmp r0, #0 - bne _080478A0 - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] -_080478A0: - ldrh r1, [r7] - ldrh r2, [r6] - adds r0, r4, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _0804790C - movs r0, #2 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x14] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - bl sub_08000E50 - ldr r2, _08047900 @ =gUnk_080D1BF0 - movs r1, #1 - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r2, [r0] - adds r0, r4, #0 - adds r0, #0x74 - strh r2, [r0] - ldr r2, [r4, #0x64] - ldr r0, [r2] - adds r0, #0x6c - ldrh r0, [r0] - ands r1, r0 - cmp r1, #0 - beq _08047904 - ldr r3, [r2, #4] - ldrh r0, [r5, #6] - add r0, r8 - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r2, #0x83 - cmp r0, r1 - ble _080478F4 - movs r2, #0x81 -_080478F4: - adds r0, r3, #0 - adds r0, #0x79 - strb r2, [r0] - b _0804790C - .align 2, 0 -_080478FC: .4byte gUnk_03000BF0 -_08047900: .4byte gUnk_080D1BF0 -_08047904: - ldr r0, [r2, #4] - adds r0, #0x79 - movs r1, #0x80 - strb r1, [r0] -_0804790C: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08047914 -sub_08047914: @ 0x08047914 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - ldrb r1, [r4, #0x14] - movs r0, #0x1f - ands r0, r1 - cmp r0, #0 - beq _08047950 - adds r1, r4, #0 - adds r1, #0x76 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x14] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - b _08047976 -_08047950: - movs r0, #3 - strb r0, [r4, #0xd] - adds r1, r4, #0 - adds r1, #0x70 - movs r0, #0x3c - strh r0, [r1] - ldrb r1, [r4, #0xa] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r0, #0x78 - adds r1, r4, #0 - adds r1, #0x7e - strh r0, [r1] - ldr r0, [r4, #0x64] - ldr r0, [r0] - ldrb r1, [r4, #0x14] - bl sub_080A1D70 -_08047976: - pop {r4, pc} - - thumb_func_start sub_08047978 -sub_08047978: @ 0x08047978 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - beq _080479C6 - adds r2, r4, #0 - adds r2, #0x70 - ldrh r0, [r2] - subs r1, r0, #1 - strh r1, [r2] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _080479B6 - adds r1, r4, #0 - adds r1, #0x72 - movs r0, #1 - strh r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080479AE - movs r0, #0xb4 - strh r0, [r2] - b _080479CC -_080479AE: - movs r0, #0xb4 - lsls r0, r0, #1 - strh r0, [r2] - b _080479CC -_080479B6: - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xf0 - bne _080479CC - adds r0, r4, #0 - bl sub_0804813C - b _080479CC -_080479C6: - adds r0, r4, #0 - adds r0, #0x72 - strh r1, [r0] -_080479CC: - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080479F4 - movs r0, #0xf0 - strh r0, [r1] - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - movs r0, #0x62 - bl sub_0804AA60 - cmp r0, #0 - beq _080479F4 - str r4, [r0, #0x50] -_080479F4: - ldr r0, _08047A78 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x80 - bl sub_0806FCB8 - adds r1, r0, #0 - cmp r1, #0 - bne _08047A2C - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - ldrb r0, [r4, #0x14] - strb r0, [r4, #0x15] -_08047A2C: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _08047B06 - ldr r0, [r4, #0x54] - ldrb r0, [r0, #0xc] - cmp r0, #1 - bne _08047B06 - movs r0, #4 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08047AA4 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - ldrb r0, [r0, #0x14] - lsrs r0, r0, #6 - cmp r0, #1 - bne _08047A80 - ldr r2, _08047A7C @ =gUnk_03000BF0 - movs r1, #0xe0 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r3, [r2, #6] - adds r0, r0, r3 - adds r1, r4, #0 - adds r1, #0x80 - strh r0, [r1] - movs r1, #0x94 - lsls r1, r1, #2 - adds r0, r1, #0 - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r1, r4, #0 - adds r1, #0x82 - b _08047B04 - .align 2, 0 -_08047A78: .4byte gUnk_03001160 -_08047A7C: .4byte gUnk_03000BF0 -_08047A80: - ldr r2, _08047AA0 @ =gUnk_03000BF0 - movs r3, #0x90 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r2, #6] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x80 - strh r0, [r1] - adds r3, #0x10 - adds r0, r3, #0 - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r1, #2 - b _08047B04 - .align 2, 0 -_08047AA0: .4byte gUnk_03000BF0 -_08047AA4: - ldr r0, _08047AC4 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - movs r2, #0x80 - lsls r2, r2, #2 - adds r1, r1, r2 - movs r3, #0x2e - ldrsh r2, [r4, r3] - adds r3, r0, #0 - cmp r1, r2 - bge _08047AC8 - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #0xc8 - lsls r0, r0, #1 - b _08047AD0 - .align 2, 0 -_08047AC4: .4byte gUnk_03000BF0 -_08047AC8: - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #0x9c - lsls r0, r0, #2 -_08047AD0: - strh r0, [r1] - ldrh r0, [r3, #6] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldrh r0, [r3, #8] - movs r1, #0x84 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _08047AF4 - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0xd0 - lsls r0, r0, #1 - b _08047AFC -_08047AF4: - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0xa0 - lsls r0, r0, #2 -_08047AFC: - strh r0, [r1] - ldrh r0, [r3, #8] - ldrh r3, [r1] - adds r0, r0, r3 -_08047B04: - strh r0, [r1] -_08047B06: - pop {r4, pc} - - thumb_func_start sub_08047B08 -sub_08047B08: @ 0x08047B08 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - bl sub_08047D88 - adds r4, r5, #0 - adds r4, #0x80 - ldrh r0, [r4] - movs r2, #0x2e - ldrsh r1, [r5, r2] - subs r0, r0, r1 - adds r6, r5, #0 - adds r6, #0x82 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r5, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r5, #0x15] - movs r7, #0 - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08047E58 - ldrh r1, [r4] - ldrh r2, [r6] - adds r0, r5, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08047B80 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _08047B60 - movs r0, #7 - strb r0, [r5, #0xc] - strb r7, [r5, #0xd] - ldrb r0, [r5, #0x15] - movs r1, #0x80 - eors r0, r1 - b _08047B7E -_08047B60: - movs r0, #4 - strb r0, [r5, #0xc] - strb r7, [r5, #0xd] - ldrb r2, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r5, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r5, #0x19] - ldrb r0, [r5, #0x14] -_08047B7E: - strb r0, [r5, #0x15] -_08047B80: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08047B84 -sub_08047B84: @ 0x08047B84 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08047BA0 @ =gUnk_080D1BF4 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08047BA0: .4byte gUnk_080D1BF4 - - thumb_func_start sub_08047BA4 -sub_08047BA4: @ 0x08047BA4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xd] - movs r2, #0x78 - strb r2, [r4, #0xe] - strb r1, [r4, #0xf] - ldr r0, _08047BD0 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - movs r1, #0x80 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r3, #0x2e - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _08047BD4 - adds r0, r4, #0 - adds r0, #0x76 - strh r2, [r0] - b _08047BDC - .align 2, 0 -_08047BD0: .4byte gUnk_03000BF0 -_08047BD4: - adds r1, r4, #0 - adds r1, #0x76 - movs r0, #0x88 - strh r0, [r1] -_08047BDC: - ldr r0, _08047BEC @ =0x000001B5 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_08047BF0 - pop {r4, pc} - .align 2, 0 -_08047BEC: .4byte 0x000001B5 - - thumb_func_start sub_08047BF0 -sub_08047BF0: @ 0x08047BF0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r2, _08047CB8 @ =gUnk_080D1C00 - ldrb r1, [r5, #0xe] - movs r0, #3 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r5, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08047E48 - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _08047CC4 - ldrb r1, [r5, #0xf] - adds r0, r1, #1 - strb r0, [r5, #0xf] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08047C74 - adds r0, r5, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _08047C74 - bl sub_08000E50 - movs r3, #0x1e - adds r1, r0, #0 - ands r1, r3 - ldr r6, _08047CBC @ =0x0000FFF1 - adds r2, r6, #0 - adds r1, r2, r1 - ldrh r6, [r4, #0x2e] - adds r1, r1, r6 - strh r1, [r4, #0x2e] - lsrs r0, r0, #8 - ands r0, r3 - adds r2, r2, r0 - ldrh r0, [r4, #0x32] - adds r2, r2, r0 - strh r2, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 -_08047C74: - adds r0, r5, #0 - adds r0, #0x76 - ldrh r0, [r0] - strb r0, [r5, #0x15] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08047E48 - movs r2, #0x32 - ldrsh r1, [r5, r2] - ldr r0, _08047CC0 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - movs r6, #0x9c - lsls r6, r6, #2 - adds r0, r0, r6 - cmp r1, r0 - ble _08047D10 - movs r0, #2 - strb r0, [r5, #0xd] - adds r1, r5, #0 - adds r1, #0x7e - movs r0, #0xaa - strh r0, [r1] - adds r0, #0x83 - bl sub_080A3268 - adds r0, r5, #0 - movs r1, #1 - bl sub_080042AC - b _08047D10 - .align 2, 0 -_08047CB8: .4byte gUnk_080D1C00 -_08047CBC: .4byte 0x0000FFF1 -_08047CC0: .4byte gUnk_03000BF0 -_08047CC4: - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x5a - bne _08047CD4 - ldr r4, [r5, #0x54] - b _08047CDC -_08047CD4: - cmp r0, #0x3c - bne _08047CF2 - ldr r0, [r5, #0x54] - ldr r4, [r0, #0x54] -_08047CDC: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - b _08047D10 -_08047CF2: - cmp r0, #0x1e - bne _08047D10 - ldr r0, [r5, #0x54] - ldr r0, [r0, #0x54] - ldr r4, [r0, #0x54] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC -_08047D10: - adds r0, r5, #0 - adds r0, #0x78 - ldrh r3, [r0] - adds r0, r5, #0 - movs r1, #0xaa - movs r2, #0xaa - bl sub_0805EC9C - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08047D24 -sub_08047D24: @ 0x08047D24 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - adds r0, #8 - movs r2, #0 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - movs r0, #0x80 - lsls r0, r0, #4 - cmp r1, r0 - bls _08047D5A - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08047D4C - ldr r0, [r4, #0x64] - str r2, [r0, #8] - b _08047D50 -_08047D4C: - ldr r0, [r4, #0x64] - str r2, [r0, #0xc] -_08047D50: - movs r0, #0 - str r0, [r4, #0x64] - bl sub_0805E780 - b _08047D84 -_08047D5A: - ldr r0, _08047D68 @ =0x000001FF - cmp r1, r0 - bhi _08047D6C - adds r0, r4, #0 - bl sub_08047E48 - b _08047D72 - .align 2, 0 -_08047D68: .4byte 0x000001FF -_08047D6C: - adds r0, r4, #0 - bl sub_08047E58 -_08047D72: - adds r0, r4, #0 - adds r0, #0x7e - ldrh r2, [r0] - subs r0, #6 - ldrh r3, [r0] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805EC9C -_08047D84: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08047D88 -sub_08047D88: @ 0x08047D88 - push {r4, r5, lr} - adds r3, r0, #0 - adds r5, r3, #0 - adds r5, #0x7c - ldrb r2, [r5] - lsls r1, r2, #1 - movs r0, #0x7f - ands r1, r0 - movs r0, #0x80 - ands r0, r2 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r3, #0x19] - lsrs r0, r0, #6 - cmp r0, #3 - bne _08047DB0 - ldr r0, _08047DE8 @ =gUnk_03003F80 - ldrb r0, [r0, #0x14] - cmp r0, #0 - bne _08047DE6 -_08047DB0: - adds r0, r3, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - beq _08047DE6 - ldr r4, _08047DEC @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0x32 - ldrsh r2, [r4, r0] - adds r0, r3, #0 - movs r3, #0x20 - bl sub_0806FCB8 - cmp r0, #0 - beq _08047DE6 - ldr r0, _08047DE8 @ =gUnk_03003F80 - movs r1, #1 - strb r1, [r0, #0x14] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08047DE6 - ldrb r0, [r5] - movs r1, #1 - orrs r0, r1 - strb r0, [r5] -_08047DE6: - pop {r4, r5, pc} - .align 2, 0 -_08047DE8: .4byte gUnk_03003F80 -_08047DEC: .4byte gUnk_03001160 - - thumb_func_start sub_08047DF0 -sub_08047DF0: @ 0x08047DF0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_08047D88 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08047EA4 - movs r0, #0x2e - ldrsh r4, [r5, r0] - movs r2, #0x32 - ldrsh r6, [r5, r2] - movs r0, #0x24 - ldrsh r1, [r5, r0] - ldrb r2, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F62C - adds r0, r5, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08047E42 - bl sub_08079F8C - cmp r0, #0 - beq _08047E42 - ldr r0, _08047E44 @ =gUnk_03001160 - ldrh r1, [r5, #0x2e] - subs r1, r1, r4 - ldrh r2, [r0, #0x2e] - adds r1, r1, r2 - strh r1, [r0, #0x2e] - ldrh r1, [r5, #0x32] - subs r1, r1, r6 - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] -_08047E42: - pop {r4, r5, r6, pc} - .align 2, 0 -_08047E44: .4byte gUnk_03001160 - - thumb_func_start sub_08047E48 -sub_08047E48: @ 0x08047E48 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - adds r0, r4, #0 - bl sub_08047E58 - pop {r4, pc} - - thumb_func_start sub_08047E58 -sub_08047E58: @ 0x08047E58 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r5, [r4, r0] - movs r2, #0x32 - ldrsh r6, [r4, r2] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - adds r0, r4, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08047E9C - bl sub_08079F8C - cmp r0, #0 - beq _08047E9C - ldr r0, _08047EA0 @ =gUnk_03001160 - ldrh r1, [r4, #0x2e] - subs r1, r1, r5 - ldrh r2, [r0, #0x2e] - adds r1, r1, r2 - strh r1, [r0, #0x2e] - ldrh r1, [r4, #0x32] - subs r1, r1, r6 - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] -_08047E9C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08047EA0: .4byte gUnk_03001160 - - thumb_func_start sub_08047EA4 -sub_08047EA4: @ 0x08047EA4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r0, #0x78 - strh r1, [r0] - ldrh r1, [r0] - adds r0, #2 - ldrh r0, [r0] - subs r4, r1, r0 - movs r0, #0x80 - lsls r0, r0, #1 - adds r1, r4, r0 - adds r0, #0xff - cmp r1, r0 - bls _08047F58 - adds r0, r5, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08047F4E - adds r0, r5, #0 - bl sub_08047F68 - lsls r0, r0, #8 - mov r8, r0 - ldr r6, _08047F60 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r6, r1] - movs r2, #0x2e - ldrsh r1, [r5, r2] - subs r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r6, r3] - movs r7, #0x32 - ldrsh r2, [r5, r7] - subs r1, r1, r2 - bl sub_080045DA - adds r3, r0, #0 - adds r0, r4, #0 - cmp r4, #0 - bge _08047F00 - adds r0, #0xff -_08047F00: - asrs r0, r0, #8 - subs r4, r3, r0 - movs r0, #0xff - ands r4, r0 - ldr r2, _08047F64 @ =gUnk_080C9160 - lsls r0, r4, #1 - adds r0, r0, r2 - movs r7, #0 - ldrsh r1, [r0, r7] - lsls r0, r3, #1 - adds r0, r0, r2 - movs r7, #0 - ldrsh r0, [r0, r7] - subs r1, r1, r0 - mov r0, r8 - muls r0, r1, r0 - adds r1, r0, #0 - ldr r0, [r6, #0x2c] - adds r0, r0, r1 - str r0, [r6, #0x2c] - adds r0, r4, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r2 - movs r4, #0 - ldrsh r1, [r0, r4] - adds r0, r3, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r2 - movs r7, #0 - ldrsh r0, [r0, r7] - subs r1, r1, r0 - mov r0, r8 - muls r0, r1, r0 - adds r1, r0, #0 - ldr r0, [r6, #0x30] - subs r0, r0, r1 - str r0, [r6, #0x30] -_08047F4E: - adds r0, r5, #0 - adds r0, #0x78 - ldrh r1, [r0] - adds r0, #2 - strh r1, [r0] -_08047F58: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08047F60: .4byte gUnk_03001160 -_08047F64: .4byte gUnk_080C9160 - - thumb_func_start sub_08047F68 -sub_08047F68: @ 0x08047F68 - push {r4, r5, lr} - ldr r3, _08047F98 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r2, [r3, r1] - movs r4, #0x2e - ldrsh r1, [r0, r4] - subs r2, r2, r1 - movs r4, #0x32 - ldrsh r1, [r3, r4] - movs r3, #0x32 - ldrsh r0, [r0, r3] - subs r1, r1, r0 - adds r4, r2, #0 - muls r4, r2, r4 - adds r2, r4, #0 - adds r0, r1, #0 - muls r0, r1, r0 - adds r4, r2, r0 - movs r0, #0x80 - lsls r0, r0, #3 - cmp r4, r0 - bne _08047F9C - movs r0, #0x20 - b _08048002 - .align 2, 0 -_08047F98: .4byte gUnk_03001160 -_08047F9C: - ldr r0, _08047FB8 @ =gUnk_080D1C04 - movs r3, #0x18 - adds r2, r0, #0 - ldrh r0, [r2, #0x20] - cmp r4, r0 - bge _08047FAA - movs r3, #8 -_08047FAA: - lsls r0, r3, #1 - adds r0, r0, r2 - ldrh r0, [r0] - cmp r4, r0 - bge _08047FBC - subs r3, #4 - b _08047FBE - .align 2, 0 -_08047FB8: .4byte gUnk_080D1C04 -_08047FBC: - adds r3, #4 -_08047FBE: - lsls r0, r3, #1 - adds r0, r0, r2 - ldrh r0, [r0] - cmp r4, r0 - bge _08047FCC - subs r3, #2 - b _08047FCE -_08047FCC: - adds r3, #2 -_08047FCE: - lsls r0, r3, #1 - adds r0, r0, r2 - ldrh r0, [r0] - cmp r4, r0 - bge _08047FDC - subs r3, #1 - b _08047FDE -_08047FDC: - adds r3, #1 -_08047FDE: - lsls r0, r3, #1 - adds r0, r0, r2 - ldrh r1, [r0] - cmp r4, r1 - bge _08048000 - subs r5, r3, #1 - lsls r0, r5, #1 - adds r0, r0, r2 - ldrh r2, [r0] - subs r0, r1, r2 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r2, r2, r0 - cmp r4, r2 - bgt _08048000 - adds r3, r5, #0 -_08048000: - adds r0, r3, #0 -_08048002: - pop {r4, r5, pc} - - thumb_func_start sub_08048004 -sub_08048004: @ 0x08048004 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08048010 - b _08048138 -_08048010: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - beq _0804801C - b _08048130 -_0804801C: - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - ldr r6, _080480A4 @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r6, r1] - cmp r0, #0 - beq _08048030 - b _08048138 -_08048030: - bl sub_08079F8C - cmp r0, #0 - bne _0804803A - b _08048138 -_0804803A: - adds r1, r4, #0 - adds r1, #0x7c - ldrb r3, [r1] - movs r0, #1 - ands r0, r3 - adds r5, r1, #0 - cmp r0, #0 - beq _080480BA - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - cmp r0, #3 - bne _080480B0 - movs r7, #0x2e - ldrsh r2, [r6, r7] - ldr r1, _080480A8 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r2, r2, r0 - asrs r2, r2, #3 - movs r7, #0x32 - ldrsh r0, [r6, r7] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #3 - ldr r1, _080480AC @ =gUnk_02019EE0 - lsls r0, r0, #7 - adds r0, r0, r2 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0 - beq _080480B0 - movs r0, #2 - ands r0, r3 - cmp r0, #0 - bne _08048086 - movs r0, #0x80 - orrs r0, r3 - strb r0, [r5] -_08048086: - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08048138 - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - strh r0, [r6, #0x2e] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - strh r0, [r6, #0x32] - b _08048138 - .align 2, 0 -_080480A4: .4byte gUnk_03001160 -_080480A8: .4byte gUnk_03000BF0 -_080480AC: .4byte gUnk_02019EE0 -_080480B0: - ldrb r1, [r5] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5] - b _08048138 -_080480BA: - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - cmp r0, #3 - beq _08048124 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r3, #0x32 - ldrsh r2, [r4, r3] - adds r0, r6, #0 - movs r3, #0x24 - bl sub_0806FCB8 - cmp r0, #0 - beq _08048124 - ldrb r1, [r5] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08048124 - movs r7, #0x2e - ldrsh r0, [r6, r7] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r6, r3] - movs r7, #0x32 - ldrsh r2, [r4, r7] - subs r1, r1, r2 - bl sub_080045DA - ldr r3, _0804812C @ =gUnk_080C9160 - lsls r1, r0, #1 - adds r1, r1, r3 - movs r2, #0 - ldrsh r1, [r1, r2] - lsls r2, r1, #3 - adds r2, r2, r1 - lsls r2, r2, #0xa - ldr r1, [r4, #0x2c] - adds r1, r1, r2 - str r1, [r6, #0x2c] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r3 - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r1, r0, #3 - adds r1, r1, r0 - lsls r1, r1, #0xa - ldr r0, [r4, #0x30] - subs r0, r0, r1 - str r0, [r6, #0x30] -_08048124: - movs r0, #0 - strb r0, [r5] - b _08048138 - .align 2, 0 -_0804812C: .4byte gUnk_080C9160 -_08048130: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_08048138: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0804813C -sub_0804813C: @ 0x0804813C - push {lr} - bl sub_08000E50 - adds r2, r0, #0 - movs r0, #7 - ands r0, r2 - lsrs r2, r2, #8 - movs r1, #3 - ands r2, r1 - movs r1, #1 - bl sub_080A1ED0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08048158 -sub_08048158: @ 0x08048158 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, _08048174 @ =gUnk_080D1C44 - bl sub_08000E50 - lsls r4, r5, #1 - adds r4, r4, r5 - movs r1, #3 - bl __modsi3 - adds r4, r4, r0 - adds r4, r4, r6 - ldrb r0, [r4] - pop {r4, r5, r6, pc} - .align 2, 0 -_08048174: .4byte gUnk_080D1C44 - - thumb_func_start sub_08048178 -sub_08048178: @ 0x08048178 - push {r4, lr} - adds r4, r0, #0 - adds r2, r1, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - ldrb r0, [r0, #0x14] - lsrs r0, r0, #6 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08048198 - lsls r1, r2, #1 - ldr r0, _08048194 @ =gUnk_080D1C60 - b _0804819C - .align 2, 0 -_08048194: .4byte gUnk_080D1C60 -_08048198: - lsls r1, r2, #1 - ldr r0, _080481B8 @ =gUnk_080D1C50 -_0804819C: - adds r3, r1, r0 - ldr r2, _080481BC @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldrh r1, [r3] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x80 - strh r0, [r1] - ldrh r0, [r2, #8] - ldrh r3, [r3, #2] - adds r0, r0, r3 - adds r1, #2 - strh r0, [r1] - pop {r4, pc} - .align 2, 0 -_080481B8: .4byte gUnk_080D1C50 -_080481BC: .4byte gUnk_03000BF0 - - thumb_func_start sub_080481C0 -sub_080481C0: @ 0x080481C0 - push {lr} - ldr r1, _080481CC @ =gUnk_080D1CC8 - bl sub_0800129E - pop {pc} - .align 2, 0 -_080481CC: .4byte gUnk_080D1CC8 - - thumb_func_start sub_080481D0 -sub_080481D0: @ 0x080481D0 - push {lr} - ldr r2, _080481E4 @ =gUnk_080D1CE0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080481E4: .4byte gUnk_080D1CE0 - - thumb_func_start sub_080481E8 -sub_080481E8: @ 0x080481E8 - push {lr} - adds r2, r0, #0 - adds r0, #0x46 - ldrh r0, [r0] - cmp r0, #0 - beq _08048210 - movs r0, #2 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] - movs r0, #3 - b _08048212 -_08048210: - movs r0, #2 -_08048212: - strb r0, [r2, #0xe] - ldrb r1, [r2, #0xe] - adds r0, r2, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_26 -nullsub_26: @ 0x08048220 - bx lr - .align 2, 0 - - thumb_func_start sub_08048224 -sub_08048224: @ 0x08048224 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #4 - orrs r1, r0 - strb r1, [r2] - movs r0, #0x72 - bl sub_0807CBD0 - adds r1, r0, #0 - cmp r1, #0 - bne _0804824E - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - b _0804825E -_0804824E: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #1 - strb r0, [r4, #0xe] -_0804825E: - ldrb r1, [r4, #0xe] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_08048268 -sub_08048268: @ 0x08048268 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08048292 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048292 - movs r0, #0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08048292: - pop {r4, pc} - - thumb_func_start sub_08048294 -sub_08048294: @ 0x08048294 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080482BC - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x72 - bl sub_0807CCB4 - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_080482BC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_27 -nullsub_27: @ 0x080482C0 - bx lr - .align 2, 0 - - thumb_func_start sub_080482C4 -sub_080482C4: @ 0x080482C4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080482D4 - bl sub_0805E780 -_080482D4: - ldr r0, _080482E8 @ =gUnk_080D1D48 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080482E8: .4byte gUnk_080D1D48 - - thumb_func_start sub_080482EC -sub_080482EC: @ 0x080482EC - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08048310 @ =gUnk_030010A0 - adds r0, #0x38 - ldrb r1, [r0] - movs r2, #1 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08048314 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _08048326 - .align 2, 0 -_08048310: .4byte gUnk_030010A0 -_08048314: - strb r2, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - movs r0, #0xb3 - lsls r0, r0, #1 - bl sub_080A3268 -_08048326: - adds r0, r4, #0 - bl sub_080485D8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08048330 -sub_08048330: @ 0x08048330 - push {r4, lr} - adds r4, r0, #0 - bl sub_080485D8 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048358 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08048358: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0804835C -sub_0804835C: @ 0x0804835C - push {r4, lr} - adds r4, r0, #0 - bl sub_080485D8 - ldr r0, _08048384 @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r1, [r0] - movs r2, #3 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _08048382 - strb r2, [r4, #0xc] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r1, r0 - strb r1, [r4, #0x10] - movs r0, #0x80 - strh r0, [r4, #0x24] -_08048382: - pop {r4, pc} - .align 2, 0 -_08048384: .4byte gUnk_030010A0 - - thumb_func_start sub_08048388 -sub_08048388: @ 0x08048388 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r2, [r5, #0x50] - adds r0, r2, #0 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #0 - beq _080483A0 - adds r0, r5, #0 - bl sub_080485D8 - b _080483F2 -_080483A0: - ldrb r1, [r5, #0xa] - lsls r1, r1, #1 - ldr r0, _080483F4 @ =gUnk_080D1D98 - adds r1, r1, r0 - movs r0, #0x2e - ldrsh r4, [r2, r0] - movs r0, #0 - ldrsb r0, [r1, r0] - adds r4, r4, r0 - movs r0, #0x32 - ldrsh r2, [r2, r0] - movs r0, #1 - ldrsb r0, [r1, r0] - adds r6, r2, r0 - movs r1, #0x2e - ldrsh r0, [r5, r1] - movs r2, #0x32 - ldrsh r1, [r5, r2] - adds r2, r4, #0 - adds r3, r6, #0 - bl sub_080045D4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F69C - ldr r0, [r5, #0x50] - ldrh r0, [r0, #0x36] - strh r0, [r5, #0x36] - movs r1, #0x2e - ldrsh r0, [r5, r1] - cmp r0, r4 - bne _080483F2 - movs r2, #0x32 - ldrsh r0, [r5, r2] - cmp r0, r6 - bne _080483F2 - movs r0, #4 - strb r0, [r5, #0xc] - movs r0, #0x3c - strb r0, [r5, #0xe] -_080483F2: - pop {r4, r5, r6, pc} - .align 2, 0 -_080483F4: .4byte gUnk_080D1D98 - - thumb_func_start sub_080483F8 -sub_080483F8: @ 0x080483F8 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080485FC - ldrb r0, [r4, #0xe] - adds r5, r0, #0 - cmp r5, #0 - beq _0804841C - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08048436 - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - b _08048436 -_0804841C: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048436 - movs r0, #5 - strb r0, [r4, #0xc] - strb r5, [r4, #0xe] -_08048436: - pop {r4, r5, pc} - - thumb_func_start sub_08048438 -sub_08048438: @ 0x08048438 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0804846A - movs r0, #6 - strb r0, [r4, #0xc] - ldr r0, [r4, #0x50] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0x14 - bls _08048454 - movs r0, #0x78 - b _08048456 -_08048454: - movs r0, #0x3c -_08048456: - strb r0, [r4, #0xe] - movs r0, #0 - str r0, [r4, #0x54] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 - ldr r0, _08048474 @ =0x0000019B - bl sub_080A3268 -_0804846A: - adds r0, r4, #0 - bl sub_080485FC - pop {r4, pc} - .align 2, 0 -_08048474: .4byte 0x0000019B - - thumb_func_start sub_08048478 -sub_08048478: @ 0x08048478 - push {r4, lr} - adds r4, r0, #0 - bl sub_080485FC - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - adds r2, r0, #0 - cmp r2, #0 - beq _080484A2 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080484E6 - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _080484E6 -_080484A2: - adds r3, r4, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080484BC - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - strb r2, [r4, #0xf] - b _080484E6 -_080484BC: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080484E6 - movs r0, #0xfe - ands r0, r1 - strb r0, [r3] - movs r0, #0x24 - bl sub_080A7EE0 - adds r1, r0, #0 - cmp r1, #0 - beq _080484E6 - str r4, [r1, #0x50] - str r1, [r4, #0x54] - movs r3, #0xc0 - lsls r3, r3, #0xc - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 -_080484E6: - pop {r4, pc} - - thumb_func_start sub_080484E8 -sub_080484E8: @ 0x080484E8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080485FC - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08048528 - movs r0, #8 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0x1f - movs r2, #0x40 - bl sub_080A29AC - ldr r2, [r4, #0x50] - adds r2, #0x7b - movs r0, #0x10 - b _08048542 -_08048528: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0804854C - movs r0, #5 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - ldr r2, [r4, #0x50] - adds r2, #0x7b - movs r0, #1 -_08048542: - ldrb r4, [r4, #0xa] - lsls r0, r4 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] -_0804854C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08048550 -sub_08048550: @ 0x08048550 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #0xb - bne _08048562 - movs r0, #0x3c - strb r0, [r4, #0xe] - b _0804859E -_08048562: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0804859E - movs r0, #9 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080485FC - movs r0, #0xb3 - lsls r0, r0, #1 - bl sub_080A3268 -_0804859E: - pop {r4, pc} - - thumb_func_start sub_080485A0 -sub_080485A0: @ 0x080485A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080485FC - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080485D6 - movs r0, #4 - strb r0, [r4, #0xc] - movs r1, #1 - strb r1, [r4, #0xe] - ldr r2, [r4, #0x50] - adds r2, #0x7b - ldrb r3, [r2] - movs r0, #0xf - ands r0, r3 - ldrb r4, [r4, #0xa] - lsls r1, r4 - orrs r0, r1 - strb r0, [r2] -_080485D6: - pop {r4, pc} - - thumb_func_start sub_080485D8 -sub_080485D8: @ 0x080485D8 - push {lr} - adds r1, r0, #0 - ldrb r3, [r1, #0xa] - lsls r3, r3, #1 - ldr r0, _080485F8 @ =gUnk_080D1D70 - adds r3, r3, r0 - ldr r0, [r1, #0x50] - movs r2, #0 - ldrsb r2, [r3, r2] - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - bl sub_0806FA90 - pop {pc} - .align 2, 0 -_080485F8: .4byte gUnk_080D1D70 - - thumb_func_start sub_080485FC -sub_080485FC: @ 0x080485FC - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - ldr r0, _08048638 @ =gUnk_080D1D98 - adds r1, r1, r0 - ldr r0, [r4, #0x50] - movs r2, #0 - ldrsb r2, [r1, r2] - movs r3, #1 - ldrsb r3, [r1, r3] - adds r1, r4, #0 - bl sub_0806FA90 - ldr r3, _0804863C @ =gUnk_080D1D78 - ldrb r1, [r4, #0xa] - lsls r1, r1, #3 - ldr r0, [r4, #0x50] - adds r0, #0x78 - ldrb r0, [r0] - lsrs r0, r0, #4 - movs r2, #7 - ands r0, r2 - adds r1, r1, r0 - adds r1, r1, r3 - movs r0, #0 - ldrsb r0, [r1, r0] - strh r0, [r4, #0x36] - pop {r4, pc} - .align 2, 0 -_08048638: .4byte gUnk_080D1D98 -_0804863C: .4byte gUnk_080D1D78 - - thumb_func_start sub_08048640 -sub_08048640: @ 0x08048640 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0804867C @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r2, [r0] - cmp r2, #0 - bne _08048664 - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - adds r0, r5, #0 - adds r0, #0x45 - strb r2, [r0] - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] -_08048664: - ldr r4, _08048680 @ =gUnk_080D1E6C - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_0804867C: .4byte gUnk_030010A0 -_08048680: .4byte gUnk_080D1E6C - - thumb_func_start sub_08048684 -sub_08048684: @ 0x08048684 - push {lr} - ldr r2, _08048698 @ =gUnk_080D1E84 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08048698: .4byte gUnk_080D1E84 - - thumb_func_start sub_0804869C -sub_0804869C: @ 0x0804869C - push {lr} - ldr r1, _080486A8 @ =gUnk_080D1E6C - bl sub_0804AA30 - pop {pc} - .align 2, 0 -_080486A8: .4byte gUnk_080D1E6C - - thumb_func_start sub_080486AC -sub_080486AC: @ 0x080486AC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - beq _080486C8 - ldr r0, _080486CC @ =gUnk_080D1E94 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_080486C8: - pop {r4, pc} - .align 2, 0 -_080486CC: .4byte gUnk_080D1E94 - - thumb_func_start sub_080486D0 -sub_080486D0: @ 0x080486D0 - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_080486D8 -sub_080486D8: @ 0x080486D8 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_080486E0 -sub_080486E0: @ 0x080486E0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _080486F2 - adds r0, r4, #0 - bl sub_0804A7D4 -_080486F2: - pop {r4, pc} - - thumb_func_start sub_080486F4 -sub_080486F4: @ 0x080486F4 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #1 - strb r5, [r4, #0x1c] - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0x15] - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0804876C - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - strb r5, [r4, #0xc] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - bl sub_08000E50 - movs r1, #0xb - bl __modsi3 - ldrb r1, [r4, #0x15] - adds r1, r1, r0 - subs r1, #5 - movs r2, #0x1f - ands r1, r2 - strb r1, [r4, #0x15] - lsls r0, r0, #1 - ldr r2, _08048768 @ =gUnk_080D1EA0 - adds r1, r0, r2 - ldrb r1, [r1] - strb r1, [r4, #0xe] - adds r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x7b - strb r0, [r1] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - b _0804877A - .align 2, 0 -_08048768: .4byte gUnk_080D1EA0 -_0804876C: - movs r0, #2 - strb r0, [r4, #0xc] - strb r5, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - strb r0, [r4, #0x18] -_0804877A: - pop {r4, r5, pc} - - thumb_func_start sub_0804877C -sub_0804877C: @ 0x0804877C - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080487AA - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _080487AA - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_080487AA: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - cmp r0, #1 - beq _080487D4 - cmp r0, #1 - bgt _080487BC - cmp r0, #0 - beq _080487C2 - b _08048804 -_080487BC: - cmp r0, #2 - beq _080487EC - b _08048804 -_080487C2: - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldr r0, _080487D0 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r0, [r0, r2] - b _0804880E - .align 2, 0 -_080487D0: .4byte gUnk_03000BF0 -_080487D4: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r0, _080487E8 @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r0, [r0, r2] - movs r2, #0x84 - lsls r2, r2, #1 - adds r0, r0, r2 - b _080487F8 - .align 2, 0 -_080487E8: .4byte gUnk_03000BF0 -_080487EC: - movs r0, #0x32 - ldrsh r1, [r4, r0] - ldr r0, _08048800 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r0, [r0, r2] - adds r0, #0xb8 -_080487F8: - cmp r1, r0 - blt _08048824 - b _08048814 - .align 2, 0 -_08048800: .4byte gUnk_03000BF0 -_08048804: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r0, _08048828 @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r0, [r0, r2] -_0804880E: - subs r0, #0x18 - cmp r1, r0 - bgt _08048824 -_08048814: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x5e - ands r0, r1 - strb r0, [r4, #0x18] -_08048824: - pop {r4, pc} - .align 2, 0 -_08048828: .4byte gUnk_03000BF0 - - thumb_func_start sub_0804882C -sub_0804882C: @ 0x0804882C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080488FA - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - bl sub_08000E50 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - adds r0, #0x7a - ldrb r0, [r0] - strb r0, [r4, #0x15] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1a - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - cmp r0, #1 - beq _080488D0 - cmp r0, #1 - bgt _080488AA - cmp r0, #0 - beq _080488AE - b _080488D0 -_080488AA: - cmp r0, #2 - bne _080488D0 -_080488AE: - ldr r1, _080488C8 @ =gUnk_03001160 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - ldrh r1, [r1, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - ldr r1, _080488CC @ =gUnk_03000BF0 - adds r0, r4, #0 - adds r0, #0x76 - ldrh r0, [r0] - ldrh r1, [r1, #0xc] - b _080488E8 - .align 2, 0 -_080488C8: .4byte gUnk_03001160 -_080488CC: .4byte gUnk_03000BF0 -_080488D0: - ldr r1, _080488FC @ =gUnk_03000BF0 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - ldrh r1, [r1, #0xa] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - ldr r1, _08048900 @ =gUnk_03001160 - adds r0, r4, #0 - adds r0, #0x76 - ldrh r0, [r0] - ldrh r1, [r1, #0x32] -_080488E8: - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080488FA - movs r0, #0xcc - lsls r0, r0, #1 - bl sub_080A3268 -_080488FA: - pop {r4, pc} - .align 2, 0 -_080488FC: .4byte gUnk_03000BF0 -_08048900: .4byte gUnk_03001160 - - thumb_func_start sub_08048904 -sub_08048904: @ 0x08048904 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - cmp r0, #1 - beq _0804893C - cmp r0, #1 - bgt _08048924 - cmp r0, #0 - beq _0804892A - b _0804896C -_08048924: - cmp r0, #2 - beq _08048954 - b _0804896C -_0804892A: - movs r0, #0x32 - ldrsh r1, [r4, r0] - ldr r0, _08048938 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r0, [r0, r2] - b _08048976 - .align 2, 0 -_08048938: .4byte gUnk_03000BF0 -_0804893C: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r0, _08048950 @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r0, [r0, r2] - movs r2, #0x8c - lsls r2, r2, #1 - adds r0, r0, r2 - b _08048960 - .align 2, 0 -_08048950: .4byte gUnk_03000BF0 -_08048954: - movs r0, #0x32 - ldrsh r1, [r4, r0] - ldr r0, _08048968 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r0, [r0, r2] - adds r0, #0xc8 -_08048960: - cmp r1, r0 - blt _08048980 - b _0804897C - .align 2, 0 -_08048968: .4byte gUnk_03000BF0 -_0804896C: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r0, _08048984 @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r0, [r0, r2] -_08048976: - subs r0, #0x28 - cmp r1, r0 - bgt _08048980 -_0804897C: - bl sub_0805E780 -_08048980: - pop {r4, pc} - .align 2, 0 -_08048984: .4byte gUnk_03000BF0 - - thumb_func_start sub_08048988 -sub_08048988: @ 0x08048988 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08048998 - bl sub_0805E780 -_08048998: - ldr r4, _080489B0 @ =gUnk_080D1F64 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080489B0: .4byte gUnk_080D1F64 - - thumb_func_start sub_080489B4 -sub_080489B4: @ 0x080489B4 - push {lr} - ldr r2, _080489C8 @ =gUnk_080D1F7C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080489C8: .4byte gUnk_080D1F7C - - thumb_func_start sub_080489CC -sub_080489CC: @ 0x080489CC - push {r4, r5, r6, lr} - mov ip, r0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0xff - bne _080489DA - b _08048AD8 -_080489DA: - mov r0, ip - ldr r4, [r0, #0x50] - adds r0, r4, #0 - adds r0, #0x78 - ldrb r0, [r0] - mov r2, ip - ldrb r1, [r2, #0xa] - asrs r0, r1 - movs r3, #1 - ands r0, r3 - cmp r0, #0 - beq _08048AD8 - adds r2, r4, #0 - adds r2, #0x7c - adds r0, r3, #0 - lsls r0, r1 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - mov r0, ip - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - subs r0, #4 - cmp r0, #0x16 - bhi _08048AD0 - lsls r0, r0, #2 - ldr r1, _08048A1C @ =_08048A20 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08048A1C: .4byte _08048A20 -_08048A20: @ jump table - .4byte _08048A7C @ case 0 - .4byte _08048A7C @ case 1 - .4byte _08048A7C @ case 2 - .4byte _08048AD0 @ case 3 - .4byte _08048A7C @ case 4 - .4byte _08048A7C @ case 5 - .4byte _08048A7C @ case 6 - .4byte _08048A7C @ case 7 - .4byte _08048A7C @ case 8 - .4byte _08048A7C @ case 9 - .4byte _08048AD0 @ case 10 - .4byte _08048AD0 @ case 11 - .4byte _08048A7C @ case 12 - .4byte _08048A7C @ case 13 - .4byte _08048A7C @ case 14 - .4byte _08048AD0 @ case 15 - .4byte _08048AD0 @ case 16 - .4byte _08048AD0 @ case 17 - .4byte _08048AD0 @ case 18 - .4byte _08048AD0 @ case 19 - .4byte _08048A7C @ case 20 - .4byte _08048A7C @ case 21 - .4byte _08048A7C @ case 22 -_08048A7C: - ldr r3, [r4, #0x64] - mov r5, ip - ldrb r0, [r5, #0xa] - lsls r0, r0, #2 - adds r1, r3, #0 - adds r1, #0x18 - adds r1, r1, r0 - ldr r0, [r5, #0x4c] - str r0, [r1] - ldr r2, _08048ACC @ =gUnk_03001160 - movs r6, #0x2e - ldrsh r0, [r2, r6] - movs r6, #0x2e - ldrsh r1, [r5, r6] - adds r0, r0, r1 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - strh r0, [r3, #0x38] - ldr r3, [r4, #0x64] - movs r1, #0x32 - ldrsh r0, [r2, r1] - movs r2, #0x32 - ldrsh r1, [r5, r2] - adds r0, r0, r1 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - strh r0, [r3, #0x3a] - ldr r2, [r4, #0x64] - mov r3, ip - adds r3, #0x3e - ldrb r0, [r3] - movs r1, #0x10 - eors r0, r1 - strb r0, [r3] - adds r2, #0x3c - strb r0, [r2] - b _08048AD8 - .align 2, 0 -_08048ACC: .4byte gUnk_03001160 -_08048AD0: - ldr r0, [r4, #0x64] - adds r0, #0x3c - movs r1, #0xff - strb r1, [r0] -_08048AD8: - mov r1, ip - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] - ldr r1, _08048AEC @ =gUnk_080D1F64 - mov r0, ip - bl sub_0804AA30 - pop {r4, r5, r6, pc} - .align 2, 0 -_08048AEC: .4byte gUnk_080D1F64 - - thumb_func_start sub_08048AF0 -sub_08048AF0: @ 0x08048AF0 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0xff - strb r1, [r0, #0x14] - ldrb r3, [r0, #0x1b] - movs r2, #0x3f - adds r1, r2, #0 - ands r1, r3 - movs r3, #0x80 - orrs r1, r3 - strb r1, [r0, #0x1b] - ldrb r1, [r0, #0x19] - ands r2, r1 - orrs r2, r3 - strb r2, [r0, #0x19] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r2, #7 - orrs r1, r2 - strb r1, [r3] - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #2 - strb r1, [r2] - bl sub_08048D20 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08048B2C -sub_08048B2C: @ 0x08048B2C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08048D20 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - bl sub_08048D70 - cmp r0, #0 - beq _08048B62 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - bne _08048B52 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0x40 - bl sub_080A29AC -_08048B52: - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - b _08048B6C -_08048B62: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_08048B6C: - adds r0, r5, #0 - adds r0, #0x78 - ldrb r0, [r0] - ldrb r1, [r4, #0xa] - asrs r0, r1 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08048B82 - movs r0, #2 - strb r0, [r4, #0xc] -_08048B82: - pop {r4, r5, pc} - - thumb_func_start sub_08048B84 -sub_08048B84: @ 0x08048B84 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048BAE - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x1e - strb r0, [r1] -_08048BAE: - pop {r4, pc} - - thumb_func_start sub_08048BB0 -sub_08048BB0: @ 0x08048BB0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r2, [r4, #0x50] - adds r0, r2, #0 - adds r0, #0x78 - ldrb r3, [r0] - ldrb r1, [r4, #0xa] - adds r0, r3, #0 - asrs r0, r1 - movs r6, #1 - ands r0, r6 - cmp r0, #0 - bne _08048C34 - adds r0, r2, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _08048BFC - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r1, _08048BF8 @ =gUnk_080D2030 - ldrb r0, [r4, #0x14] - lsls r0, r0, #3 - ldrb r2, [r4, #0xa] - adds r0, r0, r2 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 - b _08048CEA - .align 2, 0 -_08048BF8: .4byte gUnk_080D2030 -_08048BFC: - strb r6, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r1, _08048C30 @ =gUnk_080D2010 - ldrb r0, [r4, #0x14] - lsls r0, r0, #3 - ldrb r2, [r4, #0xa] - adds r0, r0, r2 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0x40 - bl sub_080A29AC - b _08048CEA - .align 2, 0 -_08048C30: .4byte gUnk_080D2010 -_08048C34: - adds r5, r2, #0 - adds r5, #0x80 - ldrb r0, [r5] - asrs r0, r1 - ands r0, r6 - cmp r0, #0 - beq _08048CBC - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x13 - bhi _08048C6C - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xf4 - strb r0, [r1] - adds r1, #2 - movs r0, #0x89 - strb r0, [r1] - ldrb r1, [r2, #0x14] - lsrs r1, r1, #6 - adds r1, #0x14 - adds r0, r4, #0 - bl sub_08004260 - ldr r0, _08048CB4 @ =0x00000119 - bl sub_080A3268 -_08048C6C: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048CEA - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x1e - strb r0, [r1] - ldr r1, _08048CB8 @ =gUnk_080D2010 - ldrb r0, [r4, #0x14] - lsls r0, r0, #3 - ldrb r2, [r4, #0xa] - adds r0, r0, r2 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #7 - bl sub_08004276 - adds r1, r6, #0 - ldrb r4, [r4, #0xa] - lsls r1, r4 - ldrb r0, [r5] - bics r0, r1 - strb r0, [r5] - b _08048CEA - .align 2, 0 -_08048CB4: .4byte 0x00000119 -_08048CB8: .4byte gUnk_080D2010 -_08048CBC: - cmp r3, #0xff - bne _08048CEA - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - subs r0, #0x10 - cmp r0, #3 - bls _08048CE4 - ldrb r1, [r4, #0x14] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_08004260 - bl sub_08000E50 - movs r1, #0x1c - ands r1, r0 - adds r0, r4, #0 - bl sub_08004276 -_08048CE4: - adds r0, r4, #0 - bl sub_08004274 -_08048CEA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08048CEC -sub_08048CEC: @ 0x08048CEC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048D1A - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, _08048D1C @ =gUnk_080D2010 - ldrb r0, [r4, #0x14] - lsls r0, r0, #3 - ldrb r2, [r4, #0xa] - adds r0, r0, r2 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 -_08048D1A: - pop {r4, pc} - .align 2, 0 -_08048D1C: .4byte gUnk_080D2010 - - thumb_func_start sub_08048D20 -sub_08048D20: @ 0x08048D20 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0x14] - lsrs r0, r0, #6 - ldrb r1, [r4, #0x14] - cmp r0, r1 - beq _08048D60 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0xa] - lsls r3, r0, #3 - adds r1, r1, r3 - lsls r1, r1, #2 - ldr r0, _08048D64 @ =gUnk_080D1F90 - adds r1, r1, r0 - ldr r2, _08048D68 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldrh r5, [r1] - adds r0, r0, r5 - strh r0, [r4, #0x2e] - ldrh r0, [r2, #8] - ldrh r1, [r1, #2] - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldr r1, _08048D6C @ =gUnk_080D2010 - ldrb r0, [r4, #0xa] - adds r0, r0, r3 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 -_08048D60: - pop {r4, r5, pc} - .align 2, 0 -_08048D64: .4byte gUnk_080D1F90 -_08048D68: .4byte gUnk_03000BF0 -_08048D6C: .4byte gUnk_080D2010 - - thumb_func_start sub_08048D70 -sub_08048D70: @ 0x08048D70 - push {lr} - adds r1, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _08048D8E - ldr r1, [r1, #0x64] - ldr r0, [r1, #8] - cmp r0, #0 - bne _08048D86 - ldr r0, [r1, #0xc] -_08048D86: - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _08048D92 -_08048D8E: - movs r0, #1 - b _08048D94 -_08048D92: - movs r0, #0 -_08048D94: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08048D98 -sub_08048D98: @ 0x08048D98 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, [r5, #0x50] - ldr r0, [r6, #4] - cmp r0, #0 - bne _08048DA8 - bl sub_0805E780 -_08048DA8: - ldr r4, _08048E00 @ =gUnk_080D22D8 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - ldrb r2, [r6, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r6, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x19] - adds r0, r6, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, r5, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - pop {r4, r5, r6, pc} - .align 2, 0 -_08048E00: .4byte gUnk_080D22D8 - - thumb_func_start sub_08048E04 -sub_08048E04: @ 0x08048E04 - push {lr} - ldr r2, _08048E18 @ =gUnk_080D22F0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08048E18: .4byte gUnk_080D22F0 - - thumb_func_start sub_08048E1C -sub_08048E1C: @ 0x08048E1C - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x45 - ldrb r1, [r0] - movs r0, #0xff - subs r0, r0, r1 - cmp r0, #0 - beq _08048E96 - ldr r4, [r5, #0x50] - adds r1, r4, #0 - adds r1, #0x45 - ldrb r2, [r1] - cmp r2, r0 - bls _08048E48 - subs r0, r2, r0 - strb r0, [r1] - ldr r0, _08048E44 @ =0x00000127 - bl sub_080A3268 - b _08048E5C - .align 2, 0 -_08048E44: .4byte 0x00000127 -_08048E48: - movs r0, #0 - strb r0, [r1] - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0x28 - movs r1, #0 - bl sub_08080964 -_08048E5C: - adds r2, r5, #0 - adds r2, #0x3d - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - ble _08048E8E - adds r0, r4, #0 - adds r0, #0x3d - strb r1, [r0] - ldr r4, [r4, #0x54] - ldrb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3d - strb r0, [r1] - ldr r4, [r4, #0x54] - ldrb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3d - strb r0, [r1] - ldr r4, [r4, #0x54] - ldrb r1, [r2] - adds r0, r4, #0 - adds r0, #0x3d - strb r1, [r0] -_08048E8E: - adds r1, r5, #0 - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] -_08048E96: - ldr r1, _08048EA0 @ =gUnk_080D22D8 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08048EA0: .4byte gUnk_080D22D8 - - thumb_func_start sub_08048EA4 -sub_08048EA4: @ 0x08048EA4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, [r4, #0x50] - ldrb r1, [r0, #0x14] - movs r0, #0xe0 - ands r0, r1 - lsrs r0, r0, #3 - ldrb r1, [r4, #0xa] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x78 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08048F50 - adds r0, r4, #0 - bl sub_08048F74 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08048ED0 -sub_08048ED0: @ 0x08048ED0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08048F50 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048EFC - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x2d - strb r0, [r4, #0xe] -_08048EFC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08048F00 -sub_08048F00: @ 0x08048F00 - push {r4, lr} - adds r4, r0, #0 - bl sub_08048F50 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08048F2E - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_08048F2E: - pop {r4, pc} - - thumb_func_start sub_08048F30 -sub_08048F30: @ 0x08048F30 - push {r4, lr} - adds r4, r0, #0 - bl sub_08048F50 - adds r0, r4, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048F4E - bl sub_0805E780 -_08048F4E: - pop {r4, pc} - - thumb_func_start sub_08048F50 -sub_08048F50: @ 0x08048F50 - push {lr} - adds r1, r0, #0 - adds r0, #0x78 - ldrb r3, [r0] - lsls r3, r3, #1 - ldr r0, _08048F70 @ =gUnk_080D2300 - adds r3, r3, r0 - ldr r0, [r1, #0x50] - movs r2, #0 - ldrsb r2, [r3, r2] - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - bl sub_0806FA90 - pop {pc} - .align 2, 0 -_08048F70: .4byte gUnk_080D2300 - - thumb_func_start sub_08048F74 -sub_08048F74: @ 0x08048F74 - push {lr} - ldr r2, _08048F88 @ =gUnk_080D2348 - adds r1, r0, #0 - adds r1, #0x78 - ldrb r1, [r1] - adds r1, r1, r2 - ldrb r1, [r1] - bl sub_08004260 - pop {pc} - .align 2, 0 -_08048F88: .4byte gUnk_080D2348 - - thumb_func_start sub_08048F8C -sub_08048F8C: @ 0x08048F8C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08048F9C - bl sub_0805E780 -_08048F9C: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08048FD4 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - movs r0, #0xff - strb r0, [r4, #0x14] -_08048FD4: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0x14] - lsrs r0, r0, #5 - lsls r6, r0, #0x18 - lsrs r5, r6, #0x18 - ldrb r0, [r4, #0x14] - cmp r5, r0 - beq _08049018 - strb r5, [r4, #0x14] - ldr r3, _08049010 @ =gUnk_080D28CC - lsls r1, r5, #1 - adds r1, r1, r3 - ldr r2, _08049014 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldrh r1, [r1] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - adds r1, r5, #1 - lsls r1, r1, #1 - adds r1, r1, r3 - ldrh r0, [r2, #8] - ldrh r1, [r1] - adds r0, r0, r1 - strh r0, [r4, #0x32] - lsrs r1, r6, #0x19 - adds r0, r4, #0 - bl sub_08004260 - b _0804901E - .align 2, 0 -_08049010: .4byte gUnk_080D28CC -_08049014: .4byte gUnk_03000BF0 -_08049018: - adds r0, r4, #0 - bl sub_08004274 -_0804901E: - movs r0, #2 - ands r0, r5 - cmp r0, #0 - beq _08049038 - ldr r0, _08049034 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r4, r2] - movs r2, #0x32 - ldrsh r0, [r0, r2] - b _08049042 - .align 2, 0 -_08049034: .4byte gUnk_03001160 -_08049038: - ldr r0, _08049054 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r2, #0x2e - ldrsh r0, [r0, r2] -_08049042: - cmp r1, r0 - bge _08049048 - adds r5, #1 -_08049048: - ldr r0, _08049058 @ =gUnk_080D28AC - lsls r1, r5, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r4, #0x48] - pop {r4, r5, r6, pc} - .align 2, 0 -_08049054: .4byte gUnk_03001160 -_08049058: .4byte gUnk_080D28AC - - thumb_func_start sub_0804905C -sub_0804905C: @ 0x0804905C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - beq _0804907C - adds r0, r5, #0 - adds r0, #0x7d - ldrb r1, [r0] - movs r0, #3 - ands r1, r0 - ldrb r2, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] -_0804907C: - adds r1, r5, #0 - adds r1, #0x45 - ldrb r0, [r1] - adds r2, r0, #0 - cmp r2, #0 - bne _08049092 - movs r0, #0xff - strb r0, [r1] - movs r0, #4 - strb r0, [r5, #0xc] - strb r2, [r5, #0xd] -_08049092: - ldr r1, _080490F8 @ =gUnk_080D2974 - ldrb r0, [r5, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - adds r4, r5, #0 - adds r4, #0x78 - ldrh r3, [r4] - adds r0, r5, #0 - movs r1, #0xaa - movs r2, #0xaa - bl sub_0805EC9C - ldrh r0, [r4] - lsrs r0, r0, #8 - rsbs r0, r0, #0 - strb r0, [r5, #0x14] - adds r0, r5, #0 - bl sub_080499F0 - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - adds r1, r5, #0 - adds r1, #0x7d - strb r0, [r1] - ldrb r2, [r5, #0x18] - lsls r0, r2, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _080490F4 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldr r1, _080490FC @ =gUnk_03000BF0 - movs r3, #0xc - ldrsh r1, [r1, r3] - subs r0, r0, r1 - adds r0, #0x30 - movs r1, #0x80 - lsls r1, r1, #1 - cmp r0, r1 - bls _080490F4 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r5, #0x18] -_080490F4: - pop {r4, r5, pc} - .align 2, 0 -_080490F8: .4byte gUnk_080D2974 -_080490FC: .4byte gUnk_03000BF0 - - thumb_func_start sub_08049100 -sub_08049100: @ 0x08049100 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x7c - bl sub_0807CBE4 - cmp r0, #0 - beq _08049144 - ldr r4, _08049140 @ =0x00004081 - adds r0, r4, #0 - movs r1, #0xa - movs r2, #2 - bl sub_0800015E - adds r0, r4, #0 - movs r1, #0x4a - movs r2, #2 - bl sub_0800015E - adds r0, r4, #0 - movs r1, #0x8a - movs r2, #2 - bl sub_0800015E - adds r0, r4, #0 - movs r1, #0xca - movs r2, #2 - bl sub_0800015E - bl sub_0805E780 - b _0804916E - .align 2, 0 -_08049140: .4byte 0x00004081 -_08049144: - ldr r4, _080491E8 @ =0x00000323 - adds r0, r4, #0 - movs r1, #0xa - movs r2, #1 - bl sub_0807B7D8 - adds r0, r4, #0 - movs r1, #0x4a - movs r2, #1 - bl sub_0807B7D8 - adds r0, r4, #0 - movs r1, #0x8a - movs r2, #1 - bl sub_0807B7D8 - adds r0, r4, #0 - movs r1, #0xca - movs r2, #1 - bl sub_0807B7D8 -_0804916E: - movs r0, #0x22 - bl sub_080A7EE0 - adds r2, r0, #0 - cmp r2, #0 - beq _080491E4 - movs r1, #0 - movs r3, #1 - movs r0, #1 - strb r0, [r2, #0xa] - str r5, [r2, #0x50] - str r2, [r5, #0x54] - strb r0, [r5, #0xc] - strb r1, [r5, #0xd] - movs r0, #0x3c - strb r0, [r5, #0xe] - movs r0, #0xc0 - strb r0, [r5, #0x15] - strb r0, [r5, #0x14] - movs r4, #0 - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - ldrb r1, [r5, #0x19] - movs r0, #3 - orrs r1, r0 - ldrb r2, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r3 - strb r0, [r5, #0x18] - ldrb r2, [r5, #0x1b] - movs r3, #0x3f - adds r0, r3, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r5, #0x1b] - ands r1, r3 - orrs r1, r2 - strb r1, [r5, #0x19] - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x7c - strb r4, [r0] - subs r0, #4 - movs r1, #0x80 - lsls r1, r1, #7 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC -_080491E4: - pop {r4, r5, pc} - .align 2, 0 -_080491E8: .4byte 0x00000323 - - thumb_func_start sub_080491EC -sub_080491EC: @ 0x080491EC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08049208 @ =gUnk_080D2988 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08049208: .4byte gUnk_080D2988 - - thumb_func_start sub_0804920C -sub_0804920C: @ 0x0804920C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0804921C - subs r0, #1 - strb r0, [r4, #0xe] - b _08049268 -_0804921C: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08049998 - ldr r2, _0804926C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldr r1, _08049270 @ =0xFFFFFF00 - adds r0, r0, r1 - movs r3, #0x2e - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _08049268 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x80 - strb r0, [r4, #0x15] - strb r0, [r4, #0x14] - movs r0, #0xc0 - strh r0, [r4, #0x24] - ldrh r0, [r2, #6] - adds r0, #0xa8 - strh r0, [r4, #0x2e] - ldrh r0, [r2, #8] - subs r0, #0x40 - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x78 - movs r1, #0x80 - lsls r1, r1, #8 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] -_08049268: - pop {r4, pc} - .align 2, 0 -_0804926C: .4byte gUnk_03000BF0 -_08049270: .4byte 0xFFFFFF00 - - thumb_func_start sub_08049274 -sub_08049274: @ 0x08049274 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08049998 - ldr r0, _080492A4 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - adds r0, #0x40 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _080492A2 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_080492A2: - pop {r4, pc} - .align 2, 0 -_080492A4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080492A8 -sub_080492A8: @ 0x080492A8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080492C4 @ =gUnk_080D2990 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_080492C4: .4byte gUnk_080D2990 - - thumb_func_start sub_080492C8 -sub_080492C8: @ 0x080492C8 - push {r4, r5, lr} - adds r3, r0, #0 - movs r0, #1 - strb r0, [r3, #0xd] - movs r1, #0 - movs r0, #0x90 - lsls r0, r0, #1 - strh r0, [r3, #0x24] - adds r0, r3, #0 - adds r0, #0x6e - strb r1, [r0] - movs r0, #0x2e - ldrsh r1, [r3, r0] - ldr r2, _08049300 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - adds r5, r2, #0 - cmp r1, #0xa7 - bgt _08049304 - adds r2, r3, #0 - adds r2, #0x80 - movs r0, #0xd8 - strh r0, [r2] - adds r1, r3, #0 - adds r1, #0x74 - adds r0, #0x28 - b _08049314 - .align 2, 0 -_08049300: .4byte gUnk_03000BF0 -_08049304: - adds r2, r3, #0 - adds r2, #0x80 - movs r0, #0x78 - strh r0, [r2] - adds r1, r3, #0 - adds r1, #0x74 - movs r0, #0xff - lsls r0, r0, #8 -_08049314: - strh r0, [r1] - adds r4, r1, #0 - ldrh r0, [r5, #6] - ldrh r1, [r2] - adds r0, r0, r1 - strh r0, [r2] - movs r2, #0x32 - ldrsh r0, [r3, r2] - ldrh r1, [r5, #8] - subs r0, r0, r1 - cmp r0, #0x7f - bgt _08049336 - adds r1, r3, #0 - adds r1, #0x82 - movs r0, #0xb0 - strh r0, [r1] - b _08049346 -_08049336: - adds r1, r3, #0 - adds r1, #0x82 - movs r0, #0x50 - strh r0, [r1] - movs r2, #0 - ldrsh r0, [r4, r2] - rsbs r0, r0, #0 - strh r0, [r4] -_08049346: - ldrh r0, [r5, #8] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - adds r0, r3, #0 - bl sub_08049358 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08049358 -sub_08049358: @ 0x08049358 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r3, r0, #0 - ldrb r2, [r4, #0x15] - subs r0, r2, r3 - adds r0, #2 - movs r1, #0xff - ands r0, r1 - cmp r0, #4 - bls _08049398 - subs r0, r3, r2 - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08049394 - subs r0, r2, #1 - b _08049396 -_08049394: - adds r0, r2, #1 -_08049396: - strb r0, [r4, #0x15] -_08049398: - ldrb r1, [r4, #0x15] - movs r5, #0x80 - lsls r5, r5, #1 - subs r1, r5, r1 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08049998 - adds r0, r4, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, #2 - ldrh r2, [r0] - movs r0, #0x24 - ldrsh r3, [r4, r0] - asrs r3, r3, #0x10 - adds r3, #0x10 - adds r0, r4, #0 - bl sub_0806FCB8 - cmp r0, #0 - beq _080493E0 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0xc0 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x7e - strh r5, [r0] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] -_080493E0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080493E4 -sub_080493E4: @ 0x080493E4 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x76 - adds r0, #0x74 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r4, #0x15] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0804943A - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldr r3, _08049458 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - adds r2, #0xa8 - ldrh r3, [r3, #8] - adds r3, #0x80 - bl sub_080045D4 - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - subs r0, r0, r1 - movs r1, #0xf - ands r0, r1 - cmp r0, #8 - bne _0804943A - movs r0, #4 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #7 - strb r0, [r4, #0xf] -_0804943A: - adds r0, r4, #0 - bl sub_08049944 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - .align 2, 0 -_08049458: .4byte gUnk_03000BF0 - - thumb_func_start sub_0804945C -sub_0804945C: @ 0x0804945C - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x76 - adds r0, #0x74 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r1, r0, #0x18 - strb r1, [r4, #0x15] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0804948C - movs r0, #0x1f - ands r1, r0 - cmp r1, #0 - bne _080494B2 - movs r0, #4 - strb r0, [r4, #0xd] - movs r0, #0x5a - strb r0, [r4, #0xe] - b _080494B2 -_0804948C: - adds r0, r4, #0 - bl sub_08049A8C - cmp r0, #0 - beq _080494B2 - movs r0, #0x23 - bl sub_080A7EE0 - adds r2, r0, #0 - cmp r2, #0 - beq _080494B2 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - str r4, [r2, #0x50] - adds r0, r2, #0 - bl sub_08016A04 -_080494B2: - adds r0, r4, #0 - bl sub_08049944 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080494D0 -sub_080494D0: @ 0x080494D0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08049998 - ldrb r0, [r4, #0xe] - subs r1, r0, #1 - strb r1, [r4, #0xe] - movs r2, #0xff - lsls r0, r1, #0x18 - cmp r0, #0 - bne _08049518 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r2 - cmp r0, #0 - bne _0804950E - movs r0, #5 - strb r0, [r4, #0xd] - ldrh r0, [r4, #0x24] - adds r0, #0x40 - strh r0, [r4, #0x24] - b _08049534 -_0804950E: - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0xa - strb r0, [r4, #0xe] - b _08049534 -_08049518: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x50 - bne _08049534 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - movs r0, #0x62 - bl sub_0804AA60 - cmp r0, #0 - beq _08049534 - str r4, [r0, #0x50] -_08049534: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08049538 -sub_08049538: @ 0x08049538 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08049998 - ldr r0, _08049570 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - adds r1, #0xa8 - ldrh r2, [r0, #8] - adds r2, #0x80 - adds r0, r4, #0 - movs r3, #0x70 - bl sub_0806FCB8 - adds r1, r0, #0 - cmp r1, #0 - bne _0804956E - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_0804956E: - pop {r4, pc} - .align 2, 0 -_08049570: .4byte gUnk_03000BF0 - - thumb_func_start sub_08049574 -sub_08049574: @ 0x08049574 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08049590 @ =gUnk_080D29A8 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08049590: .4byte gUnk_080D29A8 - - thumb_func_start sub_08049594 -sub_08049594: @ 0x08049594 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _080495C8 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - movs r3, #0x2e - ldrsh r1, [r4, r3] - subs r1, #0xa8 - subs r0, r0, r1 - ldrh r1, [r2, #8] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r2, #0x80 - subs r1, r1, r2 - bl sub_080045DA - ldrb r2, [r4, #0x15] - cmp r0, r2 - beq _080495D2 - subs r0, r0, r2 - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080495CC - subs r0, r2, #1 - strb r0, [r4, #0x15] - b _080495DC - .align 2, 0 -_080495C8: .4byte gUnk_03000BF0 -_080495CC: - adds r0, r2, #1 - strb r0, [r4, #0x15] - b _080495DC -_080495D2: - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] -_080495DC: - adds r0, r4, #0 - bl sub_08049944 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - - thumb_func_start sub_080495F8 -sub_080495F8: @ 0x080495F8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08049654 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - adds r1, #0xa8 - ldrh r2, [r0, #8] - adds r2, #0x80 - adds r0, r4, #0 - movs r3, #0x28 - bl sub_0806FCB8 - cmp r0, #0 - beq _0804963C - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x2d - strb r0, [r4, #0xe] - bl sub_08000E50 - ldr r2, _08049658 @ =gUnk_080D29B8 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] -_0804963C: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08049998 - pop {r4, pc} - .align 2, 0 -_08049654: .4byte gUnk_03000BF0 -_08049658: .4byte gUnk_080D29B8 - - thumb_func_start sub_0804965C -sub_0804965C: @ 0x0804965C - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x76 - adds r0, #0x74 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08049998 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0804969A - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] -_0804969A: - pop {r4, pc} - - thumb_func_start sub_0804969C -sub_0804969C: @ 0x0804969C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08049998 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080496C8 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_080496C8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080496CC -sub_080496CC: @ 0x080496CC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080496E8 @ =gUnk_080D29C0 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_080496E8: .4byte gUnk_080D29C0 - - thumb_func_start sub_080496EC -sub_080496EC: @ 0x080496EC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - bl sub_08079F8C - cmp r0, #0 - beq _08049720 - ldr r0, _0804971C @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r0, r1] - cmp r0, #0 - bne _08049720 - movs r0, #2 - bl sub_08078A90 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - b _08049724 - .align 2, 0 -_0804971C: .4byte gUnk_03001160 -_08049720: - movs r0, #1 - strb r0, [r4, #0xd] -_08049724: - adds r0, r4, #0 - bl sub_08049944 - pop {r4, pc} - - thumb_func_start sub_0804972C -sub_0804972C: @ 0x0804972C - push {r4, lr} - adds r4, r0, #0 - bl sub_08079F8C - cmp r0, #0 - beq _08049750 - ldr r0, _08049758 @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r0, r1] - cmp r0, #0 - bne _08049750 - movs r0, #2 - bl sub_08078A90 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #1 - strb r0, [r4, #0xe] -_08049750: - adds r0, r4, #0 - bl sub_08049944 - pop {r4, pc} - .align 2, 0 -_08049758: .4byte gUnk_03001160 - - thumb_func_start sub_0804975C -sub_0804975C: @ 0x0804975C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0804977E - movs r0, #3 - strb r0, [r1, #0xd] - movs r0, #0xb4 - strb r0, [r1, #0xe] - adds r0, #0x4c - strh r0, [r1, #0x24] - ldrb r0, [r1, #0x15] - subs r0, #0x40 - strb r0, [r1, #0x15] -_0804977E: - adds r0, r1, #0 - bl sub_08049944 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08049788 -sub_08049788: @ 0x08049788 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049AB0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080497B8 - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #4 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x14] - strb r0, [r4, #0x15] - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - b _080497C6 -_080497B8: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - eors r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08049B20 -_080497C6: - adds r0, r4, #0 - bl sub_08049944 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080497D0 -sub_080497D0: @ 0x080497D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049AB0 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08049998 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08049802 - movs r0, #5 - strb r0, [r4, #0xd] - movs r1, #0x10 - bl sub_08050054 -_08049802: - pop {r4, pc} - - thumb_func_start sub_08049804 -sub_08049804: @ 0x08049804 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049944 - ldr r0, _0804987C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08049878 - movs r0, #6 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - movs r3, #4 - rsbs r3, r3, #0 - adds r0, r3, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r4, [r4, #0x54] - ldrb r2, [r4, #0x10] - movs r1, #0x7f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x10] - ldrb r2, [r4, #0x18] - adds r0, r3, #0 - ands r0, r2 - strb r0, [r4, #0x18] - ldr r4, [r4, #0x54] - ldrb r2, [r4, #0x10] - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x10] - ldrb r2, [r4, #0x18] - adds r0, r3, #0 - ands r0, r2 - strb r0, [r4, #0x18] - ldr r4, [r4, #0x54] - ldrb r0, [r4, #0x10] - ands r1, r0 - strb r1, [r4, #0x10] - ldrb r0, [r4, #0x18] - ands r3, r0 - strb r3, [r4, #0x18] - ldr r4, _08049880 @ =gUnk_03001160 - ldr r1, _08049884 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0xa8 - movs r2, #0 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #8] - adds r0, #0x80 - strh r0, [r4, #0x32] - strb r2, [r4, #0x14] - bl sub_080809D4 - movs r0, #4 - movs r1, #4 - bl sub_08050054 -_08049878: - pop {r4, pc} - .align 2, 0 -_0804987C: .4byte gUnk_03000FD0 -_08049880: .4byte gUnk_03001160 -_08049884: .4byte gUnk_03000BF0 - - thumb_func_start sub_08049888 -sub_08049888: @ 0x08049888 - push {lr} - adds r1, r0, #0 - ldr r0, _080498B0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080498AE - movs r0, #7 - strb r0, [r1, #0xd] - movs r0, #0xa0 - strb r0, [r1, #0xe] - movs r0, #0x72 - bl sub_080A3268 - movs r0, #0x7c - bl sub_0807CCC8 - movs r0, #1 - bl sub_08078A90 -_080498AE: - pop {pc} - .align 2, 0 -_080498B0: .4byte gUnk_03000FD0 - - thumb_func_start sub_080498B4 -sub_080498B4: @ 0x080498B4 - push {lr} - ldrb r1, [r0, #0xe] - subs r1, #1 - strb r1, [r0, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _080498C8 - bl sub_0805E780 - b _0804993E -_080498C8: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x10 - bne _080498E4 - movs r0, #0x36 - movs r1, #0xca - movs r2, #1 - bl sub_0807B7D8 - ldr r0, _080498E0 @ =0x00004081 - movs r1, #0xca - b _0804990E - .align 2, 0 -_080498E0: .4byte 0x00004081 -_080498E4: - cmp r0, #0x18 - bne _080498FC - movs r0, #0x36 - movs r1, #0x8a - movs r2, #1 - bl sub_0807B7D8 - ldr r0, _080498F8 @ =0x00004081 - movs r1, #0x8a - b _0804990E - .align 2, 0 -_080498F8: .4byte 0x00004081 -_080498FC: - cmp r0, #0x20 - bne _08049920 - movs r0, #0x36 - movs r1, #0x4a - movs r2, #1 - bl sub_0807B7D8 - ldr r0, _0804991C @ =0x00004081 - movs r1, #0x4a -_0804990E: - movs r2, #2 - bl sub_0800015E - movs r0, #0x71 - bl sub_080A3268 - b _0804993E - .align 2, 0 -_0804991C: .4byte 0x00004081 -_08049920: - cmp r0, #0x28 - bne _0804993E - movs r0, #0x36 - movs r1, #0xa - movs r2, #1 - bl sub_0807B7D8 - ldr r0, _08049940 @ =0x00004081 - movs r1, #0xa - movs r2, #2 - bl sub_0800015E - movs r0, #0x71 - bl sub_080A3268 -_0804993E: - pop {pc} - .align 2, 0 -_08049940: .4byte 0x00004081 - - thumb_func_start sub_08049944 -sub_08049944: @ 0x08049944 - push {r4, r5, lr} - adds r4, r0, #0 - adds r4, #0x7c - ldrb r3, [r4] - lsls r2, r3, #1 - movs r1, #0x7f - ands r2, r1 - movs r1, #0x80 - ands r1, r3 - orrs r2, r1 - strb r2, [r4] - ldr r5, _08049990 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r5, r2] - movs r3, #0x32 - ldrsh r2, [r5, r3] - movs r3, #0x20 - bl sub_0806FCB8 - cmp r0, #0 - beq _0804998C - ldr r2, _08049994 @ =gUnk_03003F80 - movs r0, #1 - strb r0, [r2, #0x14] - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _0804998C - ldr r0, [r2, #0x30] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #0x30] - ldrb r0, [r4] - movs r1, #1 - orrs r0, r1 - strb r0, [r4] -_0804998C: - pop {r4, r5, pc} - .align 2, 0 -_08049990: .4byte gUnk_03001160 -_08049994: .4byte gUnk_03003F80 - - thumb_func_start sub_08049998 -sub_08049998: @ 0x08049998 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_08049944 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08047EA4 - movs r0, #0x2e - ldrsh r4, [r5, r0] - movs r2, #0x32 - ldrsh r6, [r5, r2] - movs r0, #0x24 - ldrsh r1, [r5, r0] - ldrb r2, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F62C - adds r0, r5, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080499EA - bl sub_08079F8C - cmp r0, #0 - beq _080499EA - ldr r0, _080499EC @ =gUnk_03001160 - ldrh r1, [r5, #0x2e] - subs r1, r1, r4 - ldrh r2, [r0, #0x2e] - adds r1, r1, r2 - strh r1, [r0, #0x2e] - ldrh r1, [r5, #0x32] - subs r1, r1, r6 - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] -_080499EA: - pop {r4, r5, r6, pc} - .align 2, 0 -_080499EC: .4byte gUnk_03001160 - - thumb_func_start sub_080499F0 -sub_080499F0: @ 0x080499F0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08049A82 - ldr r5, _08049A84 @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _08049A82 - bl sub_08079F8C - cmp r0, #0 - beq _08049A82 - adds r2, r4, #0 - adds r2, #0x7c - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - adds r6, r2, #0 - cmp r0, #0 - bne _08049A82 - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r3, #0x32 - ldrsh r2, [r4, r3] - adds r0, r5, #0 - movs r3, #0x24 - bl sub_0806FCB8 - cmp r0, #0 - beq _08049A7E - ldrb r1, [r6] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08049A7E - movs r1, #0x2e - ldrsh r0, [r5, r1] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r5, r3] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - ldr r3, _08049A88 @ =gUnk_080C9160 - lsls r1, r0, #1 - adds r1, r1, r3 - movs r2, #0 - ldrsh r1, [r1, r2] - lsls r2, r1, #3 - adds r2, r2, r1 - lsls r2, r2, #0xa - ldr r1, [r4, #0x2c] - adds r1, r1, r2 - str r1, [r5, #0x2c] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r3 - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r1, r0, #3 - adds r1, r1, r0 - lsls r1, r1, #0xa - ldr r0, [r4, #0x30] - subs r0, r0, r1 - str r0, [r5, #0x30] -_08049A7E: - movs r0, #0 - strb r0, [r6] -_08049A82: - pop {r4, r5, r6, pc} - .align 2, 0 -_08049A84: .4byte gUnk_03001160 -_08049A88: .4byte gUnk_080C9160 - - thumb_func_start sub_08049A8C -sub_08049A8C: @ 0x08049A8C - push {lr} - ldrb r1, [r0, #0xe] - subs r1, #1 - strb r1, [r0, #0xe] - lsls r1, r1, #0x18 - cmp r1, #0 - bne _08049AAA - bl sub_08000E50 - movs r1, #0xf - ands r1, r0 - cmp r1, #0 - beq _08049AAA - movs r0, #1 - b _08049AAC -_08049AAA: - movs r0, #0 -_08049AAC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08049AB0 -sub_08049AB0: @ 0x08049AB0 - push {r4, r5, lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xf] - adds r0, #1 - strb r0, [r2, #0xf] - movs r1, #0xff - ands r0, r1 - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _08049B18 - adds r0, r2, #0 - movs r1, #0x48 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _08049B18 - bl sub_08000E50 - movs r3, #0x30 - adds r1, r0, #0 - ands r1, r3 - ldr r5, _08049B1C @ =0x0000FFE8 - adds r2, r5, #0 - adds r1, r2, r1 - ldrh r5, [r4, #0x2e] - adds r1, r1, r5 - strh r1, [r4, #0x2e] - lsrs r0, r0, #8 - ands r0, r3 - adds r2, r2, r0 - ldrh r0, [r4, #0x32] - adds r2, r2, r0 - strh r2, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 -_08049B18: - pop {r4, r5, pc} - .align 2, 0 -_08049B1C: .4byte 0x0000FFE8 - - thumb_func_start sub_08049B20 -sub_08049B20: @ 0x08049B20 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08049944 - movs r0, #0x2e - ldrsh r5, [r4, r0] - movs r2, #0x32 - ldrsh r6, [r4, r2] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - adds r0, r4, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08049B68 - bl sub_08079F8C - cmp r0, #0 - beq _08049B68 - ldr r0, _08049B6C @ =gUnk_03001160 - ldrh r1, [r4, #0x2e] - subs r1, r1, r5 - ldrh r2, [r0, #0x2e] - adds r1, r1, r2 - strh r1, [r0, #0x2e] - ldrh r1, [r4, #0x32] - subs r1, r1, r6 - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] -_08049B68: - pop {r4, r5, r6, pc} - .align 2, 0 -_08049B6C: .4byte gUnk_03001160 - - thumb_func_start sub_08049B70 -sub_08049B70: @ 0x08049B70 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _08049BB0 - adds r0, #1 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0xa] - lsls r0, r0, #4 - ldr r1, _08049BEC @ =gUnk_080D29E0 - adds r0, r0, r1 - bl sub_080028F4 - adds r4, r5, #0 - adds r4, #0x68 - strb r0, [r4] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #8 - bls _08049B9C - bl sub_0805E780 -_08049B9C: - ldrb r0, [r4] - cmp r0, #7 - bhi _08049BB0 - movs r0, #0x67 - bl sub_0807CA84 - cmp r0, #0 - bne _08049BB0 - movs r0, #8 - strb r0, [r4] -_08049BB0: - adds r0, r5, #0 - bl sub_08049C2C - cmp r0, #0 - beq _08049C20 - adds r0, r5, #0 - adds r0, #0x68 - ldrb r1, [r0] - cmp r1, #0 - blt _08049C16 - cmp r1, #7 - ble _08049BF0 - cmp r1, #8 - bne _08049C16 - movs r0, #0x40 - movs r1, #0x60 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08049C16 - movs r0, #0 - strb r0, [r4, #0xe] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - b _08049C16 - .align 2, 0 -_08049BEC: .4byte gUnk_080D29E0 -_08049BF0: - ldr r0, _08049C24 @ =gUnk_080D2AB0 - adds r0, r1, r0 - ldrb r2, [r0] - movs r0, #0x96 - movs r1, #7 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08049C16 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrh r0, [r4, #0x32] - adds r0, #0x10 - strh r0, [r4, #0x32] - ldr r0, _08049C28 @ =0x0000FFE0 - strh r0, [r4, #0x36] -_08049C16: - adds r0, r5, #0 - bl sub_08049CF4 - bl sub_0805E780 -_08049C20: - pop {r4, r5, pc} - .align 2, 0 -_08049C24: .4byte gUnk_080D2AB0 -_08049C28: .4byte 0x0000FFE0 - - thumb_func_start sub_08049C2C -sub_08049C2C: @ 0x08049C2C - push {r4, r5, r6, lr} - adds r2, r0, #0 - ldr r3, _08049CA4 @ =gUnk_03001160 - ldrb r0, [r3, #0xc] - cmp r0, #6 - bne _08049CA8 - movs r0, #0x2e - ldrsh r1, [r3, r0] - movs r4, #0x2e - ldrsh r0, [r2, r4] - subs r1, r1, r0 - movs r5, #6 - movs r4, #0x80 - lsls r4, r4, #8 - adds r0, r1, #0 - ands r0, r4 - cmp r0, #0 - beq _08049C52 - movs r5, #2 -_08049C52: - adds r1, #0x28 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x4f - bhi _08049CA8 - movs r6, #0x32 - ldrsh r1, [r3, r6] - movs r6, #0x32 - ldrsh r0, [r2, r6] - subs r1, r1, r0 - adds r0, r1, #0 - ands r0, r4 - rsbs r0, r0, #0 - asrs r2, r0, #0x1f - movs r0, #4 - ands r2, r0 - adds r1, #0x28 - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x4f - bhi _08049CA8 - ldrb r0, [r3, #0x14] - cmp r0, #0 - bne _08049C86 - cmp r2, #0 - beq _08049C9E -_08049C86: - cmp r0, #4 - bne _08049C8E - cmp r2, #4 - beq _08049C9E -_08049C8E: - cmp r0, #6 - bne _08049C96 - cmp r5, #6 - beq _08049C9E -_08049C96: - cmp r0, #2 - bne _08049CA8 - cmp r5, #2 - bne _08049CA8 -_08049C9E: - movs r0, #1 - b _08049CAA - .align 2, 0 -_08049CA4: .4byte gUnk_03001160 -_08049CA8: - movs r0, #0 -_08049CAA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08049CAC -sub_08049CAC: @ 0x08049CAC - push {lr} - adds r2, r0, #0 - ldr r1, _08049CC8 @ =gUnk_080D2ABC - ldrb r0, [r2, #0xf] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - cmp r1, #0 - beq _08049CCC - adds r0, r2, #0 - bl _call_via_r1 - b _08049CD0 - .align 2, 0 -_08049CC8: .4byte gUnk_080D2ABC -_08049CCC: - bl sub_0805E780 -_08049CD0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08049CD4 -sub_08049CD4: @ 0x08049CD4 - push {r4, lr} - movs r0, #1 - rsbs r0, r0, #0 - ldr r4, _08049CEC @ =gUnk_02024050 - adds r1, r4, #0 - movs r2, #0x40 - bl sub_0801D610 - ldr r0, _08049CF0 @ =gUnk_020354B0 - str r4, [r0] - pop {r4, pc} - .align 2, 0 -_08049CEC: .4byte gUnk_02024050 -_08049CF0: .4byte gUnk_020354B0 - - thumb_func_start sub_08049CF4 -sub_08049CF4: @ 0x08049CF4 - push {lr} - adds r0, #0x6c - ldrb r3, [r0] - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _08049D14 - ldr r0, _08049D18 @ =gUnk_020354B0 - ldr r2, [r0] - movs r0, #0x1f - ands r3, r0 - movs r1, #1 - lsls r1, r3 - ldr r0, [r2, #4] - orrs r0, r1 - str r0, [r2, #4] -_08049D14: - pop {pc} - .align 2, 0 -_08049D18: .4byte gUnk_020354B0 - - thumb_func_start sub_08049D1C -sub_08049D1C: @ 0x08049D1C - ldr r1, _08049D2C @ =gUnk_020354B0 - ldr r1, [r1] - ldr r1, [r1, #4] - lsrs r1, r0 - movs r0, #1 - bics r0, r1 - bx lr - .align 2, 0 -_08049D2C: .4byte gUnk_020354B0 - - thumb_func_start sub_08049D30 -sub_08049D30: @ 0x08049D30 - push {r4, r5, r6, lr} - ldr r1, _08049D58 @ =gUnk_020354B0 - ldr r0, _08049D5C @ =gUnk_02024050 - str r0, [r1] - adds r5, r1, #0 - ldr r6, _08049D60 @ =gUnk_03000BF0 - ldr r4, _08049D64 @ =0x0000FFFF -_08049D3E: - ldr r3, [r5] - ldrh r0, [r3] - ldrh r2, [r6, #4] - adds r1, r4, #0 - ands r1, r0 - adds r0, r4, #0 - ands r0, r2 - cmp r1, r0 - bne _08049D68 - adds r0, r3, #0 - bl sub_08049DCC - b _08049D7C - .align 2, 0 -_08049D58: .4byte gUnk_020354B0 -_08049D5C: .4byte gUnk_02024050 -_08049D60: .4byte gUnk_03000BF0 -_08049D64: .4byte 0x0000FFFF -_08049D68: - adds r1, r3, #0 - adds r1, #8 - str r1, [r5] - ldr r0, _08049D80 @ =gUnk_02024090 - cmp r1, r0 - blo _08049D3E - bl sub_08049D88 - ldr r1, _08049D84 @ =gUnk_020354B0 - str r0, [r1] -_08049D7C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08049D80: .4byte gUnk_02024090 -_08049D84: .4byte gUnk_020354B0 - - thumb_func_start sub_08049D88 -sub_08049D88: @ 0x08049D88 - push {r4, r5, lr} - ldr r4, _08049DC0 @ =gUnk_02024050 - adds r1, r4, #0 - adds r1, #8 - ldr r3, _08049DC4 @ =gUnk_03000BF0 - adds r2, r4, #0 - adds r2, #0x40 -_08049D96: - ldrh r0, [r1, #2] - ldrh r5, [r4, #2] - cmp r0, r5 - bls _08049DA0 - adds r4, r1, #0 -_08049DA0: - adds r1, #8 - cmp r1, r2 - blo _08049D96 - ldrb r0, [r3, #4] - movs r1, #0 - strb r0, [r4] - ldrb r0, [r3, #5] - strb r0, [r4, #1] - ldr r0, _08049DC8 @ =0x0000FFFF - strh r0, [r4, #2] - str r1, [r4, #4] - adds r0, r4, #0 - bl sub_08049DCC - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 -_08049DC0: .4byte gUnk_02024050 -_08049DC4: .4byte gUnk_03000BF0 -_08049DC8: .4byte 0x0000FFFF - - thumb_func_start sub_08049DCC -sub_08049DCC: @ 0x08049DCC - push {r4, lr} - adds r2, r0, #0 - ldr r1, _08049DF0 @ =gUnk_02024050 - adds r3, r1, #0 - adds r3, #0x40 -_08049DD6: - ldrh r0, [r1, #2] - ldrh r4, [r2, #2] - cmp r0, r4 - bhs _08049DE2 - adds r0, #1 - strh r0, [r1, #2] -_08049DE2: - adds r1, #8 - cmp r1, r3 - blo _08049DD6 - movs r0, #0 - strh r0, [r2, #2] - pop {r4, pc} - .align 2, 0 -_08049DF0: .4byte gUnk_02024050 - - thumb_func_start sub_08049DF4 -sub_08049DF4: @ 0x08049DF4 - push {lr} - adds r2, r0, #0 - ldr r0, _08049E10 @ =gUnk_020000B0 - ldr r0, [r0] - cmp r0, #0 - bne _08049E0C - ldr r1, _08049E14 @ =gUnk_080D3BE8 - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 -_08049E0C: - pop {pc} - .align 2, 0 -_08049E10: .4byte gUnk_020000B0 -_08049E14: .4byte gUnk_080D3BE8 - - thumb_func_start sub_08049E18 -sub_08049E18: @ 0x08049E18 - push {lr} - ldr r1, _08049E38 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08049E48 - ldr r0, [r1, #0x30] - ldr r1, _08049E3C @ =0x22189B75 - ands r0, r1 - cmp r0, #0 - bne _08049E48 - ldr r1, _08049E40 @ =gUnk_020000B0 - ldr r0, _08049E44 @ =gUnk_03001160 - str r0, [r1] - b _08049E4A - .align 2, 0 -_08049E38: .4byte gUnk_03003F80 -_08049E3C: .4byte 0x22189B75 -_08049E40: .4byte gUnk_020000B0 -_08049E44: .4byte gUnk_03001160 -_08049E48: - movs r0, #0 -_08049E4A: - pop {pc} - - thumb_func_start sub_08049E4C -sub_08049E4C: @ 0x08049E4C - push {lr} - ldr r1, _08049E6C @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08049E7C - ldr r0, [r1, #0x30] - ldr r1, _08049E70 @ =0x22189BF5 - ands r0, r1 - cmp r0, #0 - bne _08049E7C - ldr r1, _08049E74 @ =gUnk_020000B0 - ldr r0, _08049E78 @ =gUnk_03001160 - str r0, [r1] - b _08049E7E - .align 2, 0 -_08049E6C: .4byte gUnk_03003F80 -_08049E70: .4byte 0x22189BF5 -_08049E74: .4byte gUnk_020000B0 -_08049E78: .4byte gUnk_03001160 -_08049E7C: - movs r0, #0 -_08049E7E: - pop {pc} - - thumb_func_start sub_08049E80 -sub_08049E80: @ 0x08049E80 - push {lr} - ldr r1, _08049E9C @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08049E98 - ldr r0, [r1, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08049EA0 -_08049E98: - movs r0, #0 - b _08049EA6 - .align 2, 0 -_08049E9C: .4byte gUnk_03003F80 -_08049EA0: - ldr r1, _08049EA8 @ =gUnk_020000B0 - ldr r0, _08049EAC @ =gUnk_03001160 - str r0, [r1] -_08049EA6: - pop {pc} - .align 2, 0 -_08049EA8: .4byte gUnk_020000B0 -_08049EAC: .4byte gUnk_03001160 - - thumb_func_start sub_08049EB0 -sub_08049EB0: @ 0x08049EB0 - push {lr} - ldr r1, _08049ED0 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08049EE0 - ldr r0, [r1, #0x30] - ldr r1, _08049ED4 @ =0x00080190 - ands r0, r1 - cmp r0, #0 - bne _08049EE0 - ldr r1, _08049ED8 @ =gUnk_020000B0 - ldr r0, _08049EDC @ =gUnk_03001160 - str r0, [r1] - b _08049EE2 - .align 2, 0 -_08049ED0: .4byte gUnk_03003F80 -_08049ED4: .4byte 0x00080190 -_08049ED8: .4byte gUnk_020000B0 -_08049EDC: .4byte gUnk_03001160 -_08049EE0: - movs r0, #0 -_08049EE2: - pop {pc} - - thumb_func_start sub_08049EE4 -sub_08049EE4: @ 0x08049EE4 - push {r4, r5, lr} - mov ip, r0 - adds r0, #0x70 - mov r1, ip - adds r1, #0x6e - ldrb r2, [r1] - lsls r2, r2, #2 - ldrh r0, [r0] - adds r2, r2, r0 - lsls r2, r2, #0x10 - lsrs r2, r2, #0x10 - adds r1, #4 - mov r0, ip - adds r0, #0x6f - ldrb r3, [r0] - lsls r3, r3, #2 - ldrh r1, [r1] - adds r3, r3, r1 - lsls r3, r3, #0x10 - lsrs r3, r3, #0x10 - mov r1, ip - movs r4, #0x2e - ldrsh r0, [r1, r4] - movs r5, #0x32 - ldrsh r1, [r1, r5] - bl sub_080045D4 - pop {r4, r5, pc} - - thumb_func_start sub_08049F1C -sub_08049F1C: @ 0x08049F1C - push {r4, r5, lr} - adds r4, r0, #0 - adds r3, r1, #0 - adds r5, r2, #0 - adds r0, #0x38 - adds r1, #0x38 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - beq _08049F5E - movs r0, #0x2e - ldrsh r2, [r3, r0] - movs r1, #0x2e - ldrsh r0, [r4, r1] - subs r2, r2, r0 - movs r0, #0x32 - ldrsh r1, [r3, r0] - movs r3, #0x32 - ldrsh r0, [r4, r3] - subs r1, r1, r0 - adds r3, r5, #0 - muls r3, r5, r3 - adds r0, r2, #0 - muls r0, r2, r0 - adds r2, r1, #0 - muls r2, r1, r2 - adds r1, r2, #0 - adds r0, r0, r1 - cmp r3, r0 - blt _08049F5E - movs r0, #1 - b _08049F60 -_08049F5E: - movs r0, #0 -_08049F60: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08049F64 -sub_08049F64: @ 0x08049F64 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, r1, #0 - adds r5, r2, #0 - bl sub_08049DF4 - adds r1, r0, #0 - cmp r1, #0 - beq _08049F80 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_08049F1C - b _08049F82 -_08049F80: - movs r0, #0 -_08049F82: - pop {r4, r5, pc} - - thumb_func_start sub_08049F84 -sub_08049F84: @ 0x08049F84 - push {r4, lr} - adds r4, r0, #0 - adds r0, r1, #0 - bl sub_08049DF4 - adds r1, r0, #0 - cmp r1, #0 - beq _08049F9C - adds r0, r4, #0 - bl sub_080045C4 - b _08049F9E -_08049F9C: - movs r0, #0xff -_08049F9E: - pop {r4, pc} - - thumb_func_start sub_08049FA0 -sub_08049FA0: @ 0x08049FA0 - push {lr} - adds r3, r0, #0 - adds r0, #0x6e - ldrb r2, [r0] - lsls r2, r2, #3 - movs r1, #0x2e - ldrsh r0, [r3, r1] - adds r1, r3, #0 - adds r1, #0x70 - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _08049FD6 - adds r0, r3, #0 - adds r0, #0x6f - ldrb r2, [r0] - lsls r2, r2, #3 - movs r1, #0x32 - ldrsh r0, [r3, r1] - adds r1, r3, #0 - adds r1, #0x72 - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _08049FD6 - movs r0, #1 - b _08049FD8 -_08049FD6: - movs r0, #0 -_08049FD8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08049FDC -sub_08049FDC: @ 0x08049FDC - push {r4, lr} - adds r4, r0, #0 - adds r0, r1, #0 - bl sub_08049DF4 - adds r3, r0, #0 - cmp r3, #0 - beq _0804A020 - adds r0, r4, #0 - adds r0, #0x6e - ldrb r2, [r0] - lsls r2, r2, #3 - movs r1, #0x2e - ldrsh r0, [r3, r1] - adds r1, r4, #0 - adds r1, #0x70 - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _0804A020 - adds r0, r4, #0 - adds r0, #0x6f - ldrb r2, [r0] - lsls r2, r2, #3 - movs r1, #0x32 - ldrsh r0, [r3, r1] - adds r1, r4, #0 - adds r1, #0x72 - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _0804A020 - movs r0, #1 - b _0804A022 -_0804A020: - movs r0, #0 -_0804A022: - pop {r4, pc} - - thumb_func_start sub_0804A024 -sub_0804A024: @ 0x0804A024 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, r1, #0 - adds r5, r2, #0 - bl sub_08049DF4 - adds r1, r0, #0 - cmp r1, #0 - beq _0804A040 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_0804A044 - b _0804A042 -_0804A040: - movs r0, #0xff -_0804A042: - pop {r4, r5, pc} - - thumb_func_start sub_0804A044 -sub_0804A044: @ 0x0804A044 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - adds r7, r0, #0 - mov r8, r1 - mov r0, r8 - adds r0, #0x38 - movs r1, #0x38 - adds r1, r1, r7 - mov sl, r1 - ldrb r1, [r0] - mov r3, sl - ldrb r0, [r3] - ands r0, r1 - cmp r0, #0 - beq _0804A15A - movs r5, #0 - mov r0, r8 - movs r3, #0x2e - ldrsh r1, [r0, r3] - ldr r0, [r0, #0x48] - mov ip, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r1, r1, r0 - movs r3, #0x2e - ldrsh r0, [r7, r3] - subs r1, r1, r0 - ldr r4, [r7, #0x48] - movs r0, #0 - ldrsb r0, [r4, r0] - subs r6, r1, r0 - lsrs r3, r2, #1 - adds r0, r6, r3 - cmp r2, r0 - blo _0804A096 - movs r5, #1 -_0804A096: - lsls r0, r2, #1 - mov sb, r0 - adds r0, r6, r2 - cmp sb, r0 - blo _0804A0A4 - movs r0, #2 - orrs r5, r0 -_0804A0A4: - mov r1, r8 - movs r0, #0x32 - ldrsh r1, [r1, r0] - str r1, [sp] - mov r1, ip - ldrb r1, [r1, #1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov ip, r1 - ldr r0, [sp] - add r0, ip - str r0, [sp] - movs r0, #0x32 - ldrsh r1, [r7, r0] - ldr r0, [sp] - subs r0, r0, r1 - movs r1, #1 - ldrsb r1, [r4, r1] - subs r4, r0, r1 - adds r0, r4, r3 - cmp r2, r0 - blo _0804A0D4 - movs r0, #4 - orrs r5, r0 -_0804A0D4: - adds r0, r4, r2 - cmp sb, r0 - blo _0804A0DE - movs r0, #8 - orrs r5, r0 -_0804A0DE: - cmp r5, #0 - beq _0804A15A - movs r0, #5 - ands r0, r5 - cmp r0, #0xa - beq _0804A15A - mov r1, sl - ldrb r0, [r1] - bl sub_0808094C - mov sb, r0 - cmp r6, #0 - bge _0804A0FA - rsbs r6, r6, #0 -_0804A0FA: - cmp r4, #0 - bge _0804A100 - rsbs r4, r4, #0 -_0804A100: - cmp r6, r4 - bge _0804A12E - movs r0, #1 - ands r0, r5 - cmp r0, #0 - beq _0804A11A - adds r0, r7, #0 - mov r1, r8 - mov r2, sb - bl sub_0804A168 - cmp r0, #0xff - bne _0804A15C -_0804A11A: - movs r0, #4 - ands r5, r0 - cmp r5, #0 - beq _0804A15A - adds r0, r7, #0 - mov r1, r8 - mov r2, sb - bl sub_0804A318 - b _0804A156 -_0804A12E: - movs r0, #4 - ands r0, r5 - cmp r0, #0 - beq _0804A144 - adds r0, r7, #0 - mov r1, r8 - mov r2, sb - bl sub_0804A318 - cmp r0, #0xff - bne _0804A15C -_0804A144: - movs r0, #1 - ands r5, r0 - cmp r5, #0 - beq _0804A15A - adds r0, r7, #0 - mov r1, r8 - mov r2, sb - bl sub_0804A168 -_0804A156: - cmp r0, #0xff - bne _0804A15C -_0804A15A: - movs r0, #0xff -_0804A15C: - add sp, #4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0804A168 -sub_0804A168: @ 0x0804A168 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - adds r4, r0, #0 - mov sb, r1 - adds r5, r2, #0 - movs r0, #0x32 - ldrsh r1, [r1, r0] - movs r2, #0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0804A248 - movs r3, #0x2e - ldrsh r0, [r4, r3] - subs r2, r0, #4 - movs r0, #0xf - mov sl, r0 - adds r0, r2, #0 - mov r1, sl - ands r0, r1 - movs r7, #5 - cmp r0, #7 - bhi _0804A19E - movs r7, #0xa -_0804A19E: - ldr r3, _0804A240 @ =gUnk_03000BF0 - mov r8, r3 - ldrh r1, [r3, #6] - subs r1, r2, r1 - lsrs r1, r1, #4 - movs r6, #0x3f - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r4, r2] - ldrh r3, [r3, #8] - mov ip, r3 - mov r2, ip - subs r2, #0xa - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r0, r1 - mov r2, sb - movs r3, #0x32 - ldrsh r2, [r2, r3] - mov r3, ip - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldr r2, _0804A244 @ =0x00002004 - adds r0, r0, r2 - adds r0, r5, r0 - adds r1, r1, r2 - adds r1, r5, r1 - movs r2, #0x40 - adds r3, r7, #0 - bl sub_0804A4BC - cmp r0, #0 - bne _0804A1EC - b _0804A308 -_0804A1EC: - movs r1, #0x2e - ldrsh r0, [r4, r1] - adds r2, r0, #4 - mov r3, sl - eors r7, r3 - mov r0, r8 - ldrh r1, [r0, #6] - subs r1, r2, r1 - lsrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r4, r2] - mov r4, r8 - ldrh r3, [r4, #8] - adds r2, r3, #0 - subs r2, #0xa - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r0, r1 - mov r2, sb - movs r4, #0x32 - ldrsh r2, [r2, r4] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldr r2, _0804A244 @ =0x00002004 - adds r0, r0, r2 - adds r0, r5, r0 - adds r1, r1, r2 - adds r1, r5, r1 - movs r2, #0x40 - adds r3, r7, #0 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A308 - movs r0, #0x10 - b _0804A30A - .align 2, 0 -_0804A240: .4byte gUnk_03000BF0 -_0804A244: .4byte 0x00002004 -_0804A248: - movs r3, #0x2e - ldrsh r0, [r4, r3] - subs r2, r0, #4 - adds r0, r2, #0 - movs r1, #0xf - ands r0, r1 - movs r7, #5 - cmp r0, #7 - bhi _0804A25C - movs r7, #0xa -_0804A25C: - ldr r3, _0804A300 @ =gUnk_03000BF0 - mov r8, r3 - ldrh r1, [r3, #6] - subs r1, r2, r1 - lsrs r1, r1, #4 - movs r6, #0x3f - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r4, r2] - ldrh r3, [r3, #8] - mov sl, r3 - mov r2, sl - adds r2, #0xa - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r0, r1 - mov r2, sb - movs r3, #0x32 - ldrsh r2, [r2, r3] - mov r3, sl - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldr r2, _0804A304 @ =0x00002004 - adds r0, r0, r2 - adds r0, r5, r0 - adds r1, r1, r2 - adds r1, r5, r1 - movs r2, #0x40 - rsbs r2, r2, #0 - mov sl, r2 - adds r3, r7, #0 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A308 - movs r3, #0x2e - ldrsh r0, [r4, r3] - adds r2, r0, #4 - movs r0, #0xf - eors r7, r0 - mov r3, r8 - ldrh r1, [r3, #6] - subs r1, r2, r1 - lsrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r4, r2] - ldrh r3, [r3, #8] - adds r2, r3, #0 - adds r2, #0xa - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r0, r1 - mov r4, sb - movs r2, #0x32 - ldrsh r4, [r4, r2] - subs r2, r4, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldr r3, _0804A304 @ =0x00002004 - adds r0, r0, r3 - adds r0, r5, r0 - adds r1, r1, r3 - adds r1, r5, r1 - mov r2, sl - adds r3, r7, #0 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A308 - movs r0, #0 - b _0804A30A - .align 2, 0 -_0804A300: .4byte gUnk_03000BF0 -_0804A304: .4byte 0x00002004 -_0804A308: - movs r0, #0xff -_0804A30A: - add sp, #4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0804A318 -sub_0804A318: @ 0x0804A318 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - mov sl, r1 - adds r6, r2, #0 - movs r0, #0x2e - ldrsh r1, [r1, r0] - movs r2, #0x2e - ldrsh r0, [r5, r2] - cmp r1, r0 - ble _0804A3F0 - movs r4, #0x32 - ldrsh r0, [r5, r4] - subs r4, r0, #4 - adds r0, r4, #0 - movs r1, #0xf - ands r0, r1 - movs r2, #3 - mov r8, r2 - cmp r0, #7 - bhi _0804A34C - movs r0, #0xc - mov r8, r0 -_0804A34C: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r2, _0804A3E8 @ =gUnk_03000BF0 - mov sb, r2 - ldrh r3, [r2, #6] - adds r1, r3, #0 - subs r1, #0xa - subs r0, r0, r1 - asrs r0, r0, #4 - movs r7, #0x3f - ands r0, r7 - ldrh r2, [r2, #8] - subs r2, r4, r2 - lsrs r2, r2, #4 - ands r2, r7 - lsls r2, r2, #6 - orrs r0, r2 - mov r4, sl - movs r1, #0x2e - ldrsh r4, [r4, r1] - subs r1, r4, r3 - asrs r1, r1, #4 - ands r1, r7 - orrs r1, r2 - ldr r2, _0804A3EC @ =0x00002004 - adds r0, r0, r2 - adds r0, r6, r0 - adds r1, r1, r2 - adds r1, r6, r1 - movs r2, #1 - mov r3, r8 - bl sub_0804A4BC - cmp r0, #0 - bne _0804A394 - b _0804A4B0 -_0804A394: - movs r2, #0x32 - ldrsh r0, [r5, r2] - adds r4, r0, #4 - mov r0, r8 - movs r1, #0xf - eors r0, r1 - mov r8, r0 - movs r2, #0x2e - ldrsh r0, [r5, r2] - mov r5, sb - ldrh r3, [r5, #6] - adds r1, r3, #0 - subs r1, #0xa - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r7 - ldrh r2, [r5, #8] - subs r2, r4, r2 - lsrs r2, r2, #4 - ands r2, r7 - lsls r2, r2, #6 - orrs r0, r2 - mov r4, sl - movs r5, #0x2e - ldrsh r1, [r4, r5] - subs r1, r1, r3 - asrs r1, r1, #4 - ands r1, r7 - orrs r1, r2 - ldr r2, _0804A3EC @ =0x00002004 - adds r0, r0, r2 - adds r0, r6, r0 - adds r1, r1, r2 - adds r1, r6, r1 - movs r2, #1 - mov r3, r8 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A4B0 - movs r0, #8 - b _0804A4B2 - .align 2, 0 -_0804A3E8: .4byte gUnk_03000BF0 -_0804A3EC: .4byte 0x00002004 -_0804A3F0: - movs r4, #0x32 - ldrsh r0, [r5, r4] - subs r4, r0, #4 - adds r0, r4, #0 - movs r1, #0xf - ands r0, r1 - movs r2, #3 - mov r8, r2 - cmp r0, #7 - bhi _0804A408 - movs r0, #0xc - mov r8, r0 -_0804A408: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r2, _0804A4A8 @ =gUnk_03000BF0 - mov sb, r2 - ldrh r3, [r2, #6] - adds r1, r3, #0 - adds r1, #0xa - subs r0, r0, r1 - asrs r0, r0, #4 - movs r7, #0x3f - ands r0, r7 - ldrh r2, [r2, #8] - subs r2, r4, r2 - lsrs r2, r2, #4 - ands r2, r7 - lsls r2, r2, #6 - orrs r0, r2 - mov r4, sl - movs r1, #0x2e - ldrsh r4, [r4, r1] - subs r1, r4, r3 - asrs r1, r1, #4 - ands r1, r7 - orrs r1, r2 - ldr r2, _0804A4AC @ =0x00002004 - adds r0, r0, r2 - adds r0, r6, r0 - adds r1, r1, r2 - adds r1, r6, r1 - movs r2, #1 - rsbs r2, r2, #0 - mov r3, r8 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A4B0 - movs r2, #0x32 - ldrsh r0, [r5, r2] - adds r4, r0, #4 - mov r0, r8 - movs r1, #0xf - eors r0, r1 - mov r8, r0 - movs r2, #0x2e - ldrsh r0, [r5, r2] - mov r5, sb - ldrh r3, [r5, #6] - adds r1, r3, #0 - adds r1, #0xa - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r7 - ldrh r2, [r5, #8] - subs r2, r4, r2 - lsrs r2, r2, #4 - ands r2, r7 - lsls r2, r2, #6 - orrs r0, r2 - mov r4, sl - movs r5, #0x2e - ldrsh r1, [r4, r5] - subs r1, r1, r3 - asrs r1, r1, #4 - ands r1, r7 - orrs r1, r2 - ldr r2, _0804A4AC @ =0x00002004 - adds r0, r0, r2 - adds r0, r6, r0 - adds r1, r1, r2 - adds r1, r6, r1 - movs r2, #1 - rsbs r2, r2, #0 - mov r3, r8 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A4B0 - movs r0, #0x18 - b _0804A4B2 - .align 2, 0 -_0804A4A8: .4byte gUnk_03000BF0 -_0804A4AC: .4byte 0x00002004 -_0804A4B0: - movs r0, #0xff -_0804A4B2: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0804A4BC -sub_0804A4BC: @ 0x0804A4BC - push {r4, lr} - adds r4, r0, #0 - cmp r4, r1 - beq _0804A4DE -_0804A4C4: - ldrb r0, [r4] - cmp r0, #0 - beq _0804A4D8 - cmp r0, #0xf - bhi _0804A4D4 - ands r0, r3 - cmp r0, #0 - beq _0804A4D8 -_0804A4D4: - movs r0, #0 - b _0804A4E0 -_0804A4D8: - adds r4, r4, r2 - cmp r4, r1 - bne _0804A4C4 -_0804A4DE: - movs r0, #1 -_0804A4E0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0804A4E4 -sub_0804A4E4: @ 0x0804A4E4 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r5, #0 - adds r7, #0x6d - ldrb r1, [r7] - movs r4, #0x40 - adds r0, r4, #0 - ands r0, r1 - movs r1, #4 - adds r2, r6, #0 - adds r2, #0x6d - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6c - ldrb r1, [r0] - adds r0, r6, #0 - adds r0, #0x6c - strb r1, [r0] - adds r0, r5, #0 - adds r0, #0x70 - ldrh r1, [r0] - adds r0, r6, #0 - adds r0, #0x70 - strh r1, [r0] - adds r0, r5, #0 - adds r0, #0x72 - ldrh r0, [r0] - adds r1, r6, #0 - adds r1, #0x72 - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0x6e - ldrb r0, [r0] - subs r1, #4 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x6f - ldrb r0, [r0] - adds r1, #1 - strb r0, [r1] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0806FA6C - ldrb r0, [r7] - ands r4, r0 - cmp r4, #0 - beq _0804A550 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_08058800 -_0804A550: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0804A554 -sub_0804A554: @ 0x0804A554 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #9] - lsls r0, r0, #4 - ldr r1, _0804A574 @ =gUnk_080D2C58 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, _0804A578 @ =0x0000FFFF - cmp r1, r0 - bne _0804A570 - ldrb r0, [r3, #0xa] - lsls r0, r0, #4 - ldr r1, [r2, #4] - adds r2, r1, r0 -_0804A570: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0804A574: .4byte gUnk_080D2C58 -_0804A578: .4byte 0x0000FFFF - - thumb_func_start sub_0804A57C -sub_0804A57C: @ 0x0804A57C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0804A58C - b _0804A6B6 -_0804A58C: - adds r0, r4, #0 - bl sub_0804A554 - adds r5, r0, #0 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0804A6C0 - cmp r0, #0 - bne _0804A5A4 - movs r0, #0 - b _0804A6B8 -_0804A5A4: - ldrb r1, [r4, #0x10] - movs r0, #1 - adds r2, r1, #0 - orrs r2, r0 - strb r2, [r4, #0x10] - ldrb r1, [r5, #0xa] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0804A5BE - movs r0, #0x80 - orrs r2, r0 - strb r2, [r4, #0x10] -_0804A5BE: - ldrh r0, [r5, #8] - strh r0, [r4, #0x12] - ldrb r2, [r4, #0x18] - lsls r0, r2, #0x1e - cmp r0, #0 - bne _0804A5DA - ldrb r1, [r5, #0xa] - lsls r1, r1, #0x1a - lsrs r1, r1, #0x1e - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_0804A5DA: - ldrb r1, [r5, #0xa] - lsls r1, r1, #0x1d - adds r3, r4, #0 - adds r3, #0x29 - movs r6, #7 - lsrs r1, r1, #0x1a - ldrb r2, [r3] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, #0xa] - movs r7, #3 - lsrs r1, r1, #6 - lsls r1, r1, #4 - ldrb r2, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0804A612 - ldrh r0, [r5, #0xc] - strh r0, [r4, #0x24] -_0804A612: - ldrb r0, [r5, #0xf] - adds r1, r4, #0 - adds r1, #0x3b - strb r0, [r1] - ldrb r0, [r5, #0xe] - adds r1, #4 - strb r0, [r1] - ldr r0, [r5, #4] - str r0, [r4, #0x48] - ldrb r0, [r5, #0xb] - adds r2, r4, #0 - adds r2, #0x45 - strb r0, [r2] - adds r1, #1 - ldrb r0, [r1] - cmp r0, #0 - bne _0804A638 - movs r0, #0x41 - strb r0, [r1] -_0804A638: - adds r0, r4, #0 - bl sub_08016A04 - adds r5, r4, #0 - adds r5, #0x6d - ldrb r1, [r5] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0804A6B6 - ldr r2, _0804A6BC @ =gUnk_080D3E74 - ldrb r1, [r4, #9] - lsrs r0, r1, #3 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r2, [r0] - ands r6, r1 - lsls r0, r6, #1 - asrs r2, r0 - movs r0, #3 - ands r2, r0 - cmp r2, #0 - beq _0804A6B6 - subs r1, r2, #1 - movs r0, #0xa9 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0804A6B6 - ldrb r0, [r4, #0x10] - strb r0, [r2, #0xe] - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - strb r0, [r2, #0xf] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r7 - strb r0, [r3] - str r4, [r2, #0x50] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0806FA24 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r5] - movs r1, #0x10 - orrs r0, r1 - strb r0, [r5] -_0804A6B6: - movs r0, #1 -_0804A6B8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0804A6BC: .4byte gUnk_080D3E74 - - thumb_func_start sub_0804A6C0 -sub_0804A6C0: @ 0x0804A6C0 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrh r2, [r5] - lsls r1, r2, #0x10 - cmp r1, #0 - beq _0804A712 - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r2 - cmp r0, #0 - beq _0804A6E8 - ldr r0, _0804A6E4 @ =0x000003FF - ands r0, r2 - adds r1, r4, #0 - adds r1, #0x60 - strh r0, [r1] - b _0804A712 - .align 2, 0 -_0804A6E4: .4byte 0x000003FF -_0804A6E8: - movs r0, #0x80 - lsls r0, r0, #7 - ands r0, r2 - cmp r0, #0 - beq _0804A702 - lsrs r1, r1, #0x14 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r0, r4, #0 - movs r2, #0 - bl sub_080AE008 - b _0804A70A -_0804A702: - ldrh r1, [r5] - adds r0, r4, #0 - bl sub_080ADF80 -_0804A70A: - cmp r0, #0 - bne _0804A712 - movs r0, #0 - b _0804A71C -_0804A712: - ldrh r1, [r5, #2] - adds r0, r4, #0 - bl sub_0801D040 - movs r0, #1 -_0804A71C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0804A720 -sub_0804A720: @ 0x0804A720 - push {r4, r5, r6, lr} - adds r2, r0, #0 - adds r0, #0x6d - ldrb r1, [r0] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _0804A7D0 - ldrb r0, [r2, #9] - lsls r0, r0, #1 - ldr r1, _0804A76C @ =gUnk_080D3D94 - adds r3, r0, r1 - adds r4, r2, #0 - adds r4, #0x68 - ldrb r1, [r4, #0x16] - cmp r1, #0 - bne _0804A744 - ldrb r1, [r3] -_0804A744: - adds r0, r2, #0 - adds r0, #0x6e - strb r1, [r0] - adds r5, r0, #0 - ldrb r1, [r4, #0x17] - cmp r1, #0 - bne _0804A754 - ldrb r1, [r3, #1] -_0804A754: - adds r0, r2, #0 - adds r0, #0x6f - strb r1, [r0] - adds r6, r0, #0 - ldrh r1, [r4, #0x1c] - adds r3, r1, #0 - cmp r3, #0 - beq _0804A774 - ldr r0, _0804A770 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - adds r0, r1, r0 - b _0804A784 - .align 2, 0 -_0804A76C: .4byte gUnk_080D3D94 -_0804A770: .4byte gUnk_03000BF0 -_0804A774: - ldrb r0, [r5] - lsls r1, r0, #2 - movs r5, #0x2e - ldrsh r0, [r2, r5] - cmp r0, r1 - blt _0804A78C - ldrh r0, [r2, #0x2e] - subs r0, r0, r1 -_0804A784: - adds r1, r2, #0 - adds r1, #0x70 - strh r0, [r1] - b _0804A792 -_0804A78C: - adds r0, r2, #0 - adds r0, #0x70 - strh r3, [r0] -_0804A792: - ldrh r1, [r4, #0x1e] - adds r3, r1, #0 - cmp r3, #0 - beq _0804A7A8 - ldr r0, _0804A7A4 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - adds r0, r1, r0 - b _0804A7B8 - .align 2, 0 -_0804A7A4: .4byte gUnk_03000BF0 -_0804A7A8: - ldrb r0, [r6] - lsls r1, r0, #2 - movs r4, #0x32 - ldrsh r0, [r2, r4] - cmp r0, r1 - blt _0804A7C0 - ldrh r0, [r2, #0x32] - subs r0, r0, r1 -_0804A7B8: - adds r1, r2, #0 - adds r1, #0x72 - strh r0, [r1] - b _0804A7C6 -_0804A7C0: - adds r0, r2, #0 - adds r0, #0x72 - strh r3, [r0] -_0804A7C6: - adds r2, #0x6d - ldrb r1, [r2] - movs r0, #4 - orrs r0, r1 - strb r0, [r2] -_0804A7D0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0804A7D4 -sub_0804A7D4: @ 0x0804A7D4 - push {lr} - ldrb r1, [r0, #9] - movs r2, #0 - bl sub_0804A7E0 - pop {pc} - - thumb_func_start sub_0804A7E0 -sub_0804A7E0: @ 0x0804A7E0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - mov sb, r1 - mov sl, r2 - adds r6, r5, #0 - adds r6, #0x6d - ldrb r1, [r6] - movs r7, #1 - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - beq _0804A864 - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0804A80A - b _0804A982 -_0804A80A: - ldrb r1, [r5, #9] - movs r0, #1 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - bne _0804A81C - b _0804A982 -_0804A81C: - adds r0, #0x6c - strb r7, [r0] - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - movs r3, #1 - bl sub_0806FA48 - str r5, [r4, #0x50] - ldrb r1, [r6] - movs r0, #2 - orrs r0, r1 - strb r0, [r6] - ldrb r0, [r5, #9] - cmp r0, #0x37 - bne _0804A84A - ldr r0, _0804A85C @ =gUnk_030010A0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - beq _0804A84A - bl sub_0805E780 -_0804A84A: - bl sub_0807CD9C - ldr r0, _0804A860 @ =0x80100000 - bl sub_080A3268 - bl sub_0805E780 - b _0804A982 - .align 2, 0 -_0804A85C: .4byte gUnk_030010A0 -_0804A860: .4byte 0x80100000 -_0804A864: - adds r4, r5, #0 - adds r4, #0x3a - ldrb r1, [r4] - movs r0, #2 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - mov r8, r0 - cmp r0, #0 - bne _0804A934 - adds r0, r5, #0 - bl sub_08049CF4 - ldr r1, _0804A8E8 @ =gUnk_02002A40 - ldr r0, [r1, #0x50] - adds r0, #1 - str r0, [r1, #0x50] - ldrb r0, [r4] - movs r7, #0 - movs r1, #2 - orrs r0, r1 - strb r0, [r4] - movs r0, #0xff - strb r0, [r5, #0xe] - adds r0, r5, #0 - movs r1, #3 - bl sub_0805E3A0 - ldrb r1, [r5, #9] - movs r0, #1 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0804A8CA - adds r0, #0x6c - mov r2, r8 - strb r2, [r0] - adds r0, #1 - mov r1, sb - strb r1, [r0] - adds r0, #1 - mov r2, sl - strb r2, [r0] - str r5, [r4, #0x50] - str r5, [r4, #0x54] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_0804A8CA: - ldrb r1, [r6] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0804A8EC - adds r0, r4, #0 - adds r0, #0x6c - ldrb r1, [r0] - movs r2, #8 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, #0 - bl sub_0805E7BC - b _0804A982 - .align 2, 0 -_0804A8E8: .4byte gUnk_02002A40 -_0804A8EC: - adds r0, r5, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - bne _0804A934 - ldrb r0, [r5, #0x1c] - movs r1, #0xf - ands r1, r0 - cmp r1, #1 - beq _0804A91A - cmp r1, #2 - bne _0804A92A - cmp r4, #0 - beq _0804A92A - adds r1, r4, #0 - adds r1, #0x6c - ldrb r0, [r1] - movs r2, #2 - orrs r0, r2 - strb r0, [r1] - b _0804A92A -_0804A91A: - cmp r4, #0 - beq _0804A92A - adds r0, r4, #0 - adds r0, #0x6c - ldrb r1, [r0] - movs r2, #4 - orrs r1, r2 - strb r1, [r0] -_0804A92A: - movs r0, #0 - str r0, [r4, #0x50] - bl sub_0805E780 - b _0804A982 -_0804A934: - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _0804A940 - bl sub_0805E780 - b _0804A982 -_0804A940: - subs r1, r0, #1 - strb r1, [r5, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0804A95E - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r5, #0x18] - adds r0, r5, #0 - movs r1, #0 - bl sub_0805E3A0 - b _0804A982 -_0804A95E: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #8 - bhi _0804A982 - ldrb r1, [r5, #0x18] - lsls r0, r1, #0x1e - cmp r0, #0 - beq _0804A976 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - b _0804A980 -_0804A976: - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 -_0804A980: - strb r0, [r5, #0x18] -_0804A982: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0804A98C -sub_0804A98C: @ 0x0804A98C - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r0, r1, #0 - adds r5, r2, #0 - bl sub_080A7EE0 - adds r4, r0, #0 - cmp r4, #0 - beq _0804A9A8 - strb r5, [r4, #0xa] - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_0804A9A8: - adds r0, r4, #0 - pop {r4, r5, r6, pc} - - thumb_func_start sub_0804A9AC -sub_0804A9AC: @ 0x0804A9AC - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r2, #0 - mov ip, r3 - ldr r4, [r5, #0x68] - cmp r4, #0 - beq _0804A9FA - ldrb r2, [r5, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r5, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x1b] - ldrh r0, [r5, #0x2e] - adds r0, r0, r6 - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x32] - adds r0, r0, r7 - strh r0, [r4, #0x32] - ldrh r0, [r5, #0x36] - add r0, ip - strh r0, [r4, #0x36] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] -_0804A9FA: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0804A9FC -sub_0804A9FC: @ 0x0804A9FC - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x68] - cmp r0, #0 - bne _0804AA16 - adds r0, r4, #0 - movs r2, #0 - bl sub_080A29AC - cmp r0, #0 - beq _0804AA16 - str r0, [r4, #0x68] - b _0804AA18 -_0804AA16: - movs r0, #0 -_0804AA18: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0804AA1C -sub_0804AA1C: @ 0x0804AA1C - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #0x68] - cmp r1, #0 - beq _0804AA2C - movs r0, #0 - str r0, [r1, #0x50] - str r0, [r2, #0x68] -_0804AA2C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804AA30 -sub_0804AA30: @ 0x0804AA30 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r6, r4, #0 - adds r6, #0x41 - ldrb r1, [r6] - movs r0, #0x7f - ands r0, r1 - strb r0, [r6] - adds r0, r4, #0 - bl sub_0800279C - ldrb r2, [r6] - movs r1, #0x80 - orrs r1, r2 - strb r1, [r6] - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0804AA60 -sub_0804AA60: @ 0x0804AA60 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - bl sub_0805E678 - adds r4, r0, #0 - cmp r4, #0 - beq _0804AA80 - movs r0, #3 - strb r0, [r4, #8] - strb r5, [r4, #9] - strb r6, [r4, #0xa] - adds r0, r4, #0 - movs r1, #4 - bl sub_0805EA2C -_0804AA80: - adds r0, r4, #0 - pop {r4, r5, r6, pc} - - thumb_func_start sub_0804AA84 -sub_0804AA84: @ 0x0804AA84 - push {lr} - ldr r3, _0804AA98 @ =gUnk_02033A90 - ldrb r0, [r3, #0x19] - cmp r0, #0 - bne _0804AA9C - strb r0, [r3, #0x18] - strb r0, [r3, #0x19] - movs r0, #0 - b _0804AAB0 - .align 2, 0 -_0804AA98: .4byte gUnk_02033A90 -_0804AA9C: - ldr r2, _0804AAB4 @ =gUnk_03001000 - movs r1, #0 - movs r0, #4 - strb r0, [r2, #4] - strb r1, [r3, #0xe] - strb r1, [r3, #0xf] - strh r1, [r3, #0x10] - bl sub_0805E5A8 - movs r0, #1 -_0804AAB0: - pop {pc} - .align 2, 0 -_0804AAB4: .4byte gUnk_03001000 - - thumb_func_start sub_0804AAB8 -sub_0804AAB8: @ 0x0804AAB8 - push {lr} - ldr r1, _0804AACC @ =gUnk_080D4120 - ldr r0, _0804AAD0 @ =gUnk_02033A90 - ldrb r0, [r0, #0xe] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0804AACC: .4byte gUnk_080D4120 -_0804AAD0: .4byte gUnk_02033A90 - - thumb_func_start sub_0804AAD4 -sub_0804AAD4: @ 0x0804AAD4 - push {r4, lr} - ldr r4, _0804AAFC @ =gUnk_02018EB0 - adds r0, r4, #0 - movs r1, #0x28 - bl sub_0801D630 - movs r0, #0 - str r0, [r4, #0x14] - bl sub_0805E60C - ldr r4, _0804AB00 @ =gUnk_02033A90 - ldrb r1, [r4, #0x17] - movs r0, #0x3d - movs r2, #0 - bl sub_080A2960 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - pop {r4, pc} - .align 2, 0 -_0804AAFC: .4byte gUnk_02018EB0 -_0804AB00: .4byte gUnk_02033A90 - - thumb_func_start sub_0804AB04 -sub_0804AB04: @ 0x0804AB04 - push {lr} - bl sub_0805E5C0 - ldr r0, _0804AB20 @ =gUnk_02033A90 - ldrh r0, [r0, #0x10] - cmp r0, #0 - beq _0804AB1E - bl sub_080AD90C - bl sub_080AD9B0 - bl sub_080AD918 -_0804AB1E: - pop {pc} - .align 2, 0 -_0804AB20: .4byte gUnk_02033A90 - - thumb_func_start sub_0804AB24 -sub_0804AB24: @ 0x0804AB24 - push {r4, r5, lr} - ldr r5, _0804AB48 @ =gUnk_03000FD0 - ldrb r1, [r5] - cmp r1, #0 - bne _0804AB46 - ldr r0, _0804AB4C @ =gUnk_03000F50 - movs r4, #0 - strh r1, [r0] - bl sub_0801E104 - ldr r0, _0804AB50 @ =gUnk_02033A90 - strb r4, [r0, #0xe] - movs r0, #6 - movs r1, #0 - bl sub_080A7138 - strb r4, [r5] -_0804AB46: - pop {r4, r5, pc} - .align 2, 0 -_0804AB48: .4byte gUnk_03000FD0 -_0804AB4C: .4byte gUnk_03000F50 -_0804AB50: .4byte gUnk_02033A90 - - thumb_func_start sub_0804AB54 -sub_0804AB54: @ 0x0804AB54 - push {lr} - ldr r1, _0804AB68 @ =gUnk_080D412C - ldr r0, _0804AB6C @ =gUnk_02033A90 - ldrb r0, [r0, #0xe] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0804AB68: .4byte gUnk_080D412C -_0804AB6C: .4byte gUnk_02033A90 - - thumb_func_start sub_0804AB70 -sub_0804AB70: @ 0x0804AB70 - push {r4, r5, lr} - movs r0, #0 - bl sub_0801DA90 - ldr r1, _0804ABF8 @ =gUnk_03000F50 - movs r2, #0 - movs r0, #0x92 - lsls r0, r0, #5 - strh r0, [r1] - ldr r0, _0804ABFC @ =0x00009E83 - strh r0, [r1, #0x14] - ldr r0, _0804AC00 @ =gUnk_03000BF0 - strh r2, [r1, #0x16] - strh r2, [r0, #0xa] - strh r2, [r1, #0x18] - strh r2, [r0, #0xc] - ldr r0, _0804AC04 @ =gUnk_02033A90 - ldrb r5, [r0, #0x17] - cmp r5, #2 - bne _0804ABA4 - ldr r0, _0804AC08 @ =gUnk_02032EC0 - adds r0, #0x20 - ldrb r0, [r0] - cmp r0, #2 - beq _0804ABA4 - movs r5, #3 -_0804ABA4: - lsls r4, r5, #1 - ldr r0, _0804AC0C @ =gUnk_080D4138 - adds r4, r4, r0 - ldrb r0, [r4] - bl sub_0801D714 - ldrb r0, [r4, #1] - bl sub_0801D7EC - ldr r0, _0804AC10 @ =gUnk_02017700 - movs r2, #0x90 - lsls r2, r2, #2 - adds r1, r0, r2 - movs r2, #0x20 - bl sub_0801D66C - ldr r2, _0804AC14 @ =gUnk_0200B644 - ldr r0, [r2] - movs r1, #0x80 - lsls r1, r1, #0xe - orrs r0, r1 - str r0, [r2] - bl sub_0805E60C - ldr r1, _0804AC18 @ =gUnk_080D4110 - lsls r0, r5, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl sub_0804ADDC - bl sub_0805E5B4 - ldr r1, _0804AC04 @ =gUnk_02033A90 - ldrb r0, [r1, #0xe] - adds r0, #1 - strb r0, [r1, #0xe] - movs r0, #4 - movs r1, #8 - bl sub_08050054 - pop {r4, r5, pc} - .align 2, 0 -_0804ABF8: .4byte gUnk_03000F50 -_0804ABFC: .4byte 0x00009E83 -_0804AC00: .4byte gUnk_03000BF0 -_0804AC04: .4byte gUnk_02033A90 -_0804AC08: .4byte gUnk_02032EC0 -_0804AC0C: .4byte gUnk_080D4138 -_0804AC10: .4byte gUnk_02017700 -_0804AC14: .4byte gUnk_0200B644 -_0804AC18: .4byte gUnk_080D4110 - - thumb_func_start sub_0804AC1C -sub_0804AC1C: @ 0x0804AC1C - push {r4, lr} - bl sub_0805E5C0 - ldr r0, _0804AC98 @ =gUnk_02018EB0 - ldr r2, [r0, #0x14] - cmp r2, #0 - beq _0804AC5E - ldr r3, _0804AC9C @ =gUnk_03000BF0 - movs r1, #0xc - ldrsh r0, [r3, r1] - movs r4, #0x32 - ldrsh r1, [r2, r4] - subs r1, #0x50 - subs r0, r0, r1 - movs r4, #0x36 - ldrsh r1, [r2, r4] - subs r1, r0, r1 - cmp r1, #0 - beq _0804AC5E - ldrh r0, [r3, #0xc] - subs r0, r0, r1 - strh r0, [r3, #0xc] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _0804AC52 - movs r0, #0 - strh r0, [r3, #0xc] -_0804AC52: - movs r1, #0xc - ldrsh r0, [r3, r1] - cmp r0, #0x9f - ble _0804AC5E - movs r0, #0x9f - strh r0, [r3, #0xc] -_0804AC5E: - ldr r2, _0804ACA0 @ =gUnk_03000F50 - ldr r1, _0804AC9C @ =gUnk_03000BF0 - ldrh r0, [r1, #0xa] - strh r0, [r2, #0x16] - ldrh r0, [r1, #0xc] - strh r0, [r2, #0x18] - bl sub_080AD90C - bl sub_080AD9B0 - bl sub_080AD918 - ldr r0, _0804AC98 @ =gUnk_02018EB0 - ldrb r0, [r0, #0x1b] - cmp r0, #0 - bne _0804AC86 - bl sub_0804ACA8 - cmp r0, #0 - beq _0804AC96 -_0804AC86: - ldr r1, _0804ACA4 @ =gUnk_02033A90 - ldrb r0, [r1, #0xe] - adds r0, #1 - strb r0, [r1, #0xe] - movs r0, #7 - movs r1, #0x10 - bl sub_08050054 -_0804AC96: - pop {r4, pc} - .align 2, 0 -_0804AC98: .4byte gUnk_02018EB0 -_0804AC9C: .4byte gUnk_03000BF0 -_0804ACA0: .4byte gUnk_03000F50 -_0804ACA4: .4byte gUnk_02033A90 - - thumb_func_start sub_0804ACA8 -sub_0804ACA8: @ 0x0804ACA8 - push {lr} - ldr r0, _0804ACC0 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #0x81 - lsls r0, r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0804ACC4 - bl sub_0804AD18 - b _0804ACC6 - .align 2, 0 -_0804ACC0: .4byte gUnk_03000FF0 -_0804ACC4: - movs r0, #0 -_0804ACC6: - pop {pc} - - thumb_func_start sub_0804ACC8 -sub_0804ACC8: @ 0x0804ACC8 - push {lr} - ldr r0, _0804ACEC @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0804ACE8 - ldr r0, _0804ACF0 @ =gUnk_02033A90 - ldrb r0, [r0, #0x17] - adds r0, #0x5e - bl sub_0807CD04 - ldr r0, _0804ACF4 @ =gUnk_02032EDC - bl sub_0804AD6C - movs r0, #0 - bl sub_080A71F4 -_0804ACE8: - pop {pc} - .align 2, 0 -_0804ACEC: .4byte gUnk_03000FD0 -_0804ACF0: .4byte gUnk_02033A90 -_0804ACF4: .4byte gUnk_02032EDC - - thumb_func_start sub_0804ACF8 -sub_0804ACF8: @ 0x0804ACF8 - push {lr} - bl sub_0804AD18 - cmp r0, #0 - beq _0804AD12 - ldr r0, _0804AD14 @ =gUnk_03000BF0 - bl sub_0804AD6C - bl sub_0805E5A8 - movs r0, #0xf8 - bl sub_080A3268 -_0804AD12: - pop {pc} - .align 2, 0 -_0804AD14: .4byte gUnk_03000BF0 - - thumb_func_start sub_0804AD18 -sub_0804AD18: @ 0x0804AD18 - push {lr} - ldr r0, _0804AD30 @ =gUnk_02033A90 - ldrb r1, [r0, #0x17] - adds r2, r0, #0 - cmp r1, #6 - bhi _0804AD66 - lsls r0, r1, #2 - ldr r1, _0804AD34 @ =_0804AD38 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804AD30: .4byte gUnk_02033A90 -_0804AD34: .4byte _0804AD38 -_0804AD38: @ jump table - .4byte _0804AD54 @ case 0 - .4byte _0804AD54 @ case 1 - .4byte _0804AD54 @ case 2 - .4byte _0804AD66 @ case 3 - .4byte _0804AD66 @ case 4 - .4byte _0804AD66 @ case 5 - .4byte _0804AD62 @ case 6 -_0804AD54: - ldrb r0, [r2, #0x17] - adds r0, #0x5e - bl sub_0807CC30 - adds r1, r0, #0 - cmp r1, #0 - bne _0804AD68 -_0804AD62: - movs r0, #0 - b _0804AD68 -_0804AD66: - movs r0, #0 -_0804AD68: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804AD6C -sub_0804AD6C: @ 0x0804AD6C - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - ldr r3, _0804ADD0 @ =gUnk_030010A0 - movs r1, #0 - movs r6, #1 - strb r6, [r3, #8] - strb r1, [r3, #9] - ldr r4, _0804ADD4 @ =gUnk_02033A90 - ldr r5, _0804ADD8 @ =gUnk_080D4140 - ldrb r1, [r4, #0x16] - lsls r1, r1, #2 - adds r1, r1, r5 - ldrh r1, [r1] - ldrh r2, [r4, #0x12] - adds r1, r1, r2 - ldrh r2, [r0, #6] - subs r1, r1, r2 - movs r2, #0 - mov r8, r2 - strh r1, [r3, #0x10] - ldrb r1, [r4, #0x16] - lsls r1, r1, #1 - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r5 - ldrh r1, [r1] - ldrh r2, [r4, #0x14] - adds r1, r1, r2 - ldrh r2, [r0, #8] - subs r1, r1, r2 - strh r1, [r3, #0x12] - ldrb r1, [r4, #0x16] - lsls r1, r1, #1 - strb r1, [r3, #0xe] - strb r6, [r3, #0xf] - ldrb r1, [r0, #4] - strb r1, [r3, #0xc] - ldrb r0, [r0, #5] - strb r0, [r3, #0xd] - mov r0, r8 - strb r0, [r3, #0x14] - bl sub_080300AC - bl sub_080300C4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_0804ADD0: .4byte gUnk_030010A0 -_0804ADD4: .4byte gUnk_02033A90 -_0804ADD8: .4byte gUnk_080D4140 - - thumb_func_start sub_0804ADDC -sub_0804ADDC: @ 0x0804ADDC - push {r4, lr} - adds r4, r0, #0 - cmp r4, #0 - beq _0804ADF4 - b _0804ADEE -_0804ADE6: - adds r0, r4, #0 - adds r4, #0x10 - bl sub_0804ADF8 -_0804ADEE: - ldrb r0, [r4] - cmp r0, #0xff - bne _0804ADE6 -_0804ADF4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0804ADF8 -sub_0804ADF8: @ 0x0804ADF8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4] - movs r6, #0xf - ands r6, r0 - ldrb r1, [r4, #1] - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0x50 - bne _0804AE1C - ldrb r1, [r4, #2] - adds r0, r6, #0 - bl sub_0805EB9C - cmp r0, #0 - beq _0804AE1C - movs r0, #0 - b _0804AEAC -_0804AE1C: - adds r0, r6, #0 - bl sub_0805E768 - adds r5, r0, #0 - cmp r5, #0 - beq _0804AEAA - strb r6, [r5, #8] - ldrb r0, [r4, #2] - strb r0, [r5, #9] - ldrb r0, [r4, #3] - strb r0, [r5, #0xa] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0804AEB0 - ldrb r1, [r4, #1] - movs r7, #0xf0 - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0x10 - beq _0804AEAA - ldrb r0, [r4, #4] - strb r0, [r5, #0xb] - ldr r0, [r4, #4] - movs r1, #0xff - lsls r1, r1, #8 - ands r0, r1 - lsrs r0, r0, #8 - strb r0, [r5, #0xe] - cmp r6, #9 - beq _0804AEAA - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0804AF0C - ldr r0, [r5, #4] - cmp r0, #0 - beq _0804AEAA - ldrb r0, [r4] - adds r2, r7, #0 - ands r2, r0 - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - bne _0804AE94 - movs r0, #0x20 - ands r2, r0 - cmp r2, #0 - beq _0804AE88 - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - b _0804AEAA -_0804AE88: - ldr r0, _0804AEA0 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0804AEA4 -_0804AE94: - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - b _0804AEAA - .align 2, 0 -_0804AEA0: .4byte gUnk_03000BF0 -_0804AEA4: - adds r0, r5, #0 - bl sub_08016A30 -_0804AEAA: - adds r0, r5, #0 -_0804AEAC: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0804AEB0 -sub_0804AEB0: @ 0x0804AEB0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldrb r0, [r6, #1] - movs r1, #0xf - adds r2, r1, #0 - ands r2, r0 - ldrb r0, [r6] - adds r4, r1, #0 - ands r4, r0 - ldr r0, [r5] - cmp r0, #0 - bne _0804AEF6 - cmp r2, #0xf - bne _0804AEE0 - ldr r0, _0804AEDC @ =gUnk_081091E4 - adds r0, r4, r0 - ldrb r1, [r0] - adds r0, r5, #0 - bl sub_0805EA2C - b _0804AEF6 - .align 2, 0 -_0804AEDC: .4byte gUnk_081091E4 -_0804AEE0: - cmp r2, #8 - bne _0804AEEE - adds r0, r5, #0 - movs r1, #8 - bl sub_0805EA2C - b _0804AEF6 -_0804AEEE: - adds r0, r5, #0 - adds r1, r2, #0 - bl sub_0805EA2C -_0804AEF6: - adds r1, r5, #0 - adds r1, #0x78 - cmp r4, #9 - bne _0804AF00 - subs r1, #0x48 -_0804AF00: - adds r0, r6, #0 - movs r2, #0x10 - bl sub_0801D66C - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0804AF0C -sub_0804AF0C: @ 0x0804AF0C - push {r4, lr} - adds r4, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #1] - movs r1, #0xf0 - ands r1, r0 - cmp r1, #0x20 - beq _0804AF40 - cmp r1, #0x20 - bgt _0804AF26 - cmp r1, #0 - beq _0804AF2C - b _0804AF88 -_0804AF26: - cmp r1, #0x40 - beq _0804AF64 - b _0804AF88 -_0804AF2C: - ldr r0, _0804AF3C @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - ldrh r3, [r2, #8] - adds r1, r1, r3 - strh r1, [r4, #0x2e] - ldrh r0, [r0, #8] - b _0804AF58 - .align 2, 0 -_0804AF3C: .4byte gUnk_03000BF0 -_0804AF40: - adds r3, r4, #0 - adds r3, #0x6d - ldrb r1, [r3] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r3] - ldr r1, _0804AF60 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r3, [r2, #8] - adds r0, r0, r3 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #8] -_0804AF58: - ldrh r2, [r2, #0xa] - adds r0, r0, r2 - strh r0, [r4, #0x32] - b _0804AF88 - .align 2, 0 -_0804AF60: .4byte gUnk_03000BF0 -_0804AF64: - ldr r1, _0804AF8C @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r3, [r2, #8] - adds r0, r0, r3 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #8] - ldrh r1, [r2, #0xa] - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldr r1, [r2, #0xc] - adds r0, r4, #0 - bl sub_0807DAD0 - cmp r0, #0 - bne _0804AF88 - adds r0, r4, #0 - bl sub_0805E7BC -_0804AF88: - pop {r4, pc} - .align 2, 0 -_0804AF8C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0804AF90 -sub_0804AF90: @ 0x0804AF90 - push {lr} - ldr r0, _0804AFA8 @ =gUnk_02033A90 - ldr r1, _0804AFAC @ =0x0000085C - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0, #0x1c] - bl sub_0804AFB0 - bl sub_080A7C7C - pop {pc} - .align 2, 0 -_0804AFA8: .4byte gUnk_02033A90 -_0804AFAC: .4byte 0x0000085C - - thumb_func_start sub_0804AFB0 -sub_0804AFB0: @ 0x0804AFB0 - push {r4, lr} - ldr r1, _0804AFD4 @ =gUnk_02017654 - str r0, [r1] - movs r2, #0 - ldr r0, _0804AFD8 @ =gUnk_02034350 - adds r3, r1, #0 - adds r4, r0, #0 - adds r4, #0x6c -_0804AFC0: - lsls r0, r2, #2 - ldr r1, [r3] - adds r0, r0, r1 - ldr r0, [r0] - stm r4!, {r0} - adds r2, #1 - cmp r2, #7 - bls _0804AFC0 - pop {r4, pc} - .align 2, 0 -_0804AFD4: .4byte gUnk_02017654 -_0804AFD8: .4byte gUnk_02034350 - - thumb_func_start sub_0804AFDC -sub_0804AFDC: @ 0x0804AFDC - push {r4, lr} - movs r4, #1 - movs r0, #6 - bl sub_0804B128 - cmp r0, #0 - beq _0804AFF0 - bl _call_via_r0 - adds r4, r0, #0 -_0804AFF0: - adds r0, r4, #0 - pop {r4, pc} - - thumb_func_start sub_0804AFF4 -sub_0804AFF4: @ 0x0804AFF4 - push {lr} - bl sub_080186EC - movs r0, #5 - bl sub_0804B128 - cmp r0, #0 - beq _0804B008 - bl _call_via_r0 -_0804B008: - movs r0, #7 - bl sub_0804B128 - cmp r0, #0 - beq _0804B016 - bl _call_via_r0 -_0804B016: - bl sub_0804B16C - pop {pc} - - thumb_func_start sub_0804B01C -sub_0804B01C: @ 0x0804B01C - push {lr} - movs r0, #1 - bl sub_0804B128 - bl sub_0804ADDC - movs r0, #0 - bl sub_0804B128 - bl sub_0804ADDC - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - beq _0804B046 - movs r0, #2 - bl sub_0804B128 - bl sub_0804B058 -_0804B046: - movs r0, #3 - bl sub_0804B128 - bl sub_0804B1AC - bl sub_0801AC98 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B058 -sub_0804B058: @ 0x0804B058 - push {r4, r5, lr} - adds r4, r0, #0 - cmp r4, #0 - beq _0804B0AE - ldrb r0, [r4] - cmp r0, #0xff - beq _0804B0AE - movs r5, #0 -_0804B068: - cmp r5, #0x1f - bhi _0804B09E - ldrb r1, [r4] - movs r0, #0xf - ands r0, r1 - cmp r0, #3 - bne _0804B09E - adds r0, r5, #0 - bl sub_08049D1C - cmp r0, #0 - beq _0804B0A4 - adds r0, r4, #0 - bl sub_0804ADF8 - adds r2, r0, #0 - cmp r2, #0 - beq _0804B0A4 - ldrb r0, [r2, #8] - cmp r0, #3 - bne _0804B0A4 - movs r0, #0x80 - adds r2, #0x6c - adds r1, r5, #0 - orrs r1, r0 - strb r1, [r2] - b _0804B0A4 -_0804B09E: - adds r0, r4, #0 - bl sub_0804ADF8 -_0804B0A4: - adds r5, #1 - adds r4, #0x10 - ldrb r0, [r4] - cmp r0, #0xff - bne _0804B068 -_0804B0AE: - pop {r4, r5, pc} - - thumb_func_start sub_0804B0B0 -sub_0804B0B0: @ 0x0804B0B0 - push {lr} - movs r2, #1 - bl sub_0804B0FC - bl sub_0804ADDC - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B0C0 -sub_0804B0C0: @ 0x0804B0C0 - push {lr} - adds r2, r1, #0 - ldr r3, _0804B0E0 @ =gUnk_02017654 - movs r1, #0 - str r1, [r3] - ldr r1, _0804B0E4 @ =gUnk_080D50FC - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - cmp r1, #0 - beq _0804B0DE - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r3] -_0804B0DE: - pop {pc} - .align 2, 0 -_0804B0E0: .4byte gUnk_02017654 -_0804B0E4: .4byte gUnk_080D50FC - - thumb_func_start sub_0804B0E8 -sub_0804B0E8: @ 0x0804B0E8 - push {lr} - movs r2, #4 - bl sub_0804B0FC - cmp r0, #0 - beq _0804B0F8 - bl _call_via_r0 -_0804B0F8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B0FC -sub_0804B0FC: @ 0x0804B0FC - push {r4, lr} - adds r3, r1, #0 - adds r4, r2, #0 - movs r2, #0 - ldr r1, _0804B124 @ =gUnk_080D50FC - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - cmp r1, #0 - beq _0804B120 - lsls r0, r3, #2 - adds r0, r0, r1 - ldr r2, [r0] - cmp r2, #0 - beq _0804B120 - lsls r0, r4, #2 - adds r0, r0, r2 - ldr r2, [r0] -_0804B120: - adds r0, r2, #0 - pop {r4, pc} - .align 2, 0 -_0804B124: .4byte gUnk_080D50FC - - thumb_func_start sub_0804B128 -sub_0804B128: @ 0x0804B128 - push {lr} - adds r2, r0, #0 - ldr r0, _0804B138 @ =gUnk_02017654 - ldr r1, [r0] - cmp r1, #0 - bne _0804B13C - movs r0, #0 - b _0804B166 - .align 2, 0 -_0804B138: .4byte gUnk_02017654 -_0804B13C: - cmp r2, #0x7f - bls _0804B150 - ldr r0, _0804B14C @ =gUnk_02034350 - movs r1, #7 - ands r1, r2 - lsls r1, r1, #2 - adds r0, #0x8c - b _0804B162 - .align 2, 0 -_0804B14C: .4byte gUnk_02034350 -_0804B150: - cmp r2, #7 - bls _0804B15C - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - b _0804B166 -_0804B15C: - ldr r0, _0804B168 @ =gUnk_02034350 - lsls r1, r2, #2 - adds r0, #0x6c -_0804B162: - adds r1, r1, r0 - ldr r0, [r1] -_0804B166: - pop {pc} - .align 2, 0 -_0804B168: .4byte gUnk_02034350 - - thumb_func_start sub_0804B16C -sub_0804B16C: @ 0x0804B16C - push {r4, lr} - ldr r4, _0804B1A4 @ =gUnk_02017660 -_0804B170: - ldrh r0, [r4, #4] - cmp r0, #0 - beq _0804B198 - ldrb r0, [r4, #1] - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B198 - ldrh r3, [r4, #4] - ldrb r1, [r4, #6] - movs r0, #1 - ands r0, r1 - movs r2, #1 - cmp r0, #0 - beq _0804B190 - movs r2, #2 -_0804B190: - movs r0, #0x74 - adds r1, r3, #0 - bl sub_0807B314 -_0804B198: - adds r4, #8 - ldr r0, _0804B1A8 @ =gUnk_020176A0 - cmp r4, r0 - blo _0804B170 - pop {r4, pc} - .align 2, 0 -_0804B1A4: .4byte gUnk_02017660 -_0804B1A8: .4byte gUnk_020176A0 - - thumb_func_start sub_0804B1AC -sub_0804B1AC: @ 0x0804B1AC - push {r4, lr} - adds r4, r0, #0 - cmp r4, #0 - beq _0804B25A - b _0804B254 -_0804B1B6: - ldrb r0, [r4] - subs r0, #1 - cmp r0, #0xc - bhi _0804B252 - lsls r0, r0, #2 - ldr r1, _0804B1C8 @ =_0804B1CC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804B1C8: .4byte _0804B1CC -_0804B1CC: @ jump table - .4byte _0804B200 @ case 0 - .4byte _0804B208 @ case 1 - .4byte _0804B252 @ case 2 - .4byte _0804B210 @ case 3 - .4byte _0804B252 @ case 4 - .4byte _0804B252 @ case 5 - .4byte _0804B218 @ case 6 - .4byte _0804B252 @ case 7 - .4byte _0804B22C @ case 8 - .4byte _0804B234 @ case 9 - .4byte _0804B23C @ case 10 - .4byte _0804B244 @ case 11 - .4byte _0804B24C @ case 12 -_0804B200: - adds r0, r4, #0 - bl sub_0804B290 - b _0804B252 -_0804B208: - adds r0, r4, #0 - bl sub_0804B29C - b _0804B252 -_0804B210: - adds r0, r4, #0 - bl sub_0804B300 - b _0804B252 -_0804B218: - ldr r0, _0804B224 @ =gUnk_02033A90 - ldr r1, _0804B228 @ =0x00000864 - adds r0, r0, r1 - ldrb r1, [r4, #3] - str r1, [r0] - b _0804B252 - .align 2, 0 -_0804B224: .4byte gUnk_02033A90 -_0804B228: .4byte 0x00000864 -_0804B22C: - adds r0, r4, #0 - bl sub_0804B334 - b _0804B252 -_0804B234: - adds r0, r4, #0 - bl sub_0804B340 - b _0804B252 -_0804B23C: - adds r0, r4, #0 - bl sub_0804B260 - b _0804B252 -_0804B244: - adds r0, r4, #0 - bl sub_0804B27C - b _0804B252 -_0804B24C: - ldr r1, _0804B25C @ =gUnk_02034350 - ldrb r0, [r4, #3] - strb r0, [r1, #9] -_0804B252: - adds r4, #8 -_0804B254: - ldrb r0, [r4] - cmp r0, #0 - bne _0804B1B6 -_0804B25A: - pop {r4, pc} - .align 2, 0 -_0804B25C: .4byte gUnk_02034350 - - thumb_func_start sub_0804B260 -sub_0804B260: @ 0x0804B260 - push {lr} - ldrb r0, [r0, #1] - lsls r0, r0, #5 - ldr r1, _0804B274 @ =gUnk_080015BC - adds r0, r0, r1 - ldr r1, _0804B278 @ =gUnk_02034398 - movs r2, #0x20 - bl sub_0801D66C - pop {pc} - .align 2, 0 -_0804B274: .4byte gUnk_080015BC -_0804B278: .4byte gUnk_02034398 - - thumb_func_start sub_0804B27C -sub_0804B27C: @ 0x0804B27C - push {lr} - ldr r1, _0804B28C @ =gUnk_02033A90 - ldrb r0, [r0, #1] - strb r0, [r1, #1] - bl sub_08054524 - pop {pc} - .align 2, 0 -_0804B28C: .4byte gUnk_02033A90 - - thumb_func_start sub_0804B290 -sub_0804B290: @ 0x0804B290 - push {lr} - ldrb r0, [r0, #1] - bl sub_0807CCB4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B29C -sub_0804B29C: @ 0x0804B29C - push {r4, lr} - adds r2, r0, #0 - ldr r4, _0804B2EC @ =gUnk_02017660 - movs r1, #0 -_0804B2A4: - ldrh r0, [r4, #4] - cmp r0, #0 - bne _0804B2F4 - adds r0, r2, #0 - adds r1, r4, #0 - movs r2, #8 - bl sub_0801D66C - ldrb r1, [r4, #6] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0804B2FC - ldr r0, _0804B2F0 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0804B2FC - ldrb r0, [r4, #1] - bl sub_0807CBD0 - cmp r0, #0 - bne _0804B2FC - ldrb r1, [r4, #1] - movs r0, #0x52 - movs r2, #0 - bl sub_080A2960 - cmp r0, #0 - beq _0804B2FC - ldrh r1, [r4, #4] - bl sub_0806F704 - b _0804B2FC - .align 2, 0 -_0804B2EC: .4byte gUnk_02017660 -_0804B2F0: .4byte gUnk_03000BF0 -_0804B2F4: - adds r1, #1 - adds r4, #8 - cmp r1, #7 - bls _0804B2A4 -_0804B2FC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0804B300 -sub_0804B300: @ 0x0804B300 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805E8D4 - adds r1, r0, #0 - cmp r1, #0 - beq _0804B332 - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x24 - strb r0, [r1, #9] - ldrh r0, [r4, #4] - strh r0, [r1, #0x38] - ldrh r0, [r4, #6] - strh r0, [r1, #0x3a] - ldrb r0, [r4, #2] - adds r2, r1, #0 - adds r2, #0x35 - strb r0, [r2] - ldrb r0, [r4, #1] - strh r0, [r1, #0x3e] - adds r0, r1, #0 - movs r1, #6 - bl sub_0805EA2C -_0804B332: - pop {r4, pc} - - thumb_func_start sub_0804B334 -sub_0804B334: @ 0x0804B334 - push {lr} - ldrb r0, [r0, #3] - movs r1, #1 - bl sub_0805BB00 - pop {pc} - - thumb_func_start sub_0804B340 -sub_0804B340: @ 0x0804B340 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #2] - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B35A - ldrh r0, [r4, #6] - ldrh r1, [r4, #4] - ldrb r2, [r4, #1] - bl sub_0807B314 - b _0804B380 -_0804B35A: - ldr r1, _0804B384 @ =gUnk_02034350 - ldrb r0, [r1, #1] - cmp r0, #0 - bne _0804B380 - movs r0, #1 - strb r0, [r1, #1] - bl sub_0805E8D4 - adds r1, r0, #0 - cmp r1, #0 - beq _0804B380 - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x2a - strb r0, [r1, #9] - adds r0, r1, #0 - movs r1, #6 - bl sub_0805EA2C -_0804B380: - pop {r4, pc} - .align 2, 0 -_0804B384: .4byte gUnk_02034350 - - thumb_func_start sub_0804B388 -sub_0804B388: @ 0x0804B388 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - movs r0, #0x34 - cmp r4, #1 - bne _0804B396 - movs r0, #0x26 -_0804B396: - adds r1, r5, #0 - adds r2, r4, #0 - bl sub_0807B314 - movs r0, #0xf - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0804B3BA - adds r0, #0x38 - strb r4, [r0] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0806F704 -_0804B3BA: - movs r0, #1 - rsbs r0, r0, #0 - bl sub_080526F8 - pop {r4, r5, pc} - - thumb_func_start sub_0804B3C4 -sub_0804B3C4: @ 0x0804B3C4 - push {lr} - bl sub_0804B29C - pop {pc} - - thumb_func_start sub_0804B3CC -sub_0804B3CC: @ 0x0804B3CC - movs r0, #1 - bx lr - - thumb_func_start sub_0804B3D0 -sub_0804B3D0: @ 0x0804B3D0 - push {lr} - movs r0, #0 - bl sub_08030118 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B3DC -sub_0804B3DC: @ 0x0804B3DC - movs r0, #1 - bx lr - - thumb_func_start sub_0804B3E0 -sub_0804B3E0: @ 0x0804B3E0 - push {lr} - movs r0, #1 - bl sub_08030118 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B3EC -sub_0804B3EC: @ 0x0804B3EC - movs r0, #1 - bx lr - - thumb_func_start sub_0804B3F0 -sub_0804B3F0: @ 0x0804B3F0 - push {lr} - movs r0, #2 - bl sub_08030118 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B3FC -sub_0804B3FC: @ 0x0804B3FC - movs r0, #1 - bx lr - - thumb_func_start sub_0804B400 -sub_0804B400: @ 0x0804B400 - push {lr} - movs r0, #3 - bl sub_08030118 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B40C -sub_0804B40C: @ 0x0804B40C - movs r0, #1 - bx lr - - thumb_func_start sub_0804B410 -sub_0804B410: @ 0x0804B410 - push {lr} - movs r0, #4 - bl sub_08030118 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B41C -sub_0804B41C: @ 0x0804B41C - movs r0, #1 - bx lr - - thumb_func_start sub_0804B420 -sub_0804B420: @ 0x0804B420 - push {lr} - movs r0, #5 - bl sub_08030118 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B42C -sub_0804B42C: @ 0x0804B42C - movs r0, #1 - bx lr - - thumb_func_start sub_0804B430 -sub_0804B430: @ 0x0804B430 - push {lr} - movs r0, #6 - bl sub_08030118 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B43C -sub_0804B43C: @ 0x0804B43C - movs r0, #1 - bx lr - - thumb_func_start sub_0804B440 -sub_0804B440: @ 0x0804B440 - push {lr} - movs r0, #7 - bl sub_08030118 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B44C -sub_0804B44C: @ 0x0804B44C - movs r0, #1 - bx lr - - thumb_func_start sub_0804B450 -sub_0804B450: @ 0x0804B450 - push {lr} - movs r0, #8 - bl sub_08030118 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B45C -sub_0804B45C: @ 0x0804B45C - movs r0, #1 - bx lr - - thumb_func_start sub_0804B460 -sub_0804B460: @ 0x0804B460 - push {lr} - movs r0, #9 - bl sub_08030118 - ldr r0, _0804B474 @ =gUnk_02033A90 - movs r1, #3 - strb r1, [r0, #3] - movs r1, #0x4e - strb r1, [r0] - pop {pc} - .align 2, 0 -_0804B474: .4byte gUnk_02033A90 - - thumb_func_start sub_0804B478 -sub_0804B478: @ 0x0804B478 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B47C -sub_0804B47C: @ 0x0804B47C - push {lr} - movs r0, #0xa - bl sub_08030118 - ldr r0, _0804B490 @ =gUnk_02033A90 - movs r1, #3 - strb r1, [r0, #3] - movs r1, #0x4e - strb r1, [r0] - pop {pc} - .align 2, 0 -_0804B490: .4byte gUnk_02033A90 - - thumb_func_start sub_0804B494 -sub_0804B494: @ 0x0804B494 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B498 -sub_0804B498: @ 0x0804B498 - push {lr} - movs r0, #0x23 - bl sub_080575C8 - bl sub_08057688 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B4A8 -sub_0804B4A8: @ 0x0804B4A8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B4AC -sub_0804B4AC: @ 0x0804B4AC - push {lr} - movs r0, #0x23 - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B4B8 -sub_0804B4B8: @ 0x0804B4B8 - push {lr} - movs r0, #0x23 - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B4C4 -sub_0804B4C4: @ 0x0804B4C4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B4C8 -sub_0804B4C8: @ 0x0804B4C8 - push {lr} - movs r0, #0x22 - bl sub_080580B0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B4D4 -sub_0804B4D4: @ 0x0804B4D4 - push {lr} - movs r0, #0x22 - bl sub_080580B0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B4E0 -sub_0804B4E0: @ 0x0804B4E0 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B4E4 -sub_0804B4E4: @ 0x0804B4E4 - push {lr} - movs r0, #0x22 - bl sub_080580B0 - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - beq _0804B4FC - movs r0, #0x56 - bl sub_0807CD04 -_0804B4FC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B500 -sub_0804B500: @ 0x0804B500 - push {lr} - movs r0, #0x22 - bl sub_080580B0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B50C -sub_0804B50C: @ 0x0804B50C - movs r0, #1 - bx lr - - thumb_func_start sub_0804B510 -sub_0804B510: @ 0x0804B510 - push {lr} - movs r0, #0x1e - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B51C -sub_0804B51C: @ 0x0804B51C - push {lr} - movs r0, #0x1e - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B528 -sub_0804B528: @ 0x0804B528 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B52C -sub_0804B52C: @ 0x0804B52C - push {lr} - movs r0, #0x21 - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B538 -sub_0804B538: @ 0x0804B538 - push {lr} - movs r0, #0x21 - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B544 -sub_0804B544: @ 0x0804B544 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B548 -sub_0804B548: @ 0x0804B548 - push {lr} - movs r0, #0x1f - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B554 -sub_0804B554: @ 0x0804B554 - push {lr} - movs r0, #0x1f - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B560 -sub_0804B560: @ 0x0804B560 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B564 -sub_0804B564: @ 0x0804B564 - push {lr} - movs r0, #0x20 - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B570 -sub_0804B570: @ 0x0804B570 - push {lr} - movs r0, #0x20 - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B57C -sub_0804B57C: @ 0x0804B57C - movs r0, #1 - bx lr - - thumb_func_start sub_0804B580 -sub_0804B580: @ 0x0804B580 - push {lr} - movs r0, #0x20 - bl sub_080575C8 - ldr r0, _0804B5A0 @ =gUnk_03001160 - movs r1, #0x32 - ldrsh r0, [r0, r1] - ldr r1, _0804B5A4 @ =gUnk_03000BF0 - ldrh r1, [r1, #8] - subs r0, r0, r1 - cmp r0, #0x40 - ble _0804B59E - ldr r0, _0804B5A8 @ =gUnk_080D6138 - bl sub_0804ADDC -_0804B59E: - pop {pc} - .align 2, 0 -_0804B5A0: .4byte gUnk_03001160 -_0804B5A4: .4byte gUnk_03000BF0 -_0804B5A8: .4byte gUnk_080D6138 - - thumb_func_start sub_0804B5AC -sub_0804B5AC: @ 0x0804B5AC - push {lr} - movs r0, #0x20 - bl sub_080575C8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804B5B8 -sub_0804B5B8: @ 0x0804B5B8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B5BC -sub_0804B5BC: @ 0x0804B5BC - push {lr} - ldr r0, _0804B5D0 @ =gUnk_030010A0 - ldrh r0, [r0, #0x12] - cmp r0, #0x40 - bls _0804B5CC - ldr r0, _0804B5D4 @ =gUnk_080D6210 - bl sub_0804ADDC -_0804B5CC: - pop {pc} - .align 2, 0 -_0804B5D0: .4byte gUnk_030010A0 -_0804B5D4: .4byte gUnk_080D6210 - - thumb_func_start sub_0804B5D8 -sub_0804B5D8: @ 0x0804B5D8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B5DC -sub_0804B5DC: @ 0x0804B5DC - push {r4, r5, r6, lr} - movs r0, #0x2c - bl sub_0801E7F4 - cmp r0, #0 - beq _0804B5EE - ldr r0, _0804B618 @ =gUnk_080D6340 - bl sub_0804ADDC -_0804B5EE: - movs r6, #0 - ldr r4, _0804B61C @ =gUnk_080D64F8 - movs r5, #7 -_0804B5F4: - ldrh r0, [r4] - adds r4, #2 - bl sub_0807CA84 - cmp r0, #0 - beq _0804B602 - adds r6, #1 -_0804B602: - subs r5, #1 - cmp r5, #0 - bge _0804B5F4 - movs r0, #0x8b - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B648 - ldr r4, _0804B620 @ =gUnk_080D6508 - movs r5, #0 - b _0804B628 - .align 2, 0 -_0804B618: .4byte gUnk_080D6340 -_0804B61C: .4byte gUnk_080D64F8 -_0804B620: .4byte gUnk_080D6508 -_0804B624: - adds r5, #1 - adds r4, #2 -_0804B628: - cmp r5, r6 - bge _0804B648 - ldrh r0, [r4] - bl sub_0807CBD0 - cmp r0, #0 - bne _0804B624 - ldrh r0, [r4] - bl sub_0807CCB4 - movs r0, #0x8b - bl sub_0807CD34 - movs r0, #0x8c - bl sub_0807CCB4 -_0804B648: - movs r0, #0x1f - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B658 - ldr r0, _0804B6CC @ =gUnk_080D6360 - bl sub_0804ADDC -_0804B658: - movs r0, #0x20 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B668 - ldr r0, _0804B6D0 @ =gUnk_080D6380 - bl sub_0804ADDC -_0804B668: - movs r0, #0x21 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B678 - ldr r0, _0804B6D4 @ =gUnk_080D63A0 - bl sub_0804ADDC -_0804B678: - movs r0, #0x22 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B688 - ldr r0, _0804B6D8 @ =gUnk_080D63C0 - bl sub_0804ADDC -_0804B688: - movs r0, #0x23 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B698 - ldr r0, _0804B6DC @ =gUnk_080D63E0 - bl sub_0804ADDC -_0804B698: - movs r0, #0x24 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B6A8 - ldr r0, _0804B6E0 @ =gUnk_080D6400 - bl sub_0804ADDC -_0804B6A8: - movs r0, #0x25 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B6B8 - ldr r0, _0804B6E4 @ =gUnk_080D6420 - bl sub_0804ADDC -_0804B6B8: - movs r0, #0x26 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B6C8 - ldr r0, _0804B6E8 @ =gUnk_080D6440 - bl sub_0804ADDC -_0804B6C8: - pop {r4, r5, r6, pc} - .align 2, 0 -_0804B6CC: .4byte gUnk_080D6360 -_0804B6D0: .4byte gUnk_080D6380 -_0804B6D4: .4byte gUnk_080D63A0 -_0804B6D8: .4byte gUnk_080D63C0 -_0804B6DC: .4byte gUnk_080D63E0 -_0804B6E0: .4byte gUnk_080D6400 -_0804B6E4: .4byte gUnk_080D6420 -_0804B6E8: .4byte gUnk_080D6440 - - thumb_func_start sub_0804B6EC -sub_0804B6EC: @ 0x0804B6EC - movs r0, #1 - bx lr - - thumb_func_start sub_0804B6F0 -sub_0804B6F0: @ 0x0804B6F0 - push {lr} - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0804B71C - ldr r0, _0804B714 @ =gUnk_080D6578 - bl sub_0804ADDC - movs r0, #0x73 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804B722 - ldr r0, _0804B718 @ =gUnk_080D6638 - bl sub_0804ADDC - b _0804B728 - .align 2, 0 -_0804B714: .4byte gUnk_080D6578 -_0804B718: .4byte gUnk_080D6638 -_0804B71C: - ldr r0, _0804B72C @ =gUnk_080D6558 - bl sub_0804ADDC -_0804B722: - ldr r0, _0804B730 @ =gUnk_080D6618 - bl sub_0804ADDC -_0804B728: - pop {pc} - .align 2, 0 -_0804B72C: .4byte gUnk_080D6558 -_0804B730: .4byte gUnk_080D6618 - - thumb_func_start sub_0804B734 -sub_0804B734: @ 0x0804B734 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B738 -sub_0804B738: @ 0x0804B738 - push {lr} - ldr r0, _0804B770 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #4 - bls _0804B748 - ldr r0, _0804B774 @ =gUnk_080D6714 - bl sub_0804ADDC -_0804B748: - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0804B77C - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0804B77C - movs r0, #0x6a - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B77C - ldr r0, _0804B778 @ =gUnk_080D6734 - bl sub_0804ADDC - b _0804B782 - .align 2, 0 -_0804B770: .4byte gUnk_02002A40 -_0804B774: .4byte gUnk_080D6714 -_0804B778: .4byte gUnk_080D6734 -_0804B77C: - ldr r0, _0804B784 @ =gUnk_080D66F4 - bl sub_0804ADDC -_0804B782: - pop {pc} - .align 2, 0 -_0804B784: .4byte gUnk_080D66F4 - - thumb_func_start sub_0804B788 -sub_0804B788: @ 0x0804B788 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B78C -sub_0804B78C: @ 0x0804B78C - push {lr} - ldr r0, _0804B7A0 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #7 - bls _0804B79C - ldr r0, _0804B7A4 @ =gUnk_080D6924 - bl sub_0804ADDC -_0804B79C: - pop {pc} - .align 2, 0 -_0804B7A0: .4byte gUnk_02002A40 -_0804B7A4: .4byte gUnk_080D6924 - - thumb_func_start sub_0804B7A8 -sub_0804B7A8: @ 0x0804B7A8 - push {r4, lr} - movs r0, #0x91 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B7C8 - bl sub_08000E50 - movs r1, #3 - bl __modsi3 - adds r4, r0, #0 - movs r0, #1 - bl sub_0807CD34 - b _0804B7D0 -_0804B7C8: - movs r4, #0 - movs r0, #1 - bl sub_0807CCB4 -_0804B7D0: - ldr r2, _0804B7E0 @ =gUnk_02034350 - ldr r1, _0804B7E4 @ =gUnk_080D6A74 - lsls r0, r4, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r2, #0x78] - movs r0, #1 - pop {r4, pc} - .align 2, 0 -_0804B7E0: .4byte gUnk_02034350 -_0804B7E4: .4byte gUnk_080D6A74 - - thumb_func_start sub_0804B7E8 -sub_0804B7E8: @ 0x0804B7E8 - push {lr} - movs r0, #0x91 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B81E - movs r0, #0x91 - bl sub_0807CD34 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - ldr r2, _0804B820 @ =gUnk_03001160 - ldr r1, _0804B824 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0x50 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - adds r0, #0x38 - strh r0, [r2, #0x32] - ldr r2, _0804B828 @ =gUnk_08010A5C - movs r0, #1 - movs r1, #2 - bl sub_080751E8 -_0804B81E: - pop {pc} - .align 2, 0 -_0804B820: .4byte gUnk_03001160 -_0804B824: .4byte gUnk_03000BF0 -_0804B828: .4byte gUnk_08010A5C - - thumb_func_start sub_0804B82C -sub_0804B82C: @ 0x0804B82C - push {r4, lr} - movs r0, #0x91 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B84A - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #1 - ands r4, r0 - movs r0, #2 - bl sub_0807CD34 - b _0804B852 -_0804B84A: - movs r4, #0 - movs r0, #2 - bl sub_0807CCB4 -_0804B852: - ldr r2, _0804B864 @ =gUnk_02034350 - ldr r1, _0804B868 @ =gUnk_080D6B18 - lsls r0, r4, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r2, #0x78] - movs r0, #1 - pop {r4, pc} - .align 2, 0 -_0804B864: .4byte gUnk_02034350 -_0804B868: .4byte gUnk_080D6B18 - - thumb_func_start sub_0804B86C -sub_0804B86C: @ 0x0804B86C - push {lr} - movs r0, #0x91 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B8A2 - movs r0, #0x91 - bl sub_0807CD34 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - ldr r2, _0804B8A4 @ =gUnk_03001160 - ldr r1, _0804B8A8 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0x50 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - adds r0, #0x38 - strh r0, [r2, #0x32] - ldr r2, _0804B8AC @ =gUnk_08010A5C - movs r0, #1 - movs r1, #2 - bl sub_080751E8 -_0804B8A2: - pop {pc} - .align 2, 0 -_0804B8A4: .4byte gUnk_03001160 -_0804B8A8: .4byte gUnk_03000BF0 -_0804B8AC: .4byte gUnk_08010A5C - - thumb_func_start sub_0804B8B0 -sub_0804B8B0: @ 0x0804B8B0 - push {r4, lr} - movs r0, #0x91 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B8D0 - bl sub_08000E50 - movs r1, #3 - bl __modsi3 - adds r4, r0, #0 - movs r0, #3 - bl sub_0807CD34 - b _0804B8D8 -_0804B8D0: - movs r4, #0 - movs r0, #3 - bl sub_0807CCB4 -_0804B8D8: - ldr r2, _0804B8E8 @ =gUnk_02034350 - ldr r1, _0804B8EC @ =gUnk_080D6BB8 - lsls r0, r4, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r2, #0x78] - movs r0, #1 - pop {r4, pc} - .align 2, 0 -_0804B8E8: .4byte gUnk_02034350 -_0804B8EC: .4byte gUnk_080D6BB8 - - thumb_func_start sub_0804B8F0 -sub_0804B8F0: @ 0x0804B8F0 - push {lr} - movs r0, #0x91 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804B926 - movs r0, #0x91 - bl sub_0807CD34 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - ldr r2, _0804B928 @ =gUnk_03001160 - ldr r1, _0804B92C @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0x60 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - adds r0, #0x38 - strh r0, [r2, #0x32] - ldr r2, _0804B930 @ =gUnk_08010A5C - movs r0, #1 - movs r1, #2 - bl sub_080751E8 -_0804B926: - pop {pc} - .align 2, 0 -_0804B928: .4byte gUnk_03001160 -_0804B92C: .4byte gUnk_03000BF0 -_0804B930: .4byte gUnk_08010A5C - - thumb_func_start sub_0804B934 -sub_0804B934: @ 0x0804B934 - movs r0, #1 - bx lr - - thumb_func_start sub_0804B938 -sub_0804B938: @ 0x0804B938 - push {lr} - ldr r0, _0804B968 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804B9F2 - movs r0, #0x2b - bl sub_0807CC30 - cmp r0, #0 - beq _0804B970 - movs r0, #0x2f - bl sub_0807CC30 - cmp r0, #0 - bne _0804B984 - movs r0, #0x30 - bl sub_0807CC30 - cmp r0, #0 - bne _0804B9BC - ldr r0, _0804B96C @ =gUnk_080D6C64 - bl sub_0804ADDC - b _0804B9F2 - .align 2, 0 -_0804B968: .4byte gUnk_02002A40 -_0804B96C: .4byte gUnk_080D6C64 -_0804B970: - movs r0, #0x2c - bl sub_0807CC30 - cmp r0, #0 - beq _0804B9A8 - movs r0, #0x2e - bl sub_0807CC30 - cmp r0, #0 - beq _0804B990 -_0804B984: - ldr r0, _0804B98C @ =gUnk_080D6D04 - bl sub_0804ADDC - b _0804B9F2 - .align 2, 0 -_0804B98C: .4byte gUnk_080D6D04 -_0804B990: - movs r0, #0x30 - bl sub_0807CC30 - cmp r0, #0 - bne _0804B9D2 - ldr r0, _0804B9A4 @ =gUnk_080D6C94 - bl sub_0804ADDC - b _0804B9F2 - .align 2, 0 -_0804B9A4: .4byte gUnk_080D6C94 -_0804B9A8: - movs r0, #0x2d - bl sub_0807CC30 - cmp r0, #0 - beq _0804B9EC - movs r0, #0x2e - bl sub_0807CC30 - cmp r0, #0 - beq _0804B9C8 -_0804B9BC: - ldr r0, _0804B9C4 @ =gUnk_080D6CE4 - bl sub_0804ADDC - b _0804B9F2 - .align 2, 0 -_0804B9C4: .4byte gUnk_080D6CE4 -_0804B9C8: - movs r0, #0x2f - bl sub_0807CC30 - cmp r0, #0 - beq _0804B9E0 -_0804B9D2: - ldr r0, _0804B9DC @ =gUnk_080D6CC4 - bl sub_0804ADDC - b _0804B9F2 - .align 2, 0 -_0804B9DC: .4byte gUnk_080D6CC4 -_0804B9E0: - ldr r0, _0804B9E8 @ =gUnk_080D6C34 - bl sub_0804ADDC - b _0804B9F2 - .align 2, 0 -_0804B9E8: .4byte gUnk_080D6C34 -_0804B9EC: - ldr r0, _0804B9F4 @ =gUnk_080D6BF4 - bl sub_0804ADDC -_0804B9F2: - pop {pc} - .align 2, 0 -_0804B9F4: .4byte gUnk_080D6BF4 - - thumb_func_start sub_0804B9F8 -sub_0804B9F8: @ 0x0804B9F8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_176 -nullsub_176: @ 0x0804B9FC - bx lr - .align 2, 0 - - thumb_func_start sub_0804BA00 -sub_0804BA00: @ 0x0804BA00 - movs r0, #1 - bx lr - - thumb_func_start nullsub_177 -nullsub_177: @ 0x0804BA04 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BA08 -sub_0804BA08: @ 0x0804BA08 - movs r0, #1 - bx lr - - thumb_func_start sub_0804BA0C -sub_0804BA0C: @ 0x0804BA0C - push {lr} - ldr r0, _0804BA34 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #7 - bhi _0804BA1C - ldr r0, _0804BA38 @ =gUnk_080D7038 - bl sub_0804ADDC -_0804BA1C: - ldr r0, _0804BA3C @ =gUnk_02034350 - ldrb r0, [r0] - cmp r0, #0 - bne _0804BA32 - movs r2, #0xb2 - lsls r2, r2, #2 - movs r0, #2 - movs r1, #0 - movs r3, #0xa8 - bl sub_08052CA4 -_0804BA32: - pop {pc} - .align 2, 0 -_0804BA34: .4byte gUnk_02002A40 -_0804BA38: .4byte gUnk_080D7038 -_0804BA3C: .4byte gUnk_02034350 - - thumb_func_start sub_0804BA40 -sub_0804BA40: @ 0x0804BA40 - movs r0, #1 - bx lr - - thumb_func_start sub_0804BA44 -sub_0804BA44: @ 0x0804BA44 - push {r4, lr} - ldr r4, _0804BA7C @ =gUnk_02002A40 - ldrb r0, [r4, #8] - cmp r0, #6 - bne _0804BA54 - ldr r0, _0804BA80 @ =gUnk_080D7140 - bl sub_0804ADDC -_0804BA54: - ldrb r0, [r4, #8] - cmp r0, #7 - bne _0804BA60 - ldr r0, _0804BA84 @ =gUnk_080D7170 - bl sub_0804ADDC -_0804BA60: - ldrb r0, [r4, #8] - cmp r0, #7 - bls _0804BA72 - ldr r0, _0804BA88 @ =gUnk_080D71A0 - bl sub_0804ADDC - ldrb r0, [r4, #8] - cmp r0, #7 - bhi _0804BA90 -_0804BA72: - ldr r0, _0804BA8C @ =gUnk_080D71D0 - bl sub_0804ADDC - b _0804BA96 - .align 2, 0 -_0804BA7C: .4byte gUnk_02002A40 -_0804BA80: .4byte gUnk_080D7140 -_0804BA84: .4byte gUnk_080D7170 -_0804BA88: .4byte gUnk_080D71A0 -_0804BA8C: .4byte gUnk_080D71D0 -_0804BA90: - ldr r0, _0804BA98 @ =gUnk_080D71F0 - bl sub_0804ADDC -_0804BA96: - pop {r4, pc} - .align 2, 0 -_0804BA98: .4byte gUnk_080D71F0 - - thumb_func_start sub_0804BA9C -sub_0804BA9C: @ 0x0804BA9C - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804BAB2 - ldr r0, _0804BAB8 @ =gUnk_02034350 - ldr r1, _0804BABC @ =gUnk_080D7348 - str r1, [r0, #0x6c] - movs r1, #0 - str r1, [r0, #0x74] -_0804BAB2: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804BAB8: .4byte gUnk_02034350 -_0804BABC: .4byte gUnk_080D7348 - - thumb_func_start sub_0804BAC0 -sub_0804BAC0: @ 0x0804BAC0 - push {lr} - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - bne _0804BAD2 - ldr r0, _0804BAE8 @ =gUnk_080D7328 - bl sub_0804ADDC -_0804BAD2: - movs r0, #0x64 - bl sub_0807CC30 - cmp r0, #0 - beq _0804BAF4 - ldr r0, _0804BAEC @ =gUnk_02033A90 - ldr r1, _0804BAF0 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x1b - str r1, [r0] - b _0804BB0C - .align 2, 0 -_0804BAE8: .4byte gUnk_080D7328 -_0804BAEC: .4byte gUnk_02033A90 -_0804BAF0: .4byte 0x00000864 -_0804BAF4: - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804BB0C - ldr r0, _0804BB10 @ =gUnk_02033A90 - ldr r2, _0804BB14 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804BB0C: - pop {pc} - .align 2, 0 -_0804BB10: .4byte gUnk_02033A90 -_0804BB14: .4byte 0x00000864 - - thumb_func_start sub_0804BB18 -sub_0804BB18: @ 0x0804BB18 - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804BB2E - ldr r0, _0804BB34 @ =gUnk_02034350 - ldr r1, _0804BB38 @ =gUnk_080D7410 - str r1, [r0, #0x6c] - movs r1, #0 - str r1, [r0, #0x74] -_0804BB2E: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804BB34: .4byte gUnk_02034350 -_0804BB38: .4byte gUnk_080D7410 - - thumb_func_start sub_0804BB3C -sub_0804BB3C: @ 0x0804BB3C - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - bne _0804BB7C - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - bne _0804BB58 - ldr r0, _0804BB8C @ =gUnk_080D73B0 - bl sub_0804ADDC -_0804BB58: - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - bne _0804BB72 - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - beq _0804BB72 - ldr r0, _0804BB90 @ =gUnk_080D73E0 - bl sub_0804ADDC -_0804BB72: - movs r0, #0x64 - bl sub_0807CC30 - cmp r0, #0 - beq _0804BB8A -_0804BB7C: - ldr r0, _0804BB94 @ =gUnk_02033A90 - ldr r2, _0804BB98 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804BB8A: - pop {pc} - .align 2, 0 -_0804BB8C: .4byte gUnk_080D73B0 -_0804BB90: .4byte gUnk_080D73E0 -_0804BB94: .4byte gUnk_02033A90 -_0804BB98: .4byte 0x00000864 - - thumb_func_start sub_0804BB9C -sub_0804BB9C: @ 0x0804BB9C - movs r0, #1 - bx lr - - thumb_func_start sub_0804BBA0 -sub_0804BBA0: @ 0x0804BBA0 - push {lr} - movs r0, #0x64 - bl sub_0807CC30 - cmp r0, #0 - beq _0804BBBA - ldr r0, _0804BBDC @ =gUnk_02033A90 - ldr r2, _0804BBE0 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804BBBA: - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804BBE8 - ldr r0, _0804BBE4 @ =gUnk_080D7618 - bl sub_0804ADDC - ldr r0, _0804BBDC @ =gUnk_02033A90 - ldr r2, _0804BBE0 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - b _0804BC2E - .align 2, 0 -_0804BBDC: .4byte gUnk_02033A90 -_0804BBE0: .4byte 0x00000864 -_0804BBE4: .4byte gUnk_080D7618 -_0804BBE8: - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - bne _0804BC10 - ldr r0, _0804BC04 @ =gUnk_080D74C8 - bl sub_0804ADDC - ldr r0, _0804BC08 @ =gUnk_02033A90 - ldr r1, _0804BC0C @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x1b - str r1, [r0] - b _0804BC2E - .align 2, 0 -_0804BC04: .4byte gUnk_080D74C8 -_0804BC08: .4byte gUnk_02033A90 -_0804BC0C: .4byte 0x00000864 -_0804BC10: - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - bne _0804BC28 - ldr r0, _0804BC24 @ =gUnk_080D7588 - bl sub_0804ADDC - b _0804BC2E - .align 2, 0 -_0804BC24: .4byte gUnk_080D7588 -_0804BC28: - ldr r0, _0804BC30 @ =gUnk_080D75D8 - bl sub_0804ADDC -_0804BC2E: - pop {pc} - .align 2, 0 -_0804BC30: .4byte gUnk_080D75D8 - - thumb_func_start sub_0804BC34 -sub_0804BC34: @ 0x0804BC34 - movs r0, #1 - bx lr - - thumb_func_start sub_0804BC38 -sub_0804BC38: @ 0x0804BC38 - push {lr} - movs r0, #0x9c - bl sub_0807CBD0 - cmp r0, #0 - beq _0804BC4A - ldr r0, _0804BC4C @ =gUnk_080D7690 - bl sub_0804ADDC -_0804BC4A: - pop {pc} - .align 2, 0 -_0804BC4C: .4byte gUnk_080D7690 - - thumb_func_start sub_0804BC50 -sub_0804BC50: @ 0x0804BC50 - push {lr} - movs r0, #0x9f - bl sub_0807CBD0 - cmp r0, #0 - bne _0804BC68 - ldr r1, _0804BC6C @ =gUnk_030010A0 - movs r0, #5 - strb r0, [r1, #0xf] - movs r0, #0x1c - bl sub_0807CD80 -_0804BC68: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804BC6C: .4byte gUnk_030010A0 - - thumb_func_start sub_0804BC70 -sub_0804BC70: @ 0x0804BC70 - push {lr} - movs r0, #0x9f - bl sub_0807CBD0 - cmp r0, #0 - bne _0804BCA0 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - ldr r2, _0804BCB0 @ =gUnk_03001160 - ldr r1, _0804BCB4 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0xb0 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - adds r0, #0x40 - strh r0, [r2, #0x32] - ldr r2, _0804BCB8 @ =gUnk_08009E88 - movs r0, #0 - movs r1, #6 - bl sub_080751E8 -_0804BCA0: - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - bne _0804BCBC - bl sub_08052878 - b _0804BCD0 - .align 2, 0 -_0804BCB0: .4byte gUnk_03001160 -_0804BCB4: .4byte gUnk_03000BF0 -_0804BCB8: .4byte gUnk_08009E88 -_0804BCBC: - movs r0, #0x64 - bl sub_0807CC30 - cmp r0, #0 - beq _0804BCD0 - ldr r0, _0804BCD4 @ =gUnk_02033A90 - ldr r1, _0804BCD8 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x1b - str r1, [r0] -_0804BCD0: - pop {pc} - .align 2, 0 -_0804BCD4: .4byte gUnk_02033A90 -_0804BCD8: .4byte 0x00000864 - - thumb_func_start sub_0804BCDC -sub_0804BCDC: @ 0x0804BCDC - push {lr} - ldr r0, _0804BCE8 @ =gUnk_0813AB80 - movs r1, #4 - bl sub_0808091C - pop {pc} - .align 2, 0 -_0804BCE8: .4byte gUnk_0813AB80 - - thumb_func_start sub_0804BCEC -sub_0804BCEC: @ 0x0804BCEC - movs r0, #1 - bx lr - - thumb_func_start nullsub_178 -nullsub_178: @ 0x0804BCF0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BCF4 -sub_0804BCF4: @ 0x0804BCF4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_179 -nullsub_179: @ 0x0804BCF8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BCFC -sub_0804BCFC: @ 0x0804BCFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_180 -nullsub_180: @ 0x0804BD00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD04 -sub_0804BD04: @ 0x0804BD04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_181 -nullsub_181: @ 0x0804BD08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD0C -sub_0804BD0C: @ 0x0804BD0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_182 -nullsub_182: @ 0x0804BD10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD14 -sub_0804BD14: @ 0x0804BD14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_183 -nullsub_183: @ 0x0804BD18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD1C -sub_0804BD1C: @ 0x0804BD1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_184 -nullsub_184: @ 0x0804BD20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD24 -sub_0804BD24: @ 0x0804BD24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_185 -nullsub_185: @ 0x0804BD28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD2C -sub_0804BD2C: @ 0x0804BD2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_186 -nullsub_186: @ 0x0804BD30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD34 -sub_0804BD34: @ 0x0804BD34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_187 -nullsub_187: @ 0x0804BD38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD3C -sub_0804BD3C: @ 0x0804BD3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_188 -nullsub_188: @ 0x0804BD40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD44 -sub_0804BD44: @ 0x0804BD44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_189 -nullsub_189: @ 0x0804BD48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BD4C -sub_0804BD4C: @ 0x0804BD4C - movs r0, #1 - bx lr - - thumb_func_start sub_0804BD50 -sub_0804BD50: @ 0x0804BD50 - push {r4, lr} - movs r0, #6 - bl sub_0807CA84 - cmp r0, #0 - beq _0804BD94 - ldr r4, _0804BD98 @ =0x00004072 - ldr r1, _0804BD9C @ =0x0000014D - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - movs r1, #0x86 - lsls r1, r1, #1 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r4, #0x1e - movs r1, #0xa6 - lsls r1, r1, #1 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - movs r1, #0xc6 - lsls r1, r1, #1 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r0, _0804BDA0 @ =gUnk_080D7D34 - bl sub_0804ADDC -_0804BD94: - pop {r4, pc} - .align 2, 0 -_0804BD98: .4byte 0x00004072 -_0804BD9C: .4byte 0x0000014D -_0804BDA0: .4byte gUnk_080D7D34 - - thumb_func_start sub_0804BDA4 -sub_0804BDA4: @ 0x0804BDA4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_190 -nullsub_190: @ 0x0804BDA8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BDAC -sub_0804BDAC: @ 0x0804BDAC - movs r0, #1 - bx lr - - thumb_func_start nullsub_191 -nullsub_191: @ 0x0804BDB0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BDB4 -sub_0804BDB4: @ 0x0804BDB4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_192 -nullsub_192: @ 0x0804BDB8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BDBC -sub_0804BDBC: @ 0x0804BDBC - movs r0, #1 - bx lr - - thumb_func_start nullsub_193 -nullsub_193: @ 0x0804BDC0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BDC4 -sub_0804BDC4: @ 0x0804BDC4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_194 -nullsub_194: @ 0x0804BDC8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BDCC -sub_0804BDCC: @ 0x0804BDCC - movs r0, #1 - bx lr - - thumb_func_start sub_0804BDD0 -sub_0804BDD0: @ 0x0804BDD0 - push {lr} - movs r0, #3 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804BDE8 - ldr r0, _0804BDE4 @ =gUnk_080D827C - bl sub_0804ADDC - b _0804BE00 - .align 2, 0 -_0804BDE4: .4byte gUnk_080D827C -_0804BDE8: - bl sub_0805BC4C - movs r0, #0x76 - movs r1, #0x82 - movs r2, #2 - bl sub_0807B314 - movs r0, #0x76 - movs r1, #0x8c - movs r2, #2 - bl sub_0807B314 -_0804BE00: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804BE04 -sub_0804BE04: @ 0x0804BE04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_28 -nullsub_28: @ 0x0804BE08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BE0C -sub_0804BE0C: @ 0x0804BE0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_29 -nullsub_29: @ 0x0804BE10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BE14 -sub_0804BE14: @ 0x0804BE14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_30 -nullsub_30: @ 0x0804BE18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BE1C -sub_0804BE1C: @ 0x0804BE1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_31 -nullsub_31: @ 0x0804BE20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BE24 -sub_0804BE24: @ 0x0804BE24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_32 -nullsub_32: @ 0x0804BE28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BE2C -sub_0804BE2C: @ 0x0804BE2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_33 -nullsub_33: @ 0x0804BE30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BE34 -sub_0804BE34: @ 0x0804BE34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_34 -nullsub_34: @ 0x0804BE38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BE3C -sub_0804BE3C: @ 0x0804BE3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_35 -nullsub_35: @ 0x0804BE40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BE44 -sub_0804BE44: @ 0x0804BE44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_36 -nullsub_36: @ 0x0804BE48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804BE4C -sub_0804BE4C: @ 0x0804BE4C - movs r0, #1 - bx lr - - thumb_func_start sub_0804BE50 -sub_0804BE50: @ 0x0804BE50 - push {lr} - movs r0, #0x68 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804BE62 - movs r0, #0x68 - bl sub_0807CCB4 -_0804BE62: - movs r0, #0x2f - bl sub_0801E7F4 - cmp r0, #0 - beq _0804BE78 - ldr r0, _0804BE74 @ =gUnk_080D8B24 - bl sub_0804ADDC - b _0804BEDE - .align 2, 0 -_0804BE74: .4byte gUnk_080D8B24 -_0804BE78: - movs r0, #0x2b - bl sub_0801E7F4 - cmp r0, #0 - beq _0804BE90 - ldr r0, _0804BE8C @ =gUnk_080D8AC4 - bl sub_0804ADDC - b _0804BEDE - .align 2, 0 -_0804BE8C: .4byte gUnk_080D8AC4 -_0804BE90: - movs r0, #0x26 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804BEA8 - ldr r0, _0804BEA4 @ =gUnk_080D8A74 - bl sub_0804ADDC - b _0804BEDE - .align 2, 0 -_0804BEA4: .4byte gUnk_080D8A74 -_0804BEA8: - movs r0, #0x2a - bl sub_0801E7F4 - cmp r0, #0 - beq _0804BEC0 - ldr r0, _0804BEBC @ =gUnk_080D8A34 - bl sub_0804ADDC - b _0804BEDE - .align 2, 0 -_0804BEBC: .4byte gUnk_080D8A34 -_0804BEC0: - movs r0, #0x25 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804BED8 - ldr r0, _0804BED4 @ =gUnk_080D8A04 - bl sub_0804ADDC - b _0804BEDE - .align 2, 0 -_0804BED4: .4byte gUnk_080D8A04 -_0804BED8: - ldr r0, _0804BF1C @ =gUnk_080D89E4 - bl sub_0804ADDC -_0804BEDE: - movs r0, #0x25 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804BEF2 - ldr r0, _0804BF20 @ =gUnk_080D8BBC - ldr r1, _0804BF24 @ =0x000007C5 - movs r2, #1 - bl sub_0807BB68 -_0804BEF2: - movs r0, #0x26 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804BF06 - ldr r0, _0804BF28 @ =gUnk_080D8BFA - ldr r1, _0804BF2C @ =0x00000503 - movs r2, #1 - bl sub_0807BB68 -_0804BF06: - movs r0, #0x2f - bl sub_0801E7F4 - cmp r0, #0 - beq _0804BF1A - ldr r0, _0804BF30 @ =gUnk_080D8C68 - ldr r1, _0804BF34 @ =0x00000281 - movs r2, #1 - bl sub_0807BB68 -_0804BF1A: - pop {pc} - .align 2, 0 -_0804BF1C: .4byte gUnk_080D89E4 -_0804BF20: .4byte gUnk_080D8BBC -_0804BF24: .4byte 0x000007C5 -_0804BF28: .4byte gUnk_080D8BFA -_0804BF2C: .4byte 0x00000503 -_0804BF30: .4byte gUnk_080D8C68 -_0804BF34: .4byte 0x00000281 - - thumb_func_start sub_0804BF38 -sub_0804BF38: @ 0x0804BF38 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, [r1, #4] - lsls r0, r0, #4 - ldr r1, _0804C000 @ =gUnk_080D8E50 - adds r4, r0, r1 - ldr r0, [r4] - ldrh r1, [r4, #4] - lsrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - ldrh r2, [r4, #6] - lsrs r2, r2, #4 - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - movs r2, #1 - bl sub_0807BB68 - ldrh r0, [r4, #8] - mov r8, r0 - movs r5, #0 - cmp r5, r8 - bhs _0804BFE8 - ldr r7, _0804C004 @ =gUnk_03000BF0 - movs r1, #0 - mov sl, r1 - movs r6, #0 - movs r3, #1 - mov sb, r3 -_0804BF7A: - movs r0, #0xf - movs r1, #0xf - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0804BFA6 - ldrh r0, [r7, #6] - ldrh r1, [r4, #4] - adds r0, r0, r1 - adds r0, r0, r6 - strh r0, [r2, #0x2e] - ldrh r1, [r7, #8] - ldrh r3, [r4, #6] - adds r1, r1, r3 - adds r0, r5, #0 - mov r3, sb - ands r0, r3 - lsls r0, r0, #3 - adds r1, r1, r0 - strh r1, [r2, #0x32] -_0804BFA6: - movs r0, #0xf - movs r1, #0x54 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0804BFE0 - ldrh r0, [r7, #6] - ldrh r1, [r4, #4] - adds r0, r0, r1 - adds r0, r0, r6 - strh r0, [r2, #0x2e] - ldrh r1, [r7, #8] - ldrh r3, [r4, #6] - adds r1, r1, r3 - ldr r0, _0804C008 @ =0x0000FFF4 - adds r1, r1, r0 - adds r0, r5, #0 - mov r3, sb - ands r0, r3 - lsls r0, r0, #3 - adds r1, r1, r0 - strh r1, [r2, #0x32] - mov r0, sl - strb r0, [r2, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #0x24] -_0804BFE0: - adds r6, #0x10 - adds r5, #1 - cmp r5, r8 - blo _0804BF7A -_0804BFE8: - ldrh r0, [r4, #0xa] - ldrh r1, [r4, #0xc] - bl sub_08080964 - ldrh r0, [r4, #0xe] - bl sub_080A3268 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0804C000: .4byte gUnk_080D8E50 -_0804C004: .4byte gUnk_03000BF0 -_0804C008: .4byte 0x0000FFF4 - - thumb_func_start sub_0804C00C -sub_0804C00C: @ 0x0804C00C - movs r0, #1 - bx lr - - thumb_func_start nullsub_195 -nullsub_195: @ 0x0804C010 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C014 -sub_0804C014: @ 0x0804C014 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C018 -sub_0804C018: @ 0x0804C018 - push {r4, lr} - movs r0, #0x20 - bl sub_0807CC30 - cmp r0, #0 - bne _0804C044 - movs r0, #0x3c - bl sub_0807CA84 - cmp r0, #1 - bne _0804C054 - ldr r0, _0804C03C @ =gUnk_080D90C8 - bl sub_0804ADDC - ldr r0, _0804C040 @ =gUnk_080D9108 - bl sub_0804ADDC - b _0804C054 - .align 2, 0 -_0804C03C: .4byte gUnk_080D90C8 -_0804C040: .4byte gUnk_080D9108 -_0804C044: - movs r0, #0x21 - bl sub_0807CC30 - cmp r0, #0 - bne _0804C054 - ldr r0, _0804C0D0 @ =gUnk_080D9108 - bl sub_0804ADDC -_0804C054: - movs r0, #0x3c - bl sub_0807CA84 - cmp r0, #2 - beq _0804C090 - ldr r0, _0804C0D4 @ =gUnk_080D9098 - bl sub_0804ADDC - movs r0, #0xbd - lsls r0, r0, #1 - ldr r1, _0804C0D8 @ =0x0000058E - movs r2, #1 - bl sub_0807B314 - ldr r0, _0804C0DC @ =0x0000017B - ldr r1, _0804C0E0 @ =0x0000058F - movs r2, #1 - bl sub_0807B314 - movs r0, #0xbe - lsls r0, r0, #1 - ldr r1, _0804C0E4 @ =0x000005CE - movs r2, #1 - bl sub_0807B314 - ldr r0, _0804C0E8 @ =0x0000017D - ldr r1, _0804C0EC @ =0x000005CF - movs r2, #1 - bl sub_0807B314 -_0804C090: - bl sub_08054570 - bl sub_08059278 - ldr r4, _0804C0F0 @ =0x00004072 - ldr r1, _0804C0F4 @ =0x00000A47 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804C0F8 @ =0x00000C47 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - movs r0, #0x62 - bl sub_0807CC30 - cmp r0, #0 - beq _0804C0C8 - ldr r0, _0804C0FC @ =gUnk_030010A0 - ldr r1, [r0, #0x10] - ldr r0, _0804C100 @ =0x02780078 - cmp r1, r0 - bne _0804C0C8 - movs r0, #0x72 - bl sub_080A3268 -_0804C0C8: - movs r0, #0x62 - bl sub_0807CD80 - pop {r4, pc} - .align 2, 0 -_0804C0D0: .4byte gUnk_080D9108 -_0804C0D4: .4byte gUnk_080D9098 -_0804C0D8: .4byte 0x0000058E -_0804C0DC: .4byte 0x0000017B -_0804C0E0: .4byte 0x0000058F -_0804C0E4: .4byte 0x000005CE -_0804C0E8: .4byte 0x0000017D -_0804C0EC: .4byte 0x000005CF -_0804C0F0: .4byte 0x00004072 -_0804C0F4: .4byte 0x00000A47 -_0804C0F8: .4byte 0x00000C47 -_0804C0FC: .4byte gUnk_030010A0 -_0804C100: .4byte 0x02780078 - - thumb_func_start sub_0804C104 -sub_0804C104: @ 0x0804C104 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C108 -sub_0804C108: @ 0x0804C108 - push {lr} - ldr r2, _0804C124 @ =gUnk_02033A90 - ldrb r1, [r2] - movs r0, #0x40 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r2, #0xd] - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0xd] - bl sub_0804C128 - pop {pc} - .align 2, 0 -_0804C124: .4byte gUnk_02033A90 - - thumb_func_start sub_0804C128 -sub_0804C128: @ 0x0804C128 - push {r4, r5, lr} - movs r0, #0 - bl sub_080AF250 - ldr r0, _0804C15C @ =gUnk_02034350 - ldrb r0, [r0] - cmp r0, #0 - bne _0804C13A - b _0804C24C -_0804C13A: - ldr r1, _0804C160 @ =gUnk_02033A90 - ldrb r3, [r1, #0xd] - movs r0, #0xe - ands r0, r3 - adds r5, r1, #0 - cmp r0, #0 - bne _0804C164 - movs r0, #0xf0 - ands r0, r3 - cmp r0, #0 - bne _0804C19C - movs r0, #0xf - rsbs r0, r0, #0 - ands r0, r3 - movs r1, #2 - orrs r0, r1 - b _0804C19A - .align 2, 0 -_0804C15C: .4byte gUnk_02034350 -_0804C160: .4byte gUnk_02033A90 -_0804C164: - ldr r2, _0804C18C @ =gUnk_03000BF0 - ldr r1, _0804C190 @ =gUnk_080D9338 - lsls r4, r3, #0x1c - lsrs r0, r4, #0x1d - adds r0, r0, r1 - ldrb r1, [r2, #0x10] - ldrb r0, [r0] - cmp r1, r0 - bne _0804C194 - lsrs r0, r4, #0x1d - adds r0, #1 - movs r1, #7 - ands r0, r1 - lsls r0, r0, #1 - movs r1, #0xf - rsbs r1, r1, #0 - ands r1, r3 - orrs r1, r0 - strb r1, [r5, #0xd] - b _0804C19C - .align 2, 0 -_0804C18C: .4byte gUnk_03000BF0 -_0804C190: .4byte gUnk_080D9338 -_0804C194: - movs r0, #0xf - rsbs r0, r0, #0 - ands r0, r3 -_0804C19A: - strb r0, [r5, #0xd] -_0804C19C: - ldrb r3, [r5, #0xd] - movs r0, #0xe - ands r0, r3 - cmp r0, #0 - bne _0804C1DE - ldr r2, _0804C1D0 @ =gUnk_03000BF0 - ldr r1, _0804C1D4 @ =gUnk_080D9340 - lsls r4, r3, #0x18 - lsrs r0, r4, #0x1c - adds r0, r0, r1 - ldrb r1, [r2, #0x10] - ldrb r0, [r0] - cmp r1, r0 - bne _0804C1D8 - lsrs r0, r4, #0x1c - adds r0, #1 - lsls r0, r0, #4 - movs r1, #0xf - ands r1, r3 - orrs r1, r0 - movs r0, #0xf - rsbs r0, r0, #0 - ands r1, r0 - strb r1, [r5, #0xd] - b _0804C1DE - .align 2, 0 -_0804C1D0: .4byte gUnk_03000BF0 -_0804C1D4: .4byte gUnk_080D9340 -_0804C1D8: - movs r0, #0xf - ands r0, r3 - strb r0, [r5, #0xd] -_0804C1DE: - adds r4, r5, #0 - ldrb r1, [r4, #0xd] - movs r0, #0xe - ands r0, r1 - cmp r0, #0xc - bne _0804C206 - movs r0, #1 - bl sub_080AF250 - movs r0, #0x62 - bl sub_0807CD04 - bl sub_0804C290 - ldrb r1, [r4, #0xd] - movs r0, #0xf - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0xd] - b _0804C254 -_0804C206: - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0x60 - bne _0804C250 - movs r0, #1 - bl sub_080AF250 - movs r0, #0x5c - bl sub_0807CBD0 - cmp r0, #0 - bne _0804C228 - ldr r1, _0804C244 @ =0x00000107 - movs r0, #0x73 - movs r2, #1 - bl sub_0807B314 -_0804C228: - ldr r0, _0804C248 @ =gUnk_080D9328 - bl sub_0804B1AC - movs r0, #0x62 - bl sub_0807CD04 - bl sub_0804C290 - ldrb r1, [r5, #0xd] - movs r0, #0xf - ands r0, r1 - strb r0, [r5, #0xd] - b _0804C254 - .align 2, 0 -_0804C244: .4byte 0x00000107 -_0804C248: .4byte gUnk_080D9328 -_0804C24C: - bl sub_0804C258 -_0804C250: - bl sub_0804C290 -_0804C254: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0804C258 -sub_0804C258: @ 0x0804C258 - push {lr} - ldr r3, _0804C288 @ =gUnk_02033A90 - ldrb r0, [r3, #0xd] - movs r2, #0xf - rsbs r2, r2, #0 - ands r2, r0 - movs r0, #2 - orrs r2, r0 - movs r0, #0xf - ands r2, r0 - strb r2, [r3, #0xd] - ldr r0, _0804C28C @ =gUnk_030010A0 - ldrb r0, [r0, #0xe] - cmp r0, #4 - bne _0804C284 - movs r1, #0xe - adds r0, r2, #0 - orrs r0, r1 - strb r0, [r3, #0xd] - movs r0, #1 - bl sub_080AF250 -_0804C284: - pop {pc} - .align 2, 0 -_0804C288: .4byte gUnk_02033A90 -_0804C28C: .4byte gUnk_030010A0 - - thumb_func_start sub_0804C290 -sub_0804C290: @ 0x0804C290 - push {lr} - ldr r0, _0804C2B4 @ =gUnk_02033A90 - ldrb r1, [r0, #0xd] - movs r0, #0xe - ands r0, r1 - cmp r0, #0 - beq _0804C2B2 - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1d - lsls r1, r1, #2 - ldr r0, _0804C2B8 @ =gUnk_080D9348 - adds r1, r1, r0 - ldrh r0, [r1] - ldrh r1, [r1, #2] - movs r2, #1 - bl sub_0807B314 -_0804C2B2: - pop {pc} - .align 2, 0 -_0804C2B4: .4byte gUnk_02033A90 -_0804C2B8: .4byte gUnk_080D9348 - - thumb_func_start sub_0804C2BC -sub_0804C2BC: @ 0x0804C2BC - movs r0, #1 - bx lr - - thumb_func_start nullsub_196 -nullsub_196: @ 0x0804C2C0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C2C4 -sub_0804C2C4: @ 0x0804C2C4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_197 -nullsub_197: @ 0x0804C2C8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C2CC -sub_0804C2CC: @ 0x0804C2CC - movs r0, #1 - bx lr - - thumb_func_start sub_0804C2D0 -sub_0804C2D0: @ 0x0804C2D0 - push {lr} - movs r0, #0 - bl sub_08058324 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804C2DC -sub_0804C2DC: @ 0x0804C2DC - movs r0, #1 - bx lr - - thumb_func_start sub_0804C2E0 -sub_0804C2E0: @ 0x0804C2E0 - push {lr} - movs r0, #1 - bl sub_08058324 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804C2EC -sub_0804C2EC: @ 0x0804C2EC - movs r0, #1 - bx lr - - thumb_func_start sub_0804C2F0 -sub_0804C2F0: @ 0x0804C2F0 - push {lr} - movs r0, #2 - bl sub_08058324 - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0804C312 - movs r0, #0x2a - bl sub_0807CC30 - cmp r0, #0 - bne _0804C312 - ldr r0, _0804C314 @ =gUnk_080D9800 - bl sub_0804ADDC -_0804C312: - pop {pc} - .align 2, 0 -_0804C314: .4byte gUnk_080D9800 - - thumb_func_start sub_0804C318 -sub_0804C318: @ 0x0804C318 - push {lr} - bl sub_0804C2F0 - pop {pc} - - thumb_func_start sub_0804C320 -sub_0804C320: @ 0x0804C320 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C324 -sub_0804C324: @ 0x0804C324 - push {lr} - movs r0, #3 - bl sub_08058324 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804C330 -sub_0804C330: @ 0x0804C330 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C334 -sub_0804C334: @ 0x0804C334 - push {lr} - movs r0, #0x1e - bl sub_0807CD04 - movs r0, #0x5b - bl sub_0801E7F4 - cmp r0, #0 - beq _0804C34C - ldr r0, _0804C374 @ =gUnk_080D9CC8 - bl sub_0804ADDC -_0804C34C: - ldr r0, _0804C378 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x16 - ands r0, r1 - cmp r0, #0 - bne _0804C360 - ldr r0, _0804C37C @ =gUnk_080D9CE8 - bl sub_0804ADDC -_0804C360: - movs r0, #0x15 - bl sub_0807CA84 - cmp r0, #0 - bne _0804C370 - ldr r0, _0804C380 @ =gUnk_080D9C38 - bl sub_0804ADDC -_0804C370: - pop {pc} - .align 2, 0 -_0804C374: .4byte gUnk_080D9CC8 -_0804C378: .4byte gUnk_02002A40 -_0804C37C: .4byte gUnk_080D9CE8 -_0804C380: .4byte gUnk_080D9C38 - - thumb_func_start sub_0804C384 -sub_0804C384: @ 0x0804C384 - push {lr} - ldr r0, _0804C39C @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x16 - ands r0, r1 - cmp r0, #0 - bne _0804C39A - ldr r0, _0804C3A0 @ =gUnk_080D9CE8 - bl sub_0804ADDC -_0804C39A: - pop {pc} - .align 2, 0 -_0804C39C: .4byte gUnk_02002A40 -_0804C3A0: .4byte gUnk_080D9CE8 - - thumb_func_start sub_0804C3A4 -sub_0804C3A4: @ 0x0804C3A4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_198 -nullsub_198: @ 0x0804C3A8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C3AC -sub_0804C3AC: @ 0x0804C3AC - movs r0, #1 - bx lr - - thumb_func_start nullsub_199 -nullsub_199: @ 0x0804C3B0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C3B4 -sub_0804C3B4: @ 0x0804C3B4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_200 -nullsub_200: @ 0x0804C3B8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C3BC -sub_0804C3BC: @ 0x0804C3BC - movs r0, #1 - bx lr - - thumb_func_start nullsub_201 -nullsub_201: @ 0x0804C3C0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C3C4 -sub_0804C3C4: @ 0x0804C3C4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_202 -nullsub_202: @ 0x0804C3C8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C3CC -sub_0804C3CC: @ 0x0804C3CC - push {lr} - movs r0, #0x39 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804C3DE - ldr r1, _0804C3E4 @ =gUnk_02034350 - ldr r0, _0804C3E8 @ =gUnk_080DA230 - str r0, [r1, #0x6c] -_0804C3DE: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804C3E4: .4byte gUnk_02034350 -_0804C3E8: .4byte gUnk_080DA230 - - thumb_func_start nullsub_203 -nullsub_203: @ 0x0804C3EC - bx lr - .align 2, 0 - - thumb_func_start sub_0804C3F0 -sub_0804C3F0: @ 0x0804C3F0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_204 -nullsub_204: @ 0x0804C3F4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C3F8 -sub_0804C3F8: @ 0x0804C3F8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_205 -nullsub_205: @ 0x0804C3FC - bx lr - .align 2, 0 - - thumb_func_start sub_0804C400 -sub_0804C400: @ 0x0804C400 - movs r0, #1 - bx lr - - thumb_func_start nullsub_206 -nullsub_206: @ 0x0804C404 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C408 -sub_0804C408: @ 0x0804C408 - movs r0, #1 - bx lr - - thumb_func_start nullsub_207 -nullsub_207: @ 0x0804C40C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C410 -sub_0804C410: @ 0x0804C410 - movs r0, #1 - bx lr - - thumb_func_start nullsub_208 -nullsub_208: @ 0x0804C414 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C418 -sub_0804C418: @ 0x0804C418 - movs r0, #1 - bx lr - - thumb_func_start nullsub_209 -nullsub_209: @ 0x0804C41C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C420 -sub_0804C420: @ 0x0804C420 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C424 -sub_0804C424: @ 0x0804C424 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C42C -sub_0804C42C: @ 0x0804C42C - movs r0, #1 - bx lr - - thumb_func_start sub_0804C430 -sub_0804C430: @ 0x0804C430 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C438 -sub_0804C438: @ 0x0804C438 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C43C -sub_0804C43C: @ 0x0804C43C - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C444 -sub_0804C444: @ 0x0804C444 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C448 -sub_0804C448: @ 0x0804C448 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C450 -sub_0804C450: @ 0x0804C450 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C454 -sub_0804C454: @ 0x0804C454 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C45C -sub_0804C45C: @ 0x0804C45C - movs r0, #1 - bx lr - - thumb_func_start sub_0804C460 -sub_0804C460: @ 0x0804C460 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C468 -sub_0804C468: @ 0x0804C468 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C46C -sub_0804C46C: @ 0x0804C46C - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C474 -sub_0804C474: @ 0x0804C474 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C478 -sub_0804C478: @ 0x0804C478 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C480 -sub_0804C480: @ 0x0804C480 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C484 -sub_0804C484: @ 0x0804C484 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C48C -sub_0804C48C: @ 0x0804C48C - movs r0, #1 - bx lr - - thumb_func_start sub_0804C490 -sub_0804C490: @ 0x0804C490 - push {r4, lr} - movs r0, #0x5b - bl sub_0807CA84 - cmp r0, #0 - bne _0804C4A8 - ldr r0, _0804C4A4 @ =gUnk_080DAB44 - bl sub_0804ADDC - b _0804C4AE - .align 2, 0 -_0804C4A4: .4byte gUnk_080DAB44 -_0804C4A8: - ldr r0, _0804C4D8 @ =gUnk_080DAB64 - bl sub_0804ADDC -_0804C4AE: - movs r0, #0x54 - bl sub_0807CC30 - cmp r0, #0 - beq _0804C4F0 - bl sub_08060354 - cmp r0, #0 - beq _0804C4F0 - movs r0, #0 - bl sub_0807CD10 - movs r0, #0x3b - bl sub_0807CC30 - cmp r0, #0 - bne _0804C4DC - movs r4, #0xc8 - lsls r4, r4, #6 - b _0804C522 - .align 2, 0 -_0804C4D8: .4byte gUnk_080DAB64 -_0804C4DC: - movs r0, #0x3c - bl sub_0807CC30 - movs r4, #0x91 - lsls r4, r4, #7 - cmp r0, #0 - bne _0804C522 - movs r4, #0x8c - lsls r4, r4, #7 - b _0804C522 -_0804C4F0: - movs r0, #0x3d - bl sub_0807CC30 - cmp r0, #0 - beq _0804C500 - movs r4, #0x92 - lsls r4, r4, #7 - b _0804C522 -_0804C500: - movs r0, #0x3c - bl sub_0807CC30 - cmp r0, #0 - beq _0804C510 - movs r4, #0x94 - lsls r4, r4, #7 - b _0804C522 -_0804C510: - movs r0, #0x3b - bl sub_0807CC30 - movs r4, #0x92 - lsls r4, r4, #8 - cmp r0, #0 - beq _0804C522 - movs r4, #0xa4 - lsls r4, r4, #7 -_0804C522: - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r4 - cmp r0, #0 - beq _0804C532 - ldr r0, _0804C5B8 @ =gUnk_080DAB84 - bl sub_0804ADDC -_0804C532: - movs r0, #0x80 - lsls r0, r0, #7 - ands r0, r4 - cmp r0, #0 - beq _0804C542 - ldr r0, _0804C5BC @ =gUnk_080DAC54 - bl sub_0804ADDC -_0804C542: - movs r0, #0x80 - lsls r0, r0, #6 - ands r0, r4 - cmp r0, #0 - beq _0804C552 - ldr r0, _0804C5C0 @ =gUnk_080DAD24 - bl sub_0804ADDC -_0804C552: - movs r0, #0x80 - lsls r0, r0, #5 - ands r0, r4 - cmp r0, #0 - beq _0804C562 - ldr r0, _0804C5C4 @ =gUnk_080DABC4 - bl sub_0804ADDC -_0804C562: - movs r0, #0x80 - lsls r0, r0, #4 - ands r0, r4 - cmp r0, #0 - beq _0804C572 - ldr r0, _0804C5C8 @ =gUnk_080DAC94 - bl sub_0804ADDC -_0804C572: - movs r0, #0x80 - lsls r0, r0, #3 - ands r0, r4 - cmp r0, #0 - beq _0804C582 - ldr r0, _0804C5CC @ =gUnk_080DAD64 - bl sub_0804ADDC -_0804C582: - movs r0, #0x80 - lsls r0, r0, #2 - ands r0, r4 - cmp r0, #0 - beq _0804C592 - ldr r0, _0804C5D0 @ =gUnk_080DAC04 - bl sub_0804ADDC -_0804C592: - movs r0, #0x80 - lsls r0, r0, #1 - ands r0, r4 - cmp r0, #0 - beq _0804C5A2 - ldr r0, _0804C5D4 @ =gUnk_080DACD4 - bl sub_0804ADDC -_0804C5A2: - movs r0, #0x80 - ands r4, r0 - cmp r4, #0 - beq _0804C5B0 - ldr r0, _0804C5D8 @ =gUnk_080DADA4 - bl sub_0804ADDC -_0804C5B0: - bl sub_0801AFE4 - pop {r4, pc} - .align 2, 0 -_0804C5B8: .4byte gUnk_080DAB84 -_0804C5BC: .4byte gUnk_080DAC54 -_0804C5C0: .4byte gUnk_080DAD24 -_0804C5C4: .4byte gUnk_080DABC4 -_0804C5C8: .4byte gUnk_080DAC94 -_0804C5CC: .4byte gUnk_080DAD64 -_0804C5D0: .4byte gUnk_080DAC04 -_0804C5D4: .4byte gUnk_080DACD4 -_0804C5D8: .4byte gUnk_080DADA4 - - thumb_func_start sub_0804C5DC -sub_0804C5DC: @ 0x0804C5DC - movs r0, #1 - bx lr - - thumb_func_start sub_0804C5E0 -sub_0804C5E0: @ 0x0804C5E0 - push {lr} - movs r0, #0x56 - bl sub_0807CC30 - cmp r0, #0 - beq _0804C5F2 - ldr r0, _0804C5F8 @ =gUnk_080DAEE8 - bl sub_0804ADDC -_0804C5F2: - bl sub_0801AFE4 - pop {pc} - .align 2, 0 -_0804C5F8: .4byte gUnk_080DAEE8 - - thumb_func_start sub_0804C5FC -sub_0804C5FC: @ 0x0804C5FC - movs r0, #1 - bx lr - - thumb_func_start sub_0804C600 -sub_0804C600: @ 0x0804C600 - push {lr} - movs r0, #0x56 - bl sub_0807CC30 - cmp r0, #0 - beq _0804C612 - ldr r0, _0804C618 @ =gUnk_080DAF80 - bl sub_0804ADDC -_0804C612: - bl sub_0801AFE4 - pop {pc} - .align 2, 0 -_0804C618: .4byte gUnk_080DAF80 - - thumb_func_start sub_0804C61C -sub_0804C61C: @ 0x0804C61C - movs r0, #1 - bx lr - - thumb_func_start sub_0804C620 -sub_0804C620: @ 0x0804C620 - push {lr} - movs r0, #0x56 - bl sub_0807CC30 - cmp r0, #0 - beq _0804C632 - ldr r0, _0804C638 @ =gUnk_080DB018 - bl sub_0804ADDC -_0804C632: - bl sub_0801AFE4 - pop {pc} - .align 2, 0 -_0804C638: .4byte gUnk_080DB018 - - thumb_func_start sub_0804C63C -sub_0804C63C: @ 0x0804C63C - movs r0, #1 - bx lr - - thumb_func_start sub_0804C640 -sub_0804C640: @ 0x0804C640 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C648 -sub_0804C648: @ 0x0804C648 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C64C -sub_0804C64C: @ 0x0804C64C - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C654 -sub_0804C654: @ 0x0804C654 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C658 -sub_0804C658: @ 0x0804C658 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C660 -sub_0804C660: @ 0x0804C660 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C664 -sub_0804C664: @ 0x0804C664 - push {lr} - ldr r0, _0804C67C @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #8 - bls _0804C674 - ldr r0, _0804C680 @ =gUnk_080DB238 - bl sub_0804ADDC -_0804C674: - bl sub_0801AFE4 - pop {pc} - .align 2, 0 -_0804C67C: .4byte gUnk_02002A40 -_0804C680: .4byte gUnk_080DB238 - - thumb_func_start sub_0804C684 -sub_0804C684: @ 0x0804C684 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C688 -sub_0804C688: @ 0x0804C688 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C690 -sub_0804C690: @ 0x0804C690 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C694 -sub_0804C694: @ 0x0804C694 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C69C -sub_0804C69C: @ 0x0804C69C - movs r0, #1 - bx lr - - thumb_func_start sub_0804C6A0 -sub_0804C6A0: @ 0x0804C6A0 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C6A8 -sub_0804C6A8: @ 0x0804C6A8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C6AC -sub_0804C6AC: @ 0x0804C6AC - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C6B4 -sub_0804C6B4: @ 0x0804C6B4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C6B8 -sub_0804C6B8: @ 0x0804C6B8 - push {lr} - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0804C6E4 - movs r0, #0x3b - bl sub_0807CA84 - cmp r0, #0 - bne _0804C6E4 - movs r0, #0x71 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804C6E4 - ldr r0, _0804C6E0 @ =gUnk_080DB4D0 - bl sub_0804ADDC - b _0804C6EA - .align 2, 0 -_0804C6E0: .4byte gUnk_080DB4D0 -_0804C6E4: - ldr r0, _0804C6F0 @ =gUnk_080DB4A0 - bl sub_0804ADDC -_0804C6EA: - bl sub_0801AFE4 - pop {pc} - .align 2, 0 -_0804C6F0: .4byte gUnk_080DB4A0 - - thumb_func_start sub_0804C6F4 -sub_0804C6F4: @ 0x0804C6F4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C6F8 -sub_0804C6F8: @ 0x0804C6F8 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C700 -sub_0804C700: @ 0x0804C700 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C704 -sub_0804C704: @ 0x0804C704 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C70C -sub_0804C70C: @ 0x0804C70C - movs r0, #1 - bx lr - - thumb_func_start sub_0804C710 -sub_0804C710: @ 0x0804C710 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C718 -sub_0804C718: @ 0x0804C718 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C71C -sub_0804C71C: @ 0x0804C71C - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C724 -sub_0804C724: @ 0x0804C724 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C728 -sub_0804C728: @ 0x0804C728 - push {lr} - bl sub_0801AFE4 - pop {pc} - - thumb_func_start sub_0804C730 -sub_0804C730: @ 0x0804C730 - push {lr} - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0804C74C - movs r0, #0x73 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804C74C - ldr r1, _0804C750 @ =gUnk_02034350 - ldr r0, _0804C754 @ =gUnk_080DB910 - str r0, [r1, #0x70] -_0804C74C: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804C750: .4byte gUnk_02034350 -_0804C754: .4byte gUnk_080DB910 - - thumb_func_start sub_0804C758 -sub_0804C758: @ 0x0804C758 - push {lr} - ldr r0, _0804C780 @ =gUnk_080DB8F0 - bl sub_0804ADDC - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0804C77A - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0804C77A - ldr r0, _0804C784 @ =gUnk_080DB820 - bl sub_0804ADDC -_0804C77A: - bl sub_0801AFE4 - pop {pc} - .align 2, 0 -_0804C780: .4byte gUnk_080DB8F0 -_0804C784: .4byte gUnk_080DB820 - - thumb_func_start sub_0804C788 -sub_0804C788: @ 0x0804C788 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C78C -sub_0804C78C: @ 0x0804C78C - push {lr} - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0804C7A2 - movs r0, #0x73 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804C7A8 -_0804C7A2: - ldr r0, _0804C7B0 @ =gUnk_080DBA08 - bl sub_0804ADDC -_0804C7A8: - bl sub_0801AFE4 - pop {pc} - .align 2, 0 -_0804C7B0: .4byte gUnk_080DBA08 - - thumb_func_start sub_0804C7B4 -sub_0804C7B4: @ 0x0804C7B4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C7B8 -sub_0804C7B8: @ 0x0804C7B8 - push {r4, r5, lr} - movs r0, #0x60 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804C7CA - ldr r0, _0804C7E4 @ =gUnk_080DBB50 - bl sub_0804ADDC -_0804C7CA: - movs r0, #0x15 - bl sub_0807CA84 - cmp r0, #1 - bne _0804C7F0 - ldr r0, _0804C7E8 @ =gUnk_080DBB70 - bl sub_0804ADDC - ldr r0, _0804C7EC @ =gUnk_080DBB10 - bl sub_0804ADDC - b _0804C7F6 - .align 2, 0 -_0804C7E4: .4byte gUnk_080DBB50 -_0804C7E8: .4byte gUnk_080DBB70 -_0804C7EC: .4byte gUnk_080DBB10 -_0804C7F0: - ldr r0, _0804C824 @ =gUnk_080DBAD0 - bl sub_0804ADDC -_0804C7F6: - movs r0, #0x62 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804C818 - movs r5, #0xa0 - lsls r5, r5, #1 - movs r4, #0 -_0804C806: - ldr r0, _0804C828 @ =0x00004072 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - adds r4, #1 - adds r5, #1 - cmp r4, #0x12 - bls _0804C806 -_0804C818: - ldr r0, _0804C82C @ =gUnk_080DBB90 - bl sub_0804ADDC - bl sub_0801AFE4 - pop {r4, r5, pc} - .align 2, 0 -_0804C824: .4byte gUnk_080DBAD0 -_0804C828: .4byte 0x00004072 -_0804C82C: .4byte gUnk_080DBB90 - - thumb_func_start sub_0804C830 -sub_0804C830: @ 0x0804C830 - movs r0, #1 - bx lr - - thumb_func_start nullsub_210 -nullsub_210: @ 0x0804C834 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C838 -sub_0804C838: @ 0x0804C838 - movs r0, #1 - bx lr - - thumb_func_start nullsub_211 -nullsub_211: @ 0x0804C83C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C840 -sub_0804C840: @ 0x0804C840 - movs r0, #1 - bx lr - - thumb_func_start nullsub_212 -nullsub_212: @ 0x0804C844 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C848 -sub_0804C848: @ 0x0804C848 - movs r0, #1 - bx lr - - thumb_func_start nullsub_213 -nullsub_213: @ 0x0804C84C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C850 -sub_0804C850: @ 0x0804C850 - movs r0, #1 - bx lr - - thumb_func_start nullsub_214 -nullsub_214: @ 0x0804C854 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C858 -sub_0804C858: @ 0x0804C858 - movs r0, #1 - bx lr - - thumb_func_start nullsub_215 -nullsub_215: @ 0x0804C85C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C860 -sub_0804C860: @ 0x0804C860 - movs r0, #1 - bx lr - - thumb_func_start nullsub_216 -nullsub_216: @ 0x0804C864 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C868 -sub_0804C868: @ 0x0804C868 - movs r0, #1 - bx lr - - thumb_func_start nullsub_217 -nullsub_217: @ 0x0804C86C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C870 -sub_0804C870: @ 0x0804C870 - movs r0, #1 - bx lr - - thumb_func_start nullsub_218 -nullsub_218: @ 0x0804C874 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C878 -sub_0804C878: @ 0x0804C878 - movs r0, #1 - bx lr - - thumb_func_start nullsub_219 -nullsub_219: @ 0x0804C87C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C880 -sub_0804C880: @ 0x0804C880 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C884 -sub_0804C884: @ 0x0804C884 - push {lr} - movs r0, #0x5b - bl sub_0807CA84 - cmp r0, #0 - bne _0804C8B4 - ldr r0, _0804C8AC @ =gUnk_080DC390 - bl sub_0804ADDC - movs r0, #0x80 - lsls r0, r0, #2 - movs r1, #0x80 - bl sub_0807CB10 - cmp r0, #0 - bne _0804C8CA - ldr r0, _0804C8B0 @ =gUnk_080DC3F0 - bl sub_0804ADDC - b _0804C8CA - .align 2, 0 -_0804C8AC: .4byte gUnk_080DC390 -_0804C8B0: .4byte gUnk_080DC3F0 -_0804C8B4: - ldr r0, _0804C900 @ =gUnk_080DC430 - bl sub_0804ADDC - movs r0, #0x11 - bl sub_0807CA84 - cmp r0, #0 - bne _0804C8CA - ldr r0, _0804C904 @ =gUnk_080DC530 - bl sub_0804ADDC -_0804C8CA: - movs r0, #0x80 - lsls r0, r0, #2 - movs r1, #0x83 - bl sub_0807CB10 - cmp r0, #0 - bne _0804C8E8 - movs r0, #0x11 - bl sub_0807CA84 - cmp r0, #0 - beq _0804C8E8 - ldr r0, _0804C908 @ =gUnk_080DC470 - bl sub_0804ADDC -_0804C8E8: - movs r0, #0x8d - bl sub_0807CBD0 - cmp r0, #0 - bne _0804C8F8 - ldr r0, _0804C90C @ =gUnk_080DC4C0 - bl sub_0804ADDC -_0804C8F8: - bl sub_08057E64 - pop {pc} - .align 2, 0 -_0804C900: .4byte gUnk_080DC430 -_0804C904: .4byte gUnk_080DC530 -_0804C908: .4byte gUnk_080DC470 -_0804C90C: .4byte gUnk_080DC4C0 - - thumb_func_start sub_0804C910 -sub_0804C910: @ 0x0804C910 - movs r0, #1 - bx lr - - thumb_func_start nullsub_220 -nullsub_220: @ 0x0804C914 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C918 -sub_0804C918: @ 0x0804C918 - push {r4, r5, lr} - ldr r4, _0804C940 @ =gUnk_086D4460 - movs r1, #0xc0 - lsls r1, r1, #0x13 - movs r5, #0x80 - lsls r5, r5, #7 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_08000E96 - adds r4, r4, r5 - ldr r1, _0804C944 @ =0x06008000 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_08000E96 - movs r0, #0x19 - bl sub_0801D714 - pop {r4, r5, pc} - .align 2, 0 -_0804C940: .4byte gUnk_086D4460 -_0804C944: .4byte 0x06008000 - - thumb_func_start sub_0804C948 -sub_0804C948: @ 0x0804C948 - movs r0, #1 - bx lr - - thumb_func_start nullsub_221 -nullsub_221: @ 0x0804C94C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C950 -sub_0804C950: @ 0x0804C950 - movs r0, #1 - bx lr - - thumb_func_start nullsub_222 -nullsub_222: @ 0x0804C954 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C958 -sub_0804C958: @ 0x0804C958 - movs r0, #1 - bx lr - - thumb_func_start nullsub_223 -nullsub_223: @ 0x0804C95C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C960 -sub_0804C960: @ 0x0804C960 - movs r0, #1 - bx lr - - thumb_func_start nullsub_224 -nullsub_224: @ 0x0804C964 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C968 -sub_0804C968: @ 0x0804C968 - movs r0, #1 - bx lr - - thumb_func_start nullsub_225 -nullsub_225: @ 0x0804C96C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C970 -sub_0804C970: @ 0x0804C970 - movs r0, #1 - bx lr - - thumb_func_start nullsub_226 -nullsub_226: @ 0x0804C974 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C978 -sub_0804C978: @ 0x0804C978 - movs r0, #1 - bx lr - - thumb_func_start nullsub_227 -nullsub_227: @ 0x0804C97C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C980 -sub_0804C980: @ 0x0804C980 - movs r0, #1 - bx lr - - thumb_func_start nullsub_228 -nullsub_228: @ 0x0804C984 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C988 -sub_0804C988: @ 0x0804C988 - movs r0, #1 - bx lr - - thumb_func_start nullsub_229 -nullsub_229: @ 0x0804C98C - bx lr - .align 2, 0 - - thumb_func_start sub_0804C990 -sub_0804C990: @ 0x0804C990 - movs r0, #1 - bx lr - - thumb_func_start nullsub_230 -nullsub_230: @ 0x0804C994 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C998 -sub_0804C998: @ 0x0804C998 - movs r0, #1 - bx lr - - thumb_func_start sub_0804C99C -sub_0804C99C: @ 0x0804C99C - push {lr} - movs r0, #9 - bl sub_0807CA84 - cmp r0, #0 - bne _0804C9AE - ldr r0, _0804C9B0 @ =gUnk_080DCB10 - bl sub_0804ADDC -_0804C9AE: - pop {pc} - .align 2, 0 -_0804C9B0: .4byte gUnk_080DCB10 - - thumb_func_start sub_0804C9B4 -sub_0804C9B4: @ 0x0804C9B4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_231 -nullsub_231: @ 0x0804C9B8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C9BC -sub_0804C9BC: @ 0x0804C9BC - movs r0, #1 - bx lr - - thumb_func_start nullsub_232 -nullsub_232: @ 0x0804C9C0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C9C4 -sub_0804C9C4: @ 0x0804C9C4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_233 -nullsub_233: @ 0x0804C9C8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C9CC -sub_0804C9CC: @ 0x0804C9CC - movs r0, #1 - bx lr - - thumb_func_start nullsub_234 -nullsub_234: @ 0x0804C9D0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C9D4 -sub_0804C9D4: @ 0x0804C9D4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_235 -nullsub_235: @ 0x0804C9D8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C9DC -sub_0804C9DC: @ 0x0804C9DC - movs r0, #1 - bx lr - - thumb_func_start nullsub_236 -nullsub_236: @ 0x0804C9E0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C9E4 -sub_0804C9E4: @ 0x0804C9E4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_237 -nullsub_237: @ 0x0804C9E8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C9EC -sub_0804C9EC: @ 0x0804C9EC - movs r0, #1 - bx lr - - thumb_func_start nullsub_238 -nullsub_238: @ 0x0804C9F0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C9F4 -sub_0804C9F4: @ 0x0804C9F4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_239 -nullsub_239: @ 0x0804C9F8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804C9FC -sub_0804C9FC: @ 0x0804C9FC - movs r0, #1 - bx lr - - thumb_func_start nullsub_240 -nullsub_240: @ 0x0804CA00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CA04 -sub_0804CA04: @ 0x0804CA04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_241 -nullsub_241: @ 0x0804CA08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CA0C -sub_0804CA0C: @ 0x0804CA0C - movs r0, #1 - bx lr - - thumb_func_start sub_0804CA10 -sub_0804CA10: @ 0x0804CA10 - push {lr} - movs r0, #0x56 - bl sub_0807CC30 - cmp r0, #0 - bne _0804CA22 - ldr r0, _0804CA34 @ =gUnk_080DD214 - bl sub_0804ADDC -_0804CA22: - movs r0, #0x7f - bl sub_0807CBD0 - cmp r0, #0 - bne _0804CA3C - ldr r0, _0804CA38 @ =gUnk_080DD274 - bl sub_0804ADDC - b _0804CA42 - .align 2, 0 -_0804CA34: .4byte gUnk_080DD214 -_0804CA38: .4byte gUnk_080DD274 -_0804CA3C: - ldr r0, _0804CA4C @ =gUnk_080DD294 - bl sub_0804ADDC -_0804CA42: - movs r0, #0x8e - bl sub_0807CCB4 - pop {pc} - .align 2, 0 -_0804CA4C: .4byte gUnk_080DD294 - - thumb_func_start sub_0804CA50 -sub_0804CA50: @ 0x0804CA50 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CA54 -sub_0804CA54: @ 0x0804CA54 - push {lr} - ldr r0, _0804CA6C @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x13 - ands r0, r1 - cmp r0, #0 - bne _0804CA6A - ldr r0, _0804CA70 @ =gUnk_080DD364 - bl sub_0804ADDC -_0804CA6A: - pop {pc} - .align 2, 0 -_0804CA6C: .4byte gUnk_02002A40 -_0804CA70: .4byte gUnk_080DD364 - - thumb_func_start sub_0804CA74 -sub_0804CA74: @ 0x0804CA74 - push {lr} - ldr r0, _0804CA8C @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x13 - ands r0, r1 - cmp r0, #0 - bne _0804CA8A - ldr r0, _0804CA90 @ =gUnk_080DD364 - bl sub_0804ADDC -_0804CA8A: - pop {pc} - .align 2, 0 -_0804CA8C: .4byte gUnk_02002A40 -_0804CA90: .4byte gUnk_080DD364 - - thumb_func_start sub_0804CA94 -sub_0804CA94: @ 0x0804CA94 - movs r0, #1 - bx lr - - thumb_func_start nullsub_242 -nullsub_242: @ 0x0804CA98 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CA9C -sub_0804CA9C: @ 0x0804CA9C - movs r0, #1 - bx lr - - thumb_func_start sub_0804CAA0 -sub_0804CAA0: @ 0x0804CAA0 - push {lr} - movs r0, #0x24 - bl sub_0807CC30 - cmp r0, #0 - beq _0804CAB2 - ldr r0, _0804CAC4 @ =0x000006DE - bl sub_0809F814 -_0804CAB2: - movs r0, #0xf3 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804CAC8 - movs r0, #0xe0 - bl sub_0809F814 - b _0804CACE - .align 2, 0 -_0804CAC4: .4byte 0x000006DE -_0804CAC8: - ldr r0, _0804CAE0 @ =gUnk_080DD7E0 - bl sub_0804ADDC -_0804CACE: - movs r0, #0xf5 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804CAE8 - ldr r0, _0804CAE4 @ =0x00000BA3 - bl sub_0809F814 - b _0804CAEE - .align 2, 0 -_0804CAE0: .4byte gUnk_080DD7E0 -_0804CAE4: .4byte 0x00000BA3 -_0804CAE8: - ldr r0, _0804CAF0 @ =gUnk_080DD840 - bl sub_0804ADDC -_0804CAEE: - pop {pc} - .align 2, 0 -_0804CAF0: .4byte gUnk_080DD840 - - thumb_func_start sub_0804CAF4 -sub_0804CAF4: @ 0x0804CAF4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CAF8 -sub_0804CAF8: @ 0x0804CAF8 - push {lr} - bl sub_080300E8 - movs r0, #0x24 - bl sub_0807CCB4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804CB08 -sub_0804CB08: @ 0x0804CB08 - movs r0, #1 - bx lr - - thumb_func_start nullsub_37 -nullsub_37: @ 0x0804CB0C - bx lr - .align 2, 0 - - thumb_func_start sub_0804CB10 -sub_0804CB10: @ 0x0804CB10 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CB14 -sub_0804CB14: @ 0x0804CB14 - push {lr} - movs r0, #0x41 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804CB26 - ldr r0, _0804CB28 @ =gUnk_080DDE88 - bl sub_0804ADDC -_0804CB26: - pop {pc} - .align 2, 0 -_0804CB28: .4byte gUnk_080DDE88 - - thumb_func_start sub_0804CB2C -sub_0804CB2C: @ 0x0804CB2C - push {lr} - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #0x27 - bl sub_0807CB10 - cmp r0, #0 - beq _0804CB42 - movs r0, #0x85 - bl sub_08059340 -_0804CB42: - pop {pc} - - thumb_func_start sub_0804CB44 -sub_0804CB44: @ 0x0804CB44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_38 -nullsub_38: @ 0x0804CB48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CB4C -sub_0804CB4C: @ 0x0804CB4C - movs r0, #1 - bx lr - - thumb_func_start sub_0804CB50 -sub_0804CB50: @ 0x0804CB50 - push {lr} - bl sub_080300E8 - movs r0, #4 - bl sub_0807CC30 - cmp r0, #0 - beq _0804CB70 - movs r0, #3 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804CB70 - ldr r0, _0804CB74 @ =gUnk_080DE008 - bl sub_0804ADDC -_0804CB70: - pop {pc} - .align 2, 0 -_0804CB74: .4byte gUnk_080DE008 - - thumb_func_start sub_0804CB78 -sub_0804CB78: @ 0x0804CB78 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CB7C -sub_0804CB7C: @ 0x0804CB7C - push {lr} - bl sub_080300E8 - movs r0, #0x30 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804CB92 - ldr r0, _0804CBA4 @ =gUnk_080DE1E0 - bl sub_0804ADDC -_0804CB92: - movs r0, #0x31 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804CBA2 - ldr r0, _0804CBA8 @ =gUnk_080DE200 - bl sub_0804ADDC -_0804CBA2: - pop {pc} - .align 2, 0 -_0804CBA4: .4byte gUnk_080DE1E0 -_0804CBA8: .4byte gUnk_080DE200 - - thumb_func_start sub_0804CBAC -sub_0804CBAC: @ 0x0804CBAC - movs r0, #1 - bx lr - - thumb_func_start sub_0804CBB0 -sub_0804CBB0: @ 0x0804CBB0 - push {lr} - ldr r0, _0804CBD8 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r0, r2] - ldr r2, _0804CBDC @ =gUnk_03000BF0 - ldrh r0, [r2, #8] - subs r1, r1, r0 - ldrh r0, [r2, #0x20] - lsrs r0, r0, #1 - cmp r1, r0 - bge _0804CBD6 - movs r0, #0x17 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804CBD6 - ldr r0, _0804CBE0 @ =gUnk_080DE4C8 - bl sub_0804ADDC -_0804CBD6: - pop {pc} - .align 2, 0 -_0804CBD8: .4byte gUnk_03001160 -_0804CBDC: .4byte gUnk_03000BF0 -_0804CBE0: .4byte gUnk_080DE4C8 - - thumb_func_start sub_0804CBE4 -sub_0804CBE4: @ 0x0804CBE4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_243 -nullsub_243: @ 0x0804CBE8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CBEC -sub_0804CBEC: @ 0x0804CBEC - movs r0, #1 - bx lr - - thumb_func_start sub_0804CBF0 -sub_0804CBF0: @ 0x0804CBF0 - push {lr} - movs r0, #0x4b - bl sub_0807CBD0 - cmp r0, #0 - bne _0804CC08 - ldr r0, _0804CC04 @ =gUnk_080DE814 - bl sub_0804ADDC - b _0804CC4A - .align 2, 0 -_0804CC04: .4byte gUnk_080DE814 -_0804CC08: - movs r0, #0x4c - bl sub_0807CBD0 - cmp r0, #0 - bne _0804CC2C - ldr r0, _0804CC24 @ =gUnk_080DE834 - bl sub_0804ADDC - ldr r1, _0804CC28 @ =0x00000285 - movs r0, #0x79 - movs r2, #1 - bl sub_0807B314 - b _0804CC4A - .align 2, 0 -_0804CC24: .4byte gUnk_080DE834 -_0804CC28: .4byte 0x00000285 -_0804CC2C: - ldr r1, _0804CC4C @ =0x00000285 - movs r0, #0x7a - movs r2, #1 - bl sub_0807B314 - movs r0, #0x24 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804CC4A - ldr r1, _0804CC50 @ =0x00000205 - movs r0, #0x73 - movs r2, #1 - bl sub_0807B314 -_0804CC4A: - pop {pc} - .align 2, 0 -_0804CC4C: .4byte 0x00000285 -_0804CC50: .4byte 0x00000205 - - thumb_func_start sub_0804CC54 -sub_0804CC54: @ 0x0804CC54 - movs r0, #1 - bx lr - - thumb_func_start nullsub_244 -nullsub_244: @ 0x0804CC58 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CC5C -sub_0804CC5C: @ 0x0804CC5C - movs r0, #1 - bx lr - - thumb_func_start nullsub_245 -nullsub_245: @ 0x0804CC60 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CC64 -sub_0804CC64: @ 0x0804CC64 - movs r0, #1 - bx lr - - thumb_func_start nullsub_246 -nullsub_246: @ 0x0804CC68 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CC6C -sub_0804CC6C: @ 0x0804CC6C - movs r0, #1 - bx lr - - thumb_func_start sub_0804CC70 -sub_0804CC70: @ 0x0804CC70 - push {lr} - ldr r0, _0804CC94 @ =gUnk_02002A40 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _0804CC7E - cmp r0, #2 - beq _0804CCA0 -_0804CC7E: - ldr r1, _0804CC98 @ =0x0000020B - movs r0, #0x90 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804CC9C @ =0x00000411 - movs r0, #0x90 - movs r2, #1 - bl sub_0807B314 - b _0804CCB4 - .align 2, 0 -_0804CC94: .4byte gUnk_02002A40 -_0804CC98: .4byte 0x0000020B -_0804CC9C: .4byte 0x00000411 -_0804CCA0: - ldr r1, _0804CCE4 @ =0x00000211 - movs r0, #0x90 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804CCE8 @ =0x0000040B - movs r0, #0x90 - movs r2, #1 - bl sub_0807B314 -_0804CCB4: - movs r0, #0x15 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804CCCA - movs r1, #0xc1 - lsls r1, r1, #2 - movs r0, #0x76 - movs r2, #2 - bl sub_0807B314 -_0804CCCA: - movs r0, #0x16 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804CCE0 - movs r1, #0xc6 - lsls r1, r1, #2 - movs r0, #0x76 - movs r2, #2 - bl sub_0807B314 -_0804CCE0: - pop {pc} - .align 2, 0 -_0804CCE4: .4byte 0x00000211 -_0804CCE8: .4byte 0x0000040B - - thumb_func_start sub_0804CCEC -sub_0804CCEC: @ 0x0804CCEC - movs r0, #1 - bx lr - - thumb_func_start nullsub_247 -nullsub_247: @ 0x0804CCF0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CCF4 -sub_0804CCF4: @ 0x0804CCF4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_248 -nullsub_248: @ 0x0804CCF8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CCFC -sub_0804CCFC: @ 0x0804CCFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_249 -nullsub_249: @ 0x0804CD00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CD04 -sub_0804CD04: @ 0x0804CD04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_250 -nullsub_250: @ 0x0804CD08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CD0C -sub_0804CD0C: @ 0x0804CD0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_251 -nullsub_251: @ 0x0804CD10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CD14 -sub_0804CD14: @ 0x0804CD14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_252 -nullsub_252: @ 0x0804CD18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CD1C -sub_0804CD1C: @ 0x0804CD1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_253 -nullsub_253: @ 0x0804CD20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CD24 -sub_0804CD24: @ 0x0804CD24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_254 -nullsub_254: @ 0x0804CD28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CD2C -sub_0804CD2C: @ 0x0804CD2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_255 -nullsub_255: @ 0x0804CD30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CD34 -sub_0804CD34: @ 0x0804CD34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_256 -nullsub_256: @ 0x0804CD38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CD3C -sub_0804CD3C: @ 0x0804CD3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_257 -nullsub_257: @ 0x0804CD40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CD44 -sub_0804CD44: @ 0x0804CD44 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CD48 -sub_0804CD48: @ 0x0804CD48 - push {r4, lr} - movs r0, #0x48 - bl sub_0807CBD0 - adds r4, r0, #0 - cmp r4, #0 - bne _0804CD80 - movs r0, #0x48 - bl sub_0807CCB4 - movs r0, #5 - movs r1, #0 - bl sub_080A7138 - ldr r0, _0804CD94 @ =gUnk_02000070 - strb r4, [r0] - ldr r0, _0804CD98 @ =gUnk_03000FD0 - strb r4, [r0] - ldr r0, _0804CD9C @ =gUnk_0200B644 - str r4, [r0] - movs r1, #0xa0 - lsls r1, r1, #0x13 - ldr r2, _0804CDA0 @ =0x00007FFF - adds r0, r2, #0 - strh r0, [r1] - movs r0, #1 - bl sub_0801DA90 -_0804CD80: - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - beq _0804CDA8 - ldr r0, _0804CDA4 @ =gUnk_080DF94C - bl sub_0804ADDC - b _0804CDBE - .align 2, 0 -_0804CD94: .4byte gUnk_02000070 -_0804CD98: .4byte gUnk_03000FD0 -_0804CD9C: .4byte gUnk_0200B644 -_0804CDA0: .4byte 0x00007FFF -_0804CDA4: .4byte gUnk_080DF94C -_0804CDA8: - ldr r0, _0804CDC0 @ =0x80100000 - bl sub_080A3268 - ldr r0, _0804CDC4 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804CDBE: - pop {r4, pc} - .align 2, 0 -_0804CDC0: .4byte 0x80100000 -_0804CDC4: .4byte gUnk_02033A90 - - thumb_func_start sub_0804CDC8 -sub_0804CDC8: @ 0x0804CDC8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_258 -nullsub_258: @ 0x0804CDCC - bx lr - .align 2, 0 - - thumb_func_start sub_0804CDD0 -sub_0804CDD0: @ 0x0804CDD0 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CDD4 -sub_0804CDD4: @ 0x0804CDD4 - push {lr} - bl sub_08058D34 - ldr r2, _0804CDEC @ =gUnk_02033A90 - ldrb r1, [r2] - movs r0, #0x40 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0804CDF0 @ =gUnk_03001000 - movs r0, #5 - strb r0, [r1, #4] - pop {pc} - .align 2, 0 -_0804CDEC: .4byte gUnk_02033A90 -_0804CDF0: .4byte gUnk_03001000 - - thumb_func_start sub_0804CDF4 -sub_0804CDF4: @ 0x0804CDF4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CDF8 -sub_0804CDF8: @ 0x0804CDF8 - push {lr} - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - beq _0804CE18 - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #1 - bl sub_0807CB10 - cmp r0, #0 - bne _0804CE18 - ldr r0, _0804CE1C @ =gUnk_080DFB78 - bl sub_0804ADDC -_0804CE18: - pop {pc} - .align 2, 0 -_0804CE1C: .4byte gUnk_080DFB78 - - thumb_func_start sub_0804CE20 -sub_0804CE20: @ 0x0804CE20 - movs r0, #1 - bx lr - - thumb_func_start nullsub_259 -nullsub_259: @ 0x0804CE24 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE28 -sub_0804CE28: @ 0x0804CE28 - movs r0, #1 - bx lr - - thumb_func_start nullsub_260 -nullsub_260: @ 0x0804CE2C - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE30 -sub_0804CE30: @ 0x0804CE30 - movs r0, #1 - bx lr - - thumb_func_start nullsub_261 -nullsub_261: @ 0x0804CE34 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE38 -sub_0804CE38: @ 0x0804CE38 - movs r0, #1 - bx lr - - thumb_func_start nullsub_262 -nullsub_262: @ 0x0804CE3C - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE40 -sub_0804CE40: @ 0x0804CE40 - movs r0, #1 - bx lr - - thumb_func_start nullsub_263 -nullsub_263: @ 0x0804CE44 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE48 -sub_0804CE48: @ 0x0804CE48 - movs r0, #1 - bx lr - - thumb_func_start nullsub_264 -nullsub_264: @ 0x0804CE4C - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE50 -sub_0804CE50: @ 0x0804CE50 - movs r0, #1 - bx lr - - thumb_func_start nullsub_265 -nullsub_265: @ 0x0804CE54 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE58 -sub_0804CE58: @ 0x0804CE58 - movs r0, #1 - bx lr - - thumb_func_start nullsub_266 -nullsub_266: @ 0x0804CE5C - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE60 -sub_0804CE60: @ 0x0804CE60 - movs r0, #1 - bx lr - - thumb_func_start nullsub_267 -nullsub_267: @ 0x0804CE64 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE68 -sub_0804CE68: @ 0x0804CE68 - movs r0, #1 - bx lr - - thumb_func_start nullsub_268 -nullsub_268: @ 0x0804CE6C - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE70 -sub_0804CE70: @ 0x0804CE70 - movs r0, #1 - bx lr - - thumb_func_start nullsub_269 -nullsub_269: @ 0x0804CE74 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE78 -sub_0804CE78: @ 0x0804CE78 - movs r0, #1 - bx lr - - thumb_func_start nullsub_270 -nullsub_270: @ 0x0804CE7C - bx lr - .align 2, 0 - - thumb_func_start sub_0804CE80 -sub_0804CE80: @ 0x0804CE80 - push {lr} - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - beq _0804CE92 - ldr r1, _0804CE98 @ =gUnk_02034350 - ldr r0, _0804CE9C @ =gUnk_080E103C - str r0, [r1, #0x70] -_0804CE92: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804CE98: .4byte gUnk_02034350 -_0804CE9C: .4byte gUnk_080E103C - - thumb_func_start nullsub_271 -nullsub_271: @ 0x0804CEA0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CEA4 -sub_0804CEA4: @ 0x0804CEA4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_272 -nullsub_272: @ 0x0804CEA8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CEAC -sub_0804CEAC: @ 0x0804CEAC - movs r0, #1 - bx lr - - thumb_func_start nullsub_273 -nullsub_273: @ 0x0804CEB0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CEB4 -sub_0804CEB4: @ 0x0804CEB4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_274 -nullsub_274: @ 0x0804CEB8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CEBC -sub_0804CEBC: @ 0x0804CEBC - movs r0, #1 - bx lr - - thumb_func_start nullsub_275 -nullsub_275: @ 0x0804CEC0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CEC4 -sub_0804CEC4: @ 0x0804CEC4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_276 -nullsub_276: @ 0x0804CEC8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CECC -sub_0804CECC: @ 0x0804CECC - movs r0, #1 - bx lr - - thumb_func_start nullsub_277 -nullsub_277: @ 0x0804CED0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CED4 -sub_0804CED4: @ 0x0804CED4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CED8 -sub_0804CED8: @ 0x0804CED8 - push {lr} - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - beq _0804CF18 - ldr r1, _0804CF04 @ =gUnk_0200B650 - movs r0, #0 - str r0, [r1] - ldr r2, _0804CF08 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0804CF0C @ =0x0000FDFF - ands r0, r1 - strh r0, [r2] - ldr r0, _0804CF10 @ =gUnk_03001160 - bl sub_0807AABC - ldr r0, _0804CF14 @ =gUnk_080E1814 - bl sub_0804ADDC - b _0804CF2E - .align 2, 0 -_0804CF04: .4byte gUnk_0200B650 -_0804CF08: .4byte gUnk_03000F50 -_0804CF0C: .4byte 0x0000FDFF -_0804CF10: .4byte gUnk_03001160 -_0804CF14: .4byte gUnk_080E1814 -_0804CF18: - ldr r0, _0804CF30 @ =0x80100000 - bl sub_080A3268 - ldr r0, _0804CF34 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804CF2E: - pop {pc} - .align 2, 0 -_0804CF30: .4byte 0x80100000 -_0804CF34: .4byte gUnk_02033A90 - - thumb_func_start sub_0804CF38 -sub_0804CF38: @ 0x0804CF38 - movs r0, #1 - bx lr - - thumb_func_start nullsub_278 -nullsub_278: @ 0x0804CF3C - bx lr - .align 2, 0 - - thumb_func_start sub_0804CF40 -sub_0804CF40: @ 0x0804CF40 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CF44 -sub_0804CF44: @ 0x0804CF44 - ldr r1, _0804CF58 @ =gUnk_030010A0 - adds r2, r1, #0 - adds r2, #0x38 - movs r0, #0 - strb r0, [r2] - adds r1, #0x39 - movs r0, #0x5a - strb r0, [r1] - bx lr - .align 2, 0 -_0804CF58: .4byte gUnk_030010A0 - - thumb_func_start sub_0804CF5C -sub_0804CF5C: @ 0x0804CF5C - movs r0, #1 - bx lr - - thumb_func_start sub_0804CF60 -sub_0804CF60: @ 0x0804CF60 - push {lr} - bl sub_080300E8 - pop {pc} - - thumb_func_start sub_0804CF68 -sub_0804CF68: @ 0x0804CF68 - movs r0, #1 - bx lr - - thumb_func_start nullsub_39 -nullsub_39: @ 0x0804CF6C - bx lr - .align 2, 0 - - thumb_func_start sub_0804CF70 -sub_0804CF70: @ 0x0804CF70 - movs r0, #1 - bx lr - - thumb_func_start sub_0804CF74 -sub_0804CF74: @ 0x0804CF74 - push {lr} - bl sub_080300E8 - pop {pc} - - thumb_func_start sub_0804CF7C -sub_0804CF7C: @ 0x0804CF7C - movs r0, #1 - bx lr - - thumb_func_start nullsub_40 -nullsub_40: @ 0x0804CF80 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CF84 -sub_0804CF84: @ 0x0804CF84 - movs r0, #1 - bx lr - - thumb_func_start nullsub_41 -nullsub_41: @ 0x0804CF88 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CF8C -sub_0804CF8C: @ 0x0804CF8C - movs r0, #1 - bx lr - - thumb_func_start nullsub_42 -nullsub_42: @ 0x0804CF90 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CF94 -sub_0804CF94: @ 0x0804CF94 - movs r0, #1 - bx lr - - thumb_func_start nullsub_43 -nullsub_43: @ 0x0804CF98 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CF9C -sub_0804CF9C: @ 0x0804CF9C - movs r0, #1 - bx lr - - thumb_func_start nullsub_44 -nullsub_44: @ 0x0804CFA0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CFA4 -sub_0804CFA4: @ 0x0804CFA4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_45 -nullsub_45: @ 0x0804CFA8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804CFAC -sub_0804CFAC: @ 0x0804CFAC - movs r0, #1 - bx lr - - thumb_func_start sub_0804CFB0 -sub_0804CFB0: @ 0x0804CFB0 - push {lr} - movs r0, #0x31 - bl sub_0807CBE4 - cmp r0, #0 - bne _0804CFFE - ldr r1, _0804CFD0 @ =gUnk_030010A0 - adds r0, r1, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - bne _0804CFD8 - ldr r0, _0804CFD4 @ =0x80100000 - bl sub_080A3268 - b _0804CFEE - .align 2, 0 -_0804CFD0: .4byte gUnk_030010A0 -_0804CFD4: .4byte 0x80100000 -_0804CFD8: - adds r0, r1, #0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - bne _0804CFEE - ldr r0, _0804D000 @ =0x80050000 - bl sub_080A3268 - movs r0, #3 - bl sub_08078A90 -_0804CFEE: - ldr r0, _0804D004 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804CFFE: - pop {pc} - .align 2, 0 -_0804D000: .4byte 0x80050000 -_0804D004: .4byte gUnk_02033A90 - - thumb_func_start sub_0804D008 -sub_0804D008: @ 0x0804D008 - movs r0, #1 - bx lr - - thumb_func_start nullsub_279 -nullsub_279: @ 0x0804D00C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D010 -sub_0804D010: @ 0x0804D010 - movs r0, #1 - bx lr - - thumb_func_start nullsub_280 -nullsub_280: @ 0x0804D014 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D018 -sub_0804D018: @ 0x0804D018 - movs r0, #1 - bx lr - - thumb_func_start nullsub_281 -nullsub_281: @ 0x0804D01C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D020 -sub_0804D020: @ 0x0804D020 - movs r0, #1 - bx lr - - thumb_func_start nullsub_282 -nullsub_282: @ 0x0804D024 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D028 -sub_0804D028: @ 0x0804D028 - movs r0, #1 - bx lr - - thumb_func_start nullsub_283 -nullsub_283: @ 0x0804D02C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D030 -sub_0804D030: @ 0x0804D030 - movs r0, #1 - bx lr - - thumb_func_start nullsub_284 -nullsub_284: @ 0x0804D034 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D038 -sub_0804D038: @ 0x0804D038 - movs r0, #1 - bx lr - - thumb_func_start nullsub_285 -nullsub_285: @ 0x0804D03C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D040 -sub_0804D040: @ 0x0804D040 - movs r0, #1 - bx lr - - thumb_func_start nullsub_286 -nullsub_286: @ 0x0804D044 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D048 -sub_0804D048: @ 0x0804D048 - movs r0, #1 - bx lr - - thumb_func_start nullsub_287 -nullsub_287: @ 0x0804D04C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D050 -sub_0804D050: @ 0x0804D050 - movs r0, #1 - bx lr - - thumb_func_start nullsub_288 -nullsub_288: @ 0x0804D054 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D058 -sub_0804D058: @ 0x0804D058 - movs r0, #1 - bx lr - - thumb_func_start nullsub_289 -nullsub_289: @ 0x0804D05C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D060 -sub_0804D060: @ 0x0804D060 - movs r0, #1 - bx lr - - thumb_func_start nullsub_290 -nullsub_290: @ 0x0804D064 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D068 -sub_0804D068: @ 0x0804D068 - movs r0, #1 - bx lr - - thumb_func_start nullsub_291 -nullsub_291: @ 0x0804D06C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D070 -sub_0804D070: @ 0x0804D070 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D074 -sub_0804D074: @ 0x0804D074 - push {lr} - movs r0, #4 - bl sub_0807CD04 - bl sub_080530C8 - movs r0, #3 - bl sub_0805B4D0 - movs r0, #0x17 - bl sub_0807CA84 - cmp r0, #0 - bne _0804D0A0 - movs r0, #0x45 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804D0A0 - ldr r0, _0804D0A4 @ =gUnk_080E3850 - bl sub_0804ADDC -_0804D0A0: - pop {pc} - .align 2, 0 -_0804D0A4: .4byte gUnk_080E3850 - - thumb_func_start sub_0804D0A8 -sub_0804D0A8: @ 0x0804D0A8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D0AC -sub_0804D0AC: @ 0x0804D0AC - push {lr} - bl sub_0804D0B4 - pop {pc} - - thumb_func_start sub_0804D0B4 -sub_0804D0B4: @ 0x0804D0B4 - push {lr} - movs r0, #0x29 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D0D2 - movs r0, #0x29 - bl sub_0807CCB4 - movs r0, #0x4b - bl sub_0807CCB4 - movs r0, #0x4e - bl sub_0807CCB4 -_0804D0D2: - pop {pc} - - thumb_func_start sub_0804D0D4 -sub_0804D0D4: @ 0x0804D0D4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_46 -nullsub_46: @ 0x0804D0D8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D0DC -sub_0804D0DC: @ 0x0804D0DC - movs r0, #1 - bx lr - - thumb_func_start nullsub_47 -nullsub_47: @ 0x0804D0E0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D0E4 -sub_0804D0E4: @ 0x0804D0E4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_48 -nullsub_48: @ 0x0804D0E8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D0EC -sub_0804D0EC: @ 0x0804D0EC - movs r0, #1 - bx lr - - thumb_func_start nullsub_49 -nullsub_49: @ 0x0804D0F0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D0F4 -sub_0804D0F4: @ 0x0804D0F4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_50 -nullsub_50: @ 0x0804D0F8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D0FC -sub_0804D0FC: @ 0x0804D0FC - movs r0, #1 - bx lr - - thumb_func_start nullsub_51 -nullsub_51: @ 0x0804D100 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D104 -sub_0804D104: @ 0x0804D104 - movs r0, #1 - bx lr - - thumb_func_start nullsub_52 -nullsub_52: @ 0x0804D108 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D10C -sub_0804D10C: @ 0x0804D10C - movs r0, #1 - bx lr - - thumb_func_start nullsub_53 -nullsub_53: @ 0x0804D110 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D114 -sub_0804D114: @ 0x0804D114 - movs r0, #1 - bx lr - - thumb_func_start nullsub_54 -nullsub_54: @ 0x0804D118 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D11C -sub_0804D11C: @ 0x0804D11C - movs r0, #1 - bx lr - - thumb_func_start nullsub_55 -nullsub_55: @ 0x0804D120 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D124 -sub_0804D124: @ 0x0804D124 - movs r0, #1 - bx lr - - thumb_func_start nullsub_56 -nullsub_56: @ 0x0804D128 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D12C -sub_0804D12C: @ 0x0804D12C - movs r0, #1 - bx lr - - thumb_func_start nullsub_57 -nullsub_57: @ 0x0804D130 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D134 -sub_0804D134: @ 0x0804D134 - movs r0, #1 - bx lr - - thumb_func_start nullsub_58 -nullsub_58: @ 0x0804D138 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D13C -sub_0804D13C: @ 0x0804D13C - movs r0, #1 - bx lr - - thumb_func_start sub_0804D140 -sub_0804D140: @ 0x0804D140 - push {lr} - movs r0, #0x80 - lsls r0, r0, #1 - bl sub_0805308C - movs r0, #5 - bl sub_0807CC30 - cmp r0, #0 - beq _0804D160 - ldr r0, _0804D15C @ =gUnk_080E49F4 - bl sub_0804ADDC - b _0804D176 - .align 2, 0 -_0804D15C: .4byte gUnk_080E49F4 -_0804D160: - ldr r0, _0804D178 @ =0x80100000 - bl sub_080A3268 - ldr r0, _0804D17C @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804D176: - pop {pc} - .align 2, 0 -_0804D178: .4byte 0x80100000 -_0804D17C: .4byte gUnk_02033A90 - - thumb_func_start sub_0804D180 -sub_0804D180: @ 0x0804D180 - movs r0, #1 - bx lr - - thumb_func_start nullsub_292 -nullsub_292: @ 0x0804D184 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D188 -sub_0804D188: @ 0x0804D188 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D18C -sub_0804D18C: @ 0x0804D18C - push {lr} - movs r0, #0x48 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D1A4 - movs r0, #0x46 - bl sub_0807CD34 - ldr r0, _0804D1A8 @ =gUnk_080E4BD8 - bl sub_0804ADDC -_0804D1A4: - pop {pc} - .align 2, 0 -_0804D1A8: .4byte gUnk_080E4BD8 - - thumb_func_start sub_0804D1AC -sub_0804D1AC: @ 0x0804D1AC - movs r0, #1 - bx lr - - thumb_func_start sub_0804D1B0 -sub_0804D1B0: @ 0x0804D1B0 - push {lr} - bl sub_0804D0B4 - movs r0, #0x6c - bl sub_0807CBD0 - cmp r0, #0 - beq _0804D1CC - ldr r0, _0804D1C8 @ =gUnk_080E4CD8 - bl sub_0804ADDC - b _0804D1D2 - .align 2, 0 -_0804D1C8: .4byte gUnk_080E4CD8 -_0804D1CC: - ldr r0, _0804D1E4 @ =gUnk_080E4CF8 - bl sub_0804ADDC -_0804D1D2: - movs r0, #0x4b - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D1E2 - movs r0, #0x49 - bl sub_0807CD34 -_0804D1E2: - pop {pc} - .align 2, 0 -_0804D1E4: .4byte gUnk_080E4CF8 - - thumb_func_start sub_0804D1E8 -sub_0804D1E8: @ 0x0804D1E8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_293 -nullsub_293: @ 0x0804D1EC - bx lr - .align 2, 0 - - thumb_func_start sub_0804D1F0 -sub_0804D1F0: @ 0x0804D1F0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_294 -nullsub_294: @ 0x0804D1F4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D1F8 -sub_0804D1F8: @ 0x0804D1F8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_295 -nullsub_295: @ 0x0804D1FC - bx lr - .align 2, 0 - - thumb_func_start sub_0804D200 -sub_0804D200: @ 0x0804D200 - movs r0, #1 - bx lr - - thumb_func_start nullsub_296 -nullsub_296: @ 0x0804D204 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D208 -sub_0804D208: @ 0x0804D208 - movs r0, #1 - bx lr - - thumb_func_start nullsub_297 -nullsub_297: @ 0x0804D20C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D210 -sub_0804D210: @ 0x0804D210 - movs r0, #1 - bx lr - - thumb_func_start nullsub_298 -nullsub_298: @ 0x0804D214 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D218 -sub_0804D218: @ 0x0804D218 - movs r0, #1 - bx lr - - thumb_func_start nullsub_299 -nullsub_299: @ 0x0804D21C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D220 -sub_0804D220: @ 0x0804D220 - movs r0, #1 - bx lr - - thumb_func_start nullsub_300 -nullsub_300: @ 0x0804D224 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D228 -sub_0804D228: @ 0x0804D228 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D22C -sub_0804D22C: @ 0x0804D22C - push {lr} - movs r0, #0x59 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D244 - ldr r0, _0804D240 @ =gUnk_080E5660 - bl sub_0804ADDC - b _0804D24A - .align 2, 0 -_0804D240: .4byte gUnk_080E5660 -_0804D244: - ldr r0, _0804D24C @ =gUnk_080E5680 - bl sub_0804ADDC -_0804D24A: - pop {pc} - .align 2, 0 -_0804D24C: .4byte gUnk_080E5680 - - thumb_func_start sub_0804D250 -sub_0804D250: @ 0x0804D250 - movs r0, #1 - bx lr - - thumb_func_start nullsub_301 -nullsub_301: @ 0x0804D254 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D258 -sub_0804D258: @ 0x0804D258 - movs r0, #1 - bx lr - - thumb_func_start nullsub_302 -nullsub_302: @ 0x0804D25C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D260 -sub_0804D260: @ 0x0804D260 - movs r0, #1 - bx lr - - thumb_func_start nullsub_303 -nullsub_303: @ 0x0804D264 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D268 -sub_0804D268: @ 0x0804D268 - movs r0, #1 - bx lr - - thumb_func_start nullsub_304 -nullsub_304: @ 0x0804D26C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D270 -sub_0804D270: @ 0x0804D270 - movs r0, #1 - bx lr - - thumb_func_start nullsub_305 -nullsub_305: @ 0x0804D274 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D278 -sub_0804D278: @ 0x0804D278 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D27C -sub_0804D27C: @ 0x0804D27C - push {lr} - bl sub_0804D0B4 - movs r0, #0x4b - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D298 - ldr r0, _0804D294 @ =gUnk_080E5E3C - bl sub_0804ADDC - b _0804D29E - .align 2, 0 -_0804D294: .4byte gUnk_080E5E3C -_0804D298: - ldr r0, _0804D2A0 @ =gUnk_080E5E5C - bl sub_0804ADDC -_0804D29E: - pop {pc} - .align 2, 0 -_0804D2A0: .4byte gUnk_080E5E5C - - thumb_func_start sub_0804D2A4 -sub_0804D2A4: @ 0x0804D2A4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_306 -nullsub_306: @ 0x0804D2A8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D2AC -sub_0804D2AC: @ 0x0804D2AC - movs r0, #1 - bx lr - - thumb_func_start nullsub_307 -nullsub_307: @ 0x0804D2B0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D2B4 -sub_0804D2B4: @ 0x0804D2B4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_308 -nullsub_308: @ 0x0804D2B8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D2BC -sub_0804D2BC: @ 0x0804D2BC - movs r0, #1 - bx lr - - thumb_func_start nullsub_309 -nullsub_309: @ 0x0804D2C0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D2C4 -sub_0804D2C4: @ 0x0804D2C4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_310 -nullsub_310: @ 0x0804D2C8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D2CC -sub_0804D2CC: @ 0x0804D2CC - movs r0, #1 - bx lr - - thumb_func_start nullsub_311 -nullsub_311: @ 0x0804D2D0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D2D4 -sub_0804D2D4: @ 0x0804D2D4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_312 -nullsub_312: @ 0x0804D2D8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D2DC -sub_0804D2DC: @ 0x0804D2DC - movs r0, #1 - bx lr - - thumb_func_start nullsub_313 -nullsub_313: @ 0x0804D2E0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D2E4 -sub_0804D2E4: @ 0x0804D2E4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D2E8 -sub_0804D2E8: @ 0x0804D2E8 - push {lr} - movs r0, #0x32 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D2FA - ldr r0, _0804D2FC @ =gUnk_080E693C - bl sub_0804ADDC -_0804D2FA: - pop {pc} - .align 2, 0 -_0804D2FC: .4byte gUnk_080E693C - - thumb_func_start sub_0804D300 -sub_0804D300: @ 0x0804D300 - movs r0, #1 - bx lr - - thumb_func_start nullsub_314 -nullsub_314: @ 0x0804D304 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D308 -sub_0804D308: @ 0x0804D308 - movs r0, #1 - bx lr - - thumb_func_start nullsub_315 -nullsub_315: @ 0x0804D30C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D310 -sub_0804D310: @ 0x0804D310 - movs r0, #1 - bx lr - - thumb_func_start nullsub_316 -nullsub_316: @ 0x0804D314 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D318 -sub_0804D318: @ 0x0804D318 - movs r0, #1 - bx lr - - thumb_func_start nullsub_317 -nullsub_317: @ 0x0804D31C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D320 -sub_0804D320: @ 0x0804D320 - movs r0, #1 - bx lr - - thumb_func_start nullsub_318 -nullsub_318: @ 0x0804D324 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D328 -sub_0804D328: @ 0x0804D328 - movs r0, #1 - bx lr - - thumb_func_start nullsub_319 -nullsub_319: @ 0x0804D32C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D330 -sub_0804D330: @ 0x0804D330 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D334 -sub_0804D334: @ 0x0804D334 - push {lr} - bl sub_08054570 - pop {pc} - - thumb_func_start sub_0804D33C -sub_0804D33C: @ 0x0804D33C - movs r0, #1 - bx lr - - thumb_func_start sub_0804D340 -sub_0804D340: @ 0x0804D340 - push {lr} - ldr r0, _0804D374 @ =0x00000312 - movs r1, #0x84 - lsls r1, r1, #1 - movs r2, #1 - bl sub_0807B314 - bl sub_08054570 - movs r0, #0xc4 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D362 - ldr r0, _0804D378 @ =gUnk_080E718C - bl sub_0804ADDC -_0804D362: - movs r0, #0xc5 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D372 - ldr r0, _0804D37C @ =gUnk_080E71AC - bl sub_0804ADDC -_0804D372: - pop {pc} - .align 2, 0 -_0804D374: .4byte 0x00000312 -_0804D378: .4byte gUnk_080E718C -_0804D37C: .4byte gUnk_080E71AC - - thumb_func_start sub_0804D380 -sub_0804D380: @ 0x0804D380 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D384 -sub_0804D384: @ 0x0804D384 - push {lr} - movs r0, #0 - bl sub_0805AF60 - movs r0, #6 - bl sub_0807CC30 - cmp r0, #0 - beq _0804D39C - ldr r0, _0804D3B0 @ =gUnk_080E7314 - bl sub_0804ADDC -_0804D39C: - movs r0, #0x7b - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D3B8 - ldr r0, _0804D3B4 @ =gUnk_080E72C4 - bl sub_0804ADDC - b _0804D3EA - .align 2, 0 -_0804D3B0: .4byte gUnk_080E7314 -_0804D3B4: .4byte gUnk_080E72C4 -_0804D3B8: - movs r0, #6 - bl sub_0807CD04 - movs r0, #0x43 - bl sub_0807CA84 - cmp r0, #0 - bne _0804D3EA - movs r0, #3 - bl sub_08078A90 - ldr r0, _0804D3EC @ =gUnk_080E72E4 - bl sub_0804ADDC - ldr r0, _0804D3F0 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - ldr r0, _0804D3F4 @ =0x80100000 - bl sub_080A3268 -_0804D3EA: - pop {pc} - .align 2, 0 -_0804D3EC: .4byte gUnk_080E72E4 -_0804D3F0: .4byte gUnk_02033A90 -_0804D3F4: .4byte 0x80100000 - - thumb_func_start sub_0804D3F8 -sub_0804D3F8: @ 0x0804D3F8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D3FC -sub_0804D3FC: @ 0x0804D3FC - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D408 -sub_0804D408: @ 0x0804D408 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D40C -sub_0804D40C: @ 0x0804D40C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D418 -sub_0804D418: @ 0x0804D418 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D41C -sub_0804D41C: @ 0x0804D41C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D428 -sub_0804D428: @ 0x0804D428 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D42C -sub_0804D42C: @ 0x0804D42C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D438 -sub_0804D438: @ 0x0804D438 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D43C -sub_0804D43C: @ 0x0804D43C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D448 -sub_0804D448: @ 0x0804D448 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D44C -sub_0804D44C: @ 0x0804D44C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D458 -sub_0804D458: @ 0x0804D458 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D45C -sub_0804D45C: @ 0x0804D45C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D468 -sub_0804D468: @ 0x0804D468 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D46C -sub_0804D46C: @ 0x0804D46C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D478 -sub_0804D478: @ 0x0804D478 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D47C -sub_0804D47C: @ 0x0804D47C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D488 -sub_0804D488: @ 0x0804D488 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D48C -sub_0804D48C: @ 0x0804D48C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D498 -sub_0804D498: @ 0x0804D498 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D49C -sub_0804D49C: @ 0x0804D49C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D4A8 -sub_0804D4A8: @ 0x0804D4A8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D4AC -sub_0804D4AC: @ 0x0804D4AC - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D4B8 -sub_0804D4B8: @ 0x0804D4B8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D4BC -sub_0804D4BC: @ 0x0804D4BC - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D4C8 -sub_0804D4C8: @ 0x0804D4C8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D4CC -sub_0804D4CC: @ 0x0804D4CC - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D4D8 -sub_0804D4D8: @ 0x0804D4D8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D4DC -sub_0804D4DC: @ 0x0804D4DC - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D4E8 -sub_0804D4E8: @ 0x0804D4E8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D4EC -sub_0804D4EC: @ 0x0804D4EC - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D4F8 -sub_0804D4F8: @ 0x0804D4F8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D4FC -sub_0804D4FC: @ 0x0804D4FC - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D508 -sub_0804D508: @ 0x0804D508 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D50C -sub_0804D50C: @ 0x0804D50C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D518 -sub_0804D518: @ 0x0804D518 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D51C -sub_0804D51C: @ 0x0804D51C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D528 -sub_0804D528: @ 0x0804D528 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D52C -sub_0804D52C: @ 0x0804D52C - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D538 -sub_0804D538: @ 0x0804D538 - movs r0, #1 - bx lr - - thumb_func_start nullsub_59 -nullsub_59: @ 0x0804D53C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D540 -sub_0804D540: @ 0x0804D540 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D544 -sub_0804D544: @ 0x0804D544 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D550 -sub_0804D550: @ 0x0804D550 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D554 -sub_0804D554: @ 0x0804D554 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D560 -sub_0804D560: @ 0x0804D560 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D564 -sub_0804D564: @ 0x0804D564 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D570 -sub_0804D570: @ 0x0804D570 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D574 -sub_0804D574: @ 0x0804D574 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D580 -sub_0804D580: @ 0x0804D580 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D584 -sub_0804D584: @ 0x0804D584 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D590 -sub_0804D590: @ 0x0804D590 - movs r0, #1 - bx lr - - thumb_func_start nullsub_60 -nullsub_60: @ 0x0804D594 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D598 -sub_0804D598: @ 0x0804D598 - movs r0, #1 - bx lr - - thumb_func_start nullsub_61 -nullsub_61: @ 0x0804D59C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D5A0 -sub_0804D5A0: @ 0x0804D5A0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_62 -nullsub_62: @ 0x0804D5A4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D5A8 -sub_0804D5A8: @ 0x0804D5A8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_63 -nullsub_63: @ 0x0804D5AC - bx lr - .align 2, 0 - - thumb_func_start sub_0804D5B0 -sub_0804D5B0: @ 0x0804D5B0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_64 -nullsub_64: @ 0x0804D5B4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D5B8 -sub_0804D5B8: @ 0x0804D5B8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_65 -nullsub_65: @ 0x0804D5BC - bx lr - .align 2, 0 - - thumb_func_start sub_0804D5C0 -sub_0804D5C0: @ 0x0804D5C0 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D5C4 -sub_0804D5C4: @ 0x0804D5C4 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D5D0 -sub_0804D5D0: @ 0x0804D5D0 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D5D4 -sub_0804D5D4: @ 0x0804D5D4 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D5E0 -sub_0804D5E0: @ 0x0804D5E0 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D5E4 -sub_0804D5E4: @ 0x0804D5E4 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D5F0 -sub_0804D5F0: @ 0x0804D5F0 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D5F4 -sub_0804D5F4: @ 0x0804D5F4 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D600 -sub_0804D600: @ 0x0804D600 - movs r0, #1 - bx lr - - thumb_func_start nullsub_66 -nullsub_66: @ 0x0804D604 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D608 -sub_0804D608: @ 0x0804D608 - movs r0, #1 - bx lr - - thumb_func_start nullsub_67 -nullsub_67: @ 0x0804D60C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D610 -sub_0804D610: @ 0x0804D610 - movs r0, #1 - bx lr - - thumb_func_start nullsub_68 -nullsub_68: @ 0x0804D614 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D618 -sub_0804D618: @ 0x0804D618 - movs r0, #1 - bx lr - - thumb_func_start nullsub_69 -nullsub_69: @ 0x0804D61C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D620 -sub_0804D620: @ 0x0804D620 - movs r0, #1 - bx lr - - thumb_func_start nullsub_70 -nullsub_70: @ 0x0804D624 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D628 -sub_0804D628: @ 0x0804D628 - movs r0, #1 - bx lr - - thumb_func_start nullsub_71 -nullsub_71: @ 0x0804D62C - bx lr - .align 2, 0 - - thumb_func_start sub_0804D630 -sub_0804D630: @ 0x0804D630 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D634 -sub_0804D634: @ 0x0804D634 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D640 -sub_0804D640: @ 0x0804D640 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D644 -sub_0804D644: @ 0x0804D644 - push {lr} - movs r0, #0 - bl sub_0805AF60 - movs r0, #0x70 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D65C - ldr r0, _0804D660 @ =gUnk_080EA09C - bl sub_0804ADDC -_0804D65C: - pop {pc} - .align 2, 0 -_0804D660: .4byte gUnk_080EA09C - - thumb_func_start sub_0804D664 -sub_0804D664: @ 0x0804D664 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D668 -sub_0804D668: @ 0x0804D668 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D674 -sub_0804D674: @ 0x0804D674 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D678 -sub_0804D678: @ 0x0804D678 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D684 -sub_0804D684: @ 0x0804D684 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D688 -sub_0804D688: @ 0x0804D688 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D694 -sub_0804D694: @ 0x0804D694 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D698 -sub_0804D698: @ 0x0804D698 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D6A4 -sub_0804D6A4: @ 0x0804D6A4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D6A8 -sub_0804D6A8: @ 0x0804D6A8 - push {lr} - movs r0, #0 - bl sub_0805AF60 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D6B4 -sub_0804D6B4: @ 0x0804D6B4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_72 -nullsub_72: @ 0x0804D6B8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D6BC -sub_0804D6BC: @ 0x0804D6BC - movs r0, #1 - bx lr - - thumb_func_start nullsub_73 -nullsub_73: @ 0x0804D6C0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D6C4 -sub_0804D6C4: @ 0x0804D6C4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D6C8 -sub_0804D6C8: @ 0x0804D6C8 - push {lr} - ldr r0, _0804D6E4 @ =0x80100000 - bl sub_080A3268 - ldr r0, _0804D6E8 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - pop {pc} - .align 2, 0 -_0804D6E4: .4byte 0x80100000 -_0804D6E8: .4byte gUnk_02033A90 - - thumb_func_start sub_0804D6EC -sub_0804D6EC: @ 0x0804D6EC - movs r0, #1 - bx lr - - thumb_func_start sub_0804D6F0 -sub_0804D6F0: @ 0x0804D6F0 - push {lr} - movs r0, #0 - bl sub_0805D3C8 - ldr r2, _0804D72C @ =gUnk_030010A0 - adds r0, r2, #0 - adds r0, #0x38 - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0804D74C - adds r0, r2, #0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - beq _0804D74C - adds r0, r2, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #1 - bne _0804D734 - ldr r1, _0804D730 @ =gUnk_03001160 - adds r0, r2, #0 - adds r0, #0x48 - ldrh r0, [r0] - strh r0, [r1, #0x2e] - adds r0, r2, #0 - adds r0, #0x4a - b _0804D746 - .align 2, 0 -_0804D72C: .4byte gUnk_030010A0 -_0804D730: .4byte gUnk_03001160 -_0804D734: - cmp r0, #0 - bne _0804D74C - ldr r1, _0804D750 @ =gUnk_03001160 - adds r0, r2, #0 - adds r0, #0x44 - ldrh r0, [r0] - strh r0, [r1, #0x2e] - adds r0, r2, #0 - adds r0, #0x46 -_0804D746: - ldrh r0, [r0] - adds r0, #8 - strh r0, [r1, #0x32] -_0804D74C: - pop {pc} - .align 2, 0 -_0804D750: .4byte gUnk_03001160 - - thumb_func_start sub_0804D754 -sub_0804D754: @ 0x0804D754 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D758 -sub_0804D758: @ 0x0804D758 - push {lr} - movs r0, #6 - bl sub_0805B4D0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D764 -sub_0804D764: @ 0x0804D764 - movs r0, #1 - bx lr - - thumb_func_start nullsub_74 -nullsub_74: @ 0x0804D768 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D76C -sub_0804D76C: @ 0x0804D76C - movs r0, #1 - bx lr - - thumb_func_start nullsub_75 -nullsub_75: @ 0x0804D770 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D774 -sub_0804D774: @ 0x0804D774 - push {lr} - bl sub_080534AC - movs r0, #1 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804D780 -sub_0804D780: @ 0x0804D780 - push {r4, r5, lr} - movs r0, #4 - bl sub_0805B4D0 - movs r0, #0x77 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D7A0 - ldr r0, _0804D79C @ =gUnk_080EAD68 - bl sub_0804ADDC - b _0804D7D0 - .align 2, 0 -_0804D79C: .4byte gUnk_080EAD68 -_0804D7A0: - movs r0, #0x79 - bl sub_0807CBD0 - adds r5, r0, #0 - cmp r5, #0 - bne _0804D7D0 - ldr r0, _0804D7D4 @ =gUnk_080EADB8 - bl sub_0804ADDC - ldr r4, _0804D7D8 @ =0x00004072 - ldr r1, _0804D7DC @ =0x00000145 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804D7E0 @ =0x00000149 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0804D7E4 @ =gUnk_02033A90 - ldr r1, _0804D7E8 @ =0x00000864 - adds r0, r0, r1 - str r5, [r0] -_0804D7D0: - pop {r4, r5, pc} - .align 2, 0 -_0804D7D4: .4byte gUnk_080EADB8 -_0804D7D8: .4byte 0x00004072 -_0804D7DC: .4byte 0x00000145 -_0804D7E0: .4byte 0x00000149 -_0804D7E4: .4byte gUnk_02033A90 -_0804D7E8: .4byte 0x00000864 - - thumb_func_start sub_0804D7EC -sub_0804D7EC: @ 0x0804D7EC - push {r4, lr} - ldr r4, _0804D7F4 @ =gUnk_080EAE00 - b _0804D804 - .align 2, 0 -_0804D7F4: .4byte gUnk_080EAE00 -_0804D7F8: - ldrh r1, [r4] - adds r4, #2 - ldr r0, _0804D80C @ =0x00004072 - movs r2, #1 - bl sub_0807B314 -_0804D804: - ldrh r0, [r4] - cmp r0, #0 - bne _0804D7F8 - pop {r4, pc} - .align 2, 0 -_0804D80C: .4byte 0x00004072 - - thumb_func_start sub_0804D810 -sub_0804D810: @ 0x0804D810 - push {r4, lr} - ldr r4, _0804D818 @ =gUnk_080EAE00 - b _0804D826 - .align 2, 0 -_0804D818: .4byte gUnk_080EAE00 -_0804D81C: - ldrh r0, [r4] - adds r4, #2 - movs r1, #1 - bl sub_0807BA8C -_0804D826: - ldrh r0, [r4] - cmp r0, #0 - bne _0804D81C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0804D830 -sub_0804D830: @ 0x0804D830 - movs r0, #1 - bx lr - - thumb_func_start sub_0804D834 -sub_0804D834: @ 0x0804D834 - push {r4, lr} - ldr r4, _0804D86C @ =gUnk_02033A90 - movs r0, #0 - movs r1, #0x40 - strb r1, [r4] - strb r0, [r4, #1] - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804D894 - movs r0, #0x7f - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D878 - ldr r0, _0804D870 @ =gUnk_080EAEC0 - bl sub_0804ADDC - movs r0, #0x7f - bl sub_0807CCB4 - ldr r0, _0804D874 @ =0x00000864 - adds r1, r4, r0 - movs r0, #0x11 - str r0, [r1] - b _0804D8BC - .align 2, 0 -_0804D86C: .4byte gUnk_02033A90 -_0804D870: .4byte gUnk_080EAEC0 -_0804D874: .4byte 0x00000864 -_0804D878: - ldr r0, _0804D88C @ =gUnk_080EAF20 - bl sub_0804ADDC - ldr r2, _0804D890 @ =0x00000864 - adds r1, r4, r2 - subs r2, #4 - adds r0, r4, r2 - ldr r0, [r0] - str r0, [r1] - b _0804D8BC - .align 2, 0 -_0804D88C: .4byte gUnk_080EAF20 -_0804D890: .4byte 0x00000864 -_0804D894: - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804D8AC - ldr r1, _0804D8C4 @ =0x00000864 - adds r0, r4, r1 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r4, r2 - ldr r1, [r1] - str r1, [r0] -_0804D8AC: - movs r0, #1 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804D8BC - ldr r0, _0804D8C8 @ =gUnk_080EAE60 - bl sub_0804ADDC -_0804D8BC: - movs r0, #0x5d - bl sub_0807CD80 - pop {r4, pc} - .align 2, 0 -_0804D8C4: .4byte 0x00000864 -_0804D8C8: .4byte gUnk_080EAE60 - - thumb_func_start sub_0804D8CC -sub_0804D8CC: @ 0x0804D8CC - movs r0, #1 - bx lr - - thumb_func_start nullsub_320 -nullsub_320: @ 0x0804D8D0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D8D4 -sub_0804D8D4: @ 0x0804D8D4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_321 -nullsub_321: @ 0x0804D8D8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D8DC -sub_0804D8DC: @ 0x0804D8DC - movs r0, #1 - bx lr - - thumb_func_start nullsub_322 -nullsub_322: @ 0x0804D8E0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D8E4 -sub_0804D8E4: @ 0x0804D8E4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_323 -nullsub_323: @ 0x0804D8E8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D8EC -sub_0804D8EC: @ 0x0804D8EC - movs r0, #1 - bx lr - - thumb_func_start nullsub_324 -nullsub_324: @ 0x0804D8F0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D8F4 -sub_0804D8F4: @ 0x0804D8F4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_325 -nullsub_325: @ 0x0804D8F8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D8FC -sub_0804D8FC: @ 0x0804D8FC - movs r0, #1 - bx lr - - thumb_func_start nullsub_326 -nullsub_326: @ 0x0804D900 - bx lr - .align 2, 0 - - thumb_func_start sub_0804D904 -sub_0804D904: @ 0x0804D904 - push {r4, r5, lr} - movs r0, #0x51 - bl sub_0807CC30 - adds r5, r0, #0 - cmp r5, #0 - beq _0804D93C - ldr r1, _0804D930 @ =gUnk_02034350 - ldr r0, _0804D934 @ =gUnk_080EB604 - str r0, [r1, #0x6c] - movs r0, #0 - str r0, [r1, #0x74] - ldr r0, _0804D938 @ =gUnk_02033A90 - movs r1, #0x86 - lsls r1, r1, #4 - adds r2, r0, r1 - adds r1, #4 - adds r0, r0, r1 - movs r1, #0x11 - str r1, [r0] - str r1, [r2] - b _0804D96A - .align 2, 0 -_0804D930: .4byte gUnk_02034350 -_0804D934: .4byte gUnk_080EB604 -_0804D938: .4byte gUnk_02033A90 -_0804D93C: - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804D96A - ldr r4, _0804D970 @ =gUnk_02034350 - str r5, [r4, #0x6c] - movs r0, #0x7a - bl sub_0807CBD0 - adds r5, r0, #0 - cmp r5, #0 - bne _0804D96A - movs r0, #0x1c - bl sub_0807CD04 - ldr r0, _0804D974 @ =gUnk_080EB5D4 - str r0, [r4, #0x6c] - adds r1, r4, #0 - adds r1, #0x88 - ldr r0, _0804D978 @ =sub_0804D9B0 - str r0, [r1] - str r5, [r4, #0x74] -_0804D96A: - movs r0, #1 - pop {r4, r5, pc} - .align 2, 0 -_0804D970: .4byte gUnk_02034350 -_0804D974: .4byte gUnk_080EB5D4 -_0804D978: .4byte sub_0804D9B0 - - thumb_func_start sub_0804D97C -sub_0804D97C: @ 0x0804D97C - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804D996 - ldr r0, _0804D9A8 @ =gUnk_02033A90 - ldr r2, _0804D9AC @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804D996: - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804D9A4 - bl sub_0804D9B0 -_0804D9A4: - pop {pc} - .align 2, 0 -_0804D9A8: .4byte gUnk_02033A90 -_0804D9AC: .4byte 0x00000864 - - thumb_func_start sub_0804D9B0 -sub_0804D9B0: @ 0x0804D9B0 - push {lr} - ldr r0, _0804D9EC @ =0x00000797 - movs r1, #1 - movs r2, #5 - movs r3, #1 - bl sub_0807BB98 - ldr r0, _0804D9F0 @ =0x00000357 - movs r1, #1 - movs r2, #5 - movs r3, #1 - bl sub_0807BB98 - ldr r0, _0804D9F4 @ =0x0000055F - movs r1, #1 - movs r2, #2 - movs r3, #1 - bl sub_0807BB98 - ldr r0, _0804D9F8 @ =gUnk_080EB684 - bl sub_0804ADDC - ldr r0, _0804D9FC @ =gUnk_02033A90 - ldr r2, _0804DA00 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - pop {pc} - .align 2, 0 -_0804D9EC: .4byte 0x00000797 -_0804D9F0: .4byte 0x00000357 -_0804D9F4: .4byte 0x0000055F -_0804D9F8: .4byte gUnk_080EB684 -_0804D9FC: .4byte gUnk_02033A90 -_0804DA00: .4byte 0x00000864 - - thumb_func_start sub_0804DA04 -sub_0804DA04: @ 0x0804DA04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_327 -nullsub_327: @ 0x0804DA08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DA0C -sub_0804DA0C: @ 0x0804DA0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_328 -nullsub_328: @ 0x0804DA10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DA14 -sub_0804DA14: @ 0x0804DA14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_329 -nullsub_329: @ 0x0804DA18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DA1C -sub_0804DA1C: @ 0x0804DA1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_330 -nullsub_330: @ 0x0804DA20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DA24 -sub_0804DA24: @ 0x0804DA24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_331 -nullsub_331: @ 0x0804DA28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DA2C -sub_0804DA2C: @ 0x0804DA2C - push {lr} - movs r0, #0x77 - bl sub_0807CBD0 - adds r1, r0, #0 - cmp r1, #0 - bne _0804DA40 - ldr r0, _0804DA44 @ =gUnk_02034350 - str r1, [r0, #0x6c] - str r1, [r0, #0x74] -_0804DA40: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804DA44: .4byte gUnk_02034350 - - thumb_func_start sub_0804DA48 -sub_0804DA48: @ 0x0804DA48 - push {lr} - movs r0, #0x77 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804DA60 - ldr r0, _0804DA5C @ =gUnk_080EB9F4 - bl sub_0804ADDC - b _0804DA8C - .align 2, 0 -_0804DA5C: .4byte gUnk_080EB9F4 -_0804DA60: - movs r0, #0x78 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804DA76 - ldr r0, _0804DA90 @ =gUnk_080EBAA4 - bl sub_0804ADDC - movs r0, #0x75 - bl sub_0807CCB4 -_0804DA76: - movs r0, #0x7b - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DA8C - ldr r0, _0804DA94 @ =gUnk_080EBAF4 - bl sub_0804ADDC - movs r0, #0x76 - bl sub_0807CCB4 -_0804DA8C: - pop {pc} - .align 2, 0 -_0804DA90: .4byte gUnk_080EBAA4 -_0804DA94: .4byte gUnk_080EBAF4 - - thumb_func_start sub_0804DA98 -sub_0804DA98: @ 0x0804DA98 - movs r0, #1 - bx lr - - thumb_func_start nullsub_332 -nullsub_332: @ 0x0804DA9C - bx lr - .align 2, 0 - - thumb_func_start sub_0804DAA0 -sub_0804DAA0: @ 0x0804DAA0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_333 -nullsub_333: @ 0x0804DAA4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DAA8 -sub_0804DAA8: @ 0x0804DAA8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_334 -nullsub_334: @ 0x0804DAAC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DAB0 -sub_0804DAB0: @ 0x0804DAB0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_335 -nullsub_335: @ 0x0804DAB4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DAB8 -sub_0804DAB8: @ 0x0804DAB8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_336 -nullsub_336: @ 0x0804DABC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DAC0 -sub_0804DAC0: @ 0x0804DAC0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_337 -nullsub_337: @ 0x0804DAC4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DAC8 -sub_0804DAC8: @ 0x0804DAC8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_338 -nullsub_338: @ 0x0804DACC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DAD0 -sub_0804DAD0: @ 0x0804DAD0 - movs r0, #1 - bx lr - - thumb_func_start sub_0804DAD4 -sub_0804DAD4: @ 0x0804DAD4 - push {lr} - movs r0, #0x86 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DAF0 - movs r0, #0x4c - bl sub_0807CBD0 - cmp r0, #0 - bne _0804DAF0 - ldr r0, _0804DAF4 @ =gUnk_080EC2CC - bl sub_0804ADDC -_0804DAF0: - pop {pc} - .align 2, 0 -_0804DAF4: .4byte gUnk_080EC2CC - - thumb_func_start sub_0804DAF8 -sub_0804DAF8: @ 0x0804DAF8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_339 -nullsub_339: @ 0x0804DAFC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DB00 -sub_0804DB00: @ 0x0804DB00 - movs r0, #1 - bx lr - - thumb_func_start sub_0804DB04 -sub_0804DB04: @ 0x0804DB04 - push {lr} - movs r0, #0x86 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DB20 - movs r0, #0x4d - bl sub_0807CBD0 - cmp r0, #0 - bne _0804DB20 - ldr r0, _0804DB24 @ =gUnk_080EC4E8 - bl sub_0804ADDC -_0804DB20: - pop {pc} - .align 2, 0 -_0804DB24: .4byte gUnk_080EC4E8 - - thumb_func_start sub_0804DB28 -sub_0804DB28: @ 0x0804DB28 - movs r0, #1 - bx lr - - thumb_func_start nullsub_340 -nullsub_340: @ 0x0804DB2C - bx lr - .align 2, 0 - - thumb_func_start sub_0804DB30 -sub_0804DB30: @ 0x0804DB30 - movs r0, #1 - bx lr - - thumb_func_start nullsub_341 -nullsub_341: @ 0x0804DB34 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DB38 -sub_0804DB38: @ 0x0804DB38 - movs r0, #1 - bx lr - - thumb_func_start sub_0804DB3C -sub_0804DB3C: @ 0x0804DB3C - push {lr} - movs r0, #0x86 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DB58 - movs r0, #0x53 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804DB58 - ldr r0, _0804DB5C @ =gUnk_080EC820 - bl sub_0804ADDC -_0804DB58: - pop {pc} - .align 2, 0 -_0804DB5C: .4byte gUnk_080EC820 - - thumb_func_start sub_0804DB60 -sub_0804DB60: @ 0x0804DB60 - movs r0, #1 - bx lr - - thumb_func_start nullsub_342 -nullsub_342: @ 0x0804DB64 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DB68 -sub_0804DB68: @ 0x0804DB68 - movs r0, #1 - bx lr - - thumb_func_start sub_0804DB6C -sub_0804DB6C: @ 0x0804DB6C - push {lr} - movs r0, #0x86 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DB88 - movs r0, #0x56 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804DB88 - ldr r0, _0804DB8C @ =gUnk_080ECA60 - bl sub_0804ADDC -_0804DB88: - pop {pc} - .align 2, 0 -_0804DB8C: .4byte gUnk_080ECA60 - - thumb_func_start sub_0804DB90 -sub_0804DB90: @ 0x0804DB90 - movs r0, #1 - bx lr - - thumb_func_start nullsub_343 -nullsub_343: @ 0x0804DB94 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DB98 -sub_0804DB98: @ 0x0804DB98 - movs r0, #1 - bx lr - - thumb_func_start nullsub_344 -nullsub_344: @ 0x0804DB9C - bx lr - .align 2, 0 - - thumb_func_start sub_0804DBA0 -sub_0804DBA0: @ 0x0804DBA0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_345 -nullsub_345: @ 0x0804DBA4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DBA8 -sub_0804DBA8: @ 0x0804DBA8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_346 -nullsub_346: @ 0x0804DBAC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DBB0 -sub_0804DBB0: @ 0x0804DBB0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_347 -nullsub_347: @ 0x0804DBB4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DBB8 -sub_0804DBB8: @ 0x0804DBB8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_348 -nullsub_348: @ 0x0804DBBC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DBC0 -sub_0804DBC0: @ 0x0804DBC0 - push {lr} - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DBD2 - ldr r1, _0804DBD8 @ =gUnk_02034350 - movs r0, #0 - str r0, [r1, #0x74] -_0804DBD2: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804DBD8: .4byte gUnk_02034350 - - thumb_func_start sub_0804DBDC -sub_0804DBDC: @ 0x0804DBDC - push {lr} - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DC08 - movs r0, #0x90 - movs r1, #1 - movs r2, #1 - movs r3, #5 - bl sub_0807BB98 - ldr r0, _0804DC0C @ =gUnk_080ECFCC - bl sub_0804ADDC - ldr r0, _0804DC10 @ =gUnk_02033A90 - ldr r2, _0804DC14 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804DC08: - pop {pc} - .align 2, 0 -_0804DC0C: .4byte gUnk_080ECFCC -_0804DC10: .4byte gUnk_02033A90 -_0804DC14: .4byte 0x00000864 - - thumb_func_start sub_0804DC18 -sub_0804DC18: @ 0x0804DC18 - movs r0, #1 - bx lr - - thumb_func_start nullsub_349 -nullsub_349: @ 0x0804DC1C - bx lr - .align 2, 0 - - thumb_func_start sub_0804DC20 -sub_0804DC20: @ 0x0804DC20 - movs r0, #1 - bx lr - - thumb_func_start nullsub_350 -nullsub_350: @ 0x0804DC24 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DC28 -sub_0804DC28: @ 0x0804DC28 - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804DC3E - ldr r0, _0804DC44 @ =gUnk_02034350 - ldr r1, _0804DC48 @ =gUnk_080ED1E4 - str r1, [r0, #0x6c] - movs r1, #0 - str r1, [r0, #0x74] -_0804DC3E: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804DC44: .4byte gUnk_02034350 -_0804DC48: .4byte gUnk_080ED1E4 - - thumb_func_start sub_0804DC4C -sub_0804DC4C: @ 0x0804DC4C - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804DC66 - ldr r0, _0804DC68 @ =gUnk_02033A90 - ldr r2, _0804DC6C @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804DC66: - pop {pc} - .align 2, 0 -_0804DC68: .4byte gUnk_02033A90 -_0804DC6C: .4byte 0x00000864 - - thumb_func_start sub_0804DC70 -sub_0804DC70: @ 0x0804DC70 - movs r0, #1 - bx lr - - thumb_func_start nullsub_351 -nullsub_351: @ 0x0804DC74 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DC78 -sub_0804DC78: @ 0x0804DC78 - movs r0, #1 - bx lr - - thumb_func_start nullsub_352 -nullsub_352: @ 0x0804DC7C - bx lr - .align 2, 0 - - thumb_func_start sub_0804DC80 -sub_0804DC80: @ 0x0804DC80 - movs r0, #1 - bx lr - - thumb_func_start nullsub_353 -nullsub_353: @ 0x0804DC84 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DC88 -sub_0804DC88: @ 0x0804DC88 - movs r0, #1 - bx lr - - thumb_func_start nullsub_354 -nullsub_354: @ 0x0804DC8C - bx lr - .align 2, 0 - - thumb_func_start sub_0804DC90 -sub_0804DC90: @ 0x0804DC90 - movs r0, #1 - bx lr - - thumb_func_start nullsub_355 -nullsub_355: @ 0x0804DC94 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DC98 -sub_0804DC98: @ 0x0804DC98 - movs r0, #1 - bx lr - - thumb_func_start nullsub_356 -nullsub_356: @ 0x0804DC9C - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCA0 -sub_0804DCA0: @ 0x0804DCA0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_357 -nullsub_357: @ 0x0804DCA4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCA8 -sub_0804DCA8: @ 0x0804DCA8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_358 -nullsub_358: @ 0x0804DCAC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCB0 -sub_0804DCB0: @ 0x0804DCB0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_359 -nullsub_359: @ 0x0804DCB4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCB8 -sub_0804DCB8: @ 0x0804DCB8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_360 -nullsub_360: @ 0x0804DCBC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCC0 -sub_0804DCC0: @ 0x0804DCC0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_361 -nullsub_361: @ 0x0804DCC4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCC8 -sub_0804DCC8: @ 0x0804DCC8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_362 -nullsub_362: @ 0x0804DCCC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCD0 -sub_0804DCD0: @ 0x0804DCD0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_363 -nullsub_363: @ 0x0804DCD4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCD8 -sub_0804DCD8: @ 0x0804DCD8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_364 -nullsub_364: @ 0x0804DCDC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCE0 -sub_0804DCE0: @ 0x0804DCE0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_365 -nullsub_365: @ 0x0804DCE4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCE8 -sub_0804DCE8: @ 0x0804DCE8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_366 -nullsub_366: @ 0x0804DCEC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCF0 -sub_0804DCF0: @ 0x0804DCF0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_367 -nullsub_367: @ 0x0804DCF4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DCF8 -sub_0804DCF8: @ 0x0804DCF8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_368 -nullsub_368: @ 0x0804DCFC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DD00 -sub_0804DD00: @ 0x0804DD00 - movs r0, #1 - bx lr - - thumb_func_start nullsub_369 -nullsub_369: @ 0x0804DD04 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DD08 -sub_0804DD08: @ 0x0804DD08 - movs r0, #1 - bx lr - - thumb_func_start nullsub_370 -nullsub_370: @ 0x0804DD0C - bx lr - .align 2, 0 - - thumb_func_start sub_0804DD10 -sub_0804DD10: @ 0x0804DD10 - movs r0, #1 - bx lr - - thumb_func_start nullsub_371 -nullsub_371: @ 0x0804DD14 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DD18 -sub_0804DD18: @ 0x0804DD18 - push {lr} - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DD2C - ldr r1, _0804DD30 @ =gUnk_02034350 - movs r0, #0 - str r0, [r1, #0x74] - str r0, [r1, #0x6c] -_0804DD2C: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804DD30: .4byte gUnk_02034350 - - thumb_func_start sub_0804DD34 -sub_0804DD34: @ 0x0804DD34 - push {lr} - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DD60 - movs r0, #3 - movs r1, #2 - movs r2, #5 - movs r3, #1 - bl sub_0807BB98 - ldr r0, _0804DD64 @ =gUnk_080EE314 - bl sub_0804ADDC - ldr r0, _0804DD68 @ =gUnk_02033A90 - ldr r2, _0804DD6C @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804DD60: - pop {pc} - .align 2, 0 -_0804DD64: .4byte gUnk_080EE314 -_0804DD68: .4byte gUnk_02033A90 -_0804DD6C: .4byte 0x00000864 - - thumb_func_start sub_0804DD70 -sub_0804DD70: @ 0x0804DD70 - movs r0, #1 - bx lr - - thumb_func_start nullsub_372 -nullsub_372: @ 0x0804DD74 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DD78 -sub_0804DD78: @ 0x0804DD78 - push {lr} - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DD8A - ldr r1, _0804DD90 @ =gUnk_02034350 - movs r0, #0 - str r0, [r1, #0x74] -_0804DD8A: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804DD90: .4byte gUnk_02034350 - - thumb_func_start sub_0804DD94 -sub_0804DD94: @ 0x0804DD94 - push {lr} - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DDC0 - ldr r0, _0804DDC4 @ =0x00000392 - movs r1, #2 - movs r2, #2 - movs r3, #5 - bl sub_0807BB98 - ldr r0, _0804DDC8 @ =gUnk_080EE5DC - bl sub_0804ADDC - ldr r0, _0804DDCC @ =gUnk_02033A90 - ldr r2, _0804DDD0 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804DDC0: - pop {pc} - .align 2, 0 -_0804DDC4: .4byte 0x00000392 -_0804DDC8: .4byte gUnk_080EE5DC -_0804DDCC: .4byte gUnk_02033A90 -_0804DDD0: .4byte 0x00000864 - - thumb_func_start sub_0804DDD4 -sub_0804DDD4: @ 0x0804DDD4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_373 -nullsub_373: @ 0x0804DDD8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804DDDC -sub_0804DDDC: @ 0x0804DDDC - movs r0, #1 - bx lr - - thumb_func_start sub_0804DDE0 -sub_0804DDE0: @ 0x0804DDE0 - push {lr} - movs r0, #1 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804DDF2 - ldr r0, _0804DDF4 @ =gUnk_080EE71C - bl sub_0804ADDC -_0804DDF2: - pop {pc} - .align 2, 0 -_0804DDF4: .4byte gUnk_080EE71C - - thumb_func_start sub_0804DDF8 -sub_0804DDF8: @ 0x0804DDF8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_374 -nullsub_374: @ 0x0804DDFC - bx lr - .align 2, 0 - - thumb_func_start sub_0804DE00 -sub_0804DE00: @ 0x0804DE00 - push {r4, r5, r6, lr} - bl sub_080530C8 - movs r0, #0xb - bl sub_0801E7F4 - cmp r0, #0 - beq _0804DE32 - movs r0, #0x19 - bl sub_0807CC30 - cmp r0, #0 - bne _0804DE22 - movs r0, #0x19 - bl sub_0807CD04 - b _0804DE32 -_0804DE22: - movs r0, #0x18 - bl sub_0807CC30 - cmp r0, #0 - bne _0804DE32 - movs r0, #0x18 - bl sub_0807CD04 -_0804DE32: - ldr r5, _0804DE50 @ =gUnk_080D4250 - ldr r4, _0804DE54 @ =gUnk_02002A40 - ldrb r0, [r4, #8] - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r0, [r0] - bl sub_0804AFB0 - ldrb r0, [r4, #8] - cmp r0, #1 - beq _0804DE5C - ldr r1, _0804DE58 @ =gUnk_02017654 - ldr r0, [r5] - str r0, [r1] - b _0804DECC - .align 2, 0 -_0804DE50: .4byte gUnk_080D4250 -_0804DE54: .4byte gUnk_02002A40 -_0804DE58: .4byte gUnk_02017654 -_0804DE5C: - movs r0, #0x1c - bl sub_0807CD04 - ldr r4, _0804DEB4 @ =gUnk_02033A90 - ldr r0, _0804DEB8 @ =0x0000085C - adds r4, r4, r0 - ldr r0, [r4] - ldrh r5, [r0, #4] - ldrh r6, [r0, #6] - ldr r1, _0804DEBC @ =gUnk_03000BF0 - movs r2, #0 - movs r0, #0x15 - strb r0, [r1, #4] - strb r2, [r1, #5] - bl sub_08052CFC - ldr r0, [r4] - movs r1, #0x98 - lsls r1, r1, #1 - adds r5, r5, r1 - strh r5, [r0, #4] - ldr r0, [r4] - strh r6, [r0, #6] - ldr r1, _0804DEC0 @ =gUnk_030010A0 - ldr r0, [r4] - ldrh r0, [r0] - lsrs r0, r0, #1 - strh r0, [r1, #0x10] - bl sub_08052EA0 - bl sub_0804AF90 - movs r0, #0xcd - bl sub_0807CBD0 - cmp r0, #0 - bne _0804DEC4 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #7 - bl sub_08050054 - b _0804DECC - .align 2, 0 -_0804DEB4: .4byte gUnk_02033A90 -_0804DEB8: .4byte 0x0000085C -_0804DEBC: .4byte gUnk_03000BF0 -_0804DEC0: .4byte gUnk_030010A0 -_0804DEC4: - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 -_0804DECC: - movs r0, #1 - pop {r4, r5, r6, pc} - - thumb_func_start sub_0804DED0 -sub_0804DED0: @ 0x0804DED0 - push {r4, lr} - bl sub_08054570 - bl sub_08059D18 - movs r0, #0xbb - lsls r0, r0, #1 - ldr r1, _0804DEF8 @ =0x0000066B - movs r2, #1 - bl sub_0807B314 - ldr r0, _0804DEFC @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #1 - bne _0804DF00 - movs r0, #0 - bl sub_0801D000 - b _0804E112 - .align 2, 0 -_0804DEF8: .4byte 0x0000066B -_0804DEFC: .4byte gUnk_02002A40 -_0804DF00: - ldr r0, _0804DF7C @ =0x00000DB4 - bl sub_08018C58 - movs r4, #0x80 - lsls r4, r4, #2 - adds r0, r4, #0 - movs r1, #0x84 - bl sub_0807CB10 - cmp r0, #0 - bne _0804DF1C - ldr r0, _0804DF80 @ =gUnk_080EEB6C - bl sub_0804ADDC -_0804DF1C: - adds r0, r4, #0 - movs r1, #0x85 - bl sub_0807CB10 - cmp r0, #0 - bne _0804DF2E - ldr r0, _0804DF84 @ =gUnk_080EEB8C - bl sub_0804ADDC -_0804DF2E: - movs r0, #0x67 - bl sub_0807CA84 - cmp r0, #0 - bne _0804DF48 - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - beq _0804DF48 - ldr r0, _0804DF88 @ =gUnk_080EE88C - bl sub_0804ADDC -_0804DF48: - movs r0, #0x28 - bl sub_0801E7F4 - cmp r0, #0 - bne _0804DF58 - ldr r0, _0804DF8C @ =gUnk_080EE8FC - bl sub_0804ADDC -_0804DF58: - movs r0, #0x33 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804DF68 - ldr r0, _0804DF90 @ =gUnk_080EE91C - bl sub_0804ADDC -_0804DF68: - movs r0, #0x12 - bl sub_0807CC30 - cmp r0, #0 - beq _0804DF98 - ldr r0, _0804DF94 @ =gUnk_080EE93C - bl sub_0804ADDC - b _0804DF9E - .align 2, 0 -_0804DF7C: .4byte 0x00000DB4 -_0804DF80: .4byte gUnk_080EEB6C -_0804DF84: .4byte gUnk_080EEB8C -_0804DF88: .4byte gUnk_080EE88C -_0804DF8C: .4byte gUnk_080EE8FC -_0804DF90: .4byte gUnk_080EE91C -_0804DF94: .4byte gUnk_080EE93C -_0804DF98: - ldr r0, _0804DFF4 @ =gUnk_080EECBC - bl sub_0804ADDC -_0804DF9E: - movs r0, #0x1b - bl sub_0801E7F4 - cmp r0, #0 - beq _0804E02A - ldr r0, _0804DFF8 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804E02A - movs r0, #0x2e - bl sub_0807CC30 - cmp r0, #0 - bne _0804E024 - movs r0, #0x2f - bl sub_0807CC30 - cmp r0, #0 - bne _0804E024 - movs r0, #0x30 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E024 - movs r0, #0x2b - bl sub_0807CC30 - cmp r0, #0 - bne _0804E000 - movs r0, #0x2c - bl sub_0807CC30 - cmp r0, #0 - bne _0804E000 - movs r0, #0x2d - bl sub_0807CC30 - cmp r0, #0 - bne _0804E000 - ldr r0, _0804DFFC @ =gUnk_080EE95C - bl sub_0804ADDC - b _0804E02A - .align 2, 0 -_0804DFF4: .4byte gUnk_080EECBC -_0804DFF8: .4byte gUnk_02002A40 -_0804DFFC: .4byte gUnk_080EE95C -_0804E000: - movs r0, #0x18 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E018 - ldr r0, _0804E014 @ =gUnk_080EE97C - bl sub_0804ADDC - b _0804E02A - .align 2, 0 -_0804E014: .4byte gUnk_080EE97C -_0804E018: - ldr r0, _0804E020 @ =gUnk_080EE9BC - bl sub_0804ADDC - b _0804E02A - .align 2, 0 -_0804E020: .4byte gUnk_080EE9BC -_0804E024: - ldr r0, _0804E03C @ =gUnk_080EE99C - bl sub_0804ADDC -_0804E02A: - movs r0, #0x2b - bl sub_0807CC30 - cmp r0, #0 - beq _0804E044 - ldr r0, _0804E040 @ =gUnk_080EE9FC - bl sub_0804ADDC - b _0804E07A - .align 2, 0 -_0804E03C: .4byte gUnk_080EE99C -_0804E040: .4byte gUnk_080EE9FC -_0804E044: - movs r0, #0x2c - bl sub_0807CC30 - cmp r0, #0 - beq _0804E05C - ldr r0, _0804E058 @ =gUnk_080EEA1C - bl sub_0804ADDC - b _0804E07A - .align 2, 0 -_0804E058: .4byte gUnk_080EEA1C -_0804E05C: - movs r0, #0x2d - bl sub_0807CC30 - cmp r0, #0 - beq _0804E074 - ldr r0, _0804E070 @ =gUnk_080EEA3C - bl sub_0804ADDC - b _0804E07A - .align 2, 0 -_0804E070: .4byte gUnk_080EEA3C -_0804E074: - ldr r0, _0804E114 @ =gUnk_080EE9DC - bl sub_0804ADDC -_0804E07A: - ldr r0, _0804E118 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #4 - bls _0804E0B0 - movs r0, #0xb - bl sub_0801E7F4 - cmp r0, #0 - bne _0804E0B0 - movs r0, #0x2b - bl sub_0807CC30 - cmp r0, #0 - bne _0804E0AA - movs r0, #0x2c - bl sub_0807CC30 - cmp r0, #0 - bne _0804E0AA - movs r0, #0x2d - bl sub_0807CC30 - cmp r0, #0 - beq _0804E0B0 -_0804E0AA: - ldr r0, _0804E11C @ =gUnk_080EEA5C - bl sub_0804ADDC -_0804E0B0: - movs r0, #0xd0 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804E0CA - movs r0, #0x14 - bl sub_0807CA84 - cmp r0, #0 - beq _0804E0CA - ldr r0, _0804E120 @ =gUnk_080EEABC - bl sub_0804ADDC -_0804E0CA: - ldr r0, _0804E118 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804E0E2 - movs r0, #0x1d - bl sub_0807CC30 - cmp r0, #0 - beq _0804E0E2 - ldr r0, _0804E124 @ =gUnk_080EEA7C - bl sub_0804ADDC -_0804E0E2: - ldr r0, _0804E118 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #5 - bhi _0804E0FA - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E0FA - ldr r0, _0804E128 @ =gUnk_080EEA9C - bl sub_0804ADDC -_0804E0FA: - ldr r0, _0804E118 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x14 - ands r0, r1 - cmp r0, #0 - bne _0804E10E - ldr r0, _0804E12C @ =gUnk_080EEBAC - bl sub_0804ADDC -_0804E10E: - bl sub_0804E150 -_0804E112: - pop {r4, pc} - .align 2, 0 -_0804E114: .4byte gUnk_080EE9DC -_0804E118: .4byte gUnk_02002A40 -_0804E11C: .4byte gUnk_080EEA5C -_0804E120: .4byte gUnk_080EEABC -_0804E124: .4byte gUnk_080EEA7C -_0804E128: .4byte gUnk_080EEA9C -_0804E12C: .4byte gUnk_080EEBAC - - thumb_func_start sub_0804E130 -sub_0804E130: @ 0x0804E130 - push {lr} - ldr r0, _0804E148 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x14 - ands r0, r1 - cmp r0, #0 - bne _0804E146 - ldr r0, _0804E14C @ =gUnk_080EEBAC - bl sub_0804ADDC -_0804E146: - pop {pc} - .align 2, 0 -_0804E148: .4byte gUnk_02002A40 -_0804E14C: .4byte gUnk_080EEBAC - - thumb_func_start sub_0804E150 -sub_0804E150: @ 0x0804E150 - push {r4, r5, lr} - ldr r4, _0804E160 @ =gUnk_080EED2C - ldr r0, _0804E164 @ =gUnk_02002A40 - movs r5, #1 - ldrb r0, [r0, #8] - lsls r5, r0 - b _0804E17C - .align 2, 0 -_0804E160: .4byte gUnk_080EED2C -_0804E164: .4byte gUnk_02002A40 -_0804E168: - ldrh r0, [r4] - ands r0, r5 - cmp r0, #0 - beq _0804E17A - ldrh r0, [r4, #4] - ldrh r1, [r4, #2] - movs r2, #1 - bl sub_0800015E -_0804E17A: - adds r4, #6 -_0804E17C: - ldrh r0, [r4, #2] - cmp r0, #0 - bne _0804E168 - movs r0, #0xd1 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804E1BA - ldr r4, _0804E198 @ =gUnk_080EED7A - ldr r0, _0804E19C @ =gUnk_02002A40 - movs r5, #1 - ldrb r0, [r0, #8] - lsls r5, r0 - b _0804E1B4 - .align 2, 0 -_0804E198: .4byte gUnk_080EED7A -_0804E19C: .4byte gUnk_02002A40 -_0804E1A0: - ldrh r0, [r4] - ands r0, r5 - cmp r0, #0 - beq _0804E1B2 - ldrh r0, [r4, #4] - ldrh r1, [r4, #2] - movs r2, #1 - bl sub_0800015E -_0804E1B2: - adds r4, #6 -_0804E1B4: - ldrh r0, [r4] - cmp r0, #0 - bne _0804E1A0 -_0804E1BA: - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E1F2 - ldr r4, _0804E1D0 @ =gUnk_080EED8C - ldr r0, _0804E1D4 @ =gUnk_02002A40 - movs r5, #1 - ldrb r0, [r0, #8] - lsls r5, r0 - b _0804E1EC - .align 2, 0 -_0804E1D0: .4byte gUnk_080EED8C -_0804E1D4: .4byte gUnk_02002A40 -_0804E1D8: - ldrh r0, [r4] - ands r0, r5 - cmp r0, #0 - beq _0804E1EA - ldrh r0, [r4, #4] - ldrh r1, [r4, #2] - movs r2, #1 - bl sub_0800015E -_0804E1EA: - adds r4, #6 -_0804E1EC: - ldrh r0, [r4] - cmp r0, #0 - bne _0804E1D8 -_0804E1F2: - pop {r4, r5, pc} - - thumb_func_start sub_0804E1F4 -sub_0804E1F4: @ 0x0804E1F4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_76 -nullsub_76: @ 0x0804E1F8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E1FC -sub_0804E1FC: @ 0x0804E1FC - movs r0, #1 - bx lr - - thumb_func_start nullsub_77 -nullsub_77: @ 0x0804E200 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E204 -sub_0804E204: @ 0x0804E204 - movs r0, #1 - bx lr - - thumb_func_start nullsub_78 -nullsub_78: @ 0x0804E208 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E20C -sub_0804E20C: @ 0x0804E20C - movs r0, #1 - bx lr - - thumb_func_start nullsub_79 -nullsub_79: @ 0x0804E210 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E214 -sub_0804E214: @ 0x0804E214 - movs r0, #1 - bx lr - - thumb_func_start nullsub_080 -nullsub_080: @ 0x0804E218 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E21C -sub_0804E21C: @ 0x0804E21C - movs r0, #1 - bx lr - - thumb_func_start nullsub_081 -nullsub_081: @ 0x0804E220 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E224 -sub_0804E224: @ 0x0804E224 - movs r0, #1 - bx lr - - thumb_func_start nullsub_082 -nullsub_082: @ 0x0804E228 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E22C -sub_0804E22C: @ 0x0804E22C - movs r0, #1 - bx lr - - thumb_func_start nullsub_083 -nullsub_083: @ 0x0804E230 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E234 -sub_0804E234: @ 0x0804E234 - movs r0, #1 - bx lr - - thumb_func_start nullsub_084 -nullsub_084: @ 0x0804E238 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E23C -sub_0804E23C: @ 0x0804E23C - movs r0, #1 - bx lr - - thumb_func_start nullsub_085 -nullsub_085: @ 0x0804E240 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E244 -sub_0804E244: @ 0x0804E244 - movs r0, #1 - bx lr - - thumb_func_start nullsub_086 -nullsub_086: @ 0x0804E248 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E24C -sub_0804E24C: @ 0x0804E24C - movs r0, #1 - bx lr - - thumb_func_start nullsub_087 -nullsub_087: @ 0x0804E250 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E254 -sub_0804E254: @ 0x0804E254 - movs r0, #1 - bx lr - - thumb_func_start nullsub_088 -nullsub_088: @ 0x0804E258 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E25C -sub_0804E25C: @ 0x0804E25C - push {lr} - movs r0, #6 - bl sub_0807CA84 - cmp r0, #0 - beq _0804E26E - ldr r1, _0804E274 @ =gUnk_02034350 - ldr r0, _0804E278 @ =gUnk_080F09A0 - str r0, [r1, #0x70] -_0804E26E: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804E274: .4byte gUnk_02034350 -_0804E278: .4byte gUnk_080F09A0 - - thumb_func_start sub_0804E27C -sub_0804E27C: @ 0x0804E27C - push {r4, lr} - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E2AC - ldr r0, _0804E2A0 @ =gUnk_080F0650 - bl sub_0804ADDC - ldr r0, _0804E2A4 @ =gUnk_02033A90 - ldr r1, _0804E2A8 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x13 - str r1, [r0] - movs r0, #0x64 - bl sub_0807CD04 - b _0804E2C0 - .align 2, 0 -_0804E2A0: .4byte gUnk_080F0650 -_0804E2A4: .4byte gUnk_02033A90 -_0804E2A8: .4byte 0x00000864 -_0804E2AC: - movs r0, #0x64 - bl sub_0807CC30 - cmp r0, #0 - beq _0804E2C0 - ldr r0, _0804E300 @ =gUnk_02033A90 - ldr r1, _0804E304 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x1b - str r1, [r0] -_0804E2C0: - movs r0, #0x9c - bl sub_0807CBD0 - cmp r0, #0 - bne _0804E318 - ldr r0, _0804E308 @ =gUnk_080F0800 - bl sub_0804ADDC - ldr r4, _0804E30C @ =0x00004072 - movs r1, #0x96 - lsls r1, r1, #2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r1, #0xa6 - lsls r1, r1, #2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804E310 @ =0x00000266 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804E314 @ =0x000002A6 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - b _0804E3A6 - .align 2, 0 -_0804E300: .4byte gUnk_02033A90 -_0804E304: .4byte 0x00000864 -_0804E308: .4byte gUnk_080F0800 -_0804E30C: .4byte 0x00004072 -_0804E310: .4byte 0x00000266 -_0804E314: .4byte 0x000002A6 -_0804E318: - movs r0, #6 - bl sub_0807CA84 - cmp r0, #0 - bne _0804E348 - ldr r0, _0804E360 @ =gUnk_080F08F0 - bl sub_0804ADDC - ldr r4, _0804E364 @ =0x00004072 - adds r0, r4, #0 - movs r1, #0x9e - movs r2, #1 - bl sub_0807B314 - adds r0, r4, #0 - movs r1, #0x9f - movs r2, #1 - bl sub_0807B314 - adds r0, r4, #0 - movs r1, #0xa0 - movs r2, #1 - bl sub_0807B314 -_0804E348: - ldr r0, _0804E368 @ =gUnk_080F0850 - bl sub_0804ADDC - movs r0, #0x42 - bl sub_0807CA84 - cmp r0, #0 - bne _0804E370 - ldr r0, _0804E36C @ =gUnk_080F0870 - bl sub_0804ADDC - b _0804E376 - .align 2, 0 -_0804E360: .4byte gUnk_080F08F0 -_0804E364: .4byte 0x00004072 -_0804E368: .4byte gUnk_080F0850 -_0804E36C: .4byte gUnk_080F0870 -_0804E370: - ldr r0, _0804E3AC @ =gUnk_080F0890 - bl sub_0804ADDC -_0804E376: - ldr r4, _0804E3B0 @ =0x00004072 - movs r1, #0x96 - lsls r1, r1, #2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r1, #0xa6 - lsls r1, r1, #2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r0, #0x10 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804E3A6 - ldr r0, _0804E3B4 @ =gUnk_080F0920 - bl sub_0804ADDC - movs r0, #0x10 - bl sub_0807CD34 -_0804E3A6: - bl sub_080AF284 - pop {r4, pc} - .align 2, 0 -_0804E3AC: .4byte gUnk_080F0890 -_0804E3B0: .4byte 0x00004072 -_0804E3B4: .4byte gUnk_080F0920 - - thumb_func_start sub_0804E3B8 -sub_0804E3B8: @ 0x0804E3B8 - push {lr} - movs r0, #1 - bl sub_0807CD34 - movs r0, #1 - pop {pc} - - thumb_func_start sub_0804E3C4 -sub_0804E3C4: @ 0x0804E3C4 - push {r4, r5, r6, lr} - movs r0, #5 - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r6, r1, #0x1f - movs r0, #6 - bl sub_0807CC30 - cmp r0, #0 - beq _0804E3DE - movs r6, #2 -_0804E3DE: - movs r0, #0x55 - bl sub_0807CC30 - cmp r0, #0 - beq _0804E3EA - movs r6, #3 -_0804E3EA: - bl sub_08000E50 - adds r4, r0, #0 - ldr r1, _0804E448 @ =gUnk_080F0D58 - lsls r0, r6, #2 - adds r0, r0, r1 - movs r5, #0x1f - adds r1, r4, #0 - ands r1, r5 - ldr r0, [r0] - adds r0, r0, r1 - ldrb r6, [r0] - ldr r1, _0804E44C @ =gUnk_080F0CB8 - movs r0, #0xf - ands r0, r6 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl sub_0804ADDC - lsrs r6, r6, #4 - lsrs r4, r4, #8 - ldr r1, _0804E450 @ =gUnk_080F0E08 - lsls r0, r6, #2 - adds r0, r0, r1 - ands r4, r5 - ldr r0, [r0] - adds r0, r0, r4 - ldrb r6, [r0] - movs r0, #0xc6 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804E436 - movs r0, #0xc6 - bl sub_0807CCB4 - movs r6, #0xe -_0804E436: - lsls r0, r6, #3 - ldr r1, _0804E454 @ =gUnk_080F0E1C - adds r0, r0, r1 - bl sub_0804B3C4 - ldr r0, _0804E458 @ =0x80100000 - bl sub_080A3268 - pop {r4, r5, r6, pc} - .align 2, 0 -_0804E448: .4byte gUnk_080F0D58 -_0804E44C: .4byte gUnk_080F0CB8 -_0804E450: .4byte gUnk_080F0E08 -_0804E454: .4byte gUnk_080F0E1C -_0804E458: .4byte 0x80100000 - - thumb_func_start sub_0804E45C -sub_0804E45C: @ 0x0804E45C - movs r0, #1 - bx lr - - thumb_func_start sub_0804E460 -sub_0804E460: @ 0x0804E460 - push {lr} - movs r0, #0x4a - bl sub_0807CC30 - cmp r0, #0 - bne _0804E478 - ldr r0, _0804E474 @ =gUnk_080F1C68 - bl sub_0804ADDC - b _0804E47E - .align 2, 0 -_0804E474: .4byte gUnk_080F1C68 -_0804E478: - ldr r0, _0804E480 @ =gUnk_080F1C88 - bl sub_0804ADDC -_0804E47E: - pop {pc} - .align 2, 0 -_0804E480: .4byte gUnk_080F1C88 - - thumb_func_start sub_0804E484 -sub_0804E484: @ 0x0804E484 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E488 -sub_0804E488: @ 0x0804E488 - push {lr} - movs r0, #0x2e - bl sub_0807CC30 - cmp r0, #0 - beq _0804E4A0 - ldr r0, _0804E49C @ =gUnk_080F1D90 - bl sub_0804ADDC - b _0804E4C8 - .align 2, 0 -_0804E49C: .4byte gUnk_080F1D90 -_0804E4A0: - movs r0, #0x2f - bl sub_0807CC30 - cmp r0, #0 - beq _0804E4B8 - ldr r0, _0804E4B4 @ =gUnk_080F1DB0 - bl sub_0804ADDC - b _0804E4C8 - .align 2, 0 -_0804E4B4: .4byte gUnk_080F1DB0 -_0804E4B8: - movs r0, #0x30 - bl sub_0807CC30 - cmp r0, #0 - beq _0804E4C8 - ldr r0, _0804E4CC @ =gUnk_080F1DD0 - bl sub_0804ADDC -_0804E4C8: - pop {pc} - .align 2, 0 -_0804E4CC: .4byte gUnk_080F1DD0 - - thumb_func_start sub_0804E4D0 -sub_0804E4D0: @ 0x0804E4D0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_375 -nullsub_375: @ 0x0804E4D4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E4D8 -sub_0804E4D8: @ 0x0804E4D8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_376 -nullsub_376: @ 0x0804E4DC - bx lr - .align 2, 0 - - thumb_func_start sub_0804E4E0 -sub_0804E4E0: @ 0x0804E4E0 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E4E4 -sub_0804E4E4: @ 0x0804E4E4 - push {lr} - ldr r0, _0804E518 @ =gUnk_080F2174 - bl sub_0804ADDC - movs r0, #0x3a - bl sub_0807CA84 - cmp r0, #0 - bne _0804E506 - movs r0, #0x2a - bl sub_0807CC30 - cmp r0, #0 - beq _0804E506 - ldr r0, _0804E51C @ =gUnk_080F2194 - bl sub_0804ADDC -_0804E506: - ldr r0, _0804E520 @ =gUnk_030010A0 - ldrb r0, [r0, #0xf] - cmp r0, #1 - bne _0804E514 - ldr r0, _0804E524 @ =gUnk_080F21B4 - bl sub_0804ADDC -_0804E514: - pop {pc} - .align 2, 0 -_0804E518: .4byte gUnk_080F2174 -_0804E51C: .4byte gUnk_080F2194 -_0804E520: .4byte gUnk_030010A0 -_0804E524: .4byte gUnk_080F21B4 - - thumb_func_start sub_0804E528 -sub_0804E528: @ 0x0804E528 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E52C -sub_0804E52C: @ 0x0804E52C - push {lr} - ldr r0, _0804E558 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #7 - bls _0804E53C - ldr r0, _0804E55C @ =gUnk_080F23BC - bl sub_0804ADDC -_0804E53C: - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0804E564 - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0804E564 - ldr r0, _0804E560 @ =gUnk_080F238C - bl sub_0804ADDC - b _0804E56A - .align 2, 0 -_0804E558: .4byte gUnk_02002A40 -_0804E55C: .4byte gUnk_080F23BC -_0804E560: .4byte gUnk_080F238C -_0804E564: - ldr r0, _0804E56C @ =gUnk_080F236C - bl sub_0804ADDC -_0804E56A: - pop {pc} - .align 2, 0 -_0804E56C: .4byte gUnk_080F236C - - thumb_func_start sub_0804E570 -sub_0804E570: @ 0x0804E570 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E574 -sub_0804E574: @ 0x0804E574 - push {lr} - ldr r0, _0804E588 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #9 - bhi _0804E608 - lsls r0, r0, #2 - ldr r1, _0804E58C @ =_0804E590 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804E588: .4byte gUnk_02002A40 -_0804E58C: .4byte _0804E590 -_0804E590: @ jump table - .4byte _0804E5CC @ case 0 - .4byte _0804E608 @ case 1 - .4byte _0804E5CC @ case 2 - .4byte _0804E608 @ case 3 - .4byte _0804E5CC @ case 4 - .4byte _0804E5B8 @ case 5 - .4byte _0804E602 @ case 6 - .4byte _0804E602 @ case 7 - .4byte _0804E5FC @ case 8 - .4byte _0804E5FC @ case 9 -_0804E5B8: - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0804E5F0 - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E5D8 -_0804E5CC: - ldr r0, _0804E5D4 @ =gUnk_080F2570 - bl sub_0804ADDC - b _0804E608 - .align 2, 0 -_0804E5D4: .4byte gUnk_080F2570 -_0804E5D8: - movs r0, #0x39 - bl sub_0807CA84 - cmp r0, #0 - bne _0804E608 - ldr r0, _0804E5EC @ =gUnk_080F25C0 - bl sub_0804ADDC - b _0804E608 - .align 2, 0 -_0804E5EC: .4byte gUnk_080F25C0 -_0804E5F0: - ldr r0, _0804E5F8 @ =gUnk_080F2590 - bl sub_0804ADDC - b _0804E608 - .align 2, 0 -_0804E5F8: .4byte gUnk_080F2590 -_0804E5FC: - ldr r0, _0804E60C @ =gUnk_080F2600 - bl sub_0804ADDC -_0804E602: - ldr r0, _0804E610 @ =gUnk_080F2590 - bl sub_0804ADDC -_0804E608: - pop {pc} - .align 2, 0 -_0804E60C: .4byte gUnk_080F2600 -_0804E610: .4byte gUnk_080F2590 - - thumb_func_start sub_0804E614 -sub_0804E614: @ 0x0804E614 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E618 -sub_0804E618: @ 0x0804E618 - push {lr} - movs r0, #0x21 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804E67A - movs r0, #0x42 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804E65C - movs r0, #0x43 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804E650 - ldr r0, _0804E648 @ =gUnk_080F2718 - bl sub_0804ADDC - ldr r0, _0804E64C @ =gUnk_080F2860 - bl sub_0804B1AC - b _0804E67A - .align 2, 0 -_0804E648: .4byte gUnk_080F2718 -_0804E64C: .4byte gUnk_080F2860 -_0804E650: - ldr r0, _0804E658 @ =gUnk_080F2758 - bl sub_0804ADDC - b _0804E67A - .align 2, 0 -_0804E658: .4byte gUnk_080F2758 -_0804E65C: - movs r0, #0x3f - bl sub_0807CBD0 - cmp r0, #0 - bne _0804E674 - ldr r0, _0804E670 @ =gUnk_080F27D8 - bl sub_0804ADDC - b _0804E67A - .align 2, 0 -_0804E670: .4byte gUnk_080F27D8 -_0804E674: - ldr r0, _0804E67C @ =gUnk_080F2798 - bl sub_0804ADDC -_0804E67A: - pop {pc} - .align 2, 0 -_0804E67C: .4byte gUnk_080F2798 - - thumb_func_start sub_0804E680 -sub_0804E680: @ 0x0804E680 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E684 -sub_0804E684: @ 0x0804E684 - push {lr} - movs r0, #0x2b - bl sub_0807CC30 - cmp r0, #0 - beq _0804E69C - ldr r0, _0804E698 @ =gUnk_080F28D4 - bl sub_0804ADDC - b _0804E6C4 - .align 2, 0 -_0804E698: .4byte gUnk_080F28D4 -_0804E69C: - movs r0, #0x2c - bl sub_0807CC30 - cmp r0, #0 - beq _0804E6B4 - ldr r0, _0804E6B0 @ =gUnk_080F28F4 - bl sub_0804ADDC - b _0804E6C4 - .align 2, 0 -_0804E6B0: .4byte gUnk_080F28F4 -_0804E6B4: - movs r0, #0x2d - bl sub_0807CC30 - cmp r0, #0 - beq _0804E6C4 - ldr r0, _0804E6C8 @ =gUnk_080F2914 - bl sub_0804ADDC -_0804E6C4: - pop {pc} - .align 2, 0 -_0804E6C8: .4byte gUnk_080F2914 - - thumb_func_start sub_0804E6CC -sub_0804E6CC: @ 0x0804E6CC - movs r0, #1 - bx lr - - thumb_func_start nullsub_377 -nullsub_377: @ 0x0804E6D0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E6D4 -sub_0804E6D4: @ 0x0804E6D4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_378 -nullsub_378: @ 0x0804E6D8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E6DC -sub_0804E6DC: @ 0x0804E6DC - movs r0, #1 - bx lr - - thumb_func_start nullsub_379 -nullsub_379: @ 0x0804E6E0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804E6E4 -sub_0804E6E4: @ 0x0804E6E4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E6E8 -sub_0804E6E8: @ 0x0804E6E8 - push {lr} - movs r0, #0x49 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E70A - ldr r0, _0804E71C @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - ldr r0, _0804E720 @ =0x800B0036 - bl sub_080A3268 -_0804E70A: - movs r0, #0x13 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E71A - ldr r0, _0804E724 @ =gUnk_080F2E2C - bl sub_0804ADDC -_0804E71A: - pop {pc} - .align 2, 0 -_0804E71C: .4byte gUnk_02033A90 -_0804E720: .4byte 0x800B0036 -_0804E724: .4byte gUnk_080F2E2C - - thumb_func_start sub_0804E728 -sub_0804E728: @ 0x0804E728 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E72C -sub_0804E72C: @ 0x0804E72C - push {lr} - movs r0, #0x49 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E74E - ldr r0, _0804E760 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - ldr r0, _0804E764 @ =0x800B0036 - bl sub_080A3268 -_0804E74E: - movs r0, #0x13 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E76C - ldr r0, _0804E768 @ =gUnk_080F2E94 - bl sub_0804ADDC - b _0804E772 - .align 2, 0 -_0804E760: .4byte gUnk_02033A90 -_0804E764: .4byte 0x800B0036 -_0804E768: .4byte gUnk_080F2E94 -_0804E76C: - ldr r0, _0804E774 @ =gUnk_080F2EC4 - bl sub_0804ADDC -_0804E772: - pop {pc} - .align 2, 0 -_0804E774: .4byte gUnk_080F2EC4 - - thumb_func_start sub_0804E778 -sub_0804E778: @ 0x0804E778 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E77C -sub_0804E77C: @ 0x0804E77C - push {lr} - movs r0, #0x69 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804E792 - movs r0, #0x3c - bl sub_0807CA84 - cmp r0, #1 - bls _0804E798 -_0804E792: - ldr r0, _0804E79C @ =gUnk_080F2FD4 - bl sub_0804ADDC -_0804E798: - pop {pc} - .align 2, 0 -_0804E79C: .4byte gUnk_080F2FD4 - - thumb_func_start sub_0804E7A0 -sub_0804E7A0: @ 0x0804E7A0 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E7A4 -sub_0804E7A4: @ 0x0804E7A4 - push {lr} - movs r0, #0x36 - bl sub_0807CA84 - cmp r0, #1 - bne _0804E7CC - movs r0, #0x5b - bl sub_0807CC30 - cmp r0, #0 - bne _0804E7CC - ldr r0, _0804E7D0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0804E7CC - ldr r0, _0804E7D4 @ =gUnk_080F30CC - bl sub_0804ADDC -_0804E7CC: - pop {pc} - .align 2, 0 -_0804E7D0: .4byte gUnk_03003F80 -_0804E7D4: .4byte gUnk_080F30CC - - thumb_func_start sub_0804E7D8 -sub_0804E7D8: @ 0x0804E7D8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E7DC -sub_0804E7DC: @ 0x0804E7DC - push {r4, lr} - movs r0, #0x13 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E818 - movs r0, #0x46 - bl sub_0807CBD0 - adds r4, r0, #0 - cmp r4, #0 - bne _0804E818 - movs r0, #5 - movs r1, #1 - movs r2, #4 - movs r3, #4 - bl sub_080A71C4 - ldr r0, _0804E84C @ =gUnk_02000070 - strb r4, [r0] - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - ldr r2, _0804E850 @ =gUnk_08009B30 - movs r0, #0 - movs r1, #6 - bl sub_080751E8 -_0804E818: - movs r0, #0x49 - bl sub_0807CC30 - cmp r0, #0 - bne _0804E838 - ldr r0, _0804E854 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - ldr r0, _0804E858 @ =0x800B0036 - bl sub_080A3268 -_0804E838: - ldr r0, _0804E85C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _0804E84A - ldr r0, _0804E860 @ =gUnk_080F31D8 - bl sub_0804ADDC -_0804E84A: - pop {r4, pc} - .align 2, 0 -_0804E84C: .4byte gUnk_02000070 -_0804E850: .4byte gUnk_08009B30 -_0804E854: .4byte gUnk_02033A90 -_0804E858: .4byte 0x800B0036 -_0804E85C: .4byte gUnk_03003F80 -_0804E860: .4byte gUnk_080F31D8 - - thumb_func_start sub_0804E864 -sub_0804E864: @ 0x0804E864 - push {lr} - ldr r2, _0804E888 @ =gUnk_03001160 - ldr r1, _0804E88C @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0x90 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - adds r0, #0x38 - strh r0, [r2, #0x32] - ldr r2, _0804E890 @ =gUnk_08009E58 - movs r0, #1 - movs r1, #6 - bl sub_080751E8 - movs r0, #0xa0 - bl sub_080526A0 - pop {pc} - .align 2, 0 -_0804E888: .4byte gUnk_03001160 -_0804E88C: .4byte gUnk_03000BF0 -_0804E890: .4byte gUnk_08009E58 - - thumb_func_start sub_0804E894 -sub_0804E894: @ 0x0804E894 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E898 -sub_0804E898: @ 0x0804E898 - push {r4, lr} - movs r0, #0x12 - bl sub_0807CA84 - cmp r0, #0 - beq _0804E8D8 - ldr r0, _0804E8DC @ =gUnk_080F3260 - bl sub_0804ADDC - ldr r4, _0804E8E0 @ =0x00004072 - ldr r1, _0804E8E4 @ =0x00000202 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804E8E8 @ =0x00000242 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r1, #0x81 - lsls r1, r1, #2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r1, #0x91 - lsls r1, r1, #2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 -_0804E8D8: - pop {r4, pc} - .align 2, 0 -_0804E8DC: .4byte gUnk_080F3260 -_0804E8E0: .4byte 0x00004072 -_0804E8E4: .4byte 0x00000202 -_0804E8E8: .4byte 0x00000242 - - thumb_func_start sub_0804E8EC -sub_0804E8EC: @ 0x0804E8EC - movs r0, #1 - bx lr - - thumb_func_start sub_0804E8F0 -sub_0804E8F0: @ 0x0804E8F0 - push {lr} - bl sub_08054564 - pop {pc} - - thumb_func_start sub_0804E8F8 -sub_0804E8F8: @ 0x0804E8F8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E8FC -sub_0804E8FC: @ 0x0804E8FC - push {lr} - movs r0, #0x1d - bl sub_0807CC30 - cmp r0, #0 - bne _0804E914 - ldr r0, _0804E910 @ =gUnk_080F36FC - bl sub_0804ADDC - b _0804E922 - .align 2, 0 -_0804E910: .4byte gUnk_080F36FC -_0804E914: - ldr r0, _0804E924 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bhi _0804E922 - ldr r0, _0804E928 @ =gUnk_080F3604 - bl sub_0804ADDC -_0804E922: - pop {pc} - .align 2, 0 -_0804E924: .4byte gUnk_02002A40 -_0804E928: .4byte gUnk_080F3604 - - thumb_func_start sub_0804E92C -sub_0804E92C: @ 0x0804E92C - movs r0, #1 - bx lr - - thumb_func_start sub_0804E930 -sub_0804E930: @ 0x0804E930 - push {lr} - movs r0, #0x1d - bl sub_0807CC30 - cmp r0, #0 - beq _0804E942 - ldr r0, _0804E944 @ =gUnk_080F37D0 - bl sub_0804ADDC -_0804E942: - pop {pc} - .align 2, 0 -_0804E944: .4byte gUnk_080F37D0 - - thumb_func_start sub_0804E948 -sub_0804E948: @ 0x0804E948 - movs r0, #1 - bx lr - - thumb_func_start nullsub_380 -nullsub_380: @ 0x0804E94C - bx lr - .align 2, 0 - - thumb_func_start sub_0804E950 -sub_0804E950: @ 0x0804E950 - movs r0, #1 - bx lr - - thumb_func_start sub_0804E954 -sub_0804E954: @ 0x0804E954 - push {lr} - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0804E97A - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0804E97A - movs r0, #0x3b - bl sub_0807CA84 - cmp r0, #0 - bne _0804E97A - ldr r0, _0804E988 @ =gUnk_080F3A48 - bl sub_0804ADDC -_0804E97A: - ldr r0, _0804E98C @ =gUnk_030010A0 - ldr r1, _0804E990 @ =0x00000F28 - strh r1, [r0, #0x20] - ldr r1, _0804E994 @ =0x0000082D - strh r1, [r0, #0x22] - pop {pc} - .align 2, 0 -_0804E988: .4byte gUnk_080F3A48 -_0804E98C: .4byte gUnk_030010A0 -_0804E990: .4byte 0x00000F28 -_0804E994: .4byte 0x0000082D - - thumb_func_start sub_0804E998 -sub_0804E998: @ 0x0804E998 - push {lr} - movs r0, #5 - bl sub_0807CC30 - cmp r0, #0 - beq _0804E9BC - movs r0, #4 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804E9BC - ldr r1, _0804E9B4 @ =gUnk_02034350 - ldr r0, _0804E9B8 @ =gUnk_080F3EA4 - b _0804E9C0 - .align 2, 0 -_0804E9B4: .4byte gUnk_02034350 -_0804E9B8: .4byte gUnk_080F3EA4 -_0804E9BC: - ldr r1, _0804E9C8 @ =gUnk_02034350 - ldr r0, _0804E9CC @ =gUnk_080F3D44 -_0804E9C0: - str r0, [r1, #0x74] - movs r0, #1 - pop {pc} - .align 2, 0 -_0804E9C8: .4byte gUnk_02034350 -_0804E9CC: .4byte gUnk_080F3D44 - - thumb_func_start sub_0804E9D0 -sub_0804E9D0: @ 0x0804E9D0 - push {r4, lr} - movs r0, #5 - bl sub_0807CC30 - cmp r0, #0 - beq _0804E9EC - movs r0, #4 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804E9EC - ldr r0, _0804EAC4 @ =gUnk_080F3C64 - bl sub_0804ADDC -_0804E9EC: - movs r0, #0x12 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804E9FC - ldr r0, _0804EAC8 @ =gUnk_080F3C94 - bl sub_0804ADDC -_0804E9FC: - ldr r0, _0804EACC @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804EA14 - movs r0, #0x5c - bl sub_0807CC30 - cmp r0, #0 - beq _0804EA14 - ldr r0, _0804EAD0 @ =gUnk_080F3C44 - bl sub_0804ADDC -_0804EA14: - ldr r4, _0804EAD4 @ =0x00004091 - movs r1, #0xb2 - lsls r1, r1, #3 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EAD8 @ =0x00000591 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EADC @ =0x00000592 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EAE0 @ =0x00000593 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EAE4 @ =0x00000594 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - movs r1, #0xba - lsls r1, r1, #3 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - movs r1, #0xc2 - lsls r1, r1, #3 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - movs r1, #0xca - lsls r1, r1, #3 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EAE8 @ =0x000005D4 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EAEC @ =0x00000614 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EAF0 @ =0x00000654 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - movs r1, #0xd2 - lsls r1, r1, #3 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EAF4 @ =0x00000691 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EAF8 @ =0x00000692 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EAFC @ =0x00000693 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0804EB00 @ =0x00000694 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - pop {r4, pc} - .align 2, 0 -_0804EAC4: .4byte gUnk_080F3C64 -_0804EAC8: .4byte gUnk_080F3C94 -_0804EACC: .4byte gUnk_02002A40 -_0804EAD0: .4byte gUnk_080F3C44 -_0804EAD4: .4byte 0x00004091 -_0804EAD8: .4byte 0x00000591 -_0804EADC: .4byte 0x00000592 -_0804EAE0: .4byte 0x00000593 -_0804EAE4: .4byte 0x00000594 -_0804EAE8: .4byte 0x000005D4 -_0804EAEC: .4byte 0x00000614 -_0804EAF0: .4byte 0x00000654 -_0804EAF4: .4byte 0x00000691 -_0804EAF8: .4byte 0x00000692 -_0804EAFC: .4byte 0x00000693 -_0804EB00: .4byte 0x00000694 - - thumb_func_start sub_0804EB04 -sub_0804EB04: @ 0x0804EB04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_381 -nullsub_381: @ 0x0804EB08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB0C -sub_0804EB0C: @ 0x0804EB0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_382 -nullsub_382: @ 0x0804EB10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB14 -sub_0804EB14: @ 0x0804EB14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_383 -nullsub_383: @ 0x0804EB18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB1C -sub_0804EB1C: @ 0x0804EB1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_384 -nullsub_384: @ 0x0804EB20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB24 -sub_0804EB24: @ 0x0804EB24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_385 -nullsub_385: @ 0x0804EB28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB2C -sub_0804EB2C: @ 0x0804EB2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_386 -nullsub_386: @ 0x0804EB30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB34 -sub_0804EB34: @ 0x0804EB34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_387 -nullsub_387: @ 0x0804EB38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB3C -sub_0804EB3C: @ 0x0804EB3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_388 -nullsub_388: @ 0x0804EB40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB44 -sub_0804EB44: @ 0x0804EB44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_389 -nullsub_389: @ 0x0804EB48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB4C -sub_0804EB4C: @ 0x0804EB4C - movs r0, #1 - bx lr - - thumb_func_start nullsub_390 -nullsub_390: @ 0x0804EB50 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB54 -sub_0804EB54: @ 0x0804EB54 - ldr r2, _0804EB64 @ =gUnk_02033A90 - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - bx lr - .align 2, 0 -_0804EB64: .4byte gUnk_02033A90 - - thumb_func_start nullsub_391 -nullsub_391: @ 0x0804EB68 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB6C -sub_0804EB6C: @ 0x0804EB6C - ldr r2, _0804EB7C @ =gUnk_02033A90 - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - bx lr - .align 2, 0 -_0804EB7C: .4byte gUnk_02033A90 - - thumb_func_start nullsub_392 -nullsub_392: @ 0x0804EB80 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB84 -sub_0804EB84: @ 0x0804EB84 - ldr r2, _0804EB94 @ =gUnk_02033A90 - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - bx lr - .align 2, 0 -_0804EB94: .4byte gUnk_02033A90 - - thumb_func_start nullsub_393 -nullsub_393: @ 0x0804EB98 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB9C -sub_0804EB9C: @ 0x0804EB9C - push {lr} - movs r0, #0x58 - movs r1, #5 - bl sub_0801DD58 - ldr r2, _0804EBB4 @ =gUnk_02033A90 - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - pop {pc} - .align 2, 0 -_0804EBB4: .4byte gUnk_02033A90 - - thumb_func_start nullsub_394 -nullsub_394: @ 0x0804EBB8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EBBC -sub_0804EBBC: @ 0x0804EBBC - push {lr} - movs r0, #0x58 - movs r1, #6 - bl sub_0801DD58 - ldr r2, _0804EBD4 @ =gUnk_02033A90 - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - pop {pc} - .align 2, 0 -_0804EBD4: .4byte gUnk_02033A90 - - thumb_func_start nullsub_395 -nullsub_395: @ 0x0804EBD8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EBDC -sub_0804EBDC: @ 0x0804EBDC - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804EBF2 - ldr r0, _0804EBF8 @ =gUnk_02034350 - ldr r1, _0804EBFC @ =gUnk_080F4EB0 - str r1, [r0, #0x6c] - movs r1, #0 - str r1, [r0, #0x74] -_0804EBF2: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804EBF8: .4byte gUnk_02034350 -_0804EBFC: .4byte gUnk_080F4EB0 - - thumb_func_start sub_0804EC00 -sub_0804EC00: @ 0x0804EC00 - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804EC1A - ldr r0, _0804EC48 @ =gUnk_02033A90 - ldr r2, _0804EC4C @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804EC1A: - movs r0, #0x14 - bl sub_0807CC30 - cmp r0, #0 - bne _0804EC2A - ldr r0, _0804EC50 @ =gUnk_080F4D50 - bl sub_0804ADDC -_0804EC2A: - movs r0, #0x3e - bl sub_0807CBD0 - cmp r0, #0 - bne _0804EC64 - movs r0, #0x3b - bl sub_0807CBD0 - cmp r0, #0 - bne _0804EC58 - ldr r0, _0804EC54 @ =gUnk_080F4DB0 - bl sub_0804ADDC - b _0804EC5E - .align 2, 0 -_0804EC48: .4byte gUnk_02033A90 -_0804EC4C: .4byte 0x00000864 -_0804EC50: .4byte gUnk_080F4D50 -_0804EC54: .4byte gUnk_080F4DB0 -_0804EC58: - ldr r0, _0804EC84 @ =gUnk_080F4DD0 - bl sub_0804ADDC -_0804EC5E: - ldr r0, _0804EC88 @ =gUnk_080F4DF0 - bl sub_0804ADDC -_0804EC64: - movs r0, #0x4e - bl sub_0801E7F4 - cmp r0, #0 - beq _0804EC74 - ldr r0, _0804EC8C @ =gUnk_080F4F10 - bl sub_0804ADDC -_0804EC74: - ldr r0, _0804EC90 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - cmp r0, #0 - blt _0804EC82 - ldr r0, _0804EC94 @ =gUnk_080F4E10 - bl sub_0804ADDC -_0804EC82: - pop {pc} - .align 2, 0 -_0804EC84: .4byte gUnk_080F4DD0 -_0804EC88: .4byte gUnk_080F4DF0 -_0804EC8C: .4byte gUnk_080F4F10 -_0804EC90: .4byte gUnk_02002A40 -_0804EC94: .4byte gUnk_080F4E10 - - thumb_func_start sub_0804EC98 -sub_0804EC98: @ 0x0804EC98 - push {lr} - ldr r0, _0804ECAC @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - cmp r0, #0 - blt _0804ECA8 - ldr r0, _0804ECB0 @ =gUnk_080F4E10 - bl sub_0804ADDC -_0804ECA8: - pop {pc} - .align 2, 0 -_0804ECAC: .4byte gUnk_02002A40 -_0804ECB0: .4byte gUnk_080F4E10 - - thumb_func_start sub_0804ECB4 -sub_0804ECB4: @ 0x0804ECB4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_396 -nullsub_396: @ 0x0804ECB8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804ECBC -sub_0804ECBC: @ 0x0804ECBC - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804ECDA - ldr r1, _0804ECE0 @ =gUnk_02034350 - ldr r0, _0804ECE4 @ =gUnk_080F5348 - str r0, [r1, #0x6c] - adds r2, r1, #0 - adds r2, #0x88 - ldr r0, _0804ECE8 @ =sub_0804ED18 - str r0, [r2] - movs r0, #0 - str r0, [r1, #0x74] -_0804ECDA: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804ECE0: .4byte gUnk_02034350 -_0804ECE4: .4byte gUnk_080F5348 -_0804ECE8: .4byte sub_0804ED18 - - thumb_func_start sub_0804ECEC -sub_0804ECEC: @ 0x0804ECEC - push {lr} - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - beq _0804ED0E - ldr r0, _0804ED10 @ =gUnk_080F5328 - bl sub_0804ADDC - movs r0, #0x14 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804ED0E - ldr r0, _0804ED14 @ =gUnk_080F5308 - bl sub_0804ADDC -_0804ED0E: - pop {pc} - .align 2, 0 -_0804ED10: .4byte gUnk_080F5328 -_0804ED14: .4byte gUnk_080F5308 - - thumb_func_start sub_0804ED18 -sub_0804ED18: @ 0x0804ED18 - ldr r0, _0804ED28 @ =gUnk_02033A90 - ldr r2, _0804ED2C @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_0804ED28: .4byte gUnk_02033A90 -_0804ED2C: .4byte 0x00000864 - - thumb_func_start sub_0804ED30 -sub_0804ED30: @ 0x0804ED30 - movs r0, #1 - bx lr - - thumb_func_start sub_0804ED34 -sub_0804ED34: @ 0x0804ED34 - push {lr} - bl sub_080AF2E4 - movs r0, #0x5d - bl sub_0807CC30 - cmp r0, #0 - beq _0804ED4E - ldr r0, _0804ED50 @ =gUnk_02033A90 - ldr r1, _0804ED54 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x31 - str r1, [r0] -_0804ED4E: - pop {pc} - .align 2, 0 -_0804ED50: .4byte gUnk_02033A90 -_0804ED54: .4byte 0x00000864 - - thumb_func_start sub_0804ED58 -sub_0804ED58: @ 0x0804ED58 - movs r0, #1 - bx lr - - thumb_func_start sub_0804ED5C -sub_0804ED5C: @ 0x0804ED5C - push {lr} - movs r0, #0x79 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804ED6E - ldr r0, _0804EDA8 @ =gUnk_080F54E8 - bl sub_0804ADDC -_0804ED6E: - movs r0, #0x7a - bl sub_0807CBD0 - cmp r0, #0 - bne _0804EDB0 - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - beq _0804EE16 - movs r0, #3 - bl sub_0807CA84 - cmp r0, #0 - bne _0804EE16 - movs r0, #0x40 - bl sub_0807CA84 - cmp r0, #0 - beq _0804EE16 - movs r0, #0x41 - bl sub_0807CA84 - cmp r0, #0 - beq _0804EE16 - ldr r0, _0804EDAC @ =gUnk_080F5508 - bl sub_0804ADDC - b _0804EE16 - .align 2, 0 -_0804EDA8: .4byte gUnk_080F54E8 -_0804EDAC: .4byte gUnk_080F5508 -_0804EDB0: - movs r0, #0x7b - bl sub_0807CBD0 - cmp r0, #0 - bne _0804EDE4 - movs r0, #3 - bl sub_0807CA84 - cmp r0, #0 - beq _0804EE16 - movs r0, #4 - bl sub_0807CA84 - cmp r0, #0 - bne _0804EE16 - movs r0, #0x42 - bl sub_0807CA84 - cmp r0, #0 - beq _0804EE16 - ldr r0, _0804EDE0 @ =gUnk_080F5558 - bl sub_0804ADDC - b _0804EE16 - .align 2, 0 -_0804EDE0: .4byte gUnk_080F5558 -_0804EDE4: - movs r0, #0x7c - bl sub_0807CBD0 - cmp r0, #0 - bne _0804EE10 - movs r0, #6 - bl sub_0807CA84 - cmp r0, #0 - bne _0804EE16 - movs r0, #0x43 - bl sub_0807CA84 - cmp r0, #0 - beq _0804EE16 - ldr r0, _0804EE0C @ =gUnk_080F5598 - bl sub_0804ADDC - b _0804EE16 - .align 2, 0 -_0804EE0C: .4byte gUnk_080F5598 -_0804EE10: - ldr r0, _0804EE5C @ =gUnk_080F55D8 - bl sub_0804ADDC -_0804EE16: - movs r0, #0x7a - bl sub_0807CBD0 - cmp r0, #0 - beq _0804EE26 - ldr r0, _0804EE60 @ =gUnk_080F5528 - bl sub_0804ADDC -_0804EE26: - movs r0, #0x7b - bl sub_0807CBD0 - cmp r0, #0 - beq _0804EE36 - ldr r0, _0804EE64 @ =gUnk_080F5578 - bl sub_0804ADDC -_0804EE36: - movs r0, #0x7c - bl sub_0807CBD0 - cmp r0, #0 - beq _0804EE46 - ldr r0, _0804EE68 @ =gUnk_080F55B8 - bl sub_0804ADDC -_0804EE46: - movs r0, #0x5d - bl sub_0807CC30 - cmp r0, #0 - beq _0804EE5A - ldr r0, _0804EE6C @ =gUnk_02033A90 - ldr r1, _0804EE70 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x31 - str r1, [r0] -_0804EE5A: - pop {pc} - .align 2, 0 -_0804EE5C: .4byte gUnk_080F55D8 -_0804EE60: .4byte gUnk_080F5528 -_0804EE64: .4byte gUnk_080F5578 -_0804EE68: .4byte gUnk_080F55B8 -_0804EE6C: .4byte gUnk_02033A90 -_0804EE70: .4byte 0x00000864 - - thumb_func_start sub_0804EE74 -sub_0804EE74: @ 0x0804EE74 - movs r0, #1 - bx lr - - thumb_func_start sub_0804EE78 -sub_0804EE78: @ 0x0804EE78 - push {lr} - movs r0, #0x78 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804EE94 - movs r0, #0x7c - bl sub_0807CBD0 - cmp r0, #0 - beq _0804EE94 - ldr r0, _0804EEAC @ =gUnk_080F5660 - bl sub_0804ADDC -_0804EE94: - movs r0, #0x5d - bl sub_0807CC30 - cmp r0, #0 - beq _0804EEA8 - ldr r0, _0804EEB0 @ =gUnk_02033A90 - ldr r1, _0804EEB4 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x31 - str r1, [r0] -_0804EEA8: - pop {pc} - .align 2, 0 -_0804EEAC: .4byte gUnk_080F5660 -_0804EEB0: .4byte gUnk_02033A90 -_0804EEB4: .4byte 0x00000864 - - thumb_func_start sub_0804EEB8 -sub_0804EEB8: @ 0x0804EEB8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804EEBC -sub_0804EEBC: @ 0x0804EEBC - push {lr} - ldr r0, _0804EEF4 @ =gUnk_080F5758 - bl sub_0804ADDC - movs r0, #0x36 - bl sub_0807CA84 - cmp r0, #0 - bne _0804EEE2 - movs r0, #0x80 - lsls r0, r0, #2 - movs r1, #0x8f - bl sub_0807CB10 - cmp r0, #0 - beq _0804EEE2 - ldr r0, _0804EEF8 @ =gUnk_080F57E8 - bl sub_0804ADDC -_0804EEE2: - movs r0, #0x55 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804EF00 - ldr r0, _0804EEFC @ =gUnk_080F57A8 - bl sub_0804ADDC - b _0804EF54 - .align 2, 0 -_0804EEF4: .4byte gUnk_080F5758 -_0804EEF8: .4byte gUnk_080F57E8 -_0804EEFC: .4byte gUnk_080F57A8 -_0804EF00: - ldr r1, _0804EF34 @ =gUnk_080FD5A0 - ldr r0, _0804EF38 @ =gUnk_02002A40 - adds r0, #0xae - ldrb r0, [r0] - adds r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0x1d - bls _0804EF16 - ldr r0, _0804EF3C @ =gUnk_080F57C8 - bl sub_0804ADDC -_0804EF16: - movs r0, #0xb - bl sub_0807CA84 - cmp r0, #0 - bne _0804EF44 - movs r0, #0xc - bl sub_0807CA84 - cmp r0, #0 - bne _0804EF44 - ldr r0, _0804EF40 @ =gUnk_080F5888 - bl sub_0804ADDC - b _0804EF54 - .align 2, 0 -_0804EF34: .4byte gUnk_080FD5A0 -_0804EF38: .4byte gUnk_02002A40 -_0804EF3C: .4byte gUnk_080F57C8 -_0804EF40: .4byte gUnk_080F5888 -_0804EF44: - movs r0, #0xcd - bl sub_0807CBD0 - cmp r0, #0 - bne _0804EF54 - ldr r0, _0804EF80 @ =gUnk_080F58A8 - bl sub_0804ADDC -_0804EF54: - movs r0, #9 - bl sub_0807CA84 - cmp r0, #0 - bne _0804EF68 - movs r0, #4 - bl sub_0807CC30 - cmp r0, #0 - beq _0804EF92 -_0804EF68: - ldr r0, _0804EF84 @ =gUnk_080F5868 - bl sub_0804ADDC - movs r0, #0x56 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804EF8C - ldr r0, _0804EF88 @ =gUnk_080F5828 - bl sub_0804ADDC - b _0804EF92 - .align 2, 0 -_0804EF80: .4byte gUnk_080F58A8 -_0804EF84: .4byte gUnk_080F5868 -_0804EF88: .4byte gUnk_080F5828 -_0804EF8C: - ldr r0, _0804EFA4 @ =gUnk_080F5848 - bl sub_0804ADDC -_0804EF92: - ldr r0, _0804EFA8 @ =gUnk_02002A40 - adds r0, #0xbb - ldrb r0, [r0] - cmp r0, #0 - bne _0804EFA2 - ldr r0, _0804EFAC @ =gUnk_080F5788 - bl sub_0804ADDC -_0804EFA2: - pop {pc} - .align 2, 0 -_0804EFA4: .4byte gUnk_080F5848 -_0804EFA8: .4byte gUnk_02002A40 -_0804EFAC: .4byte gUnk_080F5788 - - thumb_func_start sub_0804EFB0 -sub_0804EFB0: @ 0x0804EFB0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_397 -nullsub_397: @ 0x0804EFB4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EFB8 -sub_0804EFB8: @ 0x0804EFB8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804EFBC -sub_0804EFBC: @ 0x0804EFBC - push {lr} - movs r0, #0x38 - bl sub_0807CA84 - cmp r0, #1 - bne _0804EFCE - ldr r0, _0804EFD0 @ =gUnk_080F5B3C - bl sub_0804ADDC -_0804EFCE: - pop {pc} - .align 2, 0 -_0804EFD0: .4byte gUnk_080F5B3C - - thumb_func_start sub_0804EFD4 -sub_0804EFD4: @ 0x0804EFD4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_398 -nullsub_398: @ 0x0804EFD8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EFDC -sub_0804EFDC: @ 0x0804EFDC - push {lr} - movs r0, #0x50 - bl sub_0807CC30 - cmp r0, #0 - beq _0804EFEE - ldr r1, _0804EFF4 @ =gUnk_030010A0 - movs r0, #5 - strb r0, [r1, #0xf] -_0804EFEE: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804EFF4: .4byte gUnk_030010A0 - - thumb_func_start sub_0804EFF8 -sub_0804EFF8: @ 0x0804EFF8 - push {lr} - ldr r0, _0804F020 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #7 - bls _0804F008 - ldr r0, _0804F024 @ =gUnk_080F5DD0 - bl sub_0804ADDC -_0804F008: - movs r0, #0x50 - bl sub_0807CC30 - cmp r0, #0 - beq _0804F01C - ldr r2, _0804F028 @ =gUnk_08011C50 - movs r0, #1 - movs r1, #2 - bl sub_080751E8 -_0804F01C: - pop {pc} - .align 2, 0 -_0804F020: .4byte gUnk_02002A40 -_0804F024: .4byte gUnk_080F5DD0 -_0804F028: .4byte gUnk_08011C50 - - thumb_func_start sub_0804F02C -sub_0804F02C: @ 0x0804F02C - movs r0, #1 - bx lr - - thumb_func_start sub_0804F030 -sub_0804F030: @ 0x0804F030 - push {lr} - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #0xd1 - bl sub_0807CB10 - cmp r0, #0 - bne _0804F046 - ldr r0, _0804F048 @ =gUnk_080F5E68 - bl sub_0804ADDC -_0804F046: - pop {pc} - .align 2, 0 -_0804F048: .4byte gUnk_080F5E68 - - thumb_func_start sub_0804F04C -sub_0804F04C: @ 0x0804F04C - movs r0, #1 - bx lr - - thumb_func_start sub_0804F050 -sub_0804F050: @ 0x0804F050 - push {lr} - ldr r0, _0804F074 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #4 - bls _0804F060 - ldr r0, _0804F078 @ =gUnk_080F5F38 - bl sub_0804ADDC -_0804F060: - movs r0, #0x92 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804F080 - ldr r0, _0804F07C @ =gUnk_080F5F58 - bl sub_0804ADDC - b _0804F086 - .align 2, 0 -_0804F074: .4byte gUnk_02002A40 -_0804F078: .4byte gUnk_080F5F38 -_0804F07C: .4byte gUnk_080F5F58 -_0804F080: - ldr r0, _0804F088 @ =gUnk_080F5F78 - bl sub_0804ADDC -_0804F086: - pop {pc} - .align 2, 0 -_0804F088: .4byte gUnk_080F5F78 - - thumb_func_start sub_0804F08C -sub_0804F08C: @ 0x0804F08C - movs r0, #1 - bx lr - - thumb_func_start nullsub_399 -nullsub_399: @ 0x0804F090 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F094 -sub_0804F094: @ 0x0804F094 - movs r0, #1 - bx lr - - thumb_func_start nullsub_400 -nullsub_400: @ 0x0804F098 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F09C -sub_0804F09C: @ 0x0804F09C - push {lr} - movs r0, #0x24 - bl sub_0807CC30 - cmp r0, #0 - beq _0804F0BC - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #0xdc - bl sub_0807CB10 - cmp r0, #0 - beq _0804F0BC - movs r0, #0x58 - bl sub_0807CD04 -_0804F0BC: - movs r0, #1 - pop {pc} - - thumb_func_start sub_0804F0C0 -sub_0804F0C0: @ 0x0804F0C0 - push {r4, lr} - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #0xdc - bl sub_0807CB10 - cmp r0, #0 - beq _0804F0D6 - movs r0, #0x90 - bl sub_0807CCB4 -_0804F0D6: - movs r0, #0xf - bl sub_0801E7F4 - cmp r0, #0 - beq _0804F0E6 - ldr r0, _0804F118 @ =gUnk_080F61BC - bl sub_0804ADDC -_0804F0E6: - movs r0, #0x58 - bl sub_0807CC30 - cmp r0, #0 - bne _0804F106 - ldr r4, _0804F11C @ =0x00004072 - ldr r1, _0804F120 @ =0x000004C7 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F124 @ =0x00000507 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 -_0804F106: - movs r2, #0xf4 - lsls r2, r2, #1 - movs r3, #0xac - lsls r3, r3, #1 - movs r0, #8 - movs r1, #0 - bl sub_08052CA4 - pop {r4, pc} - .align 2, 0 -_0804F118: .4byte gUnk_080F61BC -_0804F11C: .4byte 0x00004072 -_0804F120: .4byte 0x000004C7 -_0804F124: .4byte 0x00000507 - - thumb_func_start sub_0804F128 -sub_0804F128: @ 0x0804F128 - movs r0, #1 - bx lr - - thumb_func_start sub_0804F12C -sub_0804F12C: @ 0x0804F12C - push {lr} - movs r0, #0x58 - bl sub_0807CC30 - cmp r0, #0 - bne _0804F144 - ldr r0, _0804F140 @ =gUnk_080F62E4 - bl sub_0804ADDC - b _0804F154 - .align 2, 0 -_0804F140: .4byte gUnk_080F62E4 -_0804F144: - movs r0, #0x63 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804F154 - ldr r0, _0804F158 @ =gUnk_080F6324 - bl sub_0804ADDC -_0804F154: - pop {pc} - .align 2, 0 -_0804F158: .4byte gUnk_080F6324 - - thumb_func_start sub_0804F15C -sub_0804F15C: @ 0x0804F15C - movs r0, #1 - bx lr - - thumb_func_start nullsub_401 -nullsub_401: @ 0x0804F160 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F164 -sub_0804F164: @ 0x0804F164 - movs r0, #1 - bx lr - - thumb_func_start sub_0804F168 -sub_0804F168: @ 0x0804F168 - push {lr} - movs r0, #0xb1 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804F180 - ldr r0, _0804F17C @ =gUnk_080F6564 - bl sub_0804ADDC - b _0804F186 - .align 2, 0 -_0804F17C: .4byte gUnk_080F6564 -_0804F180: - ldr r0, _0804F188 @ =gUnk_080F6584 - bl sub_0804ADDC -_0804F186: - pop {pc} - .align 2, 0 -_0804F188: .4byte gUnk_080F6584 - - thumb_func_start sub_0804F18C -sub_0804F18C: @ 0x0804F18C - movs r0, #1 - bx lr - - thumb_func_start sub_0804F190 -sub_0804F190: @ 0x0804F190 - push {lr} - movs r0, #5 - bl sub_0805B4D0 - movs r0, #6 - bl sub_0807CC30 - cmp r0, #0 - beq _0804F1B6 - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #5 - bl sub_0807CB10 - cmp r0, #0 - bne _0804F1B6 - ldr r0, _0804F1D4 @ =gUnk_080F66AC - bl sub_0804ADDC -_0804F1B6: - movs r2, #0xf4 - lsls r2, r2, #1 - movs r3, #0xac - lsls r3, r3, #1 - movs r0, #8 - movs r1, #0 - bl sub_08052CA4 - ldr r2, _0804F1D8 @ =gUnk_02033A90 - ldrb r1, [r2] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2] - pop {pc} - .align 2, 0 -_0804F1D4: .4byte gUnk_080F66AC -_0804F1D8: .4byte gUnk_02033A90 - - thumb_func_start sub_0804F1DC -sub_0804F1DC: @ 0x0804F1DC - movs r0, #1 - bx lr - - thumb_func_start nullsub_402 -nullsub_402: @ 0x0804F1E0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F1E4 -sub_0804F1E4: @ 0x0804F1E4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_403 -nullsub_403: @ 0x0804F1E8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F1EC -sub_0804F1EC: @ 0x0804F1EC - movs r0, #1 - bx lr - - thumb_func_start nullsub_404 -nullsub_404: @ 0x0804F1F0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F1F4 -sub_0804F1F4: @ 0x0804F1F4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_405 -nullsub_405: @ 0x0804F1F8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F1FC -sub_0804F1FC: @ 0x0804F1FC - movs r0, #1 - bx lr - - thumb_func_start nullsub_406 -nullsub_406: @ 0x0804F200 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F204 -sub_0804F204: @ 0x0804F204 - movs r0, #1 - bx lr - - thumb_func_start nullsub_407 -nullsub_407: @ 0x0804F208 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F20C -sub_0804F20C: @ 0x0804F20C - movs r0, #1 - bx lr - - thumb_func_start nullsub_408 -nullsub_408: @ 0x0804F210 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F214 -sub_0804F214: @ 0x0804F214 - movs r0, #1 - bx lr - - thumb_func_start nullsub_409 -nullsub_409: @ 0x0804F218 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F21C -sub_0804F21C: @ 0x0804F21C - movs r0, #1 - bx lr - - thumb_func_start nullsub_410 -nullsub_410: @ 0x0804F220 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F224 -sub_0804F224: @ 0x0804F224 - movs r0, #1 - bx lr - - thumb_func_start nullsub_411 -nullsub_411: @ 0x0804F228 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F22C -sub_0804F22C: @ 0x0804F22C - movs r0, #1 - bx lr - - thumb_func_start sub_0804F230 -sub_0804F230: @ 0x0804F230 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804F23C -sub_0804F23C: @ 0x0804F23C - push {lr} - movs r0, #0x6d - bl sub_0807CBD0 - cmp r0, #0 - bne _0804F252 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #7 - bl sub_08050054 -_0804F252: - movs r0, #0x49 - bl sub_0807CD04 - movs r0, #1 - pop {pc} - - thumb_func_start sub_0804F25C -sub_0804F25C: @ 0x0804F25C - push {r4, lr} - movs r0, #0 - bl sub_0805ADD8 - movs r0, #0x6d - bl sub_0807CBD0 - cmp r0, #0 - bne _0804F27A - ldr r0, _0804F2B0 @ =gUnk_080F70A8 - bl sub_0804ADDC - movs r0, #0x1c - bl sub_0807CD80 -_0804F27A: - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - bne _0804F28E - ldr r0, _0804F2B4 @ =gUnk_02033A90 - ldr r1, _0804F2B8 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x10 - str r1, [r0] -_0804F28E: - ldr r4, _0804F2BC @ =gUnk_02002A40 - ldr r0, [r4, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x17 - ands r0, r1 - cmp r0, #0 - bne _0804F2A2 - ldr r0, _0804F2C0 @ =gUnk_080F70D8 - bl sub_0804ADDC -_0804F2A2: - ldrb r0, [r4, #8] - cmp r0, #3 - bls _0804F2AE - ldr r0, _0804F2C4 @ =gUnk_080F7088 - bl sub_0804ADDC -_0804F2AE: - pop {r4, pc} - .align 2, 0 -_0804F2B0: .4byte gUnk_080F70A8 -_0804F2B4: .4byte gUnk_02033A90 -_0804F2B8: .4byte 0x00000864 -_0804F2BC: .4byte gUnk_02002A40 -_0804F2C0: .4byte gUnk_080F70D8 -_0804F2C4: .4byte gUnk_080F7088 - - thumb_func_start sub_0804F2C8 -sub_0804F2C8: @ 0x0804F2C8 - push {lr} - ldr r0, _0804F2E0 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x17 - ands r0, r1 - cmp r0, #0 - bne _0804F2DE - ldr r0, _0804F2E4 @ =gUnk_080F70D8 - bl sub_0804ADDC -_0804F2DE: - pop {pc} - .align 2, 0 -_0804F2E0: .4byte gUnk_02002A40 -_0804F2E4: .4byte gUnk_080F70D8 - - thumb_func_start sub_0804F2E8 -sub_0804F2E8: @ 0x0804F2E8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804F2EC -sub_0804F2EC: @ 0x0804F2EC - push {lr} - movs r0, #0 - bl sub_0805ADD8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804F2F8 -sub_0804F2F8: @ 0x0804F2F8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804F2FC -sub_0804F2FC: @ 0x0804F2FC - push {lr} - movs r0, #0 - bl sub_0805ADD8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804F308 -sub_0804F308: @ 0x0804F308 - push {lr} - movs r0, #0x11 - bl sub_0807CA84 - cmp r0, #0 - beq _0804F324 - movs r0, #0x12 - bl sub_0807CA84 - cmp r0, #0 - bne _0804F324 - ldr r1, _0804F328 @ =gUnk_02034350 - ldr r0, _0804F32C @ =gUnk_080F7680 - str r0, [r1, #0x74] -_0804F324: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804F328: .4byte gUnk_02034350 -_0804F32C: .4byte gUnk_080F7680 - - thumb_func_start sub_0804F330 -sub_0804F330: @ 0x0804F330 - push {r4, lr} - movs r0, #0 - bl sub_0805ADD8 - ldr r0, _0804F38C @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804F346 - ldr r0, _0804F390 @ =gUnk_080F7500 - bl sub_0804ADDC -_0804F346: - movs r0, #0x11 - bl sub_0807CA84 - cmp r0, #0 - beq _0804F38A - movs r0, #0x12 - bl sub_0807CA84 - cmp r0, #0 - bne _0804F38A - ldr r0, _0804F394 @ =gUnk_080F7550 - bl sub_0804ADDC - ldr r4, _0804F398 @ =0x00004072 - ldr r1, _0804F39C @ =0x00000311 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F3A0 @ =0x00000351 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F3A4 @ =0x000003D9 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F3A8 @ =0x00000419 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 -_0804F38A: - pop {r4, pc} - .align 2, 0 -_0804F38C: .4byte gUnk_02002A40 -_0804F390: .4byte gUnk_080F7500 -_0804F394: .4byte gUnk_080F7550 -_0804F398: .4byte 0x00004072 -_0804F39C: .4byte 0x00000311 -_0804F3A0: .4byte 0x00000351 -_0804F3A4: .4byte 0x000003D9 -_0804F3A8: .4byte 0x00000419 - - thumb_func_start sub_0804F3AC -sub_0804F3AC: @ 0x0804F3AC - movs r0, #1 - bx lr - - thumb_func_start sub_0804F3B0 -sub_0804F3B0: @ 0x0804F3B0 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - movs r0, #0x80 - lsls r0, r0, #2 - movs r1, #0x8f - bl sub_0807CB10 - cmp r0, #0 - beq _0804F3DC - movs r0, #0x1d - bl sub_0807CC30 - cmp r0, #0 - bne _0804F3EC - ldr r0, _0804F3D8 @ =gUnk_080F77C0 - bl sub_0804ADDC - b _0804F3EC - .align 2, 0 -_0804F3D8: .4byte gUnk_080F77C0 -_0804F3DC: - movs r0, #0x40 - bl sub_0807CA84 - cmp r0, #0 - beq _0804F3EC - ldr r0, _0804F444 @ =gUnk_080F77F0 - bl sub_0804ADDC -_0804F3EC: - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - beq _0804F406 - movs r0, #0x40 - bl sub_0807CA84 - cmp r0, #0 - bne _0804F406 - ldr r0, _0804F448 @ =gUnk_080F7810 - bl sub_0804ADDC -_0804F406: - movs r0, #0x29 - bl sub_0801E7F4 - cmp r0, #0 - bne _0804F42A - ldr r0, _0804F44C @ =gUnk_080F7860 - bl sub_0804ADDC - ldr r0, _0804F450 @ =0x00004072 - ldr r1, _0804F454 @ =0x00000D88 - movs r2, #1 - bl sub_0800015E - ldr r0, _0804F458 @ =0x00004096 - ldr r1, _0804F45C @ =0x00000DC8 - movs r2, #1 - bl sub_0800015E -_0804F42A: - ldr r0, _0804F460 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804F442 - movs r0, #0x5c - bl sub_0807CC30 - cmp r0, #0 - beq _0804F442 - ldr r0, _0804F464 @ =gUnk_080F78A0 - bl sub_0804ADDC -_0804F442: - pop {pc} - .align 2, 0 -_0804F444: .4byte gUnk_080F77F0 -_0804F448: .4byte gUnk_080F7810 -_0804F44C: .4byte gUnk_080F7860 -_0804F450: .4byte 0x00004072 -_0804F454: .4byte 0x00000D88 -_0804F458: .4byte 0x00004096 -_0804F45C: .4byte 0x00000DC8 -_0804F460: .4byte gUnk_02002A40 -_0804F464: .4byte gUnk_080F78A0 - - thumb_func_start sub_0804F468 -sub_0804F468: @ 0x0804F468 - push {lr} - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - beq _0804F48A - movs r0, #0x11 - bl sub_0807CA84 - cmp r0, #0 - bne _0804F48A - ldr r0, _0804F4D0 @ =gUnk_02034350 - ldr r1, _0804F4D4 @ =gUnk_080F7CD0 - str r1, [r0, #0x6c] - adds r0, #0x88 - ldr r1, _0804F4D8 @ =sub_0804F5E8 - str r1, [r0] -_0804F48A: - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - beq _0804F4BA - movs r0, #3 - bl sub_0807CA84 - cmp r0, #0 - beq _0804F4BA - movs r0, #0x8c - bl sub_0807CBD0 - adds r3, r0, #0 - cmp r3, #0 - bne _0804F4BA - ldr r1, _0804F4D0 @ =gUnk_02034350 - ldr r0, _0804F4DC @ =gUnk_080F7C80 - str r0, [r1, #0x6c] - adds r2, r1, #0 - adds r2, #0x88 - ldr r0, _0804F4E0 @ =sub_0804F4E4 - str r0, [r2] - str r3, [r1, #0x74] -_0804F4BA: - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - beq _0804F4CA - movs r0, #0x64 - bl sub_0807CD80 -_0804F4CA: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804F4D0: .4byte gUnk_02034350 -_0804F4D4: .4byte gUnk_080F7CD0 -_0804F4D8: .4byte sub_0804F5E8 -_0804F4DC: .4byte gUnk_080F7C80 -_0804F4E0: .4byte sub_0804F4E4 - - thumb_func_start sub_0804F4E4 -sub_0804F4E4: @ 0x0804F4E4 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - bl sub_0804F578 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804F4F4 -sub_0804F4F4: @ 0x0804F4F4 - push {r4, lr} - bl sub_0804F4E4 - movs r0, #0x8b - bl sub_0807CBD0 - cmp r0, #0 - bne _0804F540 - ldr r0, _0804F558 @ =gUnk_080F7D70 - bl sub_0804ADDC - movs r4, #0xba - lsls r4, r4, #1 - ldr r1, _0804F55C @ =0x000007A2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F560 @ =0x000007A3 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F564 @ =0x000007A5 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F568 @ =0x000007A6 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F56C @ =0x000007A7 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 -_0804F540: - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - bne _0804F554 - ldr r0, _0804F570 @ =gUnk_02033A90 - ldr r1, _0804F574 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x13 - str r1, [r0] -_0804F554: - pop {r4, pc} - .align 2, 0 -_0804F558: .4byte gUnk_080F7D70 -_0804F55C: .4byte 0x000007A2 -_0804F560: .4byte 0x000007A3 -_0804F564: .4byte 0x000007A5 -_0804F568: .4byte 0x000007A6 -_0804F56C: .4byte 0x000007A7 -_0804F570: .4byte gUnk_02033A90 -_0804F574: .4byte 0x00000864 - - thumb_func_start sub_0804F578 -sub_0804F578: @ 0x0804F578 - push {lr} - movs r0, #0x8e - bl sub_0807CBD0 - cmp r0, #0 - bne _0804F590 - ldr r0, _0804F58C @ =gUnk_080F7DC0 - bl sub_0804ADDC - b _0804F5CC - .align 2, 0 -_0804F58C: .4byte gUnk_080F7DC0 -_0804F590: - ldr r1, _0804F5D0 @ =0x0000094A - movs r0, #0x37 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F5D4 @ =0x0000094B - movs r0, #0x37 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F5D8 @ =0x0000094C - movs r0, #0x37 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F5DC @ =0x0000098A - movs r0, #0x37 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F5E0 @ =0x0000098B - movs r0, #0x37 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F5E4 @ =0x0000098C - movs r0, #0x37 - movs r2, #1 - bl sub_0807B314 -_0804F5CC: - pop {pc} - .align 2, 0 -_0804F5D0: .4byte 0x0000094A -_0804F5D4: .4byte 0x0000094B -_0804F5D8: .4byte 0x0000094C -_0804F5DC: .4byte 0x0000098A -_0804F5E0: .4byte 0x0000098B -_0804F5E4: .4byte 0x0000098C - - thumb_func_start sub_0804F5E8 -sub_0804F5E8: @ 0x0804F5E8 - push {r4, lr} - bl sub_0804F4E4 - ldr r0, _0804F654 @ =0x000001D3 - ldr r1, _0804F658 @ =0x00000BDE - movs r2, #1 - bl sub_0807B314 - movs r4, #0xeb - lsls r4, r4, #1 - ldr r1, _0804F65C @ =0x00000BE2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r0, #0xea - lsls r0, r0, #1 - ldr r1, _0804F660 @ =0x00000C1F - movs r2, #1 - bl sub_0807B314 - ldr r0, _0804F664 @ =0x000001D5 - movs r1, #0xc2 - lsls r1, r1, #4 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F668 @ =0x00000C5E - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r4, _0804F66C @ =0x00004072 - ldr r1, _0804F670 @ =0x00000B9B - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F674 @ =0x00000BDB - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F678 @ =0x00000AA4 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F67C @ =0x00000AE4 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, pc} - .align 2, 0 -_0804F654: .4byte 0x000001D3 -_0804F658: .4byte 0x00000BDE -_0804F65C: .4byte 0x00000BE2 -_0804F660: .4byte 0x00000C1F -_0804F664: .4byte 0x000001D5 -_0804F668: .4byte 0x00000C5E -_0804F66C: .4byte 0x00004072 -_0804F670: .4byte 0x00000B9B -_0804F674: .4byte 0x00000BDB -_0804F678: .4byte 0x00000AA4 -_0804F67C: .4byte 0x00000AE4 - - thumb_func_start sub_0804F680 -sub_0804F680: @ 0x0804F680 - push {r4, r5, lr} - adds r4, r1, #0 - adds r5, r2, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0804F6A2 - ldr r0, _0804F6A4 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - adds r1, r1, r4 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - adds r0, r0, r5 - strh r0, [r2, #0x32] -_0804F6A2: - pop {r4, r5, pc} - .align 2, 0 -_0804F6A4: .4byte gUnk_03000BF0 - - thumb_func_start sub_0804F6A8 -sub_0804F6A8: @ 0x0804F6A8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xec - lsls r1, r1, #1 - movs r2, #0x84 - lsls r2, r2, #1 - bl sub_0804F680 - movs r1, #0x86 - lsls r1, r1, #2 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - pop {r4, pc} - - thumb_func_start sub_0804F6C8 -sub_0804F6C8: @ 0x0804F6C8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xf4 - lsls r1, r1, #1 - movs r2, #0x84 - lsls r2, r2, #1 - bl sub_0804F680 - movs r1, #0x82 - lsls r1, r1, #2 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - pop {r4, pc} - - thumb_func_start sub_0804F6E8 -sub_0804F6E8: @ 0x0804F6E8 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0xfc - lsls r5, r5, #1 - movs r2, #0x84 - lsls r2, r2, #1 - adds r1, r5, #0 - bl sub_0804F680 - movs r1, #0x96 - lsls r1, r1, #2 - movs r2, #0x9c - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0804F680 - movs r1, #0xcc - lsls r1, r1, #1 - movs r2, #0xac - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - pop {r4, r5, pc} - - thumb_func_start sub_0804F724 -sub_0804F724: @ 0x0804F724 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x82 - lsls r1, r1, #2 - movs r2, #0x84 - lsls r2, r2, #1 - bl sub_0804F680 - movs r1, #0x96 - lsls r1, r1, #2 - movs r5, #0xa4 - lsls r5, r5, #1 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_0804F680 - movs r1, #0xf4 - lsls r1, r1, #1 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - movs r1, #0xcc - lsls r1, r1, #1 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_0804F680 - pop {r4, r5, pc} - - thumb_func_start sub_0804F760 -sub_0804F760: @ 0x0804F760 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x86 - lsls r1, r1, #2 - movs r2, #0x84 - lsls r2, r2, #1 - bl sub_0804F680 - movs r1, #0x96 - lsls r1, r1, #2 - movs r2, #0xac - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - movs r1, #0xec - lsls r1, r1, #1 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - movs r1, #0xcc - lsls r1, r1, #1 - movs r2, #0x9c - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - pop {r4, pc} - - thumb_func_start sub_0804F79C -sub_0804F79C: @ 0x0804F79C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x35 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0804F7D0 - ldrb r1, [r2, #0x19] - movs r0, #0x3f - ands r0, r1 - strb r0, [r2, #0x19] - ldr r1, _0804F804 @ =gUnk_03000BF0 - movs r3, #0xdc - lsls r3, r3, #1 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r3, #0xa4 - lsls r3, r3, #1 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x32] -_0804F7D0: - adds r0, r4, #0 - movs r1, #0x35 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0804F802 - ldrb r1, [r2, #0x19] - movs r0, #0x3f - ands r0, r1 - strb r0, [r2, #0x19] - ldr r1, _0804F804 @ =gUnk_03000BF0 - movs r3, #0x8e - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r3, #0xa4 - lsls r3, r3, #1 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x32] -_0804F802: - pop {r4, pc} - .align 2, 0 -_0804F804: .4byte gUnk_03000BF0 - - thumb_func_start sub_0804F808 -sub_0804F808: @ 0x0804F808 - push {r4, lr} - ldr r4, _0804F824 @ =0x000001D3 - ldr r1, _0804F828 @ =0x0000041D - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F82C @ =0x00000621 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, pc} - .align 2, 0 -_0804F824: .4byte 0x000001D3 -_0804F828: .4byte 0x0000041D -_0804F82C: .4byte 0x00000621 - - thumb_func_start sub_0804F830 -sub_0804F830: @ 0x0804F830 - push {r4, lr} - movs r4, #0xea - lsls r4, r4, #1 - ldr r1, _0804F850 @ =0x0000041E - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r1, #0xc4 - lsls r1, r1, #3 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, pc} - .align 2, 0 -_0804F850: .4byte 0x0000041E - - thumb_func_start sub_0804F854 -sub_0804F854: @ 0x0804F854 - push {r4, r5, lr} - ldr r5, _0804F888 @ =0x000001D5 - ldr r1, _0804F88C @ =0x0000041F - adds r0, r5, #0 - movs r2, #1 - bl sub_0807B314 - movs r4, #0xea - lsls r4, r4, #1 - ldr r1, _0804F890 @ =0x000004E5 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F894 @ =0x0000061F - adds r0, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F898 @ =0x00000559 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, r5, pc} - .align 2, 0 -_0804F888: .4byte 0x000001D5 -_0804F88C: .4byte 0x0000041F -_0804F890: .4byte 0x000004E5 -_0804F894: .4byte 0x0000061F -_0804F898: .4byte 0x00000559 - - thumb_func_start sub_0804F89C -sub_0804F89C: @ 0x0804F89C - push {r4, r5, lr} - movs r5, #0xeb - lsls r5, r5, #1 - movs r1, #0x84 - lsls r1, r1, #3 - adds r0, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r4, _0804F8D0 @ =0x000001D5 - ldr r1, _0804F8D4 @ =0x00000525 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F8D8 @ =0x0000061E - adds r0, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F8DC @ =0x00000519 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, r5, pc} - .align 2, 0 -_0804F8D0: .4byte 0x000001D5 -_0804F8D4: .4byte 0x00000525 -_0804F8D8: .4byte 0x0000061E -_0804F8DC: .4byte 0x00000519 - - thumb_func_start sub_0804F8E0 -sub_0804F8E0: @ 0x0804F8E0 - push {r4, r5, lr} - ldr r5, _0804F914 @ =0x000001D3 - ldr r1, _0804F918 @ =0x00000421 - adds r0, r5, #0 - movs r2, #1 - bl sub_0807B314 - movs r4, #0xeb - lsls r4, r4, #1 - ldr r1, _0804F91C @ =0x00000565 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F920 @ =0x0000061D - adds r0, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _0804F924 @ =0x000004D9 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, r5, pc} - .align 2, 0 -_0804F914: .4byte 0x000001D3 -_0804F918: .4byte 0x00000421 -_0804F91C: .4byte 0x00000565 -_0804F920: .4byte 0x0000061D -_0804F924: .4byte 0x000004D9 - - thumb_func_start sub_0804F928 -sub_0804F928: @ 0x0804F928 - push {lr} - ldr r0, _0804F93C @ =0x0000041D - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F940 @ =0x00000621 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F93C: .4byte 0x0000041D -_0804F940: .4byte 0x00000621 - - thumb_func_start sub_0804F944 -sub_0804F944: @ 0x0804F944 - push {lr} - ldr r0, _0804F95C @ =0x0000041E - movs r1, #1 - bl sub_0807BA8C - movs r0, #0xc4 - lsls r0, r0, #3 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F95C: .4byte 0x0000041E - - thumb_func_start sub_0804F960 -sub_0804F960: @ 0x0804F960 - push {lr} - ldr r0, _0804F984 @ =0x0000041F - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F988 @ =0x000004E5 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F98C @ =0x0000061F - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F990 @ =0x00000559 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F984: .4byte 0x0000041F -_0804F988: .4byte 0x000004E5 -_0804F98C: .4byte 0x0000061F -_0804F990: .4byte 0x00000559 - - thumb_func_start sub_0804F994 -sub_0804F994: @ 0x0804F994 - push {lr} - movs r0, #0x84 - lsls r0, r0, #3 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9BC @ =0x00000525 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9C0 @ =0x0000061E - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9C4 @ =0x00000519 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F9BC: .4byte 0x00000525 -_0804F9C0: .4byte 0x0000061E -_0804F9C4: .4byte 0x00000519 - - thumb_func_start sub_0804F9C8 -sub_0804F9C8: @ 0x0804F9C8 - push {lr} - ldr r0, _0804F9EC @ =0x00000421 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9F0 @ =0x00000565 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9F4 @ =0x0000061D - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9F8 @ =0x000004D9 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F9EC: .4byte 0x00000421 -_0804F9F0: .4byte 0x00000565 -_0804F9F4: .4byte 0x0000061D -_0804F9F8: .4byte 0x000004D9 - - thumb_func_start sub_0804F9FC -sub_0804F9FC: @ 0x0804F9FC - movs r0, #1 - bx lr - - thumb_func_start sub_0804FA00 -sub_0804FA00: @ 0x0804FA00 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - ldr r0, _0804FA24 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804FA20 - movs r0, #0x5c - bl sub_0807CC30 - cmp r0, #0 - beq _0804FA20 - ldr r0, _0804FA28 @ =gUnk_080F806C - bl sub_0804ADDC -_0804FA20: - pop {pc} - .align 2, 0 -_0804FA24: .4byte gUnk_02002A40 -_0804FA28: .4byte gUnk_080F806C - - thumb_func_start sub_0804FA2C -sub_0804FA2C: @ 0x0804FA2C - movs r0, #1 - bx lr - - thumb_func_start sub_0804FA30 -sub_0804FA30: @ 0x0804FA30 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - beq _0804FA5C - movs r0, #3 - bl sub_0807CA84 - cmp r0, #0 - beq _0804FA5C - movs r0, #0x9c - bl sub_0807CBD0 - cmp r0, #0 - bne _0804FA5C - ldr r0, _0804FA60 @ =gUnk_080F82E0 - bl sub_0804ADDC -_0804FA5C: - pop {pc} - .align 2, 0 -_0804FA60: .4byte gUnk_080F82E0 - - thumb_func_start sub_0804FA64 -sub_0804FA64: @ 0x0804FA64 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FA68 -sub_0804FA68: @ 0x0804FA68 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - movs r0, #0x21 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804FA8E - movs r0, #0x80 - lsls r0, r0, #2 - movs r1, #0x42 - bl sub_0807CB10 - cmp r0, #0 - bne _0804FA8E - ldr r0, _0804FA90 @ =gUnk_080F8430 - bl sub_0804ADDC -_0804FA8E: - pop {pc} - .align 2, 0 -_0804FA90: .4byte gUnk_080F8430 - - thumb_func_start sub_0804FA94 -sub_0804FA94: @ 0x0804FA94 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FA98 -sub_0804FA98: @ 0x0804FA98 - push {lr} - movs r0, #0x57 - bl sub_0807CC30 - cmp r0, #0 - beq _0804FAB0 - ldr r0, _0804FAAC @ =gUnk_080F85D8 - bl sub_0804ADDC - b _0804FAB6 - .align 2, 0 -_0804FAAC: .4byte gUnk_080F85D8 -_0804FAB0: - ldr r0, _0804FAC8 @ =gUnk_080F85F8 - bl sub_0804ADDC -_0804FAB6: - movs r0, #0xc - bl sub_0807CA84 - cmp r0, #0 - bne _0804FAC6 - movs r0, #8 - bl sub_0807CD34 -_0804FAC6: - pop {pc} - .align 2, 0 -_0804FAC8: .4byte gUnk_080F85F8 - - thumb_func_start sub_0804FACC -sub_0804FACC: @ 0x0804FACC - movs r0, #1 - bx lr - - thumb_func_start nullsub_412 -nullsub_412: @ 0x0804FAD0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAD4 -sub_0804FAD4: @ 0x0804FAD4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_413 -nullsub_413: @ 0x0804FAD8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FADC -sub_0804FADC: @ 0x0804FADC - movs r0, #1 - bx lr - - thumb_func_start nullsub_414 -nullsub_414: @ 0x0804FAE0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAE4 -sub_0804FAE4: @ 0x0804FAE4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_415 -nullsub_415: @ 0x0804FAE8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAEC -sub_0804FAEC: @ 0x0804FAEC - movs r0, #1 - bx lr - - thumb_func_start nullsub_416 -nullsub_416: @ 0x0804FAF0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAF4 -sub_0804FAF4: @ 0x0804FAF4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_417 -nullsub_417: @ 0x0804FAF8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAFC -sub_0804FAFC: @ 0x0804FAFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_418 -nullsub_418: @ 0x0804FB00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB04 -sub_0804FB04: @ 0x0804FB04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_419 -nullsub_419: @ 0x0804FB08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB0C -sub_0804FB0C: @ 0x0804FB0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_420 -nullsub_420: @ 0x0804FB10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB14 -sub_0804FB14: @ 0x0804FB14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_421 -nullsub_421: @ 0x0804FB18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB1C -sub_0804FB1C: @ 0x0804FB1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_422 -nullsub_422: @ 0x0804FB20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB24 -sub_0804FB24: @ 0x0804FB24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_423 -nullsub_423: @ 0x0804FB28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB2C -sub_0804FB2C: @ 0x0804FB2C - movs r0, #1 - bx lr - - thumb_func_start sub_0804FB30 -sub_0804FB30: @ 0x0804FB30 - push {lr} - movs r0, #0x11 - bl sub_0807CBD0 - cmp r0, #0 - beq _0804FB64 - movs r0, #0 - bl sub_0807CD10 - movs r0, #1 - bl sub_0807CD10 - movs r0, #0x80 - lsls r0, r0, #1 - bl sub_0805308C - movs r0, #0x12 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804FB64 - movs r0, #0x73 - movs r1, #0xcb - movs r2, #1 - bl sub_0807B314 -_0804FB64: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804FB68 -sub_0804FB68: @ 0x0804FB68 - movs r0, #1 - bx lr - - thumb_func_start nullsub_089 -nullsub_089: @ 0x0804FB6C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB70 -sub_0804FB70: @ 0x0804FB70 - movs r0, #1 - bx lr - - thumb_func_start nullsub_90 -nullsub_90: @ 0x0804FB74 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB78 -sub_0804FB78: @ 0x0804FB78 - movs r0, #1 - bx lr - - thumb_func_start nullsub_91 -nullsub_91: @ 0x0804FB7C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB80 -sub_0804FB80: @ 0x0804FB80 - movs r0, #1 - bx lr - - thumb_func_start nullsub_92 -nullsub_92: @ 0x0804FB84 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB88 -sub_0804FB88: @ 0x0804FB88 - movs r0, #1 - bx lr - - thumb_func_start nullsub_93 -nullsub_93: @ 0x0804FB8C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB90 -sub_0804FB90: @ 0x0804FB90 - movs r0, #1 - bx lr - - thumb_func_start nullsub_94 -nullsub_94: @ 0x0804FB94 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB98 -sub_0804FB98: @ 0x0804FB98 - movs r0, #1 - bx lr - - thumb_func_start nullsub_95 -nullsub_95: @ 0x0804FB9C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FBA0 -sub_0804FBA0: @ 0x0804FBA0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_96 -nullsub_96: @ 0x0804FBA4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FBA8 -sub_0804FBA8: @ 0x0804FBA8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_97 -nullsub_97: @ 0x0804FBAC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FBB0 -sub_0804FBB0: @ 0x0804FBB0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_98 -nullsub_98: @ 0x0804FBB4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FBB8 -sub_0804FBB8: @ 0x0804FBB8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FBBC -sub_0804FBBC: @ 0x0804FBBC - push {lr} - ldr r0, _0804FBD4 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x12 - ands r0, r1 - cmp r0, #0 - bne _0804FBD2 - ldr r0, _0804FBD8 @ =gUnk_080F9304 - bl sub_0804ADDC -_0804FBD2: - pop {pc} - .align 2, 0 -_0804FBD4: .4byte gUnk_02002A40 -_0804FBD8: .4byte gUnk_080F9304 - - thumb_func_start sub_0804FBDC -sub_0804FBDC: @ 0x0804FBDC - push {lr} - ldr r0, _0804FBF4 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x12 - ands r0, r1 - cmp r0, #0 - bne _0804FBF2 - ldr r0, _0804FBF8 @ =gUnk_080F9304 - bl sub_0804ADDC -_0804FBF2: - pop {pc} - .align 2, 0 -_0804FBF4: .4byte gUnk_02002A40 -_0804FBF8: .4byte gUnk_080F9304 - - thumb_func_start sub_0804FBFC -sub_0804FBFC: @ 0x0804FBFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_424 -nullsub_424: @ 0x0804FC00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC04 -sub_0804FC04: @ 0x0804FC04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_425 -nullsub_425: @ 0x0804FC08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC0C -sub_0804FC0C: @ 0x0804FC0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_426 -nullsub_426: @ 0x0804FC10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC14 -sub_0804FC14: @ 0x0804FC14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_427 -nullsub_427: @ 0x0804FC18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC1C -sub_0804FC1C: @ 0x0804FC1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_428 -nullsub_428: @ 0x0804FC20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC24 -sub_0804FC24: @ 0x0804FC24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_429 -nullsub_429: @ 0x0804FC28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC2C -sub_0804FC2C: @ 0x0804FC2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_430 -nullsub_430: @ 0x0804FC30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC34 -sub_0804FC34: @ 0x0804FC34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_431 -nullsub_431: @ 0x0804FC38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC3C -sub_0804FC3C: @ 0x0804FC3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_432 -nullsub_432: @ 0x0804FC40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC44 -sub_0804FC44: @ 0x0804FC44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_433 -nullsub_433: @ 0x0804FC48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC4C -sub_0804FC4C: @ 0x0804FC4C - push {lr} - movs r0, #0xe - bl sub_0801E7F4 - cmp r0, #0 - bne _0804FC5E - ldr r1, _0804FC64 @ =gUnk_02034350 - ldr r0, _0804FC68 @ =gUnk_080F9BF8 - str r0, [r1, #0x6c] -_0804FC5E: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804FC64: .4byte gUnk_02034350 -_0804FC68: .4byte gUnk_080F9BF8 - - thumb_func_start sub_0804FC6C -sub_0804FC6C: @ 0x0804FC6C - push {lr} - movs r0, #2 - bl sub_0805B4D0 - movs r0, #0 - bl sub_0806D0B0 - pop {pc} - - thumb_func_start sub_0804FC7C -sub_0804FC7C: @ 0x0804FC7C - movs r0, #1 - bx lr - - thumb_func_start nullsub_99 -nullsub_99: @ 0x0804FC80 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC84 -sub_0804FC84: @ 0x0804FC84 - movs r0, #1 - bx lr - - thumb_func_start nullsub_100 -nullsub_100: @ 0x0804FC88 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC8C -sub_0804FC8C: @ 0x0804FC8C - movs r0, #1 - bx lr - - thumb_func_start nullsub_101 -nullsub_101: @ 0x0804FC90 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC94 -sub_0804FC94: @ 0x0804FC94 - movs r0, #1 - bx lr - - thumb_func_start nullsub_102 -nullsub_102: @ 0x0804FC98 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC9C -sub_0804FC9C: @ 0x0804FC9C - movs r0, #1 - bx lr - - thumb_func_start nullsub_103 -nullsub_103: @ 0x0804FCA0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCA4 -sub_0804FCA4: @ 0x0804FCA4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FCA8 -sub_0804FCA8: @ 0x0804FCA8 - push {lr} - movs r0, #0x14 - bl sub_0801E7F4 - cmp r0, #0 - beq _0804FCBA - ldr r0, _0804FCCC @ =gUnk_080F9FA8 - bl sub_0804ADDC -_0804FCBA: - movs r0, #0x38 - bl sub_0807CA84 - cmp r0, #0 - bne _0804FCCA - ldr r0, _0804FCD0 @ =gUnk_080F9F88 - bl sub_0804ADDC -_0804FCCA: - pop {pc} - .align 2, 0 -_0804FCCC: .4byte gUnk_080F9FA8 -_0804FCD0: .4byte gUnk_080F9F88 - - thumb_func_start sub_0804FCD4 -sub_0804FCD4: @ 0x0804FCD4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_434 -nullsub_434: @ 0x0804FCD8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCDC -sub_0804FCDC: @ 0x0804FCDC - movs r0, #1 - bx lr - - thumb_func_start nullsub_435 -nullsub_435: @ 0x0804FCE0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCE4 -sub_0804FCE4: @ 0x0804FCE4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_436 -nullsub_436: @ 0x0804FCE8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCEC -sub_0804FCEC: @ 0x0804FCEC - movs r0, #1 - bx lr - - thumb_func_start nullsub_437 -nullsub_437: @ 0x0804FCF0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCF4 -sub_0804FCF4: @ 0x0804FCF4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_438 -nullsub_438: @ 0x0804FCF8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCFC -sub_0804FCFC: @ 0x0804FCFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_439 -nullsub_439: @ 0x0804FD00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD04 -sub_0804FD04: @ 0x0804FD04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_440 -nullsub_440: @ 0x0804FD08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD0C -sub_0804FD0C: @ 0x0804FD0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_441 -nullsub_441: @ 0x0804FD10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD14 -sub_0804FD14: @ 0x0804FD14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_442 -nullsub_442: @ 0x0804FD18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD1C -sub_0804FD1C: @ 0x0804FD1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_443 -nullsub_443: @ 0x0804FD20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD24 -sub_0804FD24: @ 0x0804FD24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_444 -nullsub_444: @ 0x0804FD28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD2C -sub_0804FD2C: @ 0x0804FD2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_445 -nullsub_445: @ 0x0804FD30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD34 -sub_0804FD34: @ 0x0804FD34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_446 -nullsub_446: @ 0x0804FD38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD3C -sub_0804FD3C: @ 0x0804FD3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_447 -nullsub_447: @ 0x0804FD40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD44 -sub_0804FD44: @ 0x0804FD44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_448 -nullsub_448: @ 0x0804FD48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD4C -sub_0804FD4C: @ 0x0804FD4C - movs r0, #1 - bx lr - - thumb_func_start nullsub_449 -nullsub_449: @ 0x0804FD50 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD54 -sub_0804FD54: @ 0x0804FD54 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FD58 -sub_0804FD58: @ 0x0804FD58 - push {lr} - movs r0, #0x21 - bl sub_0801E7F4 - cmp r0, #0 - bne _0804FD6A - ldr r0, _0804FD6C @ =gUnk_080FA5D0 - bl sub_0804ADDC -_0804FD6A: - pop {pc} - .align 2, 0 -_0804FD6C: .4byte gUnk_080FA5D0 - - thumb_func_start sub_0804FD70 -sub_0804FD70: @ 0x0804FD70 - movs r0, #1 - bx lr - - thumb_func_start nullsub_450 -nullsub_450: @ 0x0804FD74 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD78 -sub_0804FD78: @ 0x0804FD78 - movs r0, #1 - bx lr - - thumb_func_start nullsub_451 -nullsub_451: @ 0x0804FD7C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD80 -sub_0804FD80: @ 0x0804FD80 - movs r0, #1 - bx lr - - thumb_func_start nullsub_452 -nullsub_452: @ 0x0804FD84 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD88 -sub_0804FD88: @ 0x0804FD88 - movs r0, #1 - bx lr - - thumb_func_start nullsub_453 -nullsub_453: @ 0x0804FD8C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD90 -sub_0804FD90: @ 0x0804FD90 - movs r0, #1 - bx lr - - thumb_func_start nullsub_454 -nullsub_454: @ 0x0804FD94 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD98 -sub_0804FD98: @ 0x0804FD98 - movs r0, #1 - bx lr - - thumb_func_start nullsub_455 -nullsub_455: @ 0x0804FD9C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDA0 -sub_0804FDA0: @ 0x0804FDA0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_456 -nullsub_456: @ 0x0804FDA4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDA8 -sub_0804FDA8: @ 0x0804FDA8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_457 -nullsub_457: @ 0x0804FDAC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDB0 -sub_0804FDB0: @ 0x0804FDB0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_458 -nullsub_458: @ 0x0804FDB4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDB8 -sub_0804FDB8: @ 0x0804FDB8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_459 -nullsub_459: @ 0x0804FDBC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDC0 -sub_0804FDC0: @ 0x0804FDC0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_460 -nullsub_460: @ 0x0804FDC4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDC8 -sub_0804FDC8: @ 0x0804FDC8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_461 -nullsub_461: @ 0x0804FDCC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDD0 -sub_0804FDD0: @ 0x0804FDD0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_462 -nullsub_462: @ 0x0804FDD4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDD8 -sub_0804FDD8: @ 0x0804FDD8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_463 -nullsub_463: @ 0x0804FDDC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDE0 -sub_0804FDE0: @ 0x0804FDE0 - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804FDF6 - ldr r0, _0804FDFC @ =gUnk_02034350 - ldr r1, _0804FE00 @ =gUnk_080FAD48 - str r1, [r0, #0x6c] - movs r1, #0 - str r1, [r0, #0x74] -_0804FDF6: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804FDFC: .4byte gUnk_02034350 -_0804FE00: .4byte gUnk_080FAD48 - - thumb_func_start sub_0804FE04 -sub_0804FE04: @ 0x0804FE04 - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _0804FE28 - ldr r0, _0804FE20 @ =gUnk_02033A90 - ldr r2, _0804FE24 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - b _0804FE2E - .align 2, 0 -_0804FE20: .4byte gUnk_02033A90 -_0804FE24: .4byte 0x00000864 -_0804FE28: - ldr r0, _0804FE3C @ =gUnk_080FACB8 - bl sub_0804ADDC -_0804FE2E: - movs r0, #0 - bl sub_0805B4D0 - bl sub_08059994 - pop {pc} - .align 2, 0 -_0804FE3C: .4byte gUnk_080FACB8 - - thumb_func_start sub_0804FE40 -sub_0804FE40: @ 0x0804FE40 - push {lr} - movs r0, #0 - bl sub_0805B4D0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804FE4C -sub_0804FE4C: @ 0x0804FE4C - movs r0, #1 - bx lr - - thumb_func_start nullsub_104 -nullsub_104: @ 0x0804FE50 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FE54 -sub_0804FE54: @ 0x0804FE54 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FE58 -sub_0804FE58: @ 0x0804FE58 - push {lr} - movs r0, #1 - bl sub_0805B4D0 - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - beq _0804FE7A - movs r0, #2 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804FE7A - ldr r0, _0804FEA0 @ =gUnk_080FAFE4 - bl sub_0804ADDC -_0804FE7A: - ldr r0, _0804FEA4 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x11 - ands r0, r1 - cmp r0, #0 - bne _0804FE8E - ldr r0, _0804FEA8 @ =gUnk_080FB004 - bl sub_0804ADDC -_0804FE8E: - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - beq _0804FE9E - movs r0, #0x56 - bl sub_0807CD04 -_0804FE9E: - pop {pc} - .align 2, 0 -_0804FEA0: .4byte gUnk_080FAFE4 -_0804FEA4: .4byte gUnk_02002A40 -_0804FEA8: .4byte gUnk_080FB004 - - thumb_func_start sub_0804FEAC -sub_0804FEAC: @ 0x0804FEAC - push {lr} - ldr r0, _0804FEC4 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x11 - ands r0, r1 - cmp r0, #0 - bne _0804FEC2 - ldr r0, _0804FEC8 @ =gUnk_080FB004 - bl sub_0804ADDC -_0804FEC2: - pop {pc} - .align 2, 0 -_0804FEC4: .4byte gUnk_02002A40 -_0804FEC8: .4byte gUnk_080FB004 - - thumb_func_start sub_0804FECC -sub_0804FECC: @ 0x0804FECC - movs r0, #1 - bx lr - - thumb_func_start nullsub_464 -nullsub_464: @ 0x0804FED0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FED4 -sub_0804FED4: @ 0x0804FED4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FED8 -sub_0804FED8: @ 0x0804FED8 - push {lr} - movs r0, #0xbb - lsls r0, r0, #1 - ldr r1, _0804FEE8 @ =0x0000066F - movs r2, #1 - bl sub_0807B314 - pop {pc} - .align 2, 0 -_0804FEE8: .4byte 0x0000066F - - thumb_func_start sub_0804FEEC -sub_0804FEEC: @ 0x0804FEEC - movs r0, #1 - bx lr - - thumb_func_start nullsub_465 -nullsub_465: @ 0x0804FEF0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FEF4 -sub_0804FEF4: @ 0x0804FEF4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_466 -nullsub_466: @ 0x0804FEF8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FEFC -sub_0804FEFC: @ 0x0804FEFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_467 -nullsub_467: @ 0x0804FF00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF04 -sub_0804FF04: @ 0x0804FF04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_468 -nullsub_468: @ 0x0804FF08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF0C -sub_0804FF0C: @ 0x0804FF0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_469 -nullsub_469: @ 0x0804FF10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF14 -sub_0804FF14: @ 0x0804FF14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_470 -nullsub_470: @ 0x0804FF18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF1C -sub_0804FF1C: @ 0x0804FF1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_471 -nullsub_471: @ 0x0804FF20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF24 -sub_0804FF24: @ 0x0804FF24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_472 -nullsub_472: @ 0x0804FF28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF2C -sub_0804FF2C: @ 0x0804FF2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_473 -nullsub_473: @ 0x0804FF30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF34 -sub_0804FF34: @ 0x0804FF34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_474 -nullsub_474: @ 0x0804FF38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF3C -sub_0804FF3C: @ 0x0804FF3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_475 -nullsub_475: @ 0x0804FF40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF44 -sub_0804FF44: @ 0x0804FF44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_476 -nullsub_476: @ 0x0804FF48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF4C -sub_0804FF4C: @ 0x0804FF4C - movs r0, #1 - bx lr - - thumb_func_start nullsub_477 -nullsub_477: @ 0x0804FF50 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF54 -sub_0804FF54: @ 0x0804FF54 - movs r0, #1 - bx lr - - thumb_func_start nullsub_478 -nullsub_478: @ 0x0804FF58 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF5C -sub_0804FF5C: @ 0x0804FF5C - movs r0, #1 - bx lr - - thumb_func_start sub_0804FF60 -sub_0804FF60: @ 0x0804FF60 - push {lr} - movs r0, #0x70 - bl sub_0807CBD0 - cmp r0, #0 - bne _0804FF72 - movs r0, #0x70 - bl sub_0807CCB4 -_0804FF72: - pop {pc} - - thumb_func_start sub_0804FF74 -sub_0804FF74: @ 0x0804FF74 - movs r0, #1 - bx lr - - thumb_func_start nullsub_105 -nullsub_105: @ 0x0804FF78 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF7C -sub_0804FF7C: @ 0x0804FF7C - movs r0, #1 - bx lr - - thumb_func_start nullsub_106 -nullsub_106: @ 0x0804FF80 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF84 -sub_0804FF84: @ 0x0804FF84 - movs r1, #0x80 - lsls r1, r1, #0x12 - strb r0, [r1, #6] - ldr r1, _0804FF94 @ =gUnk_0200B644 - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1] - bx lr - .align 2, 0 -_0804FF94: .4byte gUnk_0200B644 - - thumb_func_start sub_0804FF98 -sub_0804FF98: @ 0x0804FF98 - push {r4, r5, r6, r7, lr} - ldr r6, _0804FFD4 @ =gUnk_020354C0 - ldr r1, _0804FFD8 @ =gUnk_0200B644 - ldr r4, [r1] - movs r0, #0 - str r0, [r1] - movs r5, #0 - cmp r4, #0 - beq _0804FFD0 - ldr r7, _0804FFDC @ =gUnk_03005E98 -_0804FFAC: - movs r0, #1 - ands r0, r4 - cmp r0, #0 - beq _0804FFC6 - ldr r0, _0804FFE0 @ =gUnk_020176A0 - adds r0, r5, r0 - movs r2, #0xa0 - lsls r2, r2, #0x13 - adds r1, r5, r2 - ldrh r2, [r6, #2] - ldrb r3, [r6, #1] - bl _call_via_r7 -_0804FFC6: - adds r5, #0x20 - adds r6, #4 - lsrs r4, r4, #1 - cmp r4, #0 - bne _0804FFAC -_0804FFD0: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0804FFD4: .4byte gUnk_020354C0 -_0804FFD8: .4byte gUnk_0200B644 -_0804FFDC: .4byte gUnk_03005E98 -_0804FFE0: .4byte gUnk_020176A0 - - thumb_func_start sub_0804FFE4 -sub_0804FFE4: @ 0x0804FFE4 - push {r4, lr} - ldr r4, _08050000 @ =gUnk_03000FD0 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0801D630 - ldr r0, _08050004 @ =gUnk_020354C0 - movs r1, #0x80 - bl sub_0801D630 - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r4, #4] - pop {r4, pc} - .align 2, 0 -_08050000: .4byte gUnk_03000FD0 -_08050004: .4byte gUnk_020354C0 - - thumb_func_start sub_08050008 -sub_08050008: @ 0x08050008 - push {lr} - ldr r0, _0805001C @ =gUnk_020354C0 - movs r1, #0x80 - bl sub_0801D630 - ldr r1, _08050020 @ =gUnk_03000FD0 - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1, #4] - pop {pc} - .align 2, 0 -_0805001C: .4byte gUnk_020354C0 -_08050020: .4byte gUnk_03000FD0 - - thumb_func_start sub_08050024 -sub_08050024: @ 0x08050024 - push {lr} - bl sub_0801E104 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08050038 -sub_08050038: @ 0x08050038 - push {lr} - adds r3, r0, #0 - ldr r2, _0805004C @ =gUnk_03000FD0 - ldrh r1, [r2, #8] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08050050 - strh r3, [r2, #0xe] - b _08050052 - .align 2, 0 -_0805004C: .4byte gUnk_03000FD0 -_08050050: - strh r3, [r2, #0xc] -_08050052: - pop {pc} - - thumb_func_start sub_08050054 -sub_08050054: @ 0x08050054 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r2, _08050078 @ =gUnk_03000FD0 - movs r3, #0 - strh r1, [r2, #0xa] - strh r5, [r2, #8] - movs r0, #1 - strb r0, [r2] - adds r0, #0xff - strh r0, [r2, #0xc] - strh r3, [r2, #0xe] - movs r0, #2 - ands r0, r5 - adds r4, r2, #0 - cmp r0, #0 - beq _0805007C - movs r0, #0xf8 - b _0805007E - .align 2, 0 -_08050078: .4byte gUnk_03000FD0 -_0805007C: - movs r0, #0 -_0805007E: - strb r0, [r4, #2] - movs r0, #8 - ands r0, r5 - cmp r0, #0 - beq _080500A4 - ldr r1, _080500E4 @ =gUnk_03000000 - movs r0, #1 - strb r0, [r1, #2] - ldr r2, _080500E8 @ =gUnk_03000F50 - ldrh r0, [r2, #0x14] - movs r1, #0x40 - orrs r0, r1 - strh r0, [r2, #0x14] - ldrh r0, [r2, #0x20] - orrs r0, r1 - strh r0, [r2, #0x20] - ldrh r0, [r2, #0x2c] - orrs r1, r0 - strh r1, [r2, #0x2c] -_080500A4: - movs r0, #0x10 - ands r0, r5 - cmp r0, #0 - beq _080500E0 - ldrh r0, [r4, #0x16] - ldrh r1, [r4, #0x18] - bl sub_0801E1B8 - movs r1, #0x12 - ldrsh r0, [r4, r1] - movs r2, #0x14 - ldrsh r1, [r4, r2] - movs r3, #0x10 - ldrsh r2, [r4, r3] - bl sub_0801E1EC - movs r0, #1 - ands r0, r5 - cmp r0, #0 - bne _080500E0 - ldrh r1, [r4, #8] - ldr r0, _080500EC @ =0x0000FFFB - ands r0, r1 - strh r0, [r4, #8] - bl sub_08050008 - ldr r1, _080500F0 @ =gUnk_0200B644 - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1] -_080500E0: - pop {r4, r5, pc} - .align 2, 0 -_080500E4: .4byte gUnk_03000000 -_080500E8: .4byte gUnk_03000F50 -_080500EC: .4byte 0x0000FFFB -_080500F0: .4byte gUnk_0200B644 - - thumb_func_start sub_080500F4 -sub_080500F4: @ 0x080500F4 - ldr r1, _0805010C @ =gUnk_03000FD0 - strh r0, [r1, #0xa] - ldrh r0, [r1, #8] - movs r2, #1 - eors r0, r2 - strh r0, [r1, #8] - strb r2, [r1] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1, #0xc] - bx lr - .align 2, 0 -_0805010C: .4byte gUnk_03000FD0 - - thumb_func_start sub_08050110 -sub_08050110: @ 0x08050110 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r4, r2, #0 - movs r1, #1 - ands r1, r4 - cmp r1, #0 - beq _08050130 - ldr r1, _0805012C @ =gUnk_03000FD0 - movs r0, #0x96 - strh r0, [r1, #0x10] - adds r2, r1, #0 - b _08050136 - .align 2, 0 -_0805012C: .4byte gUnk_03000FD0 -_08050130: - ldr r0, _0805014C @ =gUnk_03000FD0 - strh r1, [r0, #0x10] - adds r2, r0, #0 -_08050136: - movs r1, #0 - strh r5, [r2, #0x12] - strh r6, [r2, #0x14] - ldr r0, _08050150 @ =0x00003F3F - strh r0, [r2, #0x16] - strh r1, [r2, #0x18] - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_08050054 - pop {r4, r5, r6, pc} - .align 2, 0 -_0805014C: .4byte gUnk_03000FD0 -_08050150: .4byte 0x00003F3F - - thumb_func_start sub_08050154 -sub_08050154: @ 0x08050154 - push {r4, r5, r6, lr} - ldr r4, _08050180 @ =gUnk_03000FD0 - ldrh r0, [r4, #8] - movs r5, #0x1c - ands r5, r0 - movs r6, #0 - ldrb r0, [r4] - cmp r0, #0 - beq _080501BE - ldrh r0, [r4, #0xc] - ldrh r1, [r4, #0xa] - subs r0, r0, r1 - strh r0, [r4, #0xc] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrh r2, [r4, #0xe] - movs r3, #0xe - ldrsh r1, [r4, r3] - cmp r0, r1 - bgt _080501B8 - strh r2, [r4, #0xc] - b _080501B8 - .align 2, 0 -_08050180: .4byte gUnk_03000FD0 -_08050184: - mvns r0, r5 - adds r0, #1 - ands r0, r5 - eors r5, r0 - cmp r0, #8 - beq _080501A8 - cmp r0, #8 - bhi _0805019A - cmp r0, #4 - beq _080501A0 - b _080501B8 -_0805019A: - cmp r0, #0x10 - beq _080501B0 - b _080501B8 -_080501A0: - adds r0, r4, #0 - bl sub_080501C0 - b _080501B6 -_080501A8: - adds r0, r4, #0 - bl sub_08050230 - b _080501B6 -_080501B0: - adds r0, r4, #0 - bl sub_080502A4 -_080501B6: - orrs r6, r0 -_080501B8: - cmp r5, #0 - bne _08050184 - strb r6, [r4] -_080501BE: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080501C0 -sub_080501C0: @ 0x080501C0 - push {r4, r5, r6, r7, lr} - adds r3, r0, #0 - ldrh r1, [r3, #8] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080501DA - movs r0, #0xc - ldrsh r1, [r3, r0] - movs r0, #0x80 - lsls r0, r0, #1 - subs r5, r0, r1 - b _080501DE -_080501DA: - movs r2, #0xc - ldrsh r5, [r3, r2] -_080501DE: - ldr r0, _080501F8 @ =gUnk_03000FD0 - ldr r2, [r0, #4] - ldr r1, _080501FC @ =gUnk_020354C0 - movs r4, #0 - ldr r7, _08050200 @ =gUnk_0200B644 - movs r6, #1 -_080501EA: - adds r0, r2, #0 - ands r0, r6 - cmp r0, #0 - beq _08050204 - strb r6, [r1] - strh r5, [r1, #2] - b _08050208 - .align 2, 0 -_080501F8: .4byte gUnk_03000FD0 -_080501FC: .4byte gUnk_020354C0 -_08050200: .4byte gUnk_0200B644 -_08050204: - strb r0, [r1] - strh r0, [r1, #2] -_08050208: - ldrb r0, [r3, #2] - strb r0, [r1, #1] - lsrs r2, r2, #1 - adds r4, #1 - adds r1, #4 - cmp r4, #0x1f - bls _080501EA - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r7] - movs r0, #0xe - ldrsh r1, [r3, r0] - movs r2, #0xc - ldrsh r0, [r3, r2] - eors r1, r0 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08050230 -sub_08050230: @ 0x08050230 - push {r4, r5, lr} - ldrh r4, [r0, #8] - ldrh r0, [r0, #0xc] - lsls r5, r0, #0x10 - asrs r2, r5, #0x14 - movs r0, #0xf - ands r2, r0 - movs r0, #1 - ands r4, r0 - cmp r4, #0 - beq _0805024A - movs r0, #0xf - subs r2, r0, r2 -_0805024A: - ldr r3, _08050264 @ =gUnk_03000F50 - ldr r1, _08050268 @ =gUnk_080FC3C4 - lsls r0, r2, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r3, #0 - adds r0, #0x64 - strh r1, [r0] - cmp r5, #0 - beq _0805026C - movs r0, #1 - b _08050298 - .align 2, 0 -_08050264: .4byte gUnk_03000F50 -_08050268: .4byte gUnk_080FC3C4 -_0805026C: - ldr r1, _0805029C @ =gUnk_03000000 - movs r0, #0 - strb r0, [r1, #2] - cmp r4, #0 - bne _08050296 - ldrh r2, [r3, #8] - ldr r1, _080502A0 @ =0x0000FFBF - adds r0, r1, #0 - ands r0, r2 - strh r0, [r3, #8] - ldrh r2, [r3, #0x14] - adds r0, r1, #0 - ands r0, r2 - strh r0, [r3, #0x14] - ldrh r2, [r3, #0x20] - adds r0, r1, #0 - ands r0, r2 - strh r0, [r3, #0x20] - ldrh r0, [r3, #0x2c] - ands r1, r0 - strh r1, [r3, #0x2c] -_08050296: - movs r0, #0 -_08050298: - pop {r4, r5, pc} - .align 2, 0 -_0805029C: .4byte gUnk_03000000 -_080502A0: .4byte 0x0000FFBF - - thumb_func_start sub_080502A4 -sub_080502A4: @ 0x080502A4 - push {r4, lr} - ldrh r1, [r0, #8] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080502E4 - ldr r4, _080502E0 @ =gUnk_03000FD0 - ldrh r0, [r4, #0x10] - ldrh r1, [r4, #0xa] - subs r0, r0, r1 - strh r0, [r4, #0x10] - lsls r0, r0, #0x10 - cmp r0, #0 - bgt _080502C4 - movs r0, #0 - strh r0, [r4, #0x10] -_080502C4: - movs r1, #0x12 - ldrsh r0, [r4, r1] - movs r2, #0x14 - ldrsh r1, [r4, r2] - movs r3, #0x10 - ldrsh r2, [r4, r3] - bl sub_0801E1EC - movs r1, #0x10 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08050314 - movs r0, #0 - b _08050316 - .align 2, 0 -_080502E0: .4byte gUnk_03000FD0 -_080502E4: - ldr r4, _08050310 @ =gUnk_03000FD0 - ldrh r0, [r4, #0xa] - ldrh r2, [r4, #0x10] - adds r0, r0, r2 - strh r0, [r4, #0x10] - movs r3, #0x12 - ldrsh r0, [r4, r3] - movs r2, #0x14 - ldrsh r1, [r4, r2] - movs r3, #0x10 - ldrsh r2, [r4, r3] - bl sub_0801E1EC - movs r1, #0x10 - ldrsh r0, [r4, r1] - cmp r0, #0x96 - ble _08050314 - bl sub_0801E104 - movs r0, #0 - b _08050316 - .align 2, 0 -_08050310: .4byte gUnk_03000FD0 -_08050314: - movs r0, #1 -_08050316: - pop {r4, pc} - - thumb_func_start sub_08050318 -sub_08050318: @ 0x08050318 - push {r4, r5, r6, lr} - sub sp, #0x18 - adds r6, r0, #0 - adds r4, r1, #0 - bl sub_08050384 - ldr r0, _08050374 @ =gUnk_080FC844 - mov r1, sp - movs r2, #0x18 - bl sub_0801D66C - ldr r1, _08050378 @ =gUnk_020227E8 - adds r0, r4, #0 - bl sub_08056FEC - mov r2, sp - mov r1, sp - ldr r5, _0805037C @ =gUnk_080FC85C - lsls r4, r6, #1 - adds r4, r4, r6 - lsls r4, r4, #1 - adds r0, r4, r5 - ldrh r0, [r0] - lsls r0, r0, #0xc - ldrh r1, [r1, #0x10] - orrs r0, r1 - strh r0, [r2, #0x10] - adds r0, r5, #2 - adds r0, r4, r0 - ldrh r0, [r0] - mov r1, sp - bl sub_0805F46C - adds r5, #4 - adds r4, r4, r5 - ldrh r0, [r4] - cmp r0, #0 - beq _08050368 - bl sub_080A3268 -_08050368: - ldr r1, _08050380 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0xe] - add sp, #0x18 - pop {r4, r5, r6, pc} - .align 2, 0 -_08050374: .4byte gUnk_080FC844 -_08050378: .4byte gUnk_020227E8 -_0805037C: .4byte gUnk_080FC85C -_08050380: .4byte gUnk_03000F50 - - thumb_func_start sub_08050384 -sub_08050384: @ 0x08050384 - push {lr} - movs r0, #0 - movs r1, #0 - bl sub_0801C4A0 - ldr r0, _080503A0 @ =gUnk_02034CB0 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - ldr r1, _080503A4 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0xe] - pop {pc} - .align 2, 0 -_080503A0: .4byte gUnk_02034CB0 -_080503A4: .4byte gUnk_03000F50 - - thumb_func_start sub_080503A8 -sub_080503A8: @ 0x080503A8 - push {lr} - bl sub_0801D7EC - ldr r1, _080503B8 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0x1a] - strh r0, [r1, #0x26] - pop {pc} - .align 2, 0 -_080503B8: .4byte gUnk_03000F50 - - thumb_func_start sub_080503BC -sub_080503BC: @ 0x080503BC - push {r4, lr} - ldr r1, _080503D8 @ =gUnk_02032EC0 - strb r0, [r1, #4] - ldr r0, _080503DC @ =gUnk_02034CB0 - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _080503E0 @ =gUnk_02021F30 - adds r1, r4, #0 - bl sub_0801D630 - pop {r4, pc} - .align 2, 0 -_080503D8: .4byte gUnk_02032EC0 -_080503DC: .4byte gUnk_02034CB0 -_080503E0: .4byte gUnk_02021F30 - - thumb_func_start sub_080503E4 -sub_080503E4: @ 0x080503E4 - push {lr} - adds r1, r0, #0 - cmp r1, #2 - bls _080503F2 - movs r2, #1 - movs r1, #1 - b _080503FE -_080503F2: - ldr r0, _08050410 @ =0x000004B4 - muls r0, r1, r0 - ldr r1, _08050414 @ =gUnk_02019EEC - adds r0, r0, r1 - ldrb r2, [r0, #2] - ldrb r1, [r0, #3] -_080503FE: - movs r0, #0x80 - lsls r0, r0, #0x12 - strb r2, [r0, #5] - strb r1, [r0, #6] - ldr r1, _08050418 @ =gUnk_0200B644 - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1] - pop {pc} - .align 2, 0 -_08050410: .4byte 0x000004B4 -_08050414: .4byte gUnk_02019EEC -_08050418: .4byte gUnk_0200B644 - - thumb_func_start sub_0805041C -sub_0805041C: @ 0x0805041C - push {r4, lr} - adds r4, r0, #0 - cmp r4, #2 - bhi _0805043A - movs r0, #0x80 - lsls r0, r0, #0x12 - strb r4, [r0, #4] - ldr r2, _08050444 @ =0x000004B4 - adds r0, r4, #0 - muls r0, r2, r0 - ldr r1, _08050448 @ =gUnk_02019EEC - adds r0, r0, r1 - ldr r1, _0805044C @ =gUnk_02002A40 - bl sub_0801D66C -_0805043A: - adds r0, r4, #0 - bl sub_080503E4 - pop {r4, pc} - .align 2, 0 -_08050444: .4byte 0x000004B4 -_08050448: .4byte gUnk_02019EEC -_0805044C: .4byte gUnk_02002A40 - - thumb_func_start sub_08050450 -sub_08050450: @ 0x08050450 - push {r4, lr} - bl sub_080AD90C - ldr r1, _080504D8 @ =gUnk_080FC8A4 - ldr r0, _080504DC @ =gUnk_03001000 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r4, _080504E0 @ =gUnk_02032EC0 - ldrb r1, [r4, #4] - ldrb r0, [r4, #2] - cmp r0, r1 - beq _0805048A - movs r0, #0 - strb r1, [r4, #2] - ldr r1, _080504E4 @ =gUnk_03000F50 - strh r0, [r1, #0xa] - strh r0, [r1, #0xc] - strh r0, [r1, #0x16] - strh r0, [r1, #0x18] - strh r0, [r1, #0x22] - strh r0, [r1, #0x24] - ldr r0, _080504E8 @ =gUnk_02000080 - movs r1, #0x30 - bl sub_0801D630 -_0805048A: - bl sub_080507FC - ldr r1, _080504EC @ =gUnk_080FC8B0 - ldrb r0, [r4, #2] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r4, _080504F0 @ =gUnk_02019EE0 - movs r0, #0 - strb r0, [r4] - bl sub_0805E5C0 - bl sub_0805066C - bl sub_0801C1D4 - bl sub_0801C208 - bl sub_080AD9B0 - bl sub_080AD918 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r1, [r0, #7] - ldrb r0, [r4, #3] - cmp r0, r1 - beq _080504D4 - strb r1, [r4, #3] - movs r0, #6 - bl sub_080503A8 - movs r0, #0xf - bl sub_080503A8 -_080504D4: - pop {r4, pc} - .align 2, 0 -_080504D8: .4byte gUnk_080FC8A4 -_080504DC: .4byte gUnk_03001000 -_080504E0: .4byte gUnk_02032EC0 -_080504E4: .4byte gUnk_03000F50 -_080504E8: .4byte gUnk_02000080 -_080504EC: .4byte gUnk_080FC8B0 -_080504F0: .4byte gUnk_02019EE0 - - thumb_func_start sub_080504F4 -sub_080504F4: @ 0x080504F4 - push {r4, lr} - movs r0, #1 - bl sub_0801DA90 - bl sub_080A3210 - movs r0, #0xc0 - lsls r0, r0, #0x13 - movs r1, #0x80 - bl sub_0801D630 - bl sub_08056418 - bl sub_0805E60C - bl sub_08080668 - bl sub_080ADD30 - movs r0, #0 - bl sub_0801CFA8 - ldr r0, _080505DC @ =gUnk_0200AF00 - movs r1, #0xcd - lsls r1, r1, #2 - bl sub_0801D630 - ldr r4, _080505E0 @ =gUnk_02019EE0 - ldr r1, _080505E4 @ =0x00000E28 - adds r0, r4, #0 - bl sub_0801D630 - movs r0, #7 - strb r0, [r4, #3] - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #0 - cmp r0, #1 - bls _08050546 - movs r1, #3 -_08050546: - strb r1, [r4, #6] - ldr r4, _080505E8 @ =gUnk_02032EC0 - movs r1, #0xed - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_0801D630 - movs r0, #8 - strb r0, [r4, #2] - movs r0, #0 - bl sub_080503BC - bl sub_0805616C - movs r0, #0 - bl sub_08050624 - movs r0, #1 - bl sub_08050624 - movs r0, #2 - bl sub_08050624 - bl sub_08056208 - movs r0, #5 - bl sub_080503A8 - movs r0, #9 - bl sub_0801D714 - movs r4, #0 -_08050586: - movs r0, #0x48 - adds r1, r4, #0 - movs r2, #0 - bl sub_080A2960 - adds r4, #1 - cmp r4, #0x19 - bls _08050586 - ldr r0, _080505EC @ =gUnk_080FC8D0 - bl sub_080A70AC - bl sub_080507FC - ldr r1, _080505F0 @ =gUnk_03000F50 - ldrh r2, [r1] - movs r3, #0xf8 - lsls r3, r3, #5 - adds r0, r3, #0 - orrs r0, r2 - strh r0, [r1] - ldr r0, _080505F4 @ =0x00001E0B - strh r0, [r1, #0x2c] - adds r2, r1, #0 - adds r2, #0x66 - ldr r0, _080505F8 @ =0x00000844 - strh r0, [r2] - adds r1, #0x68 - ldr r0, _080505FC @ =0x00000A0F - strh r0, [r1] - ldr r0, _08050600 @ =gUnk_02024490 - movs r1, #1 - strb r1, [r0] - ldr r0, _08050604 @ =gUnk_03001000 - strb r1, [r0, #3] - movs r0, #7 - bl sub_080A3268 - movs r0, #4 - movs r1, #8 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_080505DC: .4byte gUnk_0200AF00 -_080505E0: .4byte gUnk_02019EE0 -_080505E4: .4byte 0x00000E28 -_080505E8: .4byte gUnk_02032EC0 -_080505EC: .4byte gUnk_080FC8D0 -_080505F0: .4byte gUnk_03000F50 -_080505F4: .4byte 0x00001E0B -_080505F8: .4byte 0x00000844 -_080505FC: .4byte 0x00000A0F -_08050600: .4byte gUnk_02024490 -_08050604: .4byte gUnk_03001000 - - thumb_func_start nullsub_479 -nullsub_479: @ 0x08050608 - bx lr - .align 2, 0 - - thumb_func_start sub_0805060C -sub_0805060C: @ 0x0805060C - push {lr} - ldr r0, _08050620 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805061C - movs r0, #2 - bl sub_08056010 -_0805061C: - pop {pc} - .align 2, 0 -_08050620: .4byte gUnk_03000FD0 - - thumb_func_start sub_08050624 -sub_08050624: @ 0x08050624 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08050648 @ =0x000004B4 - adds r1, r4, #0 - muls r1, r0, r1 - ldr r0, _0805064C @ =gUnk_02019EEC - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0807CF28 - adds r5, r0, #0 - movs r0, #1 - rsbs r0, r0, #0 - cmp r5, r0 - beq _08050650 - cmp r5, #0 - beq _08050656 - b _0805065C - .align 2, 0 -_08050648: .4byte 0x000004B4 -_0805064C: .4byte gUnk_02019EEC -_08050650: - adds r0, r4, #0 - bl sub_0807CF48 -_08050656: - adds r0, r4, #0 - bl sub_0805194C -_0805065C: - ldr r0, _08050668 @ =gUnk_02019EE0 - adds r0, #8 - adds r0, r4, r0 - strb r5, [r0] - pop {r4, r5, pc} - .align 2, 0 -_08050668: .4byte gUnk_02019EE0 - - thumb_func_start sub_0805066C -sub_0805066C: @ 0x0805066C - push {r4, lr} - movs r1, #0 - ldr r4, _080506F0 @ =gUnk_02019EE0 - ldrb r0, [r4, #1] - subs r0, #1 - strb r0, [r4, #1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08050690 - movs r0, #0x10 - strb r0, [r4, #1] - ldrb r0, [r4, #2] - adds r0, #1 - movs r1, #0xf - bl __modsi3 - strb r0, [r4, #2] - movs r1, #1 -_08050690: - ldrb r0, [r4, #2] - cmp r0, #0 - bne _080506AA - movs r0, #1 - strb r0, [r4, #2] - bl sub_08000E50 - movs r1, #7 - ands r1, r0 - lsls r1, r1, #4 - adds r1, #8 - strb r1, [r4, #1] - movs r1, #1 -_080506AA: - cmp r1, #0 - beq _080506EE - ldr r1, _080506F4 @ =gUnk_080FC8DE - ldrb r0, [r4, #2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r4, [r0] - ldr r0, _080506F8 @ =gUnk_085A2E80 - adds r4, r4, r0 - ldr r1, _080506FC @ =0x00011AA0 - adds r0, r4, r1 - movs r1, #0xb - movs r2, #1 - bl sub_0801D754 - ldr r1, _08050700 @ =0x00011BA0 - adds r0, r4, r1 - movs r1, #0xc - movs r2, #1 - bl sub_0801D754 - ldr r1, _08050704 @ =0x00011CA0 - adds r0, r4, r1 - movs r1, #0xd - movs r2, #1 - bl sub_0801D754 - ldr r0, _08050708 @ =0x00011DA0 - adds r4, r4, r0 - adds r0, r4, #0 - movs r1, #0xe - movs r2, #1 - bl sub_0801D754 -_080506EE: - pop {r4, pc} - .align 2, 0 -_080506F0: .4byte gUnk_02019EE0 -_080506F4: .4byte gUnk_080FC8DE -_080506F8: .4byte gUnk_085A2E80 -_080506FC: .4byte 0x00011AA0 -_08050700: .4byte 0x00011BA0 -_08050704: .4byte 0x00011CA0 -_08050708: .4byte 0x00011DA0 - - thumb_func_start sub_0805070C -sub_0805070C: @ 0x0805070C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - bl sub_0805F2C8 - adds r5, r0, #0 - cmp r5, #0 - beq _0805077A - movs r0, #0 - strb r0, [r5, #2] - movs r0, #5 - strb r0, [r5, #3] - movs r0, #1 - strb r0, [r5, #1] - movs r0, #0x30 - strh r0, [r5, #4] - ldr r0, _08050780 @ =gUnk_02000D00 - str r0, [r5, #8] - movs r6, #0 -_08050732: - movs r0, #0 - strh r0, [r5, #6] - ldr r0, [r5, #8] - movs r1, #0x80 - lsls r1, r1, #2 - bl sub_0801D630 - ldr r0, _08050784 @ =0x000004B4 - adds r1, r6, #0 - muls r1, r0, r1 - ldr r0, _08050788 @ =gUnk_02019F6C - adds r7, r1, r0 - movs r4, #0 - lsls r0, r6, #9 - mov r8, r0 - adds r6, #1 -_08050752: - adds r0, r7, r4 - ldrb r0, [r0] - adds r1, r5, #0 - bl sub_0805F7DC - adds r4, #1 - cmp r4, #5 - ble _08050752 - ldr r0, [r5, #8] - ldr r1, _0805078C @ =0x06014000 - add r1, r8 - movs r2, #0x80 - lsls r2, r2, #2 - bl sub_0801D66C - cmp r6, #2 - bls _08050732 - adds r0, r5, #0 - bl sub_0805F300 -_0805077A: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08050780: .4byte gUnk_02000D00 -_08050784: .4byte 0x000004B4 -_08050788: .4byte gUnk_02019F6C -_0805078C: .4byte 0x06014000 - - thumb_func_start sub_08050790 -sub_08050790: @ 0x08050790 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - bl sub_0805F2C8 - adds r6, r0, #0 - cmp r6, #0 - beq _080507F0 - movs r0, #0 - strb r0, [r6, #2] - movs r0, #5 - strb r0, [r6, #3] - movs r0, #1 - strb r0, [r6, #1] - movs r0, #0x80 - strh r0, [r6, #4] - ldr r0, _080507F8 @ =gUnk_02000D00 - str r0, [r6, #8] - movs r1, #0 -_080507B6: - movs r0, #0 - strh r0, [r6, #6] - lsls r4, r1, #4 - movs r5, #0 - lsls r7, r1, #0xa - adds r1, #1 - mov r8, r1 -_080507C4: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0805F7DC - adds r4, #1 - adds r5, #1 - cmp r5, #0xf - bls _080507C4 - movs r0, #0xc0 - lsls r0, r0, #0x13 - adds r1, r7, r0 - ldr r0, _080507F8 @ =gUnk_02000D00 - movs r2, #0x80 - lsls r2, r2, #3 - bl sub_0801D66C - mov r1, r8 - cmp r1, #0xf - bls _080507B6 - adds r0, r6, #0 - bl sub_0805F300 -_080507F0: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080507F8: .4byte gUnk_02000D00 - - thumb_func_start sub_080507FC -sub_080507FC: @ 0x080507FC - ldr r0, _0805080C @ =gUnk_0200AF00 - movs r1, #0xa0 - lsls r1, r1, #1 - strh r1, [r0, #0x1a] - movs r1, #0x24 - strh r1, [r0, #0x20] - bx lr - .align 2, 0 -_0805080C: .4byte gUnk_0200AF00 - - thumb_func_start sub_08050810 -sub_08050810: @ 0x08050810 - ldr r0, _0805081C @ =gUnk_0200AF00 - movs r1, #0xd0 - strh r1, [r0, #0x1a] - movs r1, #0x24 - strh r1, [r0, #0x20] - bx lr - .align 2, 0 -_0805081C: .4byte gUnk_0200AF00 - - thumb_func_start sub_08050820 -sub_08050820: @ 0x08050820 - push {lr} - ldr r1, _0805083C @ =gUnk_080FC8FC - ldr r0, _08050840 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08050844 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_08050A64 - pop {pc} - .align 2, 0 -_0805083C: .4byte gUnk_080FC8FC -_08050840: .4byte gUnk_02000080 -_08050844: .4byte gUnk_02019EE0 - - thumb_func_start sub_08050848 -sub_08050848: @ 0x08050848 - push {lr} - movs r0, #7 - bl sub_080503A8 - bl sub_0805070C - ldr r0, _08050868 @ =gUnk_02019EE0 - movs r1, #0 - strb r1, [r0, #7] - ldrb r0, [r0, #6] - bl sub_08050AFC - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_08050868: .4byte gUnk_02019EE0 - - thumb_func_start sub_0805086C -sub_0805086C: @ 0x0805086C - push {lr} - ldr r1, _08050880 @ =gUnk_080FC908 - ldr r0, _08050884 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08050880: .4byte gUnk_080FC908 -_08050884: .4byte gUnk_02000080 - - thumb_func_start sub_08050888 -sub_08050888: @ 0x08050888 - push {r4, lr} - ldr r0, _080508C4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080508DC - ldr r4, _080508C8 @ =gUnk_02019EE0 - ldrb r1, [r4, #7] - adds r0, r4, #0 - adds r0, #8 - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _080508D0 - cmp r0, #1 - beq _080508D6 - adds r0, r1, #0 - bl sub_0805194C - ldrb r1, [r4, #7] - adds r1, #1 - movs r0, #0 - bl sub_08050318 - ldr r1, _080508CC @ =gUnk_02000080 - movs r0, #0x1e - strh r0, [r1, #8] - movs r0, #1 - b _080508DA - .align 2, 0 -_080508C4: .4byte gUnk_03000FD0 -_080508C8: .4byte gUnk_02019EE0 -_080508CC: .4byte gUnk_02000080 -_080508D0: - adds r0, r1, #0 - bl sub_0805194C -_080508D6: - ldr r1, _080508E0 @ =gUnk_02000080 - movs r0, #2 -_080508DA: - strb r0, [r1, #6] -_080508DC: - pop {r4, pc} - .align 2, 0 -_080508E0: .4byte gUnk_02000080 - - thumb_func_start sub_080508E4 -sub_080508E4: @ 0x080508E4 - push {lr} - ldr r2, _08050900 @ =gUnk_02000080 - ldrh r0, [r2, #8] - cmp r0, #0 - bne _08050908 - ldr r0, _08050904 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #9 - ands r0, r1 - cmp r0, #0 - beq _0805090C - movs r0, #2 - strb r0, [r2, #6] - b _0805090C - .align 2, 0 -_08050900: .4byte gUnk_02000080 -_08050904: .4byte gUnk_03000FF0 -_08050908: - subs r0, #1 - strh r0, [r2, #8] -_0805090C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08050910 -sub_08050910: @ 0x08050910 - push {lr} - bl sub_08050384 - ldr r1, _08050930 @ =gUnk_02019EE0 - ldrb r0, [r1, #7] - adds r0, #1 - strb r0, [r1, #7] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #2 - bls _08050934 - movs r0, #2 - bl sub_080A7114 - b _0805093A - .align 2, 0 -_08050930: .4byte gUnk_02019EE0 -_08050934: - ldr r1, _0805093C @ =gUnk_02000080 - movs r0, #0 - strb r0, [r1, #6] -_0805093A: - pop {pc} - .align 2, 0 -_0805093C: .4byte gUnk_02000080 - - thumb_func_start sub_08050940 -sub_08050940: @ 0x08050940 - push {r4, r5, r6, lr} - ldr r3, _0805099C @ =gUnk_02019EE0 - ldrb r0, [r3] - cmp r0, #0 - beq _0805094C - b _08050A58 -_0805094C: - ldrb r4, [r3, #6] - ldr r0, _080509A0 @ =gUnk_03000FF0 - ldrh r2, [r0, #2] - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08050974 - adds r0, r3, #0 - adds r0, #8 - adds r0, r4, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08050974 - movs r0, #0xc1 - rsbs r0, r0, #0 - ands r2, r0 -_08050974: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r6, #3 - cmp r0, #1 - bls _08050982 - movs r6, #4 -_08050982: - ldr r0, _080509A4 @ =gUnk_02032EC0 - ldrb r5, [r0, #2] - adds r1, r0, #0 - cmp r2, #0x40 - beq _080509B6 - cmp r2, #0x40 - bhi _080509A8 - cmp r2, #1 - beq _080509E0 - cmp r2, #8 - beq _080509E0 - b _08050A10 - .align 2, 0 -_0805099C: .4byte gUnk_02019EE0 -_080509A0: .4byte gUnk_03000FF0 -_080509A4: .4byte gUnk_02032EC0 -_080509A8: - cmp r2, #0x80 - beq _080509BE - movs r0, #0x80 - lsls r0, r0, #1 - cmp r2, r0 - beq _080509C8 - b _08050A10 -_080509B6: - cmp r4, #0 - ble _08050A10 - subs r4, #1 - b _08050A10 -_080509BE: - subs r0, r6, #1 - cmp r0, r4 - ble _08050A10 - adds r4, #1 - b _08050A10 -_080509C8: - ldr r0, _080509DC @ =gUnk_02019EE0 - adds r0, #8 - adds r0, r4, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08050A10 - movs r5, #3 - b _08050A10 - .align 2, 0 -_080509DC: .4byte gUnk_02019EE0 -_080509E0: - adds r0, r4, #0 - bl sub_0805041C - cmp r4, #3 - bne _080509EE - movs r5, #2 - b _08050A0E -_080509EE: - ldr r0, _08050A04 @ =gUnk_02019EE0 - adds r0, #8 - adds r0, r4, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08050A08 - cmp r0, #1 - beq _08050A0C - b _08050A0E - .align 2, 0 -_08050A04: .4byte gUnk_02019EE0 -_08050A08: - movs r5, #1 - b _08050A0E -_08050A0C: - movs r5, #4 -_08050A0E: - ldr r1, _08050A5C @ =gUnk_02032EC0 -_08050A10: - ldrb r0, [r1, #2] - cmp r0, r5 - beq _08050A22 - adds r0, r5, #0 - bl sub_080503BC - movs r0, #0x6a - bl sub_080A3268 -_08050A22: - adds r0, r4, r6 - adds r1, r6, #0 - bl __modsi3 - adds r4, r0, #0 - ldr r5, _08050A60 @ =gUnk_02019EE0 - ldrb r0, [r5, #6] - cmp r0, r4 - beq _08050A42 - strb r4, [r5, #6] - adds r0, r4, #0 - bl sub_08050AFC - movs r0, #0x69 - bl sub_080A3268 -_08050A42: - adds r0, r5, #0 - adds r0, #8 - ldrb r5, [r5, #6] - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08050A58 - bl sub_08050810 -_08050A58: - pop {r4, r5, r6, pc} - .align 2, 0 -_08050A5C: .4byte gUnk_02032EC0 -_08050A60: .4byte gUnk_02019EE0 - - thumb_func_start sub_08050A64 -sub_08050A64: @ 0x08050A64 - push {r4, lr} - ldr r1, _08050AF0 @ =gUnk_02019EE0 - adds r1, #8 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08050AEC - ldr r4, _08050AF4 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r4, #4] - strh r0, [r4, #6] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r4, #8] - movs r0, #0x40 - bl sub_0807CA84 - cmp r0, #0 - beq _08050A9E - movs r0, #0xa2 - strh r0, [r4] - movs r0, #0x36 - strh r0, [r4, #2] - ldr r0, _08050AF8 @ =0x00000145 - movs r1, #0x24 - bl sub_080ADA14 -_08050A9E: - movs r0, #0x41 - bl sub_0807CA84 - cmp r0, #0 - beq _08050AB8 - movs r0, #0x96 - strh r0, [r4] - movs r0, #0x3d - strh r0, [r4, #2] - ldr r0, _08050AF8 @ =0x00000145 - movs r1, #0x22 - bl sub_080ADA14 -_08050AB8: - movs r0, #0x42 - bl sub_0807CA84 - cmp r0, #0 - beq _08050AD2 - movs r0, #0xae - strh r0, [r4] - movs r0, #0x3d - strh r0, [r4, #2] - ldr r0, _08050AF8 @ =0x00000145 - movs r1, #0x23 - bl sub_080ADA14 -_08050AD2: - movs r0, #0x43 - bl sub_0807CA84 - cmp r0, #0 - beq _08050AEC - movs r0, #0xa2 - strh r0, [r4] - movs r0, #0x44 - strh r0, [r4, #2] - ldr r0, _08050AF8 @ =0x00000145 - movs r1, #0x21 - bl sub_080ADA14 -_08050AEC: - pop {r4, pc} - .align 2, 0 -_08050AF0: .4byte gUnk_02019EE0 -_08050AF4: .4byte gUnk_03001010 -_08050AF8: .4byte 0x00000145 - - thumb_func_start sub_08050AFC -sub_08050AFC: @ 0x08050AFC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0805041C - ldr r5, _08050B30 @ =gUnk_02021F30 - movs r1, #0x80 - lsls r1, r1, #4 - adds r0, r5, #0 - bl sub_0801D630 - ldr r0, _08050B34 @ =gUnk_02019EE0 - adds r0, #8 - adds r4, r4, r0 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #1 - bne _08050B28 - movs r1, #0xa7 - lsls r1, r1, #2 - adds r0, r5, r1 - bl sub_08050B3C -_08050B28: - ldr r1, _08050B38 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0x1a] - pop {r4, r5, pc} - .align 2, 0 -_08050B30: .4byte gUnk_02021F30 -_08050B34: .4byte gUnk_02019EE0 -_08050B38: .4byte gUnk_03000F50 - - thumb_func_start sub_08050B3C -sub_08050B3C: @ 0x08050B3C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - str r0, [sp] - ldr r1, _08050C18 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xaa - ldrb r0, [r0] - lsrs r2, r0, #1 - cmp r2, #0 - bne _08050B5A - movs r2, #1 -_08050B5A: - adds r0, r1, #0 - adds r0, #0xab - ldrb r0, [r0] - lsrs r3, r0, #1 - cmp r3, #0 - beq _08050C0A - cmp r2, r3 - ble _08050B6C - adds r2, r3, #0 -_08050B6C: - movs r0, #3 - ands r0, r2 - str r0, [sp, #4] - adds r0, r2, #0 - asrs r5, r0, #2 - mov ip, r5 - cmp r5, #0xa - ble _08050B80 - movs r2, #0xa - mov ip, r2 -_08050B80: - adds r6, r5, #0 - subs r6, #0xa - mov sb, r6 - cmp r6, #0 - bge _08050B8E - movs r7, #0 - mov sb, r7 -_08050B8E: - adds r0, r3, #0 - asrs r3, r0, #2 - adds r0, r3, #0 - cmp r3, #0xa - ble _08050B9A - movs r3, #0xa -_08050B9A: - adds r4, r0, #0 - subs r4, #0xa - ldr r2, [sp] - ldr r0, _08050C1C @ =0x0000F24C - mov sl, r0 - strh r0, [r2] - ldr r1, _08050C20 @ =0x040000D4 - movs r7, #0xa - mov r8, r7 - mov r0, r8 - mov r7, ip - subs r0, r0, r7 - lsls r0, r0, #1 - ldr r7, _08050C24 @ =gUnk_080FC914 - mov ip, r7 - add r0, ip - str r0, [r1] - adds r0, r2, #2 - str r0, [r1, #4] - movs r0, #0x80 - lsls r0, r0, #0x18 - orrs r3, r0 - str r3, [r1, #8] - ldr r0, [r1, #8] - cmp r4, #0 - ble _08050BEE - adds r2, #0x40 - mov r3, sl - strh r3, [r2] - mov r7, r8 - mov r3, sb - subs r0, r7, r3 - lsls r0, r0, #1 - add r0, ip - str r0, [r1] - adds r0, r2, #2 - str r0, [r1, #4] - movs r7, #0x80 - lsls r7, r7, #0x18 - orrs r4, r7 - str r4, [r1, #8] - ldr r0, [r1, #8] -_08050BEE: - ldr r0, [sp, #4] - cmp r0, #0 - beq _08050C0A - ldr r2, [sp] - cmp r5, #9 - ble _08050BFE - adds r5, r6, #0 - adds r2, #0x40 -_08050BFE: - lsls r0, r5, #1 - adds r0, r0, r2 - ldr r2, [sp, #4] - ldr r3, _08050C28 @ =0xFFFFF24D - adds r1, r2, r3 - strh r1, [r0, #2] -_08050C0A: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08050C18: .4byte gUnk_02002A40 -_08050C1C: .4byte 0x0000F24C -_08050C20: .4byte 0x040000D4 -_08050C24: .4byte gUnk_080FC914 -_08050C28: .4byte 0xFFFFF24D - - thumb_func_start sub_08050C2C -sub_08050C2C: @ 0x08050C2C - push {lr} - ldr r1, _08050C48 @ =gUnk_080FC93C - ldr r0, _08050C4C @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08050C50 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_08050A64 - pop {pc} - .align 2, 0 -_08050C48: .4byte gUnk_080FC93C -_08050C4C: .4byte gUnk_02000080 -_08050C50: .4byte gUnk_02019EE0 - - thumb_func_start sub_08050C54 -sub_08050C54: @ 0x08050C54 - push {r4, lr} - ldr r0, _08050C78 @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - beq _08050C60 - b _08050D60 -_08050C60: - ldr r0, _08050C7C @ =gUnk_02000080 - ldrb r4, [r0, #1] - ldr r0, _08050C80 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - subs r0, #1 - cmp r0, #0x1f - bhi _08050D44 - lsls r0, r0, #2 - ldr r1, _08050C84 @ =_08050C88 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08050C78: .4byte gUnk_02019EE0 -_08050C7C: .4byte gUnk_02000080 -_08050C80: .4byte gUnk_03000FF0 -_08050C84: .4byte _08050C88 -_08050C88: @ jump table - .4byte _08050D08 @ case 0 - .4byte _08050D30 @ case 1 - .4byte _08050D44 @ case 2 - .4byte _08050D44 @ case 3 - .4byte _08050D44 @ case 4 - .4byte _08050D44 @ case 5 - .4byte _08050D44 @ case 6 - .4byte _08050D08 @ case 7 - .4byte _08050D44 @ case 8 - .4byte _08050D44 @ case 9 - .4byte _08050D44 @ case 10 - .4byte _08050D44 @ case 11 - .4byte _08050D44 @ case 12 - .4byte _08050D44 @ case 13 - .4byte _08050D44 @ case 14 - .4byte _08050D42 @ case 15 - .4byte _08050D44 @ case 16 - .4byte _08050D44 @ case 17 - .4byte _08050D44 @ case 18 - .4byte _08050D44 @ case 19 - .4byte _08050D44 @ case 20 - .4byte _08050D44 @ case 21 - .4byte _08050D44 @ case 22 - .4byte _08050D44 @ case 23 - .4byte _08050D44 @ case 24 - .4byte _08050D44 @ case 25 - .4byte _08050D44 @ case 26 - .4byte _08050D44 @ case 27 - .4byte _08050D44 @ case 28 - .4byte _08050D44 @ case 29 - .4byte _08050D44 @ case 30 - .4byte _08050D3E @ case 31 -_08050D08: - cmp r4, #0 - bne _08050D12 - ldr r0, _08050D28 @ =0x80080000 - bl sub_080A3268 -_08050D12: - ldr r1, _08050D2C @ =gUnk_02000080 - movs r0, #0xf - strh r0, [r1, #8] - movs r0, #1 - bl sub_080A7114 - movs r0, #0x6a - bl sub_080A3268 - b _08050D44 - .align 2, 0 -_08050D28: .4byte 0x80080000 -_08050D2C: .4byte gUnk_02000080 -_08050D30: - movs r0, #0x6c - bl sub_080A3268 - movs r0, #0 - bl sub_080503BC - b _08050D44 -_08050D3E: - subs r4, #1 - b _08050D44 -_08050D42: - adds r4, #1 -_08050D44: - cmp r4, #0 - bge _08050D4A - movs r4, #0 -_08050D4A: - cmp r4, #2 - ble _08050D50 - movs r4, #2 -_08050D50: - ldr r1, _08050D64 @ =gUnk_02000080 - ldrb r0, [r1, #1] - cmp r0, r4 - beq _08050D60 - strb r4, [r1, #1] - movs r0, #0x69 - bl sub_080A3268 -_08050D60: - pop {r4, pc} - .align 2, 0 -_08050D64: .4byte gUnk_02000080 - - thumb_func_start sub_08050D68 -sub_08050D68: @ 0x08050D68 - push {lr} - ldr r1, _08050D84 @ =gUnk_02000080 - ldrh r0, [r1, #8] - cmp r0, #0 - bne _08050D94 - ldrb r0, [r1, #1] - cmp r0, #1 - beq _08050D88 - cmp r0, #1 - ble _08050D80 - cmp r0, #2 - beq _08050D8C -_08050D80: - movs r0, #7 - b _08050D8E - .align 2, 0 -_08050D84: .4byte gUnk_02000080 -_08050D88: - movs r0, #5 - b _08050D8E -_08050D8C: - movs r0, #6 -_08050D8E: - bl sub_080503BC - b _08050D98 -_08050D94: - subs r0, #1 - strh r0, [r1, #8] -_08050D98: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08050D9C -sub_08050D9C: @ 0x08050D9C - push {lr} - ldr r1, _08050DB0 @ =gUnk_080FC944 - ldr r0, _08050DB4 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08050DB0: .4byte gUnk_080FC944 -_08050DB4: .4byte gUnk_02000080 - - thumb_func_start sub_08050DB8 -sub_08050DB8: @ 0x08050DB8 - push {lr} - ldr r0, _08050DDC @ =gUnk_020344B0 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - movs r0, #0xc - bl sub_080503A8 - ldr r1, _08050DE0 @ =gUnk_02000080 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - strb r0, [r1, #4] - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_08050DDC: .4byte gUnk_020344B0 -_08050DE0: .4byte gUnk_02000080 - - thumb_func_start sub_08050DE4 -sub_08050DE4: @ 0x08050DE4 - push {r4, lr} - ldr r0, _08050E0C @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - bne _08050E80 - movs r1, #0x80 - lsls r1, r1, #0x12 - ldrb r4, [r1, #7] - ldr r0, _08050E10 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #8 - beq _08050E26 - cmp r0, #8 - bgt _08050E14 - cmp r0, #1 - beq _08050E26 - cmp r0, #2 - beq _08050E50 - b _08050E62 - .align 2, 0 -_08050E0C: .4byte gUnk_02019EE0 -_08050E10: .4byte gUnk_03000FF0 -_08050E14: - cmp r0, #0x40 - beq _08050E1E - cmp r0, #0x80 - beq _08050E22 - b _08050E62 -_08050E1E: - subs r4, #1 - b _08050E62 -_08050E22: - adds r4, #1 - b _08050E62 -_08050E26: - movs r0, #0x6a - bl sub_080A3268 - ldr r0, _08050E44 @ =gUnk_02000080 - ldrb r0, [r0, #4] - cmp r0, r4 - beq _08050E48 - movs r0, #2 - bl sub_080A7114 - movs r0, #8 - movs r1, #0 - bl sub_08050318 - b _08050E62 - .align 2, 0 -_08050E44: .4byte gUnk_02000080 -_08050E48: - movs r0, #0 - bl sub_080503BC - b _08050E62 -_08050E50: - ldr r0, _08050E84 @ =gUnk_02000080 - ldrb r4, [r0, #4] - strb r4, [r1, #7] - movs r0, #0x6c - bl sub_080A3268 - movs r0, #0 - bl sub_080503BC -_08050E62: - cmp r4, #1 - bgt _08050E68 - movs r4, #2 -_08050E68: - cmp r4, #6 - ble _08050E6E - movs r4, #6 -_08050E6E: - movs r1, #0x80 - lsls r1, r1, #0x12 - ldrb r0, [r1, #7] - cmp r0, r4 - beq _08050E80 - strb r4, [r1, #7] - movs r0, #0x69 - bl sub_080A3268 -_08050E80: - pop {r4, pc} - .align 2, 0 -_08050E84: .4byte gUnk_02000080 - - thumb_func_start sub_08050E88 -sub_08050E88: @ 0x08050E88 - push {lr} - movs r0, #2 - bl sub_0807CDA4 - cmp r0, #0 - beq _08050E9A - movs r0, #0 - bl sub_080503BC -_08050E9A: - pop {pc} - - thumb_func_start sub_08050E9C -sub_08050E9C: @ 0x08050E9C - push {lr} - ldr r1, _08050EB0 @ =gUnk_080FC950 - ldr r0, _08050EB4 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08050EB0: .4byte gUnk_080FC950 -_08050EB4: .4byte gUnk_02000080 - - thumb_func_start sub_08050EB8 -sub_08050EB8: @ 0x08050EB8 - push {lr} - movs r0, #0xe - bl sub_080503A8 - ldr r2, _08050EE8 @ =gUnk_02019EE0 - ldrb r1, [r2, #6] - ldr r0, _08050EEC @ =0x000004B4 - muls r1, r0, r1 - adds r0, r2, #0 - adds r0, #0xc - adds r1, r1, r0 - ldrb r0, [r1, #2] - movs r3, #0 - strb r0, [r2, #4] - ldrb r0, [r1, #3] - strb r0, [r2, #5] - ldr r1, _08050EF0 @ =gUnk_02000080 - strb r3, [r1, #1] - movs r0, #0xff - strh r0, [r1, #8] - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_08050EE8: .4byte gUnk_02019EE0 -_08050EEC: .4byte 0x000004B4 -_08050EF0: .4byte gUnk_02000080 - - thumb_func_start sub_08050EF4 -sub_08050EF4: @ 0x08050EF4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r0, _08050F40 @ =gUnk_02019EE0 - ldrb r1, [r0] - adds r6, r0, #0 - cmp r1, #0 - bne _08050FF4 - ldrb r1, [r6, #6] - ldr r0, _08050F44 @ =0x000004B4 - muls r1, r0, r1 - adds r0, r6, #0 - adds r0, #0xc - adds r1, r1, r0 - ldr r0, _08050F48 @ =gUnk_02000080 - ldrb r3, [r0, #1] - adds r4, r1, #3 - mov ip, r0 - cmp r3, #0 - bne _08050F1E - adds r4, r1, #2 -_08050F1E: - ldrb r2, [r4] - movs r5, #0 - ldr r0, _08050F4C @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - mov r8, r2 - cmp r0, #0x10 - beq _08050F7A - cmp r0, #0x10 - bgt _08050F56 - cmp r0, #2 - beq _08050F8C - cmp r0, #2 - bgt _08050F50 - cmp r0, #1 - beq _08050F82 - b _08050F8E - .align 2, 0 -_08050F40: .4byte gUnk_02019EE0 -_08050F44: .4byte 0x000004B4 -_08050F48: .4byte gUnk_02000080 -_08050F4C: .4byte gUnk_03000FF0 -_08050F50: - cmp r0, #8 - beq _08050F82 - b _08050F8E -_08050F56: - cmp r0, #0x40 - beq _08050F6A - cmp r0, #0x40 - bgt _08050F64 - cmp r0, #0x20 - beq _08050F72 - b _08050F8E -_08050F64: - cmp r0, #0x80 - beq _08050F6E - b _08050F8E -_08050F6A: - movs r3, #0 - b _08050F8E -_08050F6E: - movs r3, #1 - b _08050F8E -_08050F72: - cmp r2, #0 - beq _08050F8E - subs r2, #1 - b _08050F8E -_08050F7A: - cmp r2, #1 - bhi _08050F8E - adds r2, #1 - b _08050F8E -_08050F82: - ldrh r0, [r6, #4] - movs r5, #2 - ldrh r7, [r1, #2] - cmp r0, r7 - bne _08050F8E -_08050F8C: - movs r5, #3 -_08050F8E: - cmp r5, #0 - beq _08050FD0 - cmp r5, #2 - beq _08050F9C - cmp r5, #3 - beq _08050FAC - b _08050FBA -_08050F9C: - movs r0, #8 - movs r1, #0 - bl sub_08050318 - movs r0, #0x6a - bl sub_080A3268 - b _08050FBA -_08050FAC: - ldrb r0, [r6, #4] - strb r0, [r1, #2] - ldrb r0, [r6, #5] - strb r0, [r1, #3] - movs r0, #0x6c - bl sub_080A3268 -_08050FBA: - adds r0, r5, #0 - bl sub_080A7114 - ldr r0, _08050FCC @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_0805041C - b _08050FF4 - .align 2, 0 -_08050FCC: .4byte gUnk_02019EE0 -_08050FD0: - mov r1, ip - ldrb r0, [r1, #1] - cmp r0, r3 - beq _08050FE2 - strb r3, [r1, #1] - movs r0, #0x69 - bl sub_080A3268 - b _08050FF4 -_08050FE2: - cmp r2, r8 - beq _08050FF4 - strb r2, [r4] - ldrb r0, [r6, #6] - bl sub_080503E4 - movs r0, #0x69 - bl sub_080A3268 -_08050FF4: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08050FFC -sub_08050FFC: @ 0x08050FFC - push {lr} - movs r0, #0 - bl sub_0807CDA4 - adds r1, r0, #0 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _08051014 - cmp r1, #1 - beq _0805102A - b _08051030 -_08051014: - ldr r1, _08051034 @ =gUnk_02000080 - movs r0, #0x1e - strh r0, [r1, #8] - ldr r0, _08051038 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_0805194C - movs r0, #9 - movs r1, #0 - bl sub_08050318 -_0805102A: - movs r0, #3 - bl sub_080A7114 -_08051030: - pop {pc} - .align 2, 0 -_08051034: .4byte gUnk_02000080 -_08051038: .4byte gUnk_02019EE0 - - thumb_func_start sub_0805103C -sub_0805103C: @ 0x0805103C - push {lr} - ldr r0, _08051050 @ =gUnk_02000080 - ldrb r1, [r0, #8] - adds r2, r0, #0 - cmp r1, #0 - beq _08051054 - cmp r1, #0xff - beq _0805106C - b _08051060 - .align 2, 0 -_08051050: .4byte gUnk_02000080 -_08051054: - ldr r0, _08051068 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #9 - ands r0, r1 - cmp r0, #0 - beq _08051072 -_08051060: - ldrh r0, [r2, #8] - subs r0, #1 - strh r0, [r2, #8] - b _08051072 - .align 2, 0 -_08051068: .4byte gUnk_03000FF0 -_0805106C: - movs r0, #0 - bl sub_080503BC -_08051072: - pop {pc} - - thumb_func_start sub_08051074 -sub_08051074: @ 0x08051074 - push {lr} - ldr r1, _08051088 @ =gUnk_080FC960 - ldr r0, _0805108C @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08051088: .4byte gUnk_080FC960 -_0805108C: .4byte gUnk_02000080 - - thumb_func_start sub_08051090 -sub_08051090: @ 0x08051090 - push {lr} - movs r0, #8 - bl sub_080503A8 - bl sub_08050790 - bl sub_0805070C - bl sub_08051458 - ldr r1, _080510B4 @ =gUnk_03000F50 - movs r0, #0xff - strh r0, [r1, #0x18] - strh r0, [r1, #0x24] - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_080510B4: .4byte gUnk_03000F50 - - thumb_func_start sub_080510B8 -sub_080510B8: @ 0x080510B8 - push {r4, r5, r6, r7, lr} - ldr r0, _080510E4 @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - beq _080510C4 - b _0805134C -_080510C4: - movs r7, #0 - ldr r0, _080510E8 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - adds r2, r0, #0 - cmp r1, #8 - bne _080510D2 - b _080511C8 -_080510D2: - cmp r1, #8 - bgt _080510EC - cmp r1, #1 - bne _080510DC - b _080511F2 -_080510DC: - cmp r1, #2 - beq _080511B8 - b _08051100 - .align 2, 0 -_080510E4: .4byte gUnk_02019EE0 -_080510E8: .4byte gUnk_03000FF0 -_080510EC: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - bne _080510F6 - b _0805122C -_080510F6: - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - bne _08051100 - b _0805121C -_08051100: - movs r6, #0 - movs r5, #0 - ldrh r0, [r2, #4] - cmp r0, #0x20 - beq _08051128 - cmp r0, #0x20 - bgt _08051114 - cmp r0, #0x10 - beq _0805112E - b _08051130 -_08051114: - cmp r0, #0x40 - beq _0805111E - cmp r0, #0x80 - beq _08051124 - b _08051130 -_0805111E: - movs r5, #1 - rsbs r5, r5, #0 - b _08051130 -_08051124: - movs r5, #1 - b _08051130 -_08051128: - movs r6, #1 - rsbs r6, r6, #0 - b _08051130 -_0805112E: - movs r6, #1 -_08051130: - ldr r4, _0805117C @ =gUnk_02000080 - ldrb r0, [r4, #0x11] - adds r0, r0, r5 - adds r0, #6 - movs r1, #6 - bl __modsi3 - strb r0, [r4, #0x11] - orrs r5, r6 - cmp r5, #0 - beq _0805114C - movs r0, #0x67 - bl sub_080A3268 -_0805114C: - cmp r6, #0 - beq _0805123A - ldrb r0, [r4, #0x11] - cmp r0, #5 - beq _08051184 - ldrb r0, [r4, #0x10] - adds r0, r0, r6 - adds r0, #0xd - movs r1, #0xd - bl __modsi3 - strb r0, [r4, #0x10] - ldr r1, _08051180 @ =gUnk_080FC980 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _08051172 - adds r1, #0x10 -_08051172: - ldrb r0, [r4, #0x10] - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r4, #0x12] - b _0805123A - .align 2, 0 -_0805117C: .4byte gUnk_02000080 -_08051180: .4byte gUnk_080FC980 -_08051184: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - adds r5, r0, #0 - movs r1, #4 - cmp r5, #0 - bne _08051194 - movs r1, #5 -_08051194: - ldrb r0, [r4, #0x12] - adds r0, r0, r6 - adds r0, r0, r1 - bl __modsi3 - strb r0, [r4, #0x12] - ldr r1, _080511B4 @ =gUnk_080FC9A0 - cmp r5, #0 - beq _080511A8 - adds r1, #8 -_080511A8: - ldrb r0, [r4, #0x12] - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r4, #0x10] - b _0805123A - .align 2, 0 -_080511B4: .4byte gUnk_080FC9A0 -_080511B8: - ldr r0, _080511C4 @ =gUnk_02000080 - ldrb r0, [r0, #0x13] - cmp r0, #0 - beq _080511EC - movs r7, #5 - b _0805123A - .align 2, 0 -_080511C4: .4byte gUnk_02000080 -_080511C8: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #3 - cmp r0, #0 - bne _080511D6 - movs r1, #4 -_080511D6: - ldr r2, _080511E8 @ =gUnk_02000080 - ldrb r0, [r2, #0x11] - cmp r0, #5 - bne _080511EC - ldrb r2, [r2, #0x12] - cmp r1, r2 - bne _080511EC - movs r7, #8 - b _0805123A - .align 2, 0 -_080511E8: .4byte gUnk_02000080 -_080511EC: - bl sub_08051358 - b _0805123A -_080511F2: - ldr r1, _08051210 @ =gUnk_02000080 - ldrb r0, [r1, #0x11] - cmp r0, #5 - bne _08051218 - ldr r2, _08051214 @ =gUnk_080FC970 - ldrb r1, [r1, #0x12] - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _0805120A - adds r1, #8 -_0805120A: - adds r0, r1, r2 - ldrb r7, [r0] - b _0805123A - .align 2, 0 -_08051210: .4byte gUnk_02000080 -_08051214: .4byte gUnk_080FC970 -_08051218: - movs r7, #6 - b _0805123A -_0805121C: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r7, #1 - cmp r0, #0 - bne _0805123A - movs r7, #4 - b _0805123A -_0805122C: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r7, #2 - cmp r0, #0 - bne _0805123A - movs r7, #7 -_0805123A: - ldr r0, _08051250 @ =gUnk_02000080 - ldrb r4, [r0, #1] - subs r0, r7, #1 - cmp r0, #7 - bhi _08051322 - lsls r0, r0, #2 - ldr r1, _08051254 @ =_08051258 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08051250: .4byte gUnk_02000080 -_08051254: .4byte _08051258 -_08051258: @ jump table - .4byte _08051278 @ case 0 - .4byte _0805127C @ case 1 - .4byte _08051280 @ case 2 - .4byte _08051284 @ case 3 - .4byte _08051288 @ case 4 - .4byte _080512C0 @ case 5 - .4byte _080512B8 @ case 6 - .4byte _080512EC @ case 7 -_08051278: - movs r4, #0 - b _08051322 -_0805127C: - movs r4, #1 - b _08051322 -_08051280: - movs r4, #2 - b _08051322 -_08051284: - adds r4, #1 - b _08051322 -_08051288: - ldr r3, _080512B0 @ =gUnk_02000080 - ldrb r0, [r3, #0x13] - cmp r0, #0 - beq _08051322 - subs r0, #1 - movs r2, #0 - strb r0, [r3, #0x13] - ldr r1, _080512B4 @ =gUnk_02002A40 - ldrb r0, [r3, #0x13] - adds r1, #0x80 - adds r0, r0, r1 - strb r2, [r0] - ldrb r0, [r3, #0x13] - adds r0, #1 - adds r0, r0, r1 - strb r2, [r0] - movs r0, #0x6c - bl sub_08051574 - b _08051322 - .align 2, 0 -_080512B0: .4byte gUnk_02000080 -_080512B4: .4byte gUnk_02002A40 -_080512B8: - movs r0, #0 - bl sub_08051480 - b _08051322 -_080512C0: - ldr r2, _080512E4 @ =gUnk_02001A40 - ldr r0, _080512E8 @ =gUnk_02000080 - ldrb r1, [r0, #0x10] - lsls r1, r1, #1 - ldrb r0, [r0, #0x11] - lsls r0, r0, #6 - adds r0, #0xc3 - adds r1, r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r1] - lsrs r0, r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - bl sub_08051480 - b _08051322 - .align 2, 0 -_080512E4: .4byte gUnk_02001A40 -_080512E8: .4byte gUnk_02000080 -_080512EC: - movs r3, #5 - ldr r0, _08051350 @ =gUnk_02002A40 - adds r6, r0, #0 - adds r6, #0x80 - movs r5, #0 -_080512F6: - adds r2, r3, r6 - ldrb r1, [r2] - cmp r1, #0 - beq _08051302 - cmp r1, #0x20 - bne _0805130A -_08051302: - strb r5, [r2] - subs r3, #1 - cmp r3, #0 - bge _080512F6 -_0805130A: - adds r0, #0x80 - ldrb r0, [r0] - movs r7, #3 - cmp r0, #0 - beq _08051316 - movs r7, #2 -_08051316: - movs r0, #0x6a - bl sub_08051574 - adds r0, r7, #0 - bl sub_080A7114 -_08051322: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #2 - cmp r0, #0 - bne _08051330 - movs r1, #3 -_08051330: - adds r0, r4, r1 - bl __modsi3 - adds r4, r0, #0 - ldr r1, _08051354 @ =gUnk_02000080 - ldrb r0, [r1, #1] - cmp r0, r4 - beq _0805134C - strb r4, [r1, #1] - bl sub_08051458 - movs r0, #0x68 - bl sub_080A3268 -_0805134C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08051350: .4byte gUnk_02002A40 -_08051354: .4byte gUnk_02000080 - - thumb_func_start sub_08051358 -sub_08051358: @ 0x08051358 - push {lr} - ldr r2, _08051384 @ =gUnk_02000080 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #3 - cmp r0, #0 - bne _0805136A - movs r1, #4 -_0805136A: - strb r1, [r2, #0x12] - ldrh r1, [r2, #0x10] - ldr r0, _08051388 @ =0x0000050B - cmp r1, r0 - beq _08051382 - movs r0, #5 - strb r0, [r2, #0x11] - movs r0, #0xb - strb r0, [r2, #0x10] - movs r0, #0x67 - bl sub_080A3268 -_08051382: - pop {pc} - .align 2, 0 -_08051384: .4byte gUnk_02000080 -_08051388: .4byte 0x0000050B - - thumb_func_start sub_0805138C -sub_0805138C: @ 0x0805138C - push {lr} - ldr r1, _080513A0 @ =gUnk_080FC9B0 - ldr r0, _080513A4 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080513A0: .4byte gUnk_080FC9B0 -_080513A4: .4byte gUnk_02000080 - - thumb_func_start sub_080513A8 -sub_080513A8: @ 0x080513A8 - push {lr} - movs r0, #5 - movs r1, #0 - bl sub_08050318 - ldr r1, _080513BC @ =gUnk_02000080 - movs r0, #1 - strb r0, [r1, #6] - pop {pc} - .align 2, 0 -_080513BC: .4byte gUnk_02000080 - - thumb_func_start sub_080513C0 -sub_080513C0: @ 0x080513C0 - push {lr} - movs r0, #0 - bl sub_0807CDA4 - adds r2, r0, #0 - cmp r2, #0 - beq _08051412 - cmp r2, #0 - bgt _080513DC - movs r0, #1 - rsbs r0, r0, #0 - cmp r2, r0 - beq _080513F8 - b _08051412 -_080513DC: - cmp r2, #1 - bne _08051412 - ldr r1, _080513F4 @ =gUnk_02019EE0 - adds r0, r1, #0 - adds r0, #8 - ldrb r1, [r1, #6] - adds r0, r0, r1 - strb r2, [r0] - movs r0, #3 - bl sub_080A7114 - b _08051412 - .align 2, 0 -_080513F4: .4byte gUnk_02019EE0 -_080513F8: - ldr r0, _08051414 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_0805194C - movs r0, #6 - movs r1, #0 - bl sub_08050318 - ldr r1, _08051418 @ =gUnk_02000080 - movs r0, #0x1e - strh r0, [r1, #8] - movs r0, #2 - strb r0, [r1, #6] -_08051412: - pop {pc} - .align 2, 0 -_08051414: .4byte gUnk_02019EE0 -_08051418: .4byte gUnk_02000080 - - thumb_func_start sub_0805141C -sub_0805141C: @ 0x0805141C - push {lr} - ldr r1, _0805143C @ =gUnk_02000080 - ldrh r0, [r1, #8] - cmp r0, #0 - bne _08051444 - ldr r0, _08051440 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #9 - ands r0, r1 - cmp r0, #0 - beq _08051448 - movs r0, #3 - bl sub_080A7114 - b _08051448 - .align 2, 0 -_0805143C: .4byte gUnk_02000080 -_08051440: .4byte gUnk_03000FF0 -_08051444: - subs r0, #1 - strh r0, [r1, #8] -_08051448: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805144C -sub_0805144C: @ 0x0805144C - push {lr} - movs r0, #0 - bl sub_080503BC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08051458 -sub_08051458: @ 0x08051458 - push {lr} - ldr r0, _08051474 @ =gUnk_02000080 - ldrb r0, [r0, #1] - adds r0, #9 - bl sub_080503A8 - ldr r0, _08051478 @ =gUnk_02001B40 - ldr r1, _0805147C @ =gUnk_02022030 - movs r2, #0x80 - lsls r2, r2, #3 - bl sub_0801D66C - pop {pc} - .align 2, 0 -_08051474: .4byte gUnk_02000080 -_08051478: .4byte gUnk_02001B40 -_0805147C: .4byte gUnk_02022030 - - thumb_func_start sub_08051480 -sub_08051480: @ 0x08051480 - push {r4, lr} - adds r4, r0, #0 - bl sub_080514BC - ldr r2, _080514B4 @ =gUnk_02000080 - ldrb r1, [r2, #0x13] - cmp r0, #0 - beq _080514B0 - cmp r0, #1 - beq _08051498 - adds r4, r0, #0 - subs r1, #1 -_08051498: - cmp r1, #5 - bls _0805149E - movs r1, #5 -_0805149E: - adds r0, r1, #1 - strb r0, [r2, #0x13] - ldr r0, _080514B8 @ =gUnk_02002A40 - adds r0, #0x80 - adds r0, r1, r0 - strb r4, [r0] - movs r0, #0x6b - bl sub_08051574 -_080514B0: - pop {r4, pc} - .align 2, 0 -_080514B4: .4byte gUnk_02000080 -_080514B8: .4byte gUnk_02002A40 - - thumb_func_start sub_080514BC -sub_080514BC: @ 0x080514BC - push {lr} - adds r2, r0, #0 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - bne _080514D6 - cmp r2, #0 - beq _080514DA - cmp r2, #0xf - bhi _080514D6 - cmp r2, #0xe - bhs _080514DA -_080514D6: - movs r0, #1 - b _08051572 -_080514DA: - ldr r0, _08051500 @ =gUnk_02000080 - ldrb r1, [r0, #0x13] - cmp r1, #0 - beq _08051570 - ldr r0, _08051504 @ =gUnk_02002A40 - adds r0, r0, r1 - adds r0, #0x7f - ldrb r1, [r0] - adds r0, r1, #0 - subs r0, #0xa4 - cmp r0, #0x28 - bhi _08051522 - cmp r2, #0xe - beq _0805153C - cmp r2, #0xe - bhi _08051508 - cmp r2, #0 - beq _0805150E - b _0805153C - .align 2, 0 -_08051500: .4byte gUnk_02000080 -_08051504: .4byte gUnk_02002A40 -_08051508: - cmp r2, #0xf - beq _08051518 - b _0805153C -_0805150E: - cmp r1, #0xc2 - bhi _0805151C - adds r0, r1, #0 - adds r0, #0x33 - b _08051572 -_08051518: - cmp r1, #0xc2 - bls _08051570 -_0805151C: - adds r0, r1, #0 - adds r0, #0xa - b _08051572 -_08051522: - adds r0, r1, #0 - subs r0, #0xcd - cmp r0, #9 - bhi _0805154C - cmp r2, #0xe - beq _08051546 - cmp r2, #0xe - bhi _08051538 - cmp r2, #0 - beq _08051540 - b _0805154C -_08051538: - cmp r2, #0xf - bne _0805154C -_0805153C: - adds r0, r1, #0 - b _08051572 -_08051540: - adds r0, r1, #0 - adds r0, #0x29 - b _08051572 -_08051546: - adds r0, r1, #0 - subs r0, #0xa - b _08051572 -_0805154C: - adds r0, r1, #0 - subs r0, #0xd7 - cmp r0, #0x28 - bhi _08051570 - cmp r2, #0xe - beq _08051560 - cmp r2, #0xe - bls _08051560 - cmp r2, #0xf - beq _08051566 -_08051560: - adds r0, r1, #0 - subs r0, #0x33 - b _08051572 -_08051566: - cmp r1, #0xf5 - bls _08051570 - adds r0, r1, #0 - subs r0, #0x29 - b _08051572 -_08051570: - movs r0, #0 -_08051572: - pop {pc} - - thumb_func_start sub_08051574 -sub_08051574: @ 0x08051574 - push {lr} - bl sub_080A3268 - ldr r0, _08051594 @ =gUnk_02002A40 - ldr r3, _08051598 @ =gUnk_02019EE0 - ldrb r1, [r3, #6] - ldr r2, _0805159C @ =0x000004B4 - muls r1, r2, r1 - adds r3, #0xc - adds r1, r1, r3 - bl sub_0801D66C - bl sub_0805070C - pop {pc} - .align 2, 0 -_08051594: .4byte gUnk_02002A40 -_08051598: .4byte gUnk_02019EE0 -_0805159C: .4byte 0x000004B4 - - thumb_func_start sub_080515A0 -sub_080515A0: @ 0x080515A0 - push {lr} - ldr r1, _080515BC @ =gUnk_080FC9BC - ldr r0, _080515C0 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _080515C4 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_08050A64 - pop {pc} - .align 2, 0 -_080515BC: .4byte gUnk_080FC9BC -_080515C0: .4byte gUnk_02000080 -_080515C4: .4byte gUnk_02019EE0 - - thumb_func_start sub_080515C8 -sub_080515C8: @ 0x080515C8 - push {lr} - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080515D4 -sub_080515D4: @ 0x080515D4 - push {r4, lr} - ldr r0, _080515FC @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - beq _080515E0 - b _080516D8 -_080515E0: - ldr r1, _08051600 @ =gUnk_02000080 - movs r0, #4 - strh r0, [r1, #8] - ldrb r4, [r1, #1] - ldr r0, _08051604 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - subs r0, #1 - cmp r0, #0x1f - bhi _080516C8 - lsls r0, r0, #2 - ldr r1, _08051608 @ =_0805160C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080515FC: .4byte gUnk_02019EE0 -_08051600: .4byte gUnk_02000080 -_08051604: .4byte gUnk_03000FF0 -_08051608: .4byte _0805160C -_0805160C: @ jump table - .4byte _08051694 @ case 0 - .4byte _0805168C @ case 1 - .4byte _080516C8 @ case 2 - .4byte _080516C8 @ case 3 - .4byte _080516C8 @ case 4 - .4byte _080516C8 @ case 5 - .4byte _080516C8 @ case 6 - .4byte _08051694 @ case 7 - .4byte _080516C8 @ case 8 - .4byte _080516C8 @ case 9 - .4byte _080516C8 @ case 10 - .4byte _080516C8 @ case 11 - .4byte _080516C8 @ case 12 - .4byte _080516C8 @ case 13 - .4byte _080516C8 @ case 14 - .4byte _080516C6 @ case 15 - .4byte _080516C8 @ case 16 - .4byte _080516C8 @ case 17 - .4byte _080516C8 @ case 18 - .4byte _080516C8 @ case 19 - .4byte _080516C8 @ case 20 - .4byte _080516C8 @ case 21 - .4byte _080516C8 @ case 22 - .4byte _080516C8 @ case 23 - .4byte _080516C8 @ case 24 - .4byte _080516C8 @ case 25 - .4byte _080516C8 @ case 26 - .4byte _080516C8 @ case 27 - .4byte _080516C8 @ case 28 - .4byte _080516C8 @ case 29 - .4byte _080516C8 @ case 30 - .4byte _080516C2 @ case 31 -_0805168C: - ldr r1, _080516B0 @ =gUnk_02000080 - movs r0, #0 - strb r0, [r1, #1] - movs r4, #0 -_08051694: - cmp r4, #1 - bne _080516B4 - movs r0, #4 - movs r1, #0 - bl sub_08050318 - movs r0, #2 - bl sub_080A7114 - movs r0, #0x6a - bl sub_080A3268 - b _080516C8 - .align 2, 0 -_080516B0: .4byte gUnk_02000080 -_080516B4: - movs r0, #0 - bl sub_080503BC - movs r0, #0x6c - bl sub_080A3268 - b _080516C8 -_080516C2: - movs r4, #0 - b _080516C8 -_080516C6: - movs r4, #1 -_080516C8: - ldr r1, _080516DC @ =gUnk_02000080 - ldrb r0, [r1, #1] - cmp r0, r4 - beq _080516D8 - strb r4, [r1, #1] - movs r0, #0x69 - bl sub_080A3268 -_080516D8: - pop {r4, pc} - .align 2, 0 -_080516DC: .4byte gUnk_02000080 - - thumb_func_start sub_080516E0 -sub_080516E0: @ 0x080516E0 - push {r4, lr} - movs r0, #1 - bl sub_0807CDA4 - cmp r0, #0 - beq _08051706 - ldr r4, _08051708 @ =gUnk_02019EE0 - ldrb r0, [r4, #6] - bl sub_0805194C - ldrb r0, [r4, #6] - bl sub_08050AFC - ldr r1, _0805170C @ =gUnk_02000080 - movs r0, #2 - strh r0, [r1, #8] - movs r0, #0 - bl sub_080503BC -_08051706: - pop {r4, pc} - .align 2, 0 -_08051708: .4byte gUnk_02019EE0 -_0805170C: .4byte gUnk_02000080 - - thumb_func_start sub_08051710 -sub_08051710: @ 0x08051710 - push {lr} - ldr r1, _0805172C @ =gUnk_080FC9C8 - ldr r0, _08051730 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08051734 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_08050A64 - pop {pc} - .align 2, 0 -_0805172C: .4byte gUnk_080FC9C8 -_08051730: .4byte gUnk_02000080 -_08051734: .4byte gUnk_02019EE0 - - thumb_func_start sub_08051738 -sub_08051738: @ 0x08051738 - push {r4, r5, r6, r7, lr} - ldr r1, _08051768 @ =gUnk_02019EE0 - movs r0, #4 - strb r0, [r1, #7] - movs r4, #0 - movs r3, #0 - adds r5, r1, #0 - adds r7, r5, #0 - adds r7, #8 - ldr r6, _0805176C @ =gUnk_02000090 -_0805174C: - adds r0, r3, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08051770 - ldrb r1, [r5, #6] - movs r2, #4 - eors r1, r3 - rsbs r0, r1, #0 - orrs r0, r1 - asrs r0, r0, #0x1f - ands r2, r0 - b _08051774 - .align 2, 0 -_08051768: .4byte gUnk_02019EE0 -_0805176C: .4byte gUnk_02000090 -_08051770: - adds r4, #1 - adds r2, r4, #0 -_08051774: - adds r0, r3, r6 - strb r2, [r0] - adds r3, #1 - cmp r3, #2 - bls _0805174C - cmp r4, #0 - bne _0805179C - ldr r1, _08051798 @ =gUnk_02000080 - movs r0, #0x3c - strh r0, [r1, #8] - movs r0, #1 - movs r1, #0 - bl sub_08050318 - movs r0, #3 - bl sub_080A7114 - b _080517A2 - .align 2, 0 -_08051798: .4byte gUnk_02000080 -_0805179C: - movs r0, #1 - bl sub_080A7114 -_080517A2: - adds r4, #1 - ldr r0, _080517B0 @ =gUnk_02000080 - strb r4, [r0, #0x16] - movs r1, #4 - strb r1, [r0, #0x13] - strb r4, [r0, #0x14] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080517B0: .4byte gUnk_02000080 - - thumb_func_start sub_080517B4 -sub_080517B4: @ 0x080517B4 - push {r4, lr} - adds r2, r0, #0 - ldr r0, _080517E4 @ =gUnk_02019EE0 - ldrb r1, [r0, #7] - adds r4, r0, #0 - cmp r2, #0 - beq _080517DE - adds r1, r1, r2 - cmp r1, #4 - bhi _080517DC - ldr r3, _080517E8 @ =gUnk_02000090 -_080517CA: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, #0 - beq _080517D6 - cmp r0, #4 - bne _080517DE -_080517D6: - adds r1, r1, r2 - cmp r1, #4 - bls _080517CA -_080517DC: - ldrb r1, [r4, #7] -_080517DE: - adds r0, r1, #0 - pop {r4, pc} - .align 2, 0 -_080517E4: .4byte gUnk_02019EE0 -_080517E8: .4byte gUnk_02000090 - - thumb_func_start sub_080517EC -sub_080517EC: @ 0x080517EC - push {r4, lr} - ldr r0, _08051810 @ =gUnk_02019EE0 - ldrb r1, [r0] - adds r2, r0, #0 - cmp r1, #0 - bne _0805186E - movs r4, #0 - ldr r0, _08051814 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #8 - beq _0805182C - cmp r0, #8 - bgt _08051818 - cmp r0, #1 - beq _0805182C - cmp r0, #2 - beq _08051848 - b _08051858 - .align 2, 0 -_08051810: .4byte gUnk_02019EE0 -_08051814: .4byte gUnk_03000FF0 -_08051818: - cmp r0, #0x40 - beq _08051822 - cmp r0, #0x80 - beq _08051828 - b _08051858 -_08051822: - movs r4, #1 - rsbs r4, r4, #0 - b _08051858 -_08051828: - movs r4, #1 - b _08051858 -_0805182C: - ldrb r0, [r2, #7] - cmp r0, #2 - bhi _08051848 - movs r0, #2 - movs r1, #0 - bl sub_08050318 - movs r0, #2 - bl sub_080A7114 - movs r0, #0x6a - bl sub_080A3268 - b _08051858 -_08051848: - movs r0, #4 - strb r0, [r2, #7] - movs r0, #0x6c - bl sub_080A3268 - movs r0, #0 - bl sub_080503BC -_08051858: - adds r0, r4, #0 - bl sub_080517B4 - ldr r1, _08051870 @ =gUnk_02019EE0 - ldrb r2, [r1, #7] - cmp r0, r2 - beq _0805186E - strb r0, [r1, #7] - movs r0, #0x69 - bl sub_080A3268 -_0805186E: - pop {r4, pc} - .align 2, 0 -_08051870: .4byte gUnk_02019EE0 - - thumb_func_start sub_08051874 -sub_08051874: @ 0x08051874 - push {r4, lr} - movs r1, #0x80 - lsls r1, r1, #0x12 - ldr r4, _080518B8 @ =gUnk_02019EE0 - ldrb r0, [r4, #7] - strb r0, [r1, #4] - movs r0, #0 - bl sub_0807CDA4 - adds r1, r0, #0 - adds r0, r4, #0 - adds r0, #8 - ldrb r2, [r4, #7] - adds r0, r0, r2 - strb r1, [r0] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _080518C4 - cmp r1, #1 - bne _080518DE - ldr r0, _080518BC @ =gUnk_02002A40 - ldrb r1, [r4, #7] - ldr r2, _080518C0 @ =0x000004B4 - muls r1, r2, r1 - adds r3, r4, #0 - adds r3, #0xc - adds r1, r1, r3 - bl sub_0801D66C - movs r0, #0 - bl sub_080503BC - b _080518DE - .align 2, 0 -_080518B8: .4byte gUnk_02019EE0 -_080518BC: .4byte gUnk_02002A40 -_080518C0: .4byte 0x000004B4 -_080518C4: - ldrb r0, [r4, #7] - bl sub_0805194C - movs r0, #3 - movs r1, #0 - bl sub_08050318 - ldr r1, _080518E0 @ =gUnk_02000080 - movs r0, #0x1e - strh r0, [r1, #8] - movs r0, #3 - bl sub_080A7114 -_080518DE: - pop {r4, pc} - .align 2, 0 -_080518E0: .4byte gUnk_02000080 - - thumb_func_start sub_080518E4 -sub_080518E4: @ 0x080518E4 - push {lr} - ldr r1, _08051904 @ =gUnk_02000080 - ldrh r0, [r1, #8] - cmp r0, #0 - bne _0805190C - ldr r0, _08051908 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #9 - ands r0, r1 - cmp r0, #0 - beq _08051910 - movs r0, #0 - bl sub_080503BC - b _08051910 - .align 2, 0 -_08051904: .4byte gUnk_02000080 -_08051908: .4byte gUnk_03000FF0 -_0805190C: - subs r0, #1 - strh r0, [r1, #8] -_08051910: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08051914 -sub_08051914: @ 0x08051914 - push {lr} - ldr r1, _08051940 @ =gUnk_02000080 - ldrb r0, [r1, #5] - cmp r0, #0 - bne _0805193E - movs r0, #1 - strb r0, [r1, #5] - movs r2, #0x80 - lsls r2, r2, #0x12 - ldr r1, _08051944 @ =gUnk_02002A40 - ldrb r0, [r1, #2] - strb r0, [r2, #5] - ldrb r0, [r1, #3] - strb r0, [r2, #6] - ldr r1, _08051948 @ =gUnk_03001000 - movs r0, #2 - strb r0, [r1, #3] - movs r0, #5 - movs r1, #8 - bl sub_08050054 -_0805193E: - pop {pc} - .align 2, 0 -_08051940: .4byte gUnk_02000080 -_08051944: .4byte gUnk_02002A40 -_08051948: .4byte gUnk_03001000 - - thumb_func_start sub_0805194C -sub_0805194C: @ 0x0805194C - push {r4, lr} - ldr r3, _08051980 @ =gUnk_02019EE0 - adds r1, r3, #0 - adds r1, #8 - adds r1, r0, r1 - movs r2, #0 - strb r2, [r1] - ldr r1, _08051984 @ =0x000004B4 - adds r4, r0, #0 - muls r4, r1, r4 - adds r3, #0xc - adds r4, r4, r3 - adds r0, r4, #0 - bl sub_0801D630 - movs r0, #1 - strb r0, [r4, #2] - strb r0, [r4, #3] - adds r1, r4, #0 - adds r1, #0xaa - movs r0, #0x18 - strb r0, [r1] - adds r4, #0xab - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08051980: .4byte gUnk_02019EE0 -_08051984: .4byte 0x000004B4 - - thumb_func_start sub_08051988 -sub_08051988: @ 0x08051988 - push {lr} - ldr r1, _080519A4 @ =gUnk_030010A0 - ldr r0, [r1] - adds r0, #1 - str r0, [r1] - ldr r1, _080519A8 @ =gUnk_080FC9D8 - ldr r0, _080519AC @ =gUnk_03001000 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080519A4: .4byte gUnk_030010A0 -_080519A8: .4byte gUnk_080FC9D8 -_080519AC: .4byte gUnk_03001000 - - thumb_func_start sub_080519B0 -sub_080519B0: @ 0x080519B0 - push {r4, r5, lr} - ldr r0, _08051A04 @ =gUnk_03000FD0 - ldrb r5, [r0] - cmp r5, #0 - bne _08051A02 - movs r0, #1 - bl sub_0801DA90 - bl sub_080A3210 - bl sub_0801DA7C - bl sub_080A7124 - bl sub_0807059C - ldr r4, _08051A08 @ =gUnk_030010A0 - adds r0, r4, #0 - movs r1, #0xb0 - bl sub_0801D630 - bl sub_08049CD4 - bl sub_080300AC - bl sub_0807CA18 - ldr r0, _08051A0C @ =gUnk_02002AC8 - adds r1, r4, #0 - adds r1, #0xc - movs r2, #0x20 - bl sub_0801D66C - movs r0, #4 - strb r0, [r4, #9] - bl sub_08053518 - ldr r1, _08051A10 @ =gUnk_03001000 - movs r0, #1 - strb r0, [r1, #3] - strb r5, [r1, #4] -_08051A02: - pop {r4, r5, pc} - .align 2, 0 -_08051A04: .4byte gUnk_03000FD0 -_08051A08: .4byte gUnk_030010A0 -_08051A0C: .4byte gUnk_02002AC8 -_08051A10: .4byte gUnk_03001000 - - thumb_func_start sub_08051A14 -sub_08051A14: @ 0x08051A14 - push {lr} - movs r0, #1 - bl sub_0801DA90 - ldr r1, _08051A70 @ =gUnk_03000FD0 - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1, #4] - ldr r0, _08051A74 @ =gUnk_03000000 - ldr r1, _08051A78 @ =0x00000B74 - bl sub_0801D630 - ldr r0, _08051A7C @ =gUnk_02032EC0 - movs r1, #0xed - lsls r1, r1, #2 - bl sub_0801D630 - bl sub_0805E60C - bl sub_080197AC - bl sub_08080668 - bl sub_080ADD30 - movs r0, #1 - bl sub_0801CFA8 - bl sub_0806FD8C - ldr r2, _08051A80 @ =gUnk_03000BF0 - ldr r1, _08051A84 @ =gUnk_030010A0 - ldrb r0, [r1, #0xc] - strb r0, [r2, #4] - ldrb r0, [r1, #0xd] - strb r0, [r2, #5] - bl sub_08053320 - ldr r1, _08051A88 @ =gUnk_02024490 - movs r0, #1 - strb r0, [r1] - ldr r1, _08051A8C @ =gUnk_03001000 - movs r0, #2 - strb r0, [r1, #3] - pop {pc} - .align 2, 0 -_08051A70: .4byte gUnk_03000FD0 -_08051A74: .4byte gUnk_03000000 -_08051A78: .4byte 0x00000B74 -_08051A7C: .4byte gUnk_02032EC0 -_08051A80: .4byte gUnk_03000BF0 -_08051A84: .4byte gUnk_030010A0 -_08051A88: .4byte gUnk_02024490 -_08051A8C: .4byte gUnk_03001000 - - thumb_func_start sub_08051A90 -sub_08051A90: @ 0x08051A90 - push {lr} - ldr r1, _08051AA4 @ =gUnk_080FC9E8 - ldr r0, _08051AA8 @ =gUnk_03001000 - ldrb r0, [r0, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08051AA4: .4byte gUnk_080FC9E8 -_08051AA8: .4byte gUnk_03001000 - - thumb_func_start sub_08051AAC -sub_08051AAC: @ 0x08051AAC - push {lr} - bl sub_0805E5A8 - ldr r1, _08051AE4 @ =gUnk_03000F50 - movs r2, #0 - movs r0, #0xba - lsls r0, r0, #5 - strh r0, [r1] - ldr r1, _08051AE8 @ =gUnk_03001000 - movs r0, #1 - strb r0, [r1, #4] - ldr r0, _08051AEC @ =gUnk_030010A0 - strb r2, [r0, #8] - strb r2, [r0, #4] - strb r2, [r0, #5] - bl sub_08056418 - bl sub_08052CFC - movs r0, #0 - bl sub_0801C370 - bl sub_08051D40 - bl sub_0801855C - pop {pc} - .align 2, 0 -_08051AE4: .4byte gUnk_03000F50 -_08051AE8: .4byte gUnk_03001000 -_08051AEC: .4byte gUnk_030010A0 - - thumb_func_start sub_08051AF0 -sub_08051AF0: @ 0x08051AF0 - push {r4, r5, lr} - bl sub_0805E5C0 - bl sub_0805BBBC - cmp r0, #0 - bne _08051B02 - bl sub_0807FC40 -_08051B02: - bl sub_0801B060 - bl sub_08000108 - bl sub_0801C344 - bl sub_0805E5F8 - bl sub_080AD90C - bl sub_0801C208 - bl sub_08078CB4 - bl sub_080AD9B0 - bl sub_080AD918 - ldr r0, _08051BB0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08051BAE - ldr r0, _08051BB4 @ =gUnk_03000BF0 - ldrh r0, [r0] - cmp r0, #0 - bne _08051BAE - bl sub_08052F1C - ldr r5, _08051BB8 @ =gUnk_02033A90 - movs r0, #0x86 - lsls r0, r0, #4 - adds r3, r5, r0 - ldr r1, _08051BBC @ =0x00000864 - adds r0, r5, r1 - ldr r1, [r3] - ldr r2, [r0] - cmp r1, r2 - beq _08051B5A - str r2, [r3] - ldr r0, _08051BC0 @ =0x800B0000 - orrs r2, r0 - adds r0, r2, #0 - bl sub_080A3268 -_08051B5A: - bl sub_0805E9F4 - bl sub_0805BC04 - adds r4, r0, #0 - cmp r4, #0 - bne _08051BAE - bl sub_08052C5C - bl sub_0805E5B4 - bl sub_08051E04 - bl sub_080300C4 - ldr r1, _08051BC4 @ =gUnk_03001000 - movs r0, #2 - strb r0, [r1, #4] - movs r0, #0 - bl sub_08078A90 - ldr r0, _08051BC8 @ =gUnk_02034490 - strb r4, [r0] - adds r0, r5, #0 - adds r0, #0x28 - ldrb r0, [r0] - cmp r0, #0xff - beq _08051B96 - bl sub_0801855C -_08051B96: - bl sub_08052BF8 - bl sub_08053178 - ldr r0, _08051BCC @ =gUnk_02034350 - ldrb r0, [r0] - cmp r0, #0 - bne _08051BAE - movs r0, #0 - movs r1, #1 - bl sub_0805E4E0 -_08051BAE: - pop {r4, r5, pc} - .align 2, 0 -_08051BB0: .4byte gUnk_03000FD0 -_08051BB4: .4byte gUnk_03000BF0 -_08051BB8: .4byte gUnk_02033A90 -_08051BBC: .4byte 0x00000864 -_08051BC0: .4byte 0x800B0000 -_08051BC4: .4byte gUnk_03001000 -_08051BC8: .4byte gUnk_02034490 -_08051BCC: .4byte gUnk_02034350 - - thumb_func_start sub_08051BD0 -sub_08051BD0: @ 0x08051BD0 - push {lr} - bl sub_080705AC - cmp r0, #0 - bne _08051C9C - bl sub_0804AA84 - cmp r0, #0 - bne _08051C9C - bl sub_0805340C - ldr r0, _08051C5C @ =gUnk_03001000 - ldrb r0, [r0, #4] - cmp r0, #2 - bne _08051C9C - ldr r0, _08051C60 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08051C02 - ldr r0, _08051C64 @ =gUnk_03003DC0 - ldrh r0, [r0, #8] - cmp r0, #0 - beq _08051C06 -_08051C02: - bl sub_08078B48 -_08051C06: - bl sub_080AD90C - bl sub_0805E5C0 - bl sub_08080A40 - bl sub_080175F4 - bl sub_0807FC40 - bl sub_0801B060 - bl sub_08000108 - bl sub_08052C3C - bl sub_0801C344 - bl sub_0805E5F8 - bl sub_0801C208 - bl sub_08078CB4 - bl sub_080AD9B0 - bl sub_0805291C - bl sub_08052C5C - bl sub_080528B4 - bl sub_080185F8 - bl sub_080AD918 - ldr r0, _08051C68 @ =gUnk_03000BF0 - ldrh r2, [r0] - cmp r2, #1 - beq _08051C6C - cmp r2, #2 - beq _08051C88 - b _08051C9C - .align 2, 0 -_08051C5C: .4byte gUnk_03001000 -_08051C60: .4byte gUnk_02000050 -_08051C64: .4byte gUnk_03003DC0 -_08051C68: .4byte gUnk_03000BF0 -_08051C6C: - ldr r0, _08051C80 @ =gUnk_03003F80 - movs r1, #0x17 - strb r1, [r0, #0xc] - ldr r0, _08051C84 @ =gUnk_03001000 - strb r2, [r0, #4] - bl sub_0805E59C - bl sub_08051D98 - b _08051C9C - .align 2, 0 -_08051C80: .4byte gUnk_03003F80 -_08051C84: .4byte gUnk_03001000 -_08051C88: - ldr r1, _08051CA0 @ =gUnk_03003F80 - movs r0, #0x17 - strb r0, [r1, #0xc] - ldr r1, _08051CA4 @ =gUnk_03001000 - movs r0, #1 - strb r0, [r1, #4] - bl sub_0805E59C - bl sub_08051DCC -_08051C9C: - pop {pc} - .align 2, 0 -_08051CA0: .4byte gUnk_03003F80 -_08051CA4: .4byte gUnk_03001000 - - thumb_func_start sub_08051CA8 -sub_08051CA8: @ 0x08051CA8 - push {lr} - bl sub_080705AC - cmp r0, #0 - bne _08051CEA - bl sub_0805E5C0 - bl sub_080175F4 - bl sub_0801C344 - bl sub_0805E5F8 - bl sub_080AD90C - bl sub_0801C208 - bl sub_08078CB4 - bl sub_080AD9B0 - bl sub_0805291C - bl sub_080528B4 - bl sub_080AD918 - ldr r0, _08051CEC @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08051CEA - bl sub_0805E5B4 -_08051CEA: - pop {pc} - .align 2, 0 -_08051CEC: .4byte gUnk_03000FD0 - - thumb_func_start sub_08051CF0 -sub_08051CF0: @ 0x08051CF0 - push {r4, r5, r6, lr} - bl sub_080AD90C - bl sub_0801C208 - bl sub_080AD9B0 - ldr r5, _08051D20 @ =gUnk_03001000 - movs r6, #1 - strb r6, [r5, #0xb] - bl sub_080AD918 - ldr r0, _08051D24 @ =gUnk_03000FD0 - ldrb r4, [r0] - cmp r4, #0 - bne _08051D1E - movs r0, #1 - bl sub_0801DA90 - strb r6, [r5, #3] - strb r4, [r5, #4] - ldr r0, _08051D28 @ =gUnk_030010A0 - strb r6, [r0, #8] -_08051D1E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08051D20: .4byte gUnk_03001000 -_08051D24: .4byte gUnk_03000FD0 -_08051D28: .4byte gUnk_030010A0 - - thumb_func_start sub_08051D2C -sub_08051D2C: @ 0x08051D2C - push {lr} - movs r0, #7 - movs r1, #8 - bl sub_08050054 - movs r0, #3 - bl sub_08056010 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08051D40 -sub_08051D40: @ 0x08051D40 - push {lr} - bl sub_08052EA0 - bl sub_0804AF90 - bl sub_0804AFDC - bl sub_080524A8 - ldr r1, _08051D90 @ =gUnk_03004030 - movs r0, #0 - str r0, [r1] - bl sub_0807C740 - ldr r1, _08051D94 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - bl sub_0805283C - movs r0, #0 - movs r1, #0 - bl sub_0801D79C - bl sub_0804B01C - bl sub_080609AC - bl sub_0804AFF4 - bl sub_0805329C - bl sub_08000108 - movs r0, #1 - rsbs r0, r0, #0 - bl sub_0805BB74 - bl sub_080531F8 - pop {pc} - .align 2, 0 -_08051D90: .4byte gUnk_03004030 -_08051D94: .4byte gUnk_02000070 - - thumb_func_start sub_08051D98 -sub_08051D98: @ 0x08051D98 - push {lr} - bl sub_08052EA0 - ldr r1, _08051DC8 @ =gUnk_02034350 - movs r0, #1 - strb r0, [r1] - bl sub_0805E9A8 - bl sub_0804AF90 - bl sub_0804AFDC - bl sub_0807C0DC - bl sub_0805283C - bl sub_0804B01C - bl sub_0804AFF4 - movs r0, #1 - bl sub_08078A90 - pop {pc} - .align 2, 0 -_08051DC8: .4byte gUnk_02034350 - - thumb_func_start sub_08051DCC -sub_08051DCC: @ 0x08051DCC - push {r4, lr} - ldr r1, _08051DFC @ =gUnk_03000BF0 - ldr r4, _08051E00 @ =gUnk_030010A0 - ldrb r0, [r4, #0xc] - strb r0, [r1, #4] - ldrb r0, [r4, #0xd] - strb r0, [r1, #5] - bl sub_080528F0 - movs r0, #3 - strb r0, [r4, #9] - bl sub_08052CFC - bl sub_08052EA0 - bl sub_0805E9A8 - bl sub_0804AF90 - bl sub_0804AFDC - bl sub_0805283C - pop {r4, pc} - .align 2, 0 -_08051DFC: .4byte gUnk_03000BF0 -_08051E00: .4byte gUnk_030010A0 - - thumb_func_start sub_08051E04 -sub_08051E04: @ 0x08051E04 - push {lr} - bl sub_08052620 - cmp r0, #0 - beq _08051E60 - ldr r1, _08051E2C @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r0, [r1, r2] - cmp r0, #0 - bge _08051E1A - adds r0, #0xf -_08051E1A: - asrs r2, r0, #4 - movs r3, #0x32 - ldrsh r0, [r1, r3] - cmp r0, #0 - bge _08051E26 - adds r0, #0xf -_08051E26: - asrs r1, r0, #4 - ldr r3, _08051E30 @ =gUnk_08127F94 - b _08051E36 - .align 2, 0 -_08051E2C: .4byte gUnk_03001160 -_08051E30: .4byte gUnk_08127F94 -_08051E34: - adds r3, #8 -_08051E36: - ldrb r0, [r3] - cmp r0, #0xff - beq _08051E60 - cmp r0, r2 - bhi _08051E34 - ldrb r0, [r3, #2] - cmp r0, r2 - blo _08051E34 - ldrb r0, [r3, #1] - cmp r0, r1 - bhi _08051E34 - ldrb r0, [r3, #3] - cmp r0, r1 - blo _08051E34 - ldr r2, _08051E64 @ =gUnk_02002A40 - movs r1, #1 - ldrb r3, [r3, #4] - lsls r1, r3 - ldr r0, [r2, #0x40] - orrs r0, r1 - str r0, [r2, #0x40] -_08051E60: - pop {pc} - .align 2, 0 -_08051E64: .4byte gUnk_02002A40 - - thumb_func_start sub_08051E68 -sub_08051E68: @ 0x08051E68 - push {lr} - ldr r1, _08051E7C @ =gUnk_080FCA08 - ldr r0, _08051E80 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08051E7C: .4byte gUnk_080FCA08 -_08051E80: .4byte gUnk_02000080 - - thumb_func_start sub_08051E84 -sub_08051E84: @ 0x08051E84 - push {r4, r5, r6, lr} - ldr r0, _08051EF0 @ =gUnk_02032EC0 - ldrb r4, [r0, #3] - lsls r4, r4, #3 - ldr r0, _08051EF4 @ =gUnk_080FCA20 - adds r4, r4, r0 - ldr r5, _08051EF8 @ =gUnk_03000BF0 - ldrb r0, [r4] - strb r0, [r5, #4] - ldrb r0, [r4, #1] - strb r0, [r5, #5] - bl sub_08053320 - ldrb r0, [r5, #4] - bl sub_08052D58 - ldr r1, _08051EFC @ =gUnk_02033A90 - movs r6, #0 - strh r0, [r1, #4] - ldrb r0, [r4] - ldrb r1, [r4, #1] - bl sub_0804B0C0 - ldrb r0, [r4] - ldrb r1, [r4, #1] - bl sub_08052FD8 - ldrh r0, [r4, #4] - ldrh r1, [r5, #6] - adds r0, r0, r1 - strh r0, [r5, #0xa] - ldrh r0, [r4, #6] - ldrh r1, [r5, #8] - adds r0, r0, r1 - strh r0, [r5, #0xc] - ldr r1, _08051F00 @ =gUnk_02000080 - ldrb r0, [r4, #2] - strb r0, [r1] - ldrb r2, [r4, #3] - movs r0, #0xf - ands r0, r2 - strb r0, [r1, #3] - str r4, [r1, #0xc] - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] - strb r6, [r1, #6] - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1, #8] - bl sub_08051F04 - pop {r4, r5, r6, pc} - .align 2, 0 -_08051EF0: .4byte gUnk_02032EC0 -_08051EF4: .4byte gUnk_080FCA20 -_08051EF8: .4byte gUnk_03000BF0 -_08051EFC: .4byte gUnk_02033A90 -_08051F00: .4byte gUnk_02000080 - - thumb_func_start sub_08051F04 -sub_08051F04: @ 0x08051F04 - push {lr} - ldr r1, _08051F38 @ =gUnk_080FCA14 - ldr r0, _08051F3C @ =gUnk_02000080 - ldrb r0, [r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080AD90C - bl sub_0805E5C0 - bl sub_080AD9B0 - bl sub_080AD918 - bl sub_0807FC40 - bl sub_0801B060 - bl sub_0805E5F8 - bl sub_08000108 - pop {pc} - .align 2, 0 -_08051F38: .4byte gUnk_080FCA14 -_08051F3C: .4byte gUnk_02000080 - - thumb_func_start sub_08051F40 -sub_08051F40: @ 0x08051F40 - push {lr} - ldr r0, _08051F60 @ =gUnk_080FCA20 - ldr r2, _08051F64 @ =gUnk_02032EC0 - ldrb r1, [r2, #3] - lsls r1, r1, #3 - adds r1, r1, r0 - ldrb r1, [r1, #3] - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0 - beq _08051F68 - lsrs r1, r1, #4 - movs r0, #2 - bl sub_080A7138 - b _08051F76 - .align 2, 0 -_08051F60: .4byte gUnk_080FCA20 -_08051F64: .4byte gUnk_02032EC0 -_08051F68: - movs r0, #3 - strb r0, [r2] - movs r0, #0x10 - bl sub_080500F4 - bl sub_08056418 -_08051F76: - pop {pc} - - thumb_func_start sub_08051F78 -sub_08051F78: @ 0x08051F78 - push {lr} - ldr r0, _08051F94 @ =gUnk_02032EC0 - ldrb r3, [r0, #3] - lsls r3, r3, #3 - ldr r0, _08051F98 @ =gUnk_080FCA20 - adds r3, r3, r0 - ldrb r0, [r3] - ldrb r1, [r3, #1] - ldrh r2, [r3, #4] - ldrh r3, [r3, #6] - bl sub_08051F9C - pop {pc} - .align 2, 0 -_08051F94: .4byte gUnk_02032EC0 -_08051F98: .4byte gUnk_080FCA20 - - thumb_func_start sub_08051F9C -sub_08051F9C: @ 0x08051F9C - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - adds r6, r2, #0 - mov r8, r3 - ldr r5, _08051FE0 @ =gUnk_03000F50 - ldrh r2, [r5] - movs r4, #0xc0 - lsls r4, r4, #7 - ands r4, r2 - bl sub_08052FF4 - ldr r1, _08051FE4 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, r0, r6 - movs r6, #0 - strh r0, [r1, #0xa] - ldrh r0, [r1, #8] - add r0, r8 - strh r0, [r1, #0xc] - bl sub_0807C740 - ldr r1, _08051FE8 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r0, _08051FEC @ =gUnk_0200B644 - str r6, [r0] - ldrh r0, [r5] - orrs r4, r0 - strh r4, [r5] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_08051FE0: .4byte gUnk_03000F50 -_08051FE4: .4byte gUnk_03000BF0 -_08051FE8: .4byte gUnk_02000070 -_08051FEC: .4byte gUnk_0200B644 - - thumb_func_start sub_08051FF0 -sub_08051FF0: @ 0x08051FF0 - push {lr} - ldr r0, _08052000 @ =gUnk_02000080 - ldr r1, [r0, #0xc] - ldrb r0, [r1] - ldrb r1, [r1, #1] - bl sub_0804B0B0 - pop {pc} - .align 2, 0 -_08052000: .4byte gUnk_02000080 - - thumb_func_start sub_08052004 -sub_08052004: @ 0x08052004 - ldr r1, _0805200C @ =gUnk_02000080 - movs r0, #2 - strb r0, [r1, #5] - bx lr - .align 2, 0 -_0805200C: .4byte gUnk_02000080 - - thumb_func_start sub_08052010 -sub_08052010: @ 0x08052010 - push {r4, lr} - bl sub_080A3210 - bl sub_08056418 - movs r0, #1 - bl sub_0801DA90 - ldr r0, _0805207C @ =gUnk_02021F30 - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _08052080 @ =gUnk_020344B0 - adds r1, r4, #0 - bl sub_0801D630 - bl sub_080A4D34 - movs r0, #0xa - bl sub_0801D714 - movs r0, #0 - movs r1, #0 - bl sub_0801D79C - movs r0, #4 - bl sub_0801D7EC - movs r0, #0xc0 - lsls r0, r0, #0x13 - movs r1, #0x20 - bl sub_0801D630 - ldr r0, _08052084 @ =gUnk_02000080 - movs r1, #0x30 - bl sub_0801D630 - ldr r1, _08052088 @ =gUnk_03000F50 - ldrh r2, [r1] - movs r3, #0x80 - lsls r3, r3, #5 - adds r0, r3, #0 - orrs r0, r2 - strh r0, [r1] - ldr r0, _0805208C @ =0x00001C01 - strh r0, [r1, #0x14] - ldr r0, _08052090 @ =0x00001D05 - strh r0, [r1, #0x20] - movs r0, #1 - strh r0, [r1, #0x1a] - strh r0, [r1, #0x26] - pop {r4, pc} - .align 2, 0 -_0805207C: .4byte gUnk_02021F30 -_08052080: .4byte gUnk_020344B0 -_08052084: .4byte gUnk_02000080 -_08052088: .4byte gUnk_03000F50 -_0805208C: .4byte 0x00001C01 -_08052090: .4byte 0x00001D05 - - thumb_func_start sub_08052094 -sub_08052094: @ 0x08052094 - push {r4, lr} - ldr r1, _080520BC @ =gUnk_080FCA70 - ldr r4, _080520C0 @ =gUnk_03001000 - ldrb r0, [r4, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldrb r0, [r4, #3] - cmp r0, #0 - beq _080520B8 - bl sub_080AD90C - bl sub_080523D4 - bl sub_080AD918 -_080520B8: - pop {r4, pc} - .align 2, 0 -_080520BC: .4byte gUnk_080FCA70 -_080520C0: .4byte gUnk_03001000 - - thumb_func_start sub_080520C4 -sub_080520C4: @ 0x080520C4 - push {lr} - ldr r1, _080520D4 @ =gUnk_03001000 - strb r0, [r1, #3] - movs r0, #0 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_080520D4: .4byte gUnk_03001000 - - thumb_func_start sub_080520D8 -sub_080520D8: @ 0x080520D8 - push {r4, lr} - ldr r4, _08052118 @ =gUnk_03000FD0 - ldrb r0, [r4] - cmp r0, #0 - bne _08052114 - bl sub_08052010 - ldr r1, _0805211C @ =gUnk_02000080 - movs r0, #0x50 - strb r0, [r1, #0x10] - movs r2, #0x3c - movs r0, #0x3c - strh r0, [r1, #8] - ldr r0, _08052120 @ =gUnk_02002A40 - adds r0, #0xaa - movs r1, #0x18 - strb r1, [r0] - ldr r0, _08052124 @ =gUnk_03001000 - strb r2, [r0, #5] - movs r0, #0xa - bl sub_080A3268 - movs r0, #4 - bl sub_080500F4 - ldr r0, _08052128 @ =0xFFFF0001 - str r0, [r4, #4] - movs r0, #1 - bl sub_080520C4 -_08052114: - pop {r4, pc} - .align 2, 0 -_08052118: .4byte gUnk_03000FD0 -_0805211C: .4byte gUnk_02000080 -_08052120: .4byte gUnk_02002A40 -_08052124: .4byte gUnk_03001000 -_08052128: .4byte 0xFFFF0001 - - thumb_func_start sub_0805212C -sub_0805212C: @ 0x0805212C - push {r4, lr} - ldr r4, _0805214C @ =gUnk_03000FD0 - ldrb r0, [r4] - cmp r0, #0 - bne _0805219C - ldr r1, _08052150 @ =gUnk_03001000 - ldrb r0, [r1, #5] - cmp r0, #0 - bne _08052198 - ldr r1, _08052154 @ =gUnk_02000080 - ldrb r0, [r1, #0x10] - cmp r0, #0x25 - bls _08052158 - subs r0, #1 - strb r0, [r1, #0x10] - b _0805219C - .align 2, 0 -_0805214C: .4byte gUnk_03000FD0 -_08052150: .4byte gUnk_03001000 -_08052154: .4byte gUnk_02000080 -_08052158: - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805219C - movs r0, #2 - bl sub_080520C4 - movs r0, #0 - movs r1, #0 - bl sub_08052418 - ldr r2, _08052190 @ =gUnk_03000F50 - ldrh r0, [r2] - movs r3, #0xc0 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08052194 @ =0x0000FFFF - str r0, [r4, #4] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - b _0805219C - .align 2, 0 -_08052190: .4byte gUnk_03000F50 -_08052194: .4byte 0x0000FFFF -_08052198: - subs r0, #1 - strb r0, [r1, #5] -_0805219C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080521A0 -sub_080521A0: @ 0x080521A0 - push {r4, lr} - ldr r0, _080521C4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - beq _080521AC - b _080522E8 -_080521AC: - ldr r0, _080521C8 @ =gUnk_02000080 - ldrb r1, [r0, #5] - adds r2, r0, #0 - cmp r1, #4 - bls _080521B8 - b _080522D4 -_080521B8: - lsls r0, r1, #2 - ldr r1, _080521CC @ =_080521D0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080521C4: .4byte gUnk_03000FD0 -_080521C8: .4byte gUnk_02000080 -_080521CC: .4byte _080521D0 -_080521D0: @ jump table - .4byte _080521E4 @ case 0 - .4byte _08052208 @ case 1 - .4byte _08052278 @ case 2 - .4byte _080522B0 @ case 3 - .4byte _080522D4 @ case 4 -_080521E4: - movs r1, #0 - movs r0, #0x1e - strh r0, [r2, #8] - strb r1, [r2, #3] - movs r0, #1 - bl sub_080A7114 - movs r0, #0 - movs r1, #0 - bl sub_08052418 - ldr r1, _08052204 @ =gUnk_03000FD0 - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1, #4] - b _080522E8 - .align 2, 0 -_08052204: .4byte gUnk_03000FD0 -_08052208: - ldrh r0, [r2, #8] - cmp r0, #0 - bne _080522B6 - ldrb r4, [r2, #3] - ldr r0, _08052224 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #0x40 - beq _0805222E - cmp r0, #0x40 - bgt _08052228 - cmp r0, #1 - beq _08052236 - b _0805225A - .align 2, 0 -_08052224: .4byte gUnk_03000FF0 -_08052228: - cmp r0, #0x80 - beq _08052232 - b _0805225A -_0805222E: - movs r4, #0 - b _0805225A -_08052232: - movs r4, #1 - b _0805225A -_08052236: - cmp r4, #0 - beq _0805223E - movs r2, #4 - b _08052248 -_0805223E: - movs r0, #8 - movs r1, #0 - bl sub_08050318 - movs r2, #2 -_08052248: - ldr r1, _08052274 @ =gUnk_02000080 - movs r0, #0x3c - strh r0, [r1, #8] - adds r0, r2, #0 - bl sub_080A7114 - movs r0, #0x6a - bl sub_080A3268 -_0805225A: - ldr r1, _08052274 @ =gUnk_02000080 - ldrb r0, [r1, #3] - cmp r0, r4 - beq _080522E8 - strb r4, [r1, #3] - movs r0, #0 - adds r1, r4, #0 - bl sub_08052418 - movs r0, #0x69 - bl sub_080A3268 - b _080522E8 - .align 2, 0 -_08052274: .4byte gUnk_02000080 -_08052278: - movs r0, #0 - bl sub_0807CDA4 - adds r1, r0, #0 - ldr r2, _08052298 @ =gUnk_02000080 - strb r1, [r2] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _0805229C - cmp r1, #1 - bne _080522E8 - movs r0, #4 - bl sub_080A7114 - b _080522E8 - .align 2, 0 -_08052298: .4byte gUnk_02000080 -_0805229C: - movs r0, #0x3c - strh r0, [r2, #8] - movs r0, #9 - movs r1, #0 - bl sub_08050318 - movs r0, #3 - bl sub_080A7114 - b _080522E8 -_080522B0: - ldrh r0, [r2, #8] - cmp r0, #0 - beq _080522BC -_080522B6: - subs r0, #1 - strh r0, [r2, #8] - b _080522E8 -_080522BC: - ldr r0, _080522D0 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #0xb - ands r0, r1 - cmp r0, #0 - beq _080522E8 - movs r0, #0 - bl sub_080A7114 - b _080522E8 - .align 2, 0 -_080522D0: .4byte gUnk_03000FF0 -_080522D4: - ldr r2, _080522EC @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _080522F0 @ =0x0000FDFF - ands r0, r1 - strh r0, [r2] - bl sub_08050384 - movs r0, #3 - bl sub_080520C4 -_080522E8: - pop {r4, pc} - .align 2, 0 -_080522EC: .4byte gUnk_03000F50 -_080522F0: .4byte 0x0000FDFF - - thumb_func_start sub_080522F4 -sub_080522F4: @ 0x080522F4 - push {r4, lr} - ldr r0, _08052320 @ =gUnk_02000080 - ldrb r1, [r0, #5] - adds r3, r0, #0 - cmp r1, #1 - beq _08052324 - cmp r1, #1 - bgt _080523AC - cmp r1, #0 - bne _080523AC - movs r1, #0 - movs r0, #0x1e - strh r0, [r3, #8] - strb r1, [r3, #3] - movs r0, #1 - bl sub_080A7114 - movs r0, #1 - movs r1, #0 - bl sub_08052418 - b _080523CC - .align 2, 0 -_08052320: .4byte gUnk_02000080 -_08052324: - ldr r2, _08052340 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r4, #0x80 - lsls r4, r4, #2 - adds r0, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r3, #8] - cmp r0, #0 - beq _08052344 - subs r0, #1 - strh r0, [r3, #8] - b _080523CC - .align 2, 0 -_08052340: .4byte gUnk_03000F50 -_08052344: - ldrb r4, [r3, #3] - ldr r0, _08052358 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #0x40 - beq _08052362 - cmp r0, #0x40 - bgt _0805235C - cmp r0, #1 - beq _0805236A - b _0805238C - .align 2, 0 -_08052358: .4byte gUnk_03000FF0 -_0805235C: - cmp r0, #0x80 - beq _08052366 - b _0805238C -_08052362: - movs r4, #0 - b _0805238C -_08052366: - movs r4, #1 - b _0805238C -_0805236A: - movs r0, #2 - bl sub_080A7114 - movs r0, #0x6a - bl sub_080A3268 - cmp r4, #0 - bne _08052384 - movs r0, #5 - movs r1, #8 - bl sub_08050054 - b _0805238C -_08052384: - movs r0, #7 - movs r1, #8 - bl sub_08050054 -_0805238C: - ldr r1, _080523A8 @ =gUnk_02000080 - ldrb r0, [r1, #3] - cmp r0, r4 - beq _080523CC - strb r4, [r1, #3] - movs r0, #1 - adds r1, r4, #0 - bl sub_08052418 - movs r0, #0x69 - bl sub_080A3268 - b _080523CC - .align 2, 0 -_080523A8: .4byte gUnk_02000080 -_080523AC: - ldr r0, _080523C4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080523CC - ldrb r0, [r3, #3] - cmp r0, #0 - bne _080523C8 - movs r0, #2 - bl sub_08056010 - b _080523CC - .align 2, 0 -_080523C4: .4byte gUnk_03000FD0 -_080523C8: - bl sub_080560A8 -_080523CC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_107 -nullsub_107: @ 0x080523D0 - bx lr - .align 2, 0 - - thumb_func_start sub_080523D4 -sub_080523D4: @ 0x080523D4 - push {r4, r5, r6, lr} - ldr r1, _08052408 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r1, #4] - strh r0, [r1, #6] - movs r0, #0x86 - lsls r0, r0, #8 - strh r0, [r1, #8] - ldr r0, _0805240C @ =gUnk_02000080 - ldrb r0, [r0, #0x10] - strh r0, [r1, #2] - movs r4, #0 - adds r6, r1, #0 - ldr r5, _08052410 @ =gUnk_080FCA84 -_080523F0: - adds r0, r4, r5 - ldrb r0, [r0] - strh r0, [r6] - ldr r0, _08052414 @ =0x000001FD - adds r1, r4, #0 - bl sub_080ADA14 - adds r4, #1 - cmp r4, #7 - bls _080523F0 - pop {r4, r5, r6, pc} - .align 2, 0 -_08052408: .4byte gUnk_03001010 -_0805240C: .4byte gUnk_02000080 -_08052410: .4byte gUnk_080FCA84 -_08052414: .4byte 0x000001FD - - thumb_func_start sub_08052418 -sub_08052418: @ 0x08052418 - push {r4, r5, r6, lr} - sub sp, #0x18 - adds r6, r0, #0 - adds r4, r1, #0 - ldr r0, _08052494 @ =gUnk_02021F30 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - ldr r0, _08052498 @ =gUnk_020227E8 - movs r1, #0xf - str r1, [r0] - str r1, [r0, #8] - str r1, [r0, #0x10] - str r1, [r0, #0x18] - lsls r4, r4, #3 - adds r0, #1 - adds r4, r4, r0 - movs r5, #1 - strb r5, [r4] - ldr r4, _0805249C @ =gUnk_080FCA8C - adds r0, r4, #0 - mov r1, sp - movs r2, #0x18 - bl sub_0801D66C - lsls r2, r6, #1 - adds r2, r2, r6 - lsls r2, r2, #2 - ldr r0, _080524A0 @ =gUnk_080FCAA4 - adds r2, r2, r0 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r1, [r0, #7] - adds r1, r2, r1 - ldrb r0, [r2, #8] - lsls r0, r0, #5 - ldrb r1, [r1] - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, [r4] - adds r1, r1, r0 - str r1, [sp] - mov r4, sp - ldrb r0, [r2, #9] - adds r1, r5, #0 - ands r1, r0 - ldrb r3, [r4, #0x13] - movs r0, #2 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4, #0x13] - ldrh r0, [r2, #0xa] - mov r1, sp - bl sub_0805F46C - ldr r0, _080524A4 @ =gUnk_03000F50 - strh r5, [r0, #0x1a] - add sp, #0x18 - pop {r4, r5, r6, pc} - .align 2, 0 -_08052494: .4byte gUnk_02021F30 -_08052498: .4byte gUnk_020227E8 -_0805249C: .4byte gUnk_080FCA8C -_080524A0: .4byte gUnk_080FCAA4 -_080524A4: .4byte gUnk_03000F50 - - thumb_func_start sub_080524A8 -sub_080524A8: @ 0x080524A8 - push {r4, r5, r6, lr} - bl sub_080784C8 - ldr r0, _08052510 @ =gUnk_03000B80 - movs r1, #0x70 - bl sub_0801D630 - ldr r6, _08052514 @ =gUnk_03003F80 - adds r0, r6, #0 - movs r1, #0xb0 - bl sub_0801D630 - movs r0, #1 - rsbs r0, r0, #0 - adds r1, r6, #0 - adds r1, #0x40 - movs r2, #0x40 - bl sub_0801D610 - ldr r4, _08052518 @ =gUnk_03001160 - adds r0, r4, #0 - movs r1, #0x88 - bl sub_0801D630 - ldr r0, _0805251C @ =gUnk_03000BF0 - str r4, [r0, #0x30] - ldr r1, _08052520 @ =gUnk_080FCAC8 - ldr r5, _08052524 @ =gUnk_030010A0 - ldrb r0, [r5, #0xf] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r6, #0xc] - movs r0, #0x14 - bl sub_0807CC30 - cmp r0, #0 - bne _080524FA - ldr r0, [r6, #0x30] - movs r1, #8 - orrs r0, r1 - str r0, [r6, #0x30] -_080524FA: - ldrb r0, [r5, #0xf] - subs r0, #2 - adds r2, r5, #0 - cmp r0, #0xa - bhi _080525C2 - lsls r0, r0, #2 - ldr r1, _08052528 @ =_0805252C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08052510: .4byte gUnk_03000B80 -_08052514: .4byte gUnk_03003F80 -_08052518: .4byte gUnk_03001160 -_0805251C: .4byte gUnk_03000BF0 -_08052520: .4byte gUnk_080FCAC8 -_08052524: .4byte gUnk_030010A0 -_08052528: .4byte _0805252C -_0805252C: @ jump table - .4byte _08052558 @ case 0 - .4byte _08052576 @ case 1 - .4byte _08052564 @ case 2 - .4byte _080525C2 @ case 3 - .4byte _08052558 @ case 4 - .4byte _08052584 @ case 5 - .4byte _08052584 @ case 6 - .4byte _080525C2 @ case 7 - .4byte _080525A0 @ case 8 - .4byte _080525AC @ case 9 - .4byte _080525B8 @ case 10 -_08052558: - ldr r0, _08052560 @ =0x0000FF40 - strh r0, [r4, #0x36] - b _080525C0 - .align 2, 0 -_08052560: .4byte 0x0000FF40 -_08052564: - ldr r0, _0805257C @ =gUnk_03003F80 - adds r0, #0x38 - movs r1, #0x10 - strb r1, [r0] - ldr r1, _08052580 @ =gUnk_030010A0 - ldrb r0, [r1, #0xe] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - adds r2, r1, #0 -_08052576: - movs r0, #0xe0 - strh r0, [r4, #0x24] - b _080525C2 - .align 2, 0 -_0805257C: .4byte gUnk_03003F80 -_08052580: .4byte gUnk_030010A0 -_08052584: - ldr r1, _08052598 @ =gUnk_03003F80 - adds r2, r1, #0 - adds r2, #0x38 - movs r0, #1 - strb r0, [r2] - ldr r2, _0805259C @ =gUnk_030010A0 - ldrb r0, [r2, #0xf] - adds r1, #0x39 - strb r0, [r1] - b _080525C2 - .align 2, 0 -_08052598: .4byte gUnk_03003F80 -_0805259C: .4byte gUnk_030010A0 -_080525A0: - ldr r0, _080525A8 @ =gUnk_03003F80 - adds r0, #0x38 - movs r1, #1 - b _080525BE - .align 2, 0 -_080525A8: .4byte gUnk_03003F80 -_080525AC: - ldr r0, _080525B4 @ =gUnk_03003F80 - adds r0, #0x38 - movs r1, #3 - b _080525BE - .align 2, 0 -_080525B4: .4byte gUnk_03003F80 -_080525B8: - ldr r0, _08052614 @ =gUnk_03003F80 - adds r0, #0x38 - movs r1, #4 -_080525BE: - strb r1, [r0] -_080525C0: - ldr r2, _08052618 @ =gUnk_030010A0 -_080525C2: - movs r0, #1 - strb r0, [r4, #8] - ldrb r1, [r4, #0x10] - movs r0, #0xa0 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r3] - ldr r0, _0805261C @ =gUnk_02002A40 - adds r0, #0xaa - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x45 - strb r0, [r1] - ldrh r0, [r2, #0x10] - strh r0, [r4, #0x2e] - ldrh r0, [r2, #0x12] - strh r0, [r4, #0x32] - ldrb r0, [r2, #0xe] - strb r0, [r4, #0x14] - ldrb r1, [r2, #0x14] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #1 - bl sub_0805EA2C - bl sub_08017640 - pop {r4, r5, r6, pc} - .align 2, 0 -_08052614: .4byte gUnk_03003F80 -_08052618: .4byte gUnk_030010A0 -_0805261C: .4byte gUnk_02002A40 - - thumb_func_start sub_08052620 -sub_08052620: @ 0x08052620 - push {lr} - movs r1, #0 - ldr r0, _08052634 @ =gUnk_02033A90 - ldrb r0, [r0] - cmp r0, #0x81 - bne _0805262E - movs r1, #1 -_0805262E: - adds r0, r1, #0 - pop {pc} - .align 2, 0 -_08052634: .4byte gUnk_02033A90 - - thumb_func_start sub_08052638 -sub_08052638: @ 0x08052638 - push {lr} - movs r2, #0 - ldr r1, _08052650 @ =gUnk_08127D30 - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0x81 - bne _0805264A - movs r2, #1 -_0805264A: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_08052650: .4byte gUnk_08127D30 - - thumb_func_start sub_08052654 -sub_08052654: @ 0x08052654 - ldr r0, _0805265C @ =gUnk_02033A90 - ldrb r0, [r0] - lsrs r0, r0, #7 - bx lr - .align 2, 0 -_0805265C: .4byte gUnk_02033A90 - - thumb_func_start sub_08052660 -sub_08052660: @ 0x08052660 - ldr r0, _0805266C @ =gUnk_02033A90 - ldrb r0, [r0] - lsrs r0, r0, #2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_0805266C: .4byte gUnk_02033A90 - - thumb_func_start sub_08052670 -sub_08052670: @ 0x08052670 - ldr r0, _0805267C @ =gUnk_02033A90 - ldrb r0, [r0] - lsrs r0, r0, #4 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_0805267C: .4byte gUnk_02033A90 - - thumb_func_start sub_08052680 -sub_08052680: @ 0x08052680 - ldr r0, _0805268C @ =gUnk_02033A90 - ldrb r0, [r0] - lsrs r0, r0, #6 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_0805268C: .4byte gUnk_02033A90 - - thumb_func_start sub_08052690 -sub_08052690: @ 0x08052690 - ldr r0, _0805269C @ =gUnk_02033A90 - ldrb r0, [r0] - lsrs r0, r0, #3 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_0805269C: .4byte gUnk_02033A90 - - thumb_func_start sub_080526A0 -sub_080526A0: @ 0x080526A0 - push {lr} - ldr r2, _080526C4 @ =gUnk_02002AE8 - ldrb r1, [r2, #2] - adds r1, r1, r0 - cmp r1, #0 - bge _080526AE - movs r1, #0 -_080526AE: - ldrb r0, [r2, #3] - cmp r0, r1 - bge _080526B6 - adds r1, r0, #0 -_080526B6: - strb r1, [r2, #2] - ldr r0, _080526C8 @ =gUnk_03001160 - adds r0, #0x45 - strb r1, [r0] - adds r0, r1, #0 - pop {pc} - .align 2, 0 -_080526C4: .4byte gUnk_02002AE8 -_080526C8: .4byte gUnk_03001160 - - thumb_func_start sub_080526CC -sub_080526CC: @ 0x080526CC - push {lr} - ldr r3, _080526DC @ =gUnk_02002AE8 - ldrh r1, [r3, #0x18] - adds r2, r1, r0 - cmp r2, #0 - bge _080526E0 - movs r2, #0 - b _080526F0 - .align 2, 0 -_080526DC: .4byte gUnk_02002AE8 -_080526E0: - ldr r1, _080526F4 @ =gUnk_080FD590 - ldrb r0, [r3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r2, r0 - ble _080526F0 - adds r2, r0, #0 -_080526F0: - strh r2, [r3, #0x18] - pop {pc} - .align 2, 0 -_080526F4: .4byte gUnk_080FD590 - - thumb_func_start sub_080526F8 -sub_080526F8: @ 0x080526F8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08052724 - cmp r0, #0 - beq _08052718 - ldr r0, _0805271C @ =gUnk_02033A90 - ldrb r1, [r0, #3] - ldr r0, _08052720 @ =gUnk_02002E9C - adds r1, r1, r0 - ldrb r0, [r1] - adds r0, r0, r4 - cmp r0, #0 - bge _08052716 - movs r0, #0 -_08052716: - strb r0, [r1] -_08052718: - pop {r4, pc} - .align 2, 0 -_0805271C: .4byte gUnk_02033A90 -_08052720: .4byte gUnk_02002E9C - - thumb_func_start sub_08052724 -sub_08052724: @ 0x08052724 - ldr r0, _08052730 @ =gUnk_02033A90 - ldrb r0, [r0] - lsrs r0, r0, #1 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_08052730: .4byte gUnk_02033A90 - - thumb_func_start sub_08052734 -sub_08052734: @ 0x08052734 - push {r4, lr} - bl sub_08052724 - cmp r0, #0 - beq _0805274C - ldr r0, _08052758 @ =gUnk_02002A40 - ldr r1, _0805275C @ =gUnk_02033A90 - ldr r2, _08052760 @ =0x0000045C - adds r0, r0, r2 - ldrb r1, [r1, #3] - adds r0, r0, r1 - ldrb r4, [r0] -_0805274C: - adds r0, r4, #0 - cmp r0, #0 - beq _08052754 - movs r0, #1 -_08052754: - pop {r4, pc} - .align 2, 0 -_08052758: .4byte gUnk_02002A40 -_0805275C: .4byte gUnk_02033A90 -_08052760: .4byte 0x0000045C - - thumb_func_start sub_08052764 -sub_08052764: @ 0x08052764 - push {r4, lr} - bl sub_08052724 - cmp r0, #0 - beq _08052784 - ldr r0, _08052790 @ =gUnk_02002A40 - ldr r1, _08052794 @ =gUnk_02033A90 - ldr r2, _08052798 @ =0x0000046C - adds r0, r0, r2 - ldrb r1, [r1, #3] - adds r0, r0, r1 - ldrb r1, [r0] - movs r0, #4 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 -_08052784: - adds r0, r4, #0 - cmp r0, #0 - beq _0805278C - movs r0, #1 -_0805278C: - pop {r4, pc} - .align 2, 0 -_08052790: .4byte gUnk_02002A40 -_08052794: .4byte gUnk_02033A90 -_08052798: .4byte 0x0000046C - - thumb_func_start sub_0805279C -sub_0805279C: @ 0x0805279C - push {lr} - bl sub_08052724 - cmp r0, #0 - beq _080527C8 - ldr r0, _080527BC @ =gUnk_02002A40 - ldr r1, _080527C0 @ =gUnk_02033A90 - ldr r2, _080527C4 @ =0x0000046C - adds r0, r0, r2 - ldrb r1, [r1, #3] - adds r0, r0, r1 - ldrb r0, [r0] - lsrs r0, r0, #1 - movs r1, #1 - ands r0, r1 - b _080527CA - .align 2, 0 -_080527BC: .4byte gUnk_02002A40 -_080527C0: .4byte gUnk_02033A90 -_080527C4: .4byte 0x0000046C -_080527C8: - movs r0, #0 -_080527CA: - pop {pc} - - thumb_func_start sub_080527CC -sub_080527CC: @ 0x080527CC - push {lr} - bl sub_08052724 - cmp r0, #0 - beq _080527F8 - ldr r0, _080527EC @ =gUnk_02002A40 - ldr r1, _080527F0 @ =gUnk_02033A90 - ldr r2, _080527F4 @ =0x0000046C - adds r0, r0, r2 - ldrb r1, [r1, #3] - adds r0, r0, r1 - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - b _080527FA - .align 2, 0 -_080527EC: .4byte gUnk_02002A40 -_080527F0: .4byte gUnk_02033A90 -_080527F4: .4byte 0x0000046C -_080527F8: - movs r0, #0 -_080527FA: - pop {pc} - - thumb_func_start sub_080527FC -sub_080527FC: @ 0x080527FC - push {r4, lr} - adds r4, r0, #0 - bl sub_08053320 - bl sub_080AE1D8 - bl sub_080ADE24 - movs r0, #1 - bl sub_0801C370 - adds r0, r4, #0 - bl sub_0801AE44 - ldr r0, _08052830 @ =gUnk_02024090 - ldr r1, _08052834 @ =gUnk_020176A0 - movs r2, #0x80 - lsls r2, r2, #3 - bl sub_0801D66C - ldr r1, _08052838 @ =gUnk_0200B644 - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1] - pop {r4, pc} - .align 2, 0 -_08052830: .4byte gUnk_02024090 -_08052834: .4byte gUnk_020176A0 -_08052838: .4byte gUnk_0200B644 - - thumb_func_start sub_0805283C -sub_0805283C: @ 0x0805283C - push {r4, lr} - ldr r0, _08052868 @ =gUnk_02033A90 - ldr r1, _0805286C @ =0x00000864 - adds r4, r0, r1 - ldr r1, _08052870 @ =gUnk_08127D30 - ldr r0, _08052874 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0, #3] - str r0, [r4] - movs r0, #0x8c - lsls r0, r0, #4 - movs r1, #0x7c - bl sub_0807CB10 - cmp r0, #0 - beq _08052864 - movs r0, #0x33 - str r0, [r4] -_08052864: - pop {r4, pc} - .align 2, 0 -_08052868: .4byte gUnk_02033A90 -_0805286C: .4byte 0x00000864 -_08052870: .4byte gUnk_08127D30 -_08052874: .4byte gUnk_03000BF0 - - thumb_func_start sub_08052878 -sub_08052878: @ 0x08052878 - push {lr} - ldr r0, _08052894 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - ldr r0, _08052898 @ =0x80010000 - bl sub_080A3268 - pop {pc} - .align 2, 0 -_08052894: .4byte gUnk_02033A90 -_08052898: .4byte 0x80010000 - - thumb_func_start sub_0805289C -sub_0805289C: @ 0x0805289C - ldr r0, _080528AC @ =gUnk_02033A90 - ldr r2, _080528B0 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_080528AC: .4byte gUnk_02033A90 -_080528B0: .4byte 0x00000864 - - thumb_func_start sub_080528B4 -sub_080528B4: @ 0x080528B4 - push {lr} - ldr r0, _080528C4 @ =gUnk_030010A0 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _080528C8 - movs r0, #0 - b _080528E6 - .align 2, 0 -_080528C4: .4byte gUnk_030010A0 -_080528C8: - bl sub_0804FFE4 - ldr r1, _080528E8 @ =gUnk_03001000 - movs r2, #0 - movs r0, #3 - strb r0, [r1, #3] - strb r2, [r1, #4] - movs r0, #5 - movs r1, #8 - bl sub_08050054 - ldr r0, _080528EC @ =0x80100000 - bl sub_080A3268 - movs r0, #1 -_080528E6: - pop {pc} - .align 2, 0 -_080528E8: .4byte gUnk_03001000 -_080528EC: .4byte 0x80100000 - - thumb_func_start sub_080528F0 -sub_080528F0: @ 0x080528F0 - push {lr} - ldr r1, _08052914 @ =gUnk_02033A90 - ldr r2, _08052918 @ =0x00000888 - adds r0, r1, r2 - ldr r2, [r0] - cmp r2, #0 - beq _08052910 - movs r3, #0x89 - lsls r3, r3, #4 - adds r0, r1, r3 - ldr r1, [r0] - cmp r1, #0 - beq _08052910 - adds r0, r2, #0 - bl _call_via_r1 -_08052910: - pop {pc} - .align 2, 0 -_08052914: .4byte gUnk_02033A90 -_08052918: .4byte 0x00000888 - - thumb_func_start sub_0805291C -sub_0805291C: @ 0x0805291C - push {r4, lr} - ldr r4, _08052948 @ =gUnk_030010A0 - ldrb r0, [r4, #8] - cmp r0, #0 - beq _080529F4 - ldr r0, _0805294C @ =gUnk_02002A40 - adds r0, #0xaa - ldrb r0, [r0] - cmp r0, #0 - beq _080529F4 - ldr r0, _08052950 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x12 - beq _080529F4 - bl sub_080529F8 - cmp r0, #0 - beq _08052954 - movs r0, #0 - strb r0, [r4, #8] - b _080529F6 - .align 2, 0 -_08052948: .4byte gUnk_030010A0 -_0805294C: .4byte gUnk_02002A40 -_08052950: .4byte gUnk_03003F80 -_08052954: - ldrb r0, [r4, #9] - subs r0, #1 - cmp r0, #8 - bhi _080529D4 - lsls r0, r0, #2 - ldr r1, _08052968 @ =_0805296C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08052968: .4byte _0805296C -_0805296C: @ jump table - .4byte _08052990 @ case 0 - .4byte _080529A4 @ case 1 - .4byte _080529D4 @ case 2 - .4byte _080529A8 @ case 3 - .4byte _080529B2 @ case 4 - .4byte _080529BC @ case 5 - .4byte _080529C8 @ case 6 - .4byte _080529C8 @ case 7 - .4byte _0805299A @ case 8 -_08052990: - movs r0, #0xd - movs r1, #8 - bl sub_08050054 - b _080529DC -_0805299A: - movs r0, #0xd - movs r1, #3 - bl sub_08050054 - b _080529DC -_080529A4: - movs r0, #7 - b _080529AA -_080529A8: - movs r0, #5 -_080529AA: - movs r1, #4 - bl sub_08050054 - b _080529DC -_080529B2: - movs r0, #5 - movs r1, #0x10 - bl sub_08050054 - b _080529DC -_080529BC: - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - b _080529DC -_080529C8: - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #7 - bl sub_08050054 - b _080529DC -_080529D4: - movs r0, #7 - movs r1, #0x10 - bl sub_08050054 -_080529DC: - bl sub_080528F0 - ldr r0, _080529F0 @ =gUnk_03001000 - movs r1, #3 - strb r1, [r0, #4] - movs r1, #1 - strb r1, [r0, #0xb] - movs r0, #1 - b _080529F6 - .align 2, 0 -_080529F0: .4byte gUnk_03001000 -_080529F4: - movs r0, #0 -_080529F6: - pop {r4, pc} - - thumb_func_start sub_080529F8 -sub_080529F8: @ 0x080529F8 - push {r4, r5, r6, lr} - ldr r1, _08052A34 @ =gUnk_030010A0 - ldrh r4, [r1, #0xa] - ldr r2, _08052A38 @ =gUnk_080FCAD6 - ldrh r0, [r2] - cmp r0, #0 - beq _08052A48 - ldr r3, _08052A3C @ =gUnk_03003F80 - movs r6, #0 - movs r0, #0x39 - adds r0, r0, r3 - mov ip, r0 - movs r5, #0x1e -_08052A12: - ldrh r0, [r2] - cmp r4, r0 - bne _08052A40 - strb r5, [r3, #0xc] - adds r0, r3, #0 - adds r0, #0x38 - strb r6, [r0] - ldrh r0, [r2, #2] - mov r3, ip - strb r0, [r3] - ldrb r0, [r1, #0xf] - cmp r0, #0 - bne _08052A30 - ldrh r0, [r2, #2] - strb r0, [r1, #0xf] -_08052A30: - movs r0, #1 - b _08052A4A - .align 2, 0 -_08052A34: .4byte gUnk_030010A0 -_08052A38: .4byte gUnk_080FCAD6 -_08052A3C: .4byte gUnk_03003F80 -_08052A40: - adds r2, #4 - ldrh r0, [r2] - cmp r0, #0 - bne _08052A12 -_08052A48: - movs r0, #0 -_08052A4A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08052A4C -sub_08052A4C: @ 0x08052A4C - push {r4, r5, lr} - ldr r2, _08052A88 @ =gUnk_030010A0 - movs r0, #1 - strb r0, [r2, #8] - ldr r5, _08052A8C @ =gUnk_03001160 - ldr r3, _08052A90 @ =gUnk_03000BF0 - ldrh r0, [r5, #0x2e] - ldrh r1, [r3, #6] - subs r0, r0, r1 - movs r1, #0xfe - lsls r1, r1, #2 - adds r4, r1, #0 - ands r0, r4 - strh r0, [r2, #0x10] - ldrh r0, [r5, #0x32] - ldrh r1, [r3, #8] - subs r0, r0, r1 - ands r0, r4 - strh r0, [r2, #0x12] - movs r0, #4 - strb r0, [r2, #0xe] - movs r0, #0xa - strb r0, [r2, #0xf] - ldrb r0, [r3, #4] - strb r0, [r2, #0xc] - ldrb r0, [r3, #5] - subs r0, #1 - strb r0, [r2, #0xd] - pop {r4, r5, pc} - .align 2, 0 -_08052A88: .4byte gUnk_030010A0 -_08052A8C: .4byte gUnk_03001160 -_08052A90: .4byte gUnk_03000BF0 - - thumb_func_start sub_08052A94 -sub_08052A94: @ 0x08052A94 - push {lr} - ldr r0, _08052AAC @ =gUnk_030010A0 - ldrb r0, [r0, #9] - subs r0, #1 - cmp r0, #8 - bhi _08052B1C - lsls r0, r0, #2 - ldr r1, _08052AB0 @ =_08052AB4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08052AAC: .4byte gUnk_030010A0 -_08052AB0: .4byte _08052AB4 -_08052AB4: @ jump table - .4byte _08052AD8 @ case 0 - .4byte _08052AE6 @ case 1 - .4byte _08052B22 @ case 2 - .4byte _08052B1C @ case 3 - .4byte _08052B08 @ case 4 - .4byte _08052AF0 @ case 5 - .4byte _08052AFC @ case 6 - .4byte _08052B12 @ case 7 - .4byte _08052ADC @ case 8 -_08052AD8: - movs r0, #0xc - b _08052B14 -_08052ADC: - movs r0, #0xc - movs r1, #3 - bl sub_08050054 - b _08052B22 -_08052AE6: - movs r0, #6 - movs r1, #4 - bl sub_08050054 - b _08052B22 -_08052AF0: - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - b _08052B22 -_08052AFC: - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #7 - bl sub_08050054 - b _08052B22 -_08052B08: - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - b _08052B22 -_08052B12: - movs r0, #6 -_08052B14: - movs r1, #8 - bl sub_08050054 - b _08052B22 -_08052B1C: - movs r0, #0x10 - bl sub_080500F4 -_08052B22: - pop {pc} - - thumb_func_start sub_08052B24 -sub_08052B24: @ 0x08052B24 - push {lr} - ldr r0, _08052B90 @ =gUnk_03000FF0 - ldrh r1, [r0] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08052B8A - ldr r2, _08052B94 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x8b - ldrb r0, [r0] - cmp r0, #0 - bne _08052B8A - ldr r0, _08052B98 @ =gUnk_02034490 - ldrb r0, [r0] - cmp r0, #0 - bne _08052B8A - ldr r0, _08052B9C @ =gUnk_0200AF00 - ldrb r0, [r0, #1] - cmp r0, #0 - bne _08052B8A - ldr r0, [r2, #0x30] - movs r1, #0x8c - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - bne _08052B8A - adds r0, r2, #0 - adds r0, #0xa9 - ldrb r0, [r0] - cmp r0, #1 - bgt _08052B8A - ldr r0, [r2, #0x2c] - cmp r0, #0 - bne _08052B8A - ldr r1, _08052BA0 @ =gUnk_03001160 - adds r0, r1, #0 - adds r0, #0x7a - ldrh r0, [r0] - cmp r0, #0 - bne _08052B8A - movs r3, #0x36 - ldrsh r0, [r1, r3] - movs r1, #0x80 - lsls r1, r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08052BA4 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _08052BA4 -_08052B8A: - movs r0, #0 - b _08052BB4 - .align 2, 0 -_08052B90: .4byte gUnk_03000FF0 -_08052B94: .4byte gUnk_03003F80 -_08052B98: .4byte gUnk_02034490 -_08052B9C: .4byte gUnk_0200AF00 -_08052BA0: .4byte gUnk_03001160 -_08052BA4: - bl sub_0801862C - movs r0, #0x13 - bl sub_08078160 - bl sub_0805E544 - movs r0, #1 -_08052BB4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08052BB8 -sub_08052BB8: @ 0x08052BB8 - push {lr} - ldr r0, _08052BE0 @ =gUnk_030010A0 - adds r2, r0, #0 - adds r2, #0x35 - ldrb r1, [r2] - adds r3, r0, #0 - cmp r1, #0 - bne _08052BEC - ldr r0, _08052BE4 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r0, r2] - ldr r0, _08052BE8 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r0, [r0, r2] - subs r1, r1, r0 - movs r2, #0xd - cmp r1, #0x60 - ble _08052BEE - movs r2, #1 - b _08052BEE - .align 2, 0 -_08052BE0: .4byte gUnk_030010A0 -_08052BE4: .4byte gUnk_03001160 -_08052BE8: .4byte gUnk_03000BF0 -_08052BEC: - ldrb r2, [r2] -_08052BEE: - ldrh r0, [r3, #0x36] - adds r1, r2, #0 - bl sub_080563C8 - pop {pc} - - thumb_func_start sub_08052BF8 -sub_08052BF8: @ 0x08052BF8 - push {lr} - ldr r2, _08052C34 @ =gUnk_030010A0 - adds r1, r2, #0 - adds r1, #0x31 - ldrb r0, [r1] - cmp r0, #0 - bne _08052C30 - movs r0, #1 - strb r0, [r1] - ldr r0, _08052C38 @ =gUnk_02033A90 - ldrb r1, [r0, #1] - adds r0, r2, #0 - adds r0, #0x2e - strb r1, [r0] - bl sub_0805E8D4 - adds r1, r0, #0 - cmp r1, #0 - beq _08052C30 - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0xf - strb r0, [r1, #9] - strb r0, [r1, #0xa] - adds r0, r1, #0 - movs r1, #0 - bl sub_0805EA2C -_08052C30: - pop {pc} - .align 2, 0 -_08052C34: .4byte gUnk_030010A0 -_08052C38: .4byte gUnk_02033A90 - - thumb_func_start sub_08052C3C -sub_08052C3C: @ 0x08052C3C - push {lr} - ldr r2, _08052C58 @ =gUnk_02033A90 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _08052C48 - strb r0, [r2, #0x1a] -_08052C48: - ldrb r0, [r2, #0x1a] - cmp r0, #0 - beq _08052C56 - subs r0, #1 - movs r1, #0 - strb r0, [r2, #0x1a] - strb r1, [r2, #0x18] -_08052C56: - pop {pc} - .align 2, 0 -_08052C58: .4byte gUnk_02033A90 - - thumb_func_start sub_08052C5C -sub_08052C5C: @ 0x08052C5C - push {lr} - bl sub_08052680 - cmp r0, #0 - bne _08052C98 - bl sub_08052620 - cmp r0, #0 - beq _08052C84 - ldr r2, _08052C7C @ =gUnk_030010A0 - ldr r1, _08052C80 @ =gUnk_03001160 - ldrh r0, [r1, #0x2e] - strh r0, [r2, #0x20] - ldrh r0, [r1, #0x32] - strh r0, [r2, #0x22] - b _08052C98 - .align 2, 0 -_08052C7C: .4byte gUnk_030010A0 -_08052C80: .4byte gUnk_03001160 -_08052C84: - bl sub_08052660 - cmp r0, #0 - beq _08052C98 - ldr r2, _08052C9C @ =gUnk_030010A0 - ldr r1, _08052CA0 @ =gUnk_03001160 - ldrh r0, [r1, #0x2e] - strh r0, [r2, #0x1c] - ldrh r0, [r1, #0x32] - strh r0, [r2, #0x1e] -_08052C98: - pop {pc} - .align 2, 0 -_08052C9C: .4byte gUnk_030010A0 -_08052CA0: .4byte gUnk_03001160 - - thumb_func_start sub_08052CA4 -sub_08052CA4: @ 0x08052CA4 - push {r4, lr} - ldr r4, _08052CC8 @ =gUnk_0811E214 - lsls r0, r0, #2 - adds r0, r0, r4 - lsls r4, r1, #2 - adds r4, r4, r1 - lsls r4, r4, #1 - ldr r1, [r0] - adds r1, r1, r4 - ldr r4, _08052CCC @ =gUnk_030010A0 - ldrh r0, [r1] - adds r0, r0, r2 - strh r0, [r4, #0x20] - ldrh r0, [r1, #2] - adds r0, r0, r3 - strh r0, [r4, #0x22] - pop {r4, pc} - .align 2, 0 -_08052CC8: .4byte gUnk_0811E214 -_08052CCC: .4byte gUnk_030010A0 - - thumb_func_start sub_08052CD0 -sub_08052CD0: @ 0x08052CD0 - push {r4, lr} - ldr r4, _08052CF4 @ =gUnk_0811E214 - lsls r0, r0, #2 - adds r0, r0, r4 - lsls r4, r1, #2 - adds r4, r4, r1 - lsls r4, r4, #1 - ldr r1, [r0] - adds r1, r1, r4 - ldr r4, _08052CF8 @ =gUnk_030010A0 - ldrh r0, [r1] - adds r0, r0, r2 - strh r0, [r4, #0x1c] - ldrh r0, [r1, #2] - adds r0, r0, r3 - strh r0, [r4, #0x1e] - pop {r4, pc} - .align 2, 0 -_08052CF4: .4byte gUnk_0811E214 -_08052CF8: .4byte gUnk_030010A0 - - thumb_func_start sub_08052CFC -sub_08052CFC: @ 0x08052CFC - push {r4, lr} - ldr r4, _08052D44 @ =gUnk_02033A90 - ldr r1, _08052D48 @ =0x00000894 - adds r0, r4, #0 - bl sub_0801D630 - ldr r0, _08052D4C @ =gUnk_03000BF0 - ldrb r1, [r0, #4] - lsls r1, r1, #2 - ldr r0, _08052D50 @ =gUnk_08127D30 - adds r1, r1, r0 - ldrb r0, [r1] - strb r0, [r4] - ldrb r0, [r1, #1] - strb r0, [r4, #1] - ldrb r0, [r1, #1] - subs r0, #0x17 - strb r0, [r4, #3] - ldr r2, _08052D54 @ =gUnk_0811E454 - ldrb r0, [r1, #2] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r4, #4] - ldrb r0, [r1, #2] - strb r0, [r4, #6] - movs r0, #0xb4 - strb r0, [r4, #0x1a] - adds r0, #0x4c - strh r0, [r4, #0xa] - bl sub_08052A94 - bl sub_08052DA8 - pop {r4, pc} - .align 2, 0 -_08052D44: .4byte gUnk_02033A90 -_08052D48: .4byte 0x00000894 -_08052D4C: .4byte gUnk_03000BF0 -_08052D50: .4byte gUnk_08127D30 -_08052D54: .4byte gUnk_0811E454 - - thumb_func_start sub_08052D58 -sub_08052D58: @ 0x08052D58 - lsls r0, r0, #2 - ldr r1, _08052D6C @ =gUnk_08127D30 - adds r0, r0, r1 - ldr r1, _08052D70 @ =gUnk_0811E454 - ldrb r0, [r0, #2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - bx lr - .align 2, 0 -_08052D6C: .4byte gUnk_08127D30 -_08052D70: .4byte gUnk_0811E454 - - thumb_func_start sub_08052D74 -sub_08052D74: @ 0x08052D74 - push {r4, r5, lr} - adds r3, r0, #0 - adds r4, r1, #0 - ldr r0, _08052D98 @ =gUnk_03001000 - ldrb r0, [r0, #4] - cmp r0, #7 - beq _08052D96 - ldr r0, _08052D9C @ =gUnk_02033A90 - ldr r5, _08052DA0 @ =0x00000888 - adds r1, r0, r5 - str r3, [r1] - ldr r3, _08052DA4 @ =0x0000088C - adds r1, r0, r3 - str r4, [r1] - adds r5, #8 - adds r0, r0, r5 - str r2, [r0] -_08052D96: - pop {r4, r5, pc} - .align 2, 0 -_08052D98: .4byte gUnk_03001000 -_08052D9C: .4byte gUnk_02033A90 -_08052DA0: .4byte 0x00000888 -_08052DA4: .4byte 0x0000088C - - thumb_func_start sub_08052DA8 -sub_08052DA8: @ 0x08052DA8 - push {r4, r5, r6, r7, lr} - ldr r1, _08052DF8 @ =gUnk_0811E214 - ldr r0, _08052DFC @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r4, [r0] - ldr r7, _08052E00 @ =gUnk_02033ACC - movs r5, #0 - ldrh r0, [r4] - ldr r1, _08052E04 @ =0x0000FFFF - cmp r0, r1 - beq _08052DE8 - adds r6, r1, #0 -_08052DC4: - ldrh r0, [r4, #8] - cmp r0, r6 - beq _08052DD8 - ldr r0, _08052DFC @ =gUnk_03000BF0 - ldrb r2, [r0, #4] - adds r0, r7, #0 - adds r1, r4, #0 - adds r3, r5, #0 - bl sub_08052E10 -_08052DD8: - adds r7, #0x20 - adds r5, #1 - adds r4, #0xa - cmp r5, #0x3f - bhi _08052DE8 - ldrh r0, [r4] - cmp r0, r6 - bne _08052DC4 -_08052DE8: - bl sub_08052E8C - ldr r1, _08052E08 @ =gUnk_02033A90 - ldr r2, _08052E0C @ =0x0000085C - adds r1, r1, r2 - str r0, [r1] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08052DF8: .4byte gUnk_0811E214 -_08052DFC: .4byte gUnk_03000BF0 -_08052E00: .4byte gUnk_02033ACC -_08052E04: .4byte 0x0000FFFF -_08052E08: .4byte gUnk_02033A90 -_08052E0C: .4byte 0x0000085C - - thumb_func_start sub_08052E10 -sub_08052E10: @ 0x08052E10 - push {r4, r5, lr} - adds r5, r0, #0 - ldrh r0, [r1] - strh r0, [r5, #4] - ldrh r0, [r1, #2] - strh r0, [r5, #6] - ldrh r0, [r1, #4] - strh r0, [r5] - ldrh r0, [r1, #6] - strh r0, [r5, #2] - ldr r4, _08052E74 @ =gUnk_0810246C - lsls r2, r2, #2 - adds r4, r2, r4 - ldrh r0, [r1, #8] - ldr r1, [r4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r5, #8] - ldr r0, _08052E78 @ =gUnk_08107988 - adds r0, r2, r0 - ldr r0, [r0] - lsls r3, r3, #2 - adds r0, r3, r0 - ldr r0, [r0] - str r0, [r5, #0xc] - ldr r0, _08052E7C @ =gUnk_0810309C - adds r0, r2, r0 - ldr r0, [r0] - str r0, [r5, #0x10] - ldr r0, _08052E80 @ =gUnk_080B755C - adds r0, r2, r0 - ldr r0, [r0] - str r0, [r5, #0x14] - ldr r0, _08052E84 @ =gUnk_0813A7F0 - adds r0, r2, r0 - ldr r0, [r0] - adds r0, r3, r0 - ldr r0, [r0] - str r0, [r5, #0x18] - ldr r0, _08052E88 @ =gUnk_080D50FC - adds r2, r2, r0 - ldr r0, [r2] - cmp r0, #0 - beq _08052E70 - adds r0, r3, r0 - ldr r0, [r0] - str r0, [r5, #0x1c] -_08052E70: - pop {r4, r5, pc} - .align 2, 0 -_08052E74: .4byte gUnk_0810246C -_08052E78: .4byte gUnk_08107988 -_08052E7C: .4byte gUnk_0810309C -_08052E80: .4byte gUnk_080B755C -_08052E84: .4byte gUnk_0813A7F0 -_08052E88: .4byte gUnk_080D50FC - - thumb_func_start sub_08052E8C -sub_08052E8C: @ 0x08052E8C - ldr r0, _08052E98 @ =gUnk_03000BF0 - ldrb r0, [r0, #5] - lsls r0, r0, #5 - ldr r1, _08052E9C @ =gUnk_02033ACC - adds r0, r0, r1 - bx lr - .align 2, 0 -_08052E98: .4byte gUnk_03000BF0 -_08052E9C: .4byte gUnk_02033ACC - - thumb_func_start sub_08052EA0 -sub_08052EA0: @ 0x08052EA0 - push {r4, lr} - ldr r4, _08052EE4 @ =gUnk_02034350 - adds r0, r4, #0 - movs r1, #0xcc - bl sub_0801D630 - movs r0, #0xff - strb r0, [r4, #0x10] - strb r0, [r4, #0x11] - strb r0, [r4, #0x12] - strb r0, [r4, #0x13] - adds r0, #1 - strh r0, [r4, #0xc] - ldr r2, _08052EE8 @ =gUnk_02033A90 - ldr r1, _08052EEC @ =gUnk_08127D30 - ldr r0, _08052EF0 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0, #1] - strb r0, [r2, #1] - bl sub_08049D30 - bl sub_0807DA70 - bl sub_08054524 - bl sub_080186D4 - bl sub_0806F364 - bl sub_080530C8 - pop {r4, pc} - .align 2, 0 -_08052EE4: .4byte gUnk_02034350 -_08052EE8: .4byte gUnk_02033A90 -_08052EEC: .4byte gUnk_08127D30 -_08052EF0: .4byte gUnk_03000BF0 - - thumb_func_start sub_08052EF4 -sub_08052EF4: @ 0x08052EF4 - push {lr} - cmp r0, #0 - bge _08052EFE - ldr r0, _08052F10 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] -_08052EFE: - lsls r0, r0, #2 - ldr r1, _08052F14 @ =gUnk_08127D30 - adds r0, r0, r1 - ldr r1, _08052F18 @ =gUnk_0811E454 - ldrb r0, [r0, #2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - pop {pc} - .align 2, 0 -_08052F10: .4byte gUnk_03000BF0 -_08052F14: .4byte gUnk_08127D30 -_08052F18: .4byte gUnk_0811E454 - - thumb_func_start sub_08052F1C -sub_08052F1C: @ 0x08052F1C - push {r4, r5, r6, lr} - ldr r2, _08052F4C @ =gUnk_02033A90 - ldrb r1, [r2, #0xd] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08052FCC - ldr r0, _08052F50 @ =gUnk_02034350 - ldrb r0, [r0] - cmp r0, #0 - beq _08052FCC - movs r5, #0 - movs r4, #0 - ldr r0, _08052F54 @ =gUnk_03000BF0 - ldrb r1, [r0, #0x10] - adds r3, r0, #0 - cmp r1, #1 - beq _08052F62 - cmp r1, #1 - bgt _08052F58 - cmp r1, #0 - beq _08052F62 - b _08052F72 - .align 2, 0 -_08052F4C: .4byte gUnk_02033A90 -_08052F50: .4byte gUnk_02034350 -_08052F54: .4byte gUnk_03000BF0 -_08052F58: - cmp r1, #2 - beq _08052F62 - cmp r1, #3 - beq _08052F6A - b _08052F72 -_08052F62: - ldr r1, _08052FD0 @ =0x0000085C - adds r0, r2, r1 - ldr r0, [r0] - ldrh r5, [r0, #2] -_08052F6A: - ldr r1, _08052FD0 @ =0x0000085C - adds r0, r2, r1 - ldr r0, [r0] - ldrh r4, [r0] -_08052F72: - ldr r0, _08052FD0 @ =0x0000085C - adds r2, r2, r0 - ldr r1, [r2] - ldrh r0, [r1, #4] - adds r0, r0, r4 - strh r0, [r1, #4] - ldr r1, [r2] - ldrh r0, [r1, #6] - adds r0, r0, r5 - strh r0, [r1, #6] - ldrh r0, [r3, #6] - adds r0, r0, r4 - strh r0, [r3, #6] - ldrh r0, [r3, #8] - adds r0, r0, r5 - strh r0, [r3, #8] - ldrh r0, [r3, #0xa] - adds r0, r0, r4 - strh r0, [r3, #0xa] - ldrh r0, [r3, #0xc] - adds r0, r0, r5 - strh r0, [r3, #0xc] - ldr r2, _08052FD4 @ =gUnk_03003D70 - adds r6, r2, #0 - adds r6, #0x48 -_08052FA4: - ldr r1, [r2, #4] - adds r3, r2, #0 - adds r3, #8 - cmp r1, r2 - beq _08052FC6 -_08052FAE: - ldrb r0, [r1, #8] - cmp r0, #9 - beq _08052FC0 - ldrh r0, [r1, #0x2e] - adds r0, r0, r4 - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - adds r0, r0, r5 - strh r0, [r1, #0x32] -_08052FC0: - ldr r1, [r1, #4] - cmp r1, r2 - bne _08052FAE -_08052FC6: - adds r2, r3, #0 - cmp r2, r6 - blo _08052FA4 -_08052FCC: - pop {r4, r5, r6, pc} - .align 2, 0 -_08052FD0: .4byte 0x0000085C -_08052FD4: .4byte gUnk_03003D70 - - thumb_func_start sub_08052FD8 -sub_08052FD8: @ 0x08052FD8 - push {lr} - bl sub_08052FF4 - ldr r1, _08052FF0 @ =gUnk_03000BF0 - movs r0, #0 - str r0, [r1, #0x30] - bl sub_0807C860 - bl sub_0807C740 - pop {pc} - .align 2, 0 -_08052FF0: .4byte gUnk_03000BF0 - - thumb_func_start sub_08052FF4 -sub_08052FF4: @ 0x08052FF4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - bl sub_08080668 - bl sub_080197AC - ldr r0, _0805306C @ =gUnk_03000BF0 - strb r6, [r0, #4] - strb r4, [r0, #5] - ldr r1, _08053070 @ =gUnk_03000F50 - movs r0, #0xba - lsls r0, r0, #5 - strh r0, [r1] - ldr r5, _08053074 @ =gUnk_020342CC - adds r0, r5, #0 - movs r1, #0x20 - bl sub_0801D630 - str r5, [r5, #0x20] - ldr r0, _08053078 @ =gUnk_0811E214 - lsls r6, r6, #2 - adds r0, r6, r0 - lsls r2, r4, #2 - adds r4, r2, r4 - lsls r4, r4, #1 - ldr r0, [r0] - adds r0, r0, r4 - ldrh r1, [r0] - strh r1, [r5, #4] - ldrh r1, [r0, #2] - strh r1, [r5, #6] - ldrh r1, [r0, #4] - strh r1, [r5] - ldrh r1, [r0, #6] - strh r1, [r5, #2] - ldr r1, _0805307C @ =gUnk_0810246C - adds r1, r6, r1 - ldrh r0, [r0, #8] - ldr r1, [r1] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r5, #8] - ldr r0, _08053080 @ =gUnk_08107988 - adds r0, r6, r0 - ldr r0, [r0] - adds r2, r2, r0 - ldr r0, [r2] - str r0, [r5, #0xc] - ldr r0, _08053084 @ =gUnk_0810309C - adds r0, r6, r0 - ldr r0, [r0] - str r0, [r5, #0x10] - ldr r0, _08053088 @ =gUnk_080B755C - adds r6, r6, r0 - ldr r0, [r6] - str r0, [r5, #0x14] - pop {r4, r5, r6, pc} - .align 2, 0 -_0805306C: .4byte gUnk_03000BF0 -_08053070: .4byte gUnk_03000F50 -_08053074: .4byte gUnk_020342CC -_08053078: .4byte gUnk_0811E214 -_0805307C: .4byte gUnk_0810246C -_08053080: .4byte gUnk_08107988 -_08053084: .4byte gUnk_0810309C -_08053088: .4byte gUnk_080B755C - - thumb_func_start sub_0805308C -sub_0805308C: @ 0x0805308C - push {lr} - adds r1, r0, #0 - ldr r2, _080530AC @ =gUnk_02034350 - movs r3, #0xc - ldrsh r0, [r2, r3] - adds r1, r1, r0 - cmp r1, #0 - bge _0805309E - movs r1, #0 -_0805309E: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - ble _080530A8 - adds r1, r0, #0 -_080530A8: - strh r1, [r2, #0xc] - pop {pc} - .align 2, 0 -_080530AC: .4byte gUnk_02034350 - - thumb_func_start sub_080530B0 -sub_080530B0: @ 0x080530B0 - push {lr} - ldr r0, _080530C0 @ =gUnk_080FCAF8 - ldr r1, _080530C4 @ =gUnk_030010EC - movs r2, #0x20 - bl sub_0801D66C - pop {pc} - .align 2, 0 -_080530C0: .4byte gUnk_080FCAF8 -_080530C4: .4byte gUnk_030010EC - - thumb_func_start sub_080530C8 -sub_080530C8: @ 0x080530C8 - push {r4, r5, lr} - movs r4, #1 - movs r5, #0xc0 - lsls r5, r5, #2 - adds r0, r5, #0 - movs r1, #0x78 - bl sub_0807CB10 - cmp r0, #0 - beq _080530E0 - movs r4, #9 - b _08053138 -_080530E0: - movs r0, #6 - bl sub_0807CC30 - cmp r0, #0 - beq _080530EE - movs r4, #8 - b _08053138 -_080530EE: - adds r0, r5, #0 - movs r1, #0x32 - bl sub_0807CB10 - cmp r0, #0 - beq _080530FE - movs r4, #7 - b _08053138 -_080530FE: - movs r0, #5 - bl sub_0807CC30 - cmp r0, #0 - beq _0805310C - movs r4, #6 - b _08053138 -_0805310C: - movs r0, #4 - bl sub_0807CC30 - cmp r0, #0 - beq _0805311A - movs r4, #5 - b _08053138 -_0805311A: - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #0x9c - bl sub_0807CB10 - cmp r0, #0 - beq _0805312C - movs r4, #4 - b _08053138 -_0805312C: - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - beq _08053138 - movs r4, #2 -_08053138: - ldr r0, _08053140 @ =gUnk_02002A40 - strb r4, [r0, #8] - pop {r4, r5, pc} - .align 2, 0 -_08053140: .4byte gUnk_02002A40 - - thumb_func_start sub_08053144 -sub_08053144: @ 0x08053144 - push {lr} - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - beq _08053154 - movs r0, #0 - b _0805316E -_08053154: - movs r1, #0 - ldr r0, _08053170 @ =gUnk_02033A90 - ldrb r2, [r0, #1] - cmp r2, #0 - beq _0805316C - ldr r0, _08053174 @ =gUnk_030010A0 - adds r0, #0x2e - ldrb r1, [r0] - eors r1, r2 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r1, r0, #0x1f -_0805316C: - adds r0, r1, #0 -_0805316E: - pop {pc} - .align 2, 0 -_08053170: .4byte gUnk_02033A90 -_08053174: .4byte gUnk_030010A0 - - thumb_func_start sub_08053178 -sub_08053178: @ 0x08053178 - push {r4, r5, lr} - bl sub_08053144 - cmp r0, #0 - beq _080531E6 - ldr r0, _080531E8 @ =gUnk_030010A0 - ldr r5, _080531EC @ =gUnk_02033A90 - ldrb r1, [r5, #1] - adds r0, #0x2e - strb r1, [r0] - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - beq _080531E6 - movs r0, #0x51 - bl sub_0807CC30 - cmp r0, #0 - bne _080531DC - bl sub_0805E8D4 - adds r4, r0, #0 - cmp r4, #0 - beq _080531DC - movs r0, #9 - strb r0, [r4, #8] - movs r0, #0x39 - strb r0, [r4, #9] - adds r0, r4, #0 - movs r1, #8 - bl sub_0805EA2C - ldr r0, _080531F0 @ =gUnk_02034350 - ldrb r0, [r0] - cmp r0, #0 - bne _080531DC - ldr r0, _080531F4 @ =gUnk_02002AA0 - ldrb r1, [r5, #1] - bl sub_0801D5A8 - cmp r0, #0 - bne _080531DC - movs r0, #1 - strb r0, [r4, #0xb] - movs r0, #3 - bl sub_08078A90 - bl sub_0805E5A8 -_080531DC: - ldr r0, _080531F4 @ =gUnk_02002AA0 - ldr r1, _080531EC @ =gUnk_02033A90 - ldrb r1, [r1, #1] - bl sub_0801D5BC -_080531E6: - pop {r4, r5, pc} - .align 2, 0 -_080531E8: .4byte gUnk_030010A0 -_080531EC: .4byte gUnk_02033A90 -_080531F0: .4byte gUnk_02034350 -_080531F4: .4byte gUnk_02002AA0 - - thumb_func_start sub_080531F8 -sub_080531F8: @ 0x080531F8 - push {r4, r5, lr} - ldr r1, _0805323C @ =gUnk_03003F80 - ldr r4, _08053240 @ =gUnk_03001160 - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x16] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x18] - bl sub_08053144 - cmp r0, #0 - beq _08053238 - ldr r5, _08053244 @ =gUnk_030010AC - ldr r1, _08053248 @ =gUnk_02002AC8 - adds r0, r5, #0 - movs r2, #0x20 - bl sub_0801D66C - bl sub_08052660 - cmp r0, #0 - beq _08053238 - adds r1, r5, #0 - subs r1, #0xc - ldr r2, _0805324C @ =gUnk_03000BF0 - ldrb r0, [r2, #4] - strb r0, [r1, #0x16] - ldrb r0, [r2, #5] - strb r0, [r1, #0x17] - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x18] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x1a] -_08053238: - pop {r4, r5, pc} - .align 2, 0 -_0805323C: .4byte gUnk_03003F80 -_08053240: .4byte gUnk_03001160 -_08053244: .4byte gUnk_030010AC -_08053248: .4byte gUnk_02002AC8 -_0805324C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08053250 -sub_08053250: @ 0x08053250 - push {r4, lr} - ldr r0, _0805328C @ =gUnk_030010A0 - movs r1, #0 - strb r1, [r0, #0xf] - ldr r3, _08053290 @ =gUnk_03001160 - ldr r4, _08053294 @ =gUnk_03000BF0 - ldrh r1, [r3, #0x2e] - ldrh r2, [r4, #6] - subs r1, r1, r2 - strh r1, [r0, #0x10] - ldrh r1, [r3, #0x32] - ldrh r2, [r4, #8] - subs r1, r1, r2 - strh r1, [r0, #0x12] - ldrb r1, [r3, #0x14] - strb r1, [r0, #0xe] - adds r3, #0x38 - ldrb r1, [r3] - strb r1, [r0, #0x14] - ldrb r1, [r4, #4] - strb r1, [r0, #0xc] - ldrb r1, [r4, #5] - strb r1, [r0, #0xd] - adds r0, #0xc - ldr r1, _08053298 @ =gUnk_02002AC8 - movs r2, #0x20 - bl sub_0801D66C - pop {r4, pc} - .align 2, 0 -_0805328C: .4byte gUnk_030010A0 -_08053290: .4byte gUnk_03001160 -_08053294: .4byte gUnk_03000BF0 -_08053298: .4byte gUnk_02002AC8 - - thumb_func_start sub_0805329C -sub_0805329C: @ 0x0805329C - push {lr} - bl sub_08053144 - cmp r0, #0 - beq _080532E0 - ldr r0, _080532B8 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #0x48 - beq _080532C2 - cmp r0, #0x48 - bgt _080532BC - cmp r0, #0x18 - beq _080532D6 - b _080532DC - .align 2, 0 -_080532B8: .4byte gUnk_03000BF0 -_080532BC: - cmp r0, #0x50 - beq _080532D0 - b _080532DC -_080532C2: - ldr r1, _080532CC @ =gUnk_02002A40 - movs r0, #0 - strb r0, [r1, #7] - b _080532E0 - .align 2, 0 -_080532CC: .4byte gUnk_02002A40 -_080532D0: - bl sub_080530B0 - b _080532E0 -_080532D6: - bl sub_080532E4 - b _080532E0 -_080532DC: - bl sub_08053460 -_080532E0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080532E4 -sub_080532E4: @ 0x080532E4 - ldr r0, _08053318 @ =gUnk_0811E214 - movs r1, #0xb0 - lsls r1, r1, #1 - adds r0, r0, r1 - ldr r0, [r0] - movs r3, #0xa5 - lsls r3, r3, #1 - adds r2, r0, r3 - ldr r1, _0805331C @ =gUnk_030010A0 - movs r0, #0x58 - strb r0, [r1, #0x16] - movs r0, #0x21 - strb r0, [r1, #0x17] - ldrh r0, [r2, #4] - lsrs r0, r0, #1 - ldrh r3, [r2] - adds r0, r0, r3 - strh r0, [r1, #0x18] - strh r0, [r1, #0x1c] - ldrh r0, [r2, #6] - ldrh r2, [r2, #2] - adds r0, r0, r2 - adds r0, #0xa0 - strh r0, [r1, #0x1a] - strh r0, [r1, #0x1e] - bx lr - .align 2, 0 -_08053318: .4byte gUnk_0811E214 -_0805331C: .4byte gUnk_030010A0 - - thumb_func_start sub_08053320 -sub_08053320: @ 0x08053320 - push {r4, lr} - ldr r0, _0805337C @ =gUnk_02034CB0 - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _08053380 @ =gUnk_02021F30 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _08053384 @ =gUnk_020344B0 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _08053388 @ =gUnk_02001A40 - movs r1, #0x80 - lsls r1, r1, #5 - bl sub_0801D630 - movs r0, #0x10 - bl sub_0801D7EC - movs r0, #0x17 - bl sub_0801D7EC - ldr r0, _0805338C @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #4 - bne _08053362 - movs r0, #0x1a - bl sub_0801D7EC -_08053362: - bl sub_08053390 - movs r0, #0xb - bl sub_0801D714 - movs r0, #0xc - bl sub_0801D714 - movs r0, #0 - movs r1, #0 - bl sub_0801D79C - pop {r4, pc} - .align 2, 0 -_0805337C: .4byte gUnk_02034CB0 -_08053380: .4byte gUnk_02021F30 -_08053384: .4byte gUnk_020344B0 -_08053388: .4byte gUnk_02001A40 -_0805338C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08053390 -sub_08053390: @ 0x08053390 - push {lr} - movs r0, #8 - bl sub_0807CA84 - movs r1, #0x19 - cmp r0, #0 - beq _080533A0 - movs r1, #0x18 -_080533A0: - adds r0, r1, #0 - bl sub_0801D7EC - movs r0, #0xa - bl sub_0807CA84 - cmp r0, #0 - beq _080533B6 - movs r0, #0x1d - bl sub_0801D7EC -_080533B6: - movs r0, #0xc - bl sub_0807CA84 - movs r1, #0x1b - cmp r0, #0 - beq _080533C4 - movs r1, #0x1c -_080533C4: - adds r0, r1, #0 - bl sub_0801D7EC - pop {pc} - - thumb_func_start sub_080533CC -sub_080533CC: @ 0x080533CC - ldr r0, _08053400 @ =gUnk_020178E0 - ldr r2, _08053404 @ =0xFFFFFE00 - adds r1, r0, r2 - ldrh r2, [r0] - strh r2, [r1] - adds r0, #2 - adds r1, #2 - ldrh r2, [r0] - strh r2, [r1] - adds r0, #2 - adds r1, #2 - ldrh r2, [r0] - strh r2, [r1] - adds r0, #2 - adds r1, #2 - ldrh r2, [r0] - strh r2, [r1] - ldrh r0, [r0, #2] - strh r0, [r1, #2] - ldr r2, _08053408 @ =gUnk_0200B644 - ldr r0, [r2] - movs r1, #8 - orrs r0, r1 - str r0, [r2] - bx lr - .align 2, 0 -_08053400: .4byte gUnk_020178E0 -_08053404: .4byte 0xFFFFFE00 -_08053408: .4byte gUnk_0200B644 - - thumb_func_start sub_0805340C -sub_0805340C: @ 0x0805340C - push {r4, r5, r6, lr} - ldr r5, _08053428 @ =gUnk_02002ECC - movs r4, #0 - ldr r6, _0805342C @ =gUnk_080FCB18 -_08053414: - ldm r6!, {r1} - adds r0, r5, #0 - bl _call_via_r1 - adds r4, #1 - adds r5, #4 - cmp r4, #7 - bls _08053414 - pop {r4, r5, r6, pc} - .align 2, 0 -_08053428: .4byte gUnk_02002ECC -_0805342C: .4byte gUnk_080FCB18 - - thumb_func_start nullsub_480 -nullsub_480: @ 0x08053430 - bx lr - .align 2, 0 - - thumb_func_start sub_08053434 -sub_08053434: @ 0x08053434 - push {lr} - adds r1, r0, #0 - ldr r0, _0805345C @ =gUnk_02033A90 - ldrb r0, [r0, #1] - cmp r0, #0x1d - bne _0805345A - ldr r0, [r1] - cmp r0, #0 - beq _0805345A - subs r0, #1 - str r0, [r1] - cmp r0, #0 - bne _0805345A - bl sub_08053460 - movs r0, #5 - movs r1, #6 - bl sub_080A7138 -_0805345A: - pop {pc} - .align 2, 0 -_0805345C: .4byte gUnk_02033A90 - - thumb_func_start sub_08053460 -sub_08053460: @ 0x08053460 - push {lr} - ldr r0, _08053488 @ =gUnk_02002A40 - ldr r1, _0805348C @ =0x0000048C - adds r0, r0, r1 - movs r1, #0 - str r1, [r0] - movs r0, #0x8c - lsls r0, r0, #4 - movs r1, #0x79 - bl sub_0807CB10 - cmp r0, #0 - beq _08053480 - movs r0, #0x1c - bl sub_0807CD80 -_08053480: - ldr r0, _08053490 @ =gUnk_080FCB38 - bl sub_0805356C - pop {pc} - .align 2, 0 -_08053488: .4byte gUnk_02002A40 -_0805348C: .4byte 0x0000048C -_08053490: .4byte gUnk_080FCB38 - - thumb_func_start sub_08053494 -sub_08053494: @ 0x08053494 - ldr r0, _080534A0 @ =gUnk_02002A40 - ldr r1, _080534A4 @ =0x0000048C - adds r0, r0, r1 - ldr r1, _080534A8 @ =0x00002A30 - str r1, [r0] - bx lr - .align 2, 0 -_080534A0: .4byte gUnk_02002A40 -_080534A4: .4byte 0x0000048C -_080534A8: .4byte 0x00002A30 - - thumb_func_start sub_080534AC -sub_080534AC: @ 0x080534AC - push {r4, lr} - movs r4, #0x8c - lsls r4, r4, #4 - adds r0, r4, #0 - movs r1, #0x7c - bl sub_0807CB10 - cmp r0, #0 - beq _080534D6 - adds r0, r4, #0 - movs r1, #0x7c - bl sub_0807CD20 - ldr r0, _080534D8 @ =gUnk_02002A40 - ldr r1, _080534DC @ =0x0000048C - adds r0, r0, r1 - movs r1, #0 - str r1, [r0] - ldr r0, _080534E0 @ =0x80100000 - bl sub_080A3268 -_080534D6: - pop {r4, pc} - .align 2, 0 -_080534D8: .4byte gUnk_02002A40 -_080534DC: .4byte 0x0000048C -_080534E0: .4byte 0x80100000 - - thumb_func_start sub_080534E4 -sub_080534E4: @ 0x080534E4 - push {lr} - adds r1, r0, #0 - ldr r0, _080534FC @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #0x1a - beq _080534FA - ldr r0, [r1] - cmp r0, #0 - beq _080534FA - subs r0, #1 - str r0, [r1] -_080534FA: - pop {pc} - .align 2, 0 -_080534FC: .4byte gUnk_03000BF0 - - thumb_func_start sub_08053500 -sub_08053500: @ 0x08053500 - ldr r0, _0805350C @ =gUnk_02002A40 - ldr r1, _08053510 @ =0x00000494 - adds r0, r0, r1 - ldr r1, _08053514 @ =0x00008CA0 - str r1, [r0] - bx lr - .align 2, 0 -_0805350C: .4byte gUnk_02002A40 -_08053510: .4byte 0x00000494 -_08053514: .4byte 0x00008CA0 - - thumb_func_start sub_08053518 -sub_08053518: @ 0x08053518 - push {lr} - bl sub_08053460 - ldr r0, _08053568 @ =gUnk_080FCB62 - bl sub_0805356C - movs r0, #0x1b - bl sub_0807CC30 - cmp r0, #0 - bne _08053534 - movs r0, #0x1a - bl sub_0807CD80 -_08053534: - movs r0, #0x40 - bl sub_0807CA84 - cmp r0, #0 - bne _08053544 - movs r0, #2 - bl sub_0807CD80 -_08053544: - movs r0, #0x41 - bl sub_0807CA84 - cmp r0, #0 - bne _08053554 - movs r0, #3 - bl sub_0807CD80 -_08053554: - movs r0, #0x42 - bl sub_0807CA84 - cmp r0, #0 - bne _08053564 - movs r0, #5 - bl sub_0807CD80 -_08053564: - pop {pc} - .align 2, 0 -_08053568: .4byte gUnk_080FCB62 - - thumb_func_start sub_0805356C -sub_0805356C: @ 0x0805356C - push {r4, r5, lr} - adds r4, r0, #0 - ldrh r0, [r4] - ldr r1, _0805358C @ =0x0000FFFF - cmp r0, r1 - beq _0805358A - adds r5, r1, #0 -_0805357A: - ldrh r0, [r4] - ldrh r1, [r4, #2] - bl sub_0807CD20 - adds r4, #4 - ldrh r0, [r4] - cmp r0, r5 - bne _0805357A -_0805358A: - pop {r4, r5, pc} - .align 2, 0 -_0805358C: .4byte 0x0000FFFF - - thumb_func_start sub_08053590 -sub_08053590: @ 0x08053590 - push {lr} - ldr r1, _080535A4 @ =gUnk_080FCBB4 - ldr r0, _080535A8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080535A4: .4byte gUnk_080FCBB4 -_080535A8: .4byte gUnk_02000080 - - thumb_func_start sub_080535AC -sub_080535AC: @ 0x080535AC - push {lr} - ldr r2, _080535DC @ =gUnk_02000080 - movs r1, #1 - strb r1, [r2, #6] - movs r0, #0x78 - strh r0, [r2, #8] - ldr r0, _080535E0 @ =gUnk_02032EC0 - strb r1, [r0, #6] - ldr r0, _080535E4 @ =gUnk_02000070 - strb r1, [r0] - ldr r2, _080535E8 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _080535EC @ =0x0000FEFF - ands r0, r1 - strh r0, [r2] - ldr r0, _080535F0 @ =gUnk_080FCB94 - bl sub_0804ADDC - movs r0, #6 - movs r1, #8 - bl sub_08050054 - pop {pc} - .align 2, 0 -_080535DC: .4byte gUnk_02000080 -_080535E0: .4byte gUnk_02032EC0 -_080535E4: .4byte gUnk_02000070 -_080535E8: .4byte gUnk_03000F50 -_080535EC: .4byte 0x0000FEFF -_080535F0: .4byte gUnk_080FCB94 - - thumb_func_start sub_080535F4 -sub_080535F4: @ 0x080535F4 - push {lr} - ldr r0, _0805360C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053608 - bl sub_0805E5B4 - ldr r1, _08053610 @ =gUnk_02000080 - movs r0, #2 - strb r0, [r1, #6] -_08053608: - pop {pc} - .align 2, 0 -_0805360C: .4byte gUnk_03000FD0 -_08053610: .4byte gUnk_02000080 - - thumb_func_start nullsub_481 -nullsub_481: @ 0x08053614 - bx lr - .align 2, 0 - - thumb_func_start sub_08053618 -sub_08053618: @ 0x08053618 - push {lr} - ldr r1, _08053630 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805362C - bl sub_08052004 -_0805362C: - pop {pc} - .align 2, 0 -_08053630: .4byte gUnk_02000080 - - thumb_func_start sub_08053634 -sub_08053634: @ 0x08053634 - push {lr} - ldr r1, _08053644 @ =gUnk_02032EC0 - movs r0, #3 - strb r0, [r1] - bl sub_08056418 - pop {pc} - .align 2, 0 -_08053644: .4byte gUnk_02032EC0 - - thumb_func_start sub_08053648 -sub_08053648: @ 0x08053648 - push {lr} - movs r0, #0x2d - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08053674 - ldr r0, _08053678 @ =gUnk_03000BF0 - movs r3, #0xb4 - lsls r3, r3, #2 - adds r1, r3, #0 - ldrh r3, [r0, #6] - adds r1, r1, r3 - strh r1, [r2, #0x2e] - movs r3, #0xa4 - lsls r3, r3, #1 - adds r1, r3, #0 - ldrh r0, [r0, #8] - adds r1, r1, r0 - strh r1, [r2, #0x32] -_08053674: - pop {pc} - .align 2, 0 -_08053678: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805367C -sub_0805367C: @ 0x0805367C - ldr r1, _08053688 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - bx lr - .align 2, 0 -_08053688: .4byte gUnk_02000080 - - thumb_func_start sub_0805368C -sub_0805368C: @ 0x0805368C - push {lr} - movs r0, #6 - movs r1, #0x5d - movs r2, #6 - bl sub_0805EB00 - cmp r0, #0 - beq _080536A6 - bl sub_0805E7BC - movs r0, #0xf0 - bl sub_080A3268 -_080536A6: - pop {pc} - - thumb_func_start sub_080536A8 -sub_080536A8: @ 0x080536A8 - push {lr} - movs r0, #5 - movs r1, #5 - movs r2, #4 - movs r3, #0x10 - bl sub_080A71C4 - pop {pc} - - thumb_func_start sub_080536B8 -sub_080536B8: @ 0x080536B8 - push {lr} - movs r0, #5 - movs r1, #3 - movs r2, #4 - movs r3, #4 - bl sub_080A71C4 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080536D4 -sub_080536D4: @ 0x080536D4 - push {lr} - ldr r1, _080536E8 @ =gUnk_080FCCFC - ldr r0, _080536EC @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080536E8: .4byte gUnk_080FCCFC -_080536EC: .4byte gUnk_02000080 - - thumb_func_start sub_080536F0 -sub_080536F0: @ 0x080536F0 - push {lr} - ldr r1, _08053704 @ =gUnk_080FCD38 - ldr r0, _08053708 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08053704: .4byte gUnk_080FCD38 -_08053708: .4byte gUnk_02000080 - - thumb_func_start sub_0805370C -sub_0805370C: @ 0x0805370C - push {lr} - ldr r1, _08053730 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - ldr r1, _08053734 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - bl sub_08051FF0 - ldr r0, _08053738 @ =gUnk_080FCC54 - bl sub_0804ADDC - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {pc} - .align 2, 0 -_08053730: .4byte gUnk_02000080 -_08053734: .4byte gUnk_02000070 -_08053738: .4byte gUnk_080FCC54 - - thumb_func_start sub_0805373C -sub_0805373C: @ 0x0805373C - push {lr} - ldr r1, _08053750 @ =gUnk_080FCD40 - ldr r0, _08053754 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08053750: .4byte gUnk_080FCD40 -_08053754: .4byte gUnk_02000080 - - thumb_func_start sub_08053758 -sub_08053758: @ 0x08053758 - push {r4, lr} - ldr r1, _080537DC @ =gUnk_02000080 - movs r2, #0 - movs r3, #1 - strb r3, [r1, #6] - movs r4, #0 - movs r0, #0x78 - strh r0, [r1, #8] - movs r0, #0x1e - strh r0, [r1, #0xa] - strb r4, [r1, #0x10] - ldr r0, _080537E0 @ =gUnk_02032EC0 - strb r3, [r0, #6] - ldr r0, _080537E4 @ =gUnk_02025EB0 - str r2, [r0] - ldr r0, _080537E8 @ =gUnk_0200B650 - str r2, [r0] - ldr r0, _080537EC @ =gUnk_03000BF0 - str r2, [r0, #0x30] - strh r2, [r0, #0xc] - strh r2, [r0, #0xa] - bl sub_0801B170 - movs r0, #0 - bl sub_0801DA90 - ldr r2, _080537F0 @ =gUnk_03000F50 - movs r0, #0x99 - lsls r0, r0, #6 - strh r0, [r2] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _080537F4 @ =0x00002244 - strh r0, [r1] - adds r1, #2 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - subs r1, #8 - movs r0, #0x1f - strh r0, [r1] - adds r1, #2 - movs r0, #0x3f - strh r0, [r1] - subs r1, #0xa - movs r0, #0xf0 - strh r0, [r1] - adds r1, #4 - movs r0, #0x60 - strh r0, [r1] - ldr r0, _080537F8 @ =0x00001C4E - strh r0, [r2, #0x14] - ldr r0, _080537FC @ =0x00001DC1 - strh r0, [r2, #0x20] - movs r0, #0xf - bl sub_080A3268 - bl sub_0805E5B4 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_080537DC: .4byte gUnk_02000080 -_080537E0: .4byte gUnk_02032EC0 -_080537E4: .4byte gUnk_02025EB0 -_080537E8: .4byte gUnk_0200B650 -_080537EC: .4byte gUnk_03000BF0 -_080537F0: .4byte gUnk_03000F50 -_080537F4: .4byte 0x00002244 -_080537F8: .4byte 0x00001C4E -_080537FC: .4byte 0x00001DC1 - - thumb_func_start sub_08053800 -sub_08053800: @ 0x08053800 - push {r4, r5, lr} - ldr r0, _0805387C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805387A - ldr r1, _08053880 @ =gUnk_02000080 - ldrb r5, [r1, #0x10] - lsls r4, r5, #1 - adds r4, r4, r5 - lsls r4, r4, #2 - ldr r0, _08053884 @ =gUnk_080FCCB4 - adds r4, r4, r0 - ldrh r0, [r4, #8] - movs r2, #0 - strh r0, [r1, #8] - movs r0, #0x1e - strh r0, [r1, #0xa] - ldrb r0, [r1, #0x10] - adds r0, #1 - strb r0, [r1, #0x10] - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - strb r2, [r1, #7] - adds r0, r5, #0 - adds r0, #0x8a - bl sub_0801D714 - adds r0, r5, #0 - adds r0, #0x3a - bl sub_0801D7EC - ldr r0, _08053888 @ =gUnk_02021F30 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - ldr r0, _0805388C @ =0x00000F01 - adds r5, r5, r0 - ldr r1, [r4] - adds r0, r5, #0 - bl sub_0805F46C - ldr r2, _08053890 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r2, #0x1a] - adds r1, r2, #0 - adds r1, #0x68 - movs r0, #0x10 - strh r0, [r1] - ldrh r1, [r4, #4] - adds r0, r2, #0 - adds r0, #0x58 - strh r1, [r0] - ldrh r1, [r4, #6] - adds r0, #4 - strh r1, [r0] - ldrh r1, [r4, #0xa] - movs r0, #4 - bl sub_08050054 -_0805387A: - pop {r4, r5, pc} - .align 2, 0 -_0805387C: .4byte gUnk_03000FD0 -_08053880: .4byte gUnk_02000080 -_08053884: .4byte gUnk_080FCCB4 -_08053888: .4byte gUnk_02021F30 -_0805388C: .4byte 0x00000F01 -_08053890: .4byte gUnk_03000F50 - - thumb_func_start sub_08053894 -sub_08053894: @ 0x08053894 - push {r4, lr} - ldr r0, _080538B4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080538F8 - ldr r1, _080538B8 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - ldrh r0, [r1, #0xa] - adds r4, r1, #0 - cmp r0, #0 - beq _080538BC - subs r0, #1 - strh r0, [r4, #0xa] - b _080538E4 - .align 2, 0 -_080538B4: .4byte gUnk_03000FD0 -_080538B8: .4byte gUnk_02000080 -_080538BC: - ldr r0, _080538FC @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _080538E4 - ldrb r1, [r4, #7] - cmp r1, #0xf - bhi _080538E4 - adds r1, #1 - strb r1, [r4, #7] - lsls r1, r1, #0x18 - ldr r3, _08053900 @ =gUnk_03000F50 - lsrs r2, r1, #0x10 - lsrs r1, r1, #0x19 - movs r0, #0x10 - subs r0, r0, r1 - orrs r2, r0 - adds r3, #0x68 - strh r2, [r3] -_080538E4: - ldrh r0, [r4, #8] - cmp r0, #0 - bne _080538F8 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #5 - movs r1, #8 - bl sub_08050054 -_080538F8: - pop {r4, pc} - .align 2, 0 -_080538FC: .4byte gUnk_030010A0 -_08053900: .4byte gUnk_03000F50 - - thumb_func_start sub_08053904 -sub_08053904: @ 0x08053904 - push {r4, lr} - ldr r0, _08053924 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053968 - ldr r1, _08053928 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - ldrh r0, [r1, #0xa] - adds r4, r1, #0 - cmp r0, #0 - beq _0805392C - subs r0, #1 - strh r0, [r4, #0xa] - b _08053954 - .align 2, 0 -_08053924: .4byte gUnk_03000FD0 -_08053928: .4byte gUnk_02000080 -_0805392C: - ldr r0, _0805396C @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _08053954 - ldrb r1, [r4, #7] - cmp r1, #0xf - bhi _08053954 - adds r1, #1 - strb r1, [r4, #7] - lsls r1, r1, #0x18 - ldr r3, _08053970 @ =gUnk_03000F50 - lsrs r2, r1, #0x10 - lsrs r1, r1, #0x19 - movs r0, #0x10 - subs r0, r0, r1 - orrs r2, r0 - adds r3, #0x68 - strh r2, [r3] -_08053954: - ldrh r0, [r4, #8] - cmp r0, #0 - bne _08053968 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #5 - movs r1, #1 - bl sub_08050054 -_08053968: - pop {r4, pc} - .align 2, 0 -_0805396C: .4byte gUnk_030010A0 -_08053970: .4byte gUnk_03000F50 - - thumb_func_start sub_08053974 -sub_08053974: @ 0x08053974 - push {lr} - ldr r0, _080539AC @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080539A8 - bl sub_0804FFE4 - movs r0, #1 - bl sub_0801DA90 - bl sub_080197AC - bl sub_08051F78 - ldr r0, _080539B0 @ =gUnk_080FCBC4 - bl sub_0804ADDC - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - ldr r1, _080539B4 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_080539A8: - pop {pc} - .align 2, 0 -_080539AC: .4byte gUnk_03000FD0 -_080539B0: .4byte gUnk_080FCBC4 -_080539B4: .4byte gUnk_02000080 - - thumb_func_start nullsub_482 -nullsub_482: @ 0x080539B8 - bx lr - .align 2, 0 - - thumb_func_start sub_080539BC -sub_080539BC: @ 0x080539BC - push {lr} - bl sub_080197AC - bl sub_0805E89C - movs r0, #0x22 - movs r1, #0x11 - movs r2, #0 - movs r3, #0 - bl sub_08051F9C - movs r0, #0x22 - movs r1, #0x11 - bl sub_0804B0B0 - ldr r0, _080539EC @ =gUnk_080FCC14 - bl sub_0804ADDC - ldr r1, _080539F0 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - pop {pc} - .align 2, 0 -_080539EC: .4byte gUnk_080FCC14 -_080539F0: .4byte gUnk_02000080 - - thumb_func_start sub_080539F4 -sub_080539F4: @ 0x080539F4 - push {lr} - ldr r0, _08053A14 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053A10 - movs r0, #1 - bl sub_0801DA90 - ldr r0, _08053A18 @ =gUnk_02000080 - ldrb r1, [r0, #6] - adds r1, #1 - strb r1, [r0, #6] - movs r1, #0x3c - strh r1, [r0, #8] -_08053A10: - pop {pc} - .align 2, 0 -_08053A14: .4byte gUnk_03000FD0 -_08053A18: .4byte gUnk_02000080 - - thumb_func_start sub_08053A1C -sub_08053A1C: @ 0x08053A1C - push {r4, lr} - ldr r1, _08053A50 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08053A4E - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - movs r4, #8 - movs r0, #8 - strh r0, [r1, #8] - ldr r0, _08053A54 @ =0x00000F07 - bl sub_08056378 - ldr r1, _08053A58 @ =gUnk_02000050 - movs r0, #1 - strb r0, [r1, #6] - strb r4, [r1, #7] - movs r0, #4 - movs r1, #8 - bl sub_08050054 -_08053A4E: - pop {r4, pc} - .align 2, 0 -_08053A50: .4byte gUnk_02000080 -_08053A54: .4byte 0x00000F07 -_08053A58: .4byte gUnk_02000050 - - thumb_func_start sub_08053A5C -sub_08053A5C: @ 0x08053A5C - push {lr} - ldr r0, _08053A88 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08053A86 - ldr r1, _08053A8C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08053A86 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - movs r0, #5 - movs r1, #8 - bl sub_08050054 -_08053A86: - pop {pc} - .align 2, 0 -_08053A88: .4byte gUnk_02000050 -_08053A8C: .4byte gUnk_02000080 - - thumb_func_start sub_08053A90 -sub_08053A90: @ 0x08053A90 - push {lr} - ldr r0, _08053AA8 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053AA4 - ldr r1, _08053AAC @ =gUnk_02032EC0 - movs r0, #3 - strb r0, [r1] - bl sub_080197AC -_08053AA4: - pop {pc} - .align 2, 0 -_08053AA8: .4byte gUnk_03000FD0 -_08053AAC: .4byte gUnk_02032EC0 - - thumb_func_start sub_08053AB0 -sub_08053AB0: @ 0x08053AB0 - push {lr} - ldr r1, _08053AC4 @ =gUnk_080FCDD4 - ldr r0, _08053AC8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08053AC4: .4byte gUnk_080FCDD4 -_08053AC8: .4byte gUnk_02000080 - - thumb_func_start sub_08053ACC -sub_08053ACC: @ 0x08053ACC - push {lr} - ldr r1, _08053AF4 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - ldr r1, _08053AF8 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - bl sub_08051FF0 - ldr r0, _08053AFC @ =gUnk_080FCD84 - bl sub_0804ADDC - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - pop {pc} - .align 2, 0 -_08053AF4: .4byte gUnk_02000080 -_08053AF8: .4byte gUnk_02000070 -_08053AFC: .4byte gUnk_080FCD84 - - thumb_func_start sub_08053B00 -sub_08053B00: @ 0x08053B00 - ldr r1, _08053B0C @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - bx lr - .align 2, 0 -_08053B0C: .4byte gUnk_02000080 - - thumb_func_start sub_08053B10 -sub_08053B10: @ 0x08053B10 - push {lr} - movs r0, #1 - bl sub_0807CC3C - cmp r0, #0 - beq _08053B34 - ldr r0, _08053B38 @ =gUnk_02000080 - ldrb r1, [r0, #5] - adds r1, #1 - strb r1, [r0, #5] - movs r0, #1 - bl sub_0801DA90 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #4 - bl sub_08050054 -_08053B34: - pop {pc} - .align 2, 0 -_08053B38: .4byte gUnk_02000080 - - thumb_func_start sub_08053B3C -sub_08053B3C: @ 0x08053B3C - push {r4, lr} - movs r4, #0x80 - lsls r4, r4, #1 - movs r0, #5 - movs r1, #4 - movs r2, #5 - adds r3, r4, #0 - bl sub_080A71C4 - movs r0, #5 - adds r1, r4, #0 - bl sub_08050054 - pop {r4, pc} - - thumb_func_start sub_08053B58 -sub_08053B58: @ 0x08053B58 - push {lr} - ldr r1, _08053B6C @ =gUnk_080FCEB0 - ldr r0, _08053B70 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08053B6C: .4byte gUnk_080FCEB0 -_08053B70: .4byte gUnk_02000080 - - thumb_func_start sub_08053B74 -sub_08053B74: @ 0x08053B74 - push {lr} - ldr r1, _08053BA0 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - ldr r1, _08053BA4 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r0, _08053BA8 @ =gUnk_080FCDE0 - bl sub_0804ADDC - bl sub_0805E5B4 - bl sub_0805E470 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - pop {pc} - .align 2, 0 -_08053BA0: .4byte gUnk_02000080 -_08053BA4: .4byte gUnk_02000070 -_08053BA8: .4byte gUnk_080FCDE0 - - thumb_func_start sub_08053BAC -sub_08053BAC: @ 0x08053BAC - ldr r1, _08053BB8 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - bx lr - .align 2, 0 -_08053BB8: .4byte gUnk_02000080 - - thumb_func_start sub_08053BBC -sub_08053BBC: @ 0x08053BBC - push {lr} - movs r0, #0 - bl sub_0807CC3C - cmp r0, #0 - beq _08053BE0 - ldr r0, _08053BE4 @ =gUnk_02000080 - ldrb r1, [r0, #5] - adds r1, #1 - strb r1, [r0, #5] - movs r0, #1 - bl sub_0801DA90 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #4 - bl sub_08050054 -_08053BE0: - pop {pc} - .align 2, 0 -_08053BE4: .4byte gUnk_02000080 - - thumb_func_start sub_08053BE8 -sub_08053BE8: @ 0x08053BE8 - push {r4, lr} - movs r4, #0x80 - lsls r4, r4, #1 - movs r0, #5 - movs r1, #2 - movs r2, #5 - adds r3, r4, #0 - bl sub_080A71C4 - movs r0, #5 - adds r1, r4, #0 - bl sub_08050054 - pop {r4, pc} - - thumb_func_start sub_08053C04 -sub_08053C04: @ 0x08053C04 - push {lr} - ldr r1, _08053C18 @ =gUnk_080FCEEC - ldr r0, _08053C1C @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08053C18: .4byte gUnk_080FCEEC -_08053C1C: .4byte gUnk_02000080 - - thumb_func_start sub_08053C20 -sub_08053C20: @ 0x08053C20 - push {lr} - ldr r1, _08053C50 @ =gUnk_02000080 - movs r2, #1 - strb r2, [r1, #6] - movs r0, #0x78 - strh r0, [r1, #8] - ldr r0, _08053C54 @ =gUnk_02000070 - strb r2, [r0] - bl sub_08051FF0 - movs r0, #4 - bl sub_0805B4D0 - ldr r0, _08053C58 @ =gUnk_080FCEBC - bl sub_0804ADDC - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - movs r0, #0x33 - bl sub_080A3268 - pop {pc} - .align 2, 0 -_08053C50: .4byte gUnk_02000080 -_08053C54: .4byte gUnk_02000070 -_08053C58: .4byte gUnk_080FCEBC - - thumb_func_start nullsub_483 -nullsub_483: @ 0x08053C5C - bx lr - .align 2, 0 - - thumb_func_start sub_08053C60 -sub_08053C60: @ 0x08053C60 - push {lr} - movs r0, #5 - movs r1, #2 - bl sub_08050054 - movs r0, #0xf4 - bl sub_080A3268 - ldr r0, _08053C80 @ =0x80100000 - bl sub_080A3268 - movs r0, #3 - bl sub_08056010 - pop {pc} - .align 2, 0 -_08053C80: .4byte 0x80100000 - - thumb_func_start sub_08053C84 -sub_08053C84: @ 0x08053C84 - ldr r1, _08053C8C @ =gUnk_02000080 - movs r0, #2 - strb r0, [r1, #6] - bx lr - .align 2, 0 -_08053C8C: .4byte gUnk_02000080 - - thumb_func_start sub_08053C90 -sub_08053C90: @ 0x08053C90 - push {lr} - ldr r1, _08053CA4 @ =gUnk_080FCEF8 - ldr r0, _08053CA8 @ =gUnk_02000080 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08053CA4: .4byte gUnk_080FCEF8 -_08053CA8: .4byte gUnk_02000080 - - thumb_func_start sub_08053CAC -sub_08053CAC: @ 0x08053CAC - push {lr} - ldr r1, _08053CC0 @ =gUnk_080FCFA4 - ldr r0, _08053CC4 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08053CC0: .4byte gUnk_080FCFA4 -_08053CC4: .4byte gUnk_02000080 - - thumb_func_start sub_08053CC8 -sub_08053CC8: @ 0x08053CC8 - push {r4, r5, r6, lr} - ldr r6, _08053D20 @ =gUnk_02000080 - ldrb r4, [r6, #3] - lsls r4, r4, #4 - ldr r0, _08053D24 @ =gUnk_080FCF04 - adds r4, r4, r0 - adds r0, r4, #0 - adds r0, #8 - str r0, [r6, #0xc] - ldr r0, [r4] - bl sub_0804ADDC - ldrb r0, [r4, #4] - ldrb r1, [r4, #5] - movs r2, #1 - bl sub_0804B0FC - bl sub_0804ADDC - ldrb r0, [r4, #4] - ldrb r1, [r4, #5] - movs r2, #2 - bl sub_0804B0FC - bl sub_0804ADDC - movs r5, #1 - strb r5, [r6, #6] - ldr r2, _08053D28 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _08053D2C @ =0x0000FEFF - ands r0, r1 - strh r0, [r2] - ldr r0, _08053D30 @ =gUnk_02000070 - strb r5, [r0] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - ldrb r0, [r4, #5] - cmp r0, #0x1d - bne _08053D1E - strh r5, [r6, #0xa] -_08053D1E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08053D20: .4byte gUnk_02000080 -_08053D24: .4byte gUnk_080FCF04 -_08053D28: .4byte gUnk_03000F50 -_08053D2C: .4byte 0x0000FEFF -_08053D30: .4byte gUnk_02000070 - - thumb_func_start sub_08053D34 -sub_08053D34: @ 0x08053D34 - push {r4, lr} - ldr r1, _08053D88 @ =gUnk_02000080 - ldrh r0, [r1, #0xa] - cmp r0, #0 - beq _08053D72 - movs r0, #0 - strh r0, [r1, #0xa] - movs r4, #0xd0 - lsls r4, r4, #3 - adds r0, r4, #0 - movs r1, #0x3d - bl sub_0807CB10 - cmp r0, #0 - beq _08053D5C - movs r0, #0x74 - movs r1, #0xc4 - movs r2, #1 - bl sub_0807B314 -_08053D5C: - adds r0, r4, #0 - movs r1, #0x3e - bl sub_0807CB10 - cmp r0, #0 - beq _08053D72 - movs r0, #0x74 - movs r1, #0xcc - movs r2, #1 - bl sub_0807B314 -_08053D72: - ldr r0, _08053D8C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053D86 - ldr r1, _08053D88 @ =gUnk_02000080 - movs r0, #0x78 - strh r0, [r1, #8] - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08053D86: - pop {r4, pc} - .align 2, 0 -_08053D88: .4byte gUnk_02000080 -_08053D8C: .4byte gUnk_03000FD0 - - thumb_func_start sub_08053D90 -sub_08053D90: @ 0x08053D90 - push {lr} - ldr r1, _08053DB0 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08053DAC - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - movs r0, #0x10 - bl sub_080500F4 -_08053DAC: - pop {pc} - .align 2, 0 -_08053DB0: .4byte gUnk_02000080 - - thumb_func_start sub_08053DB4 -sub_08053DB4: @ 0x08053DB4 - push {r4, r5, lr} - ldr r0, _08053E20 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053E1C - ldr r5, _08053E24 @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldrb r0, [r4, #4] - ldrb r1, [r4, #5] - bl sub_08052FF4 - bl sub_0807C740 - ldr r1, _08053E28 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r1, _08053E2C @ =gUnk_03000BF0 - movs r0, #6 - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0xa] - adds r0, r0, r2 - strh r0, [r1, #0xa] - movs r0, #7 - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0xc] - adds r0, r0, r2 - strh r0, [r1, #0xc] - ldr r0, [r4] - bl sub_0804ADDC - ldrb r0, [r4, #4] - ldrb r1, [r4, #5] - movs r2, #1 - bl sub_0804B0FC - bl sub_0804ADDC - ldrb r0, [r4, #4] - ldrb r1, [r4, #5] - movs r2, #2 - bl sub_0804B0FC - bl sub_0804ADDC - movs r0, #0x78 - strh r0, [r5, #8] - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - movs r0, #0x10 - bl sub_080500F4 -_08053E1C: - pop {r4, r5, pc} - .align 2, 0 -_08053E20: .4byte gUnk_03000FD0 -_08053E24: .4byte gUnk_02000080 -_08053E28: .4byte gUnk_02000070 -_08053E2C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08053E30 -sub_08053E30: @ 0x08053E30 - push {lr} - ldr r0, _08053E50 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053E4E - ldr r1, _08053E54 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08053E4E - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08053E4E: - pop {pc} - .align 2, 0 -_08053E50: .4byte gUnk_03000FD0 -_08053E54: .4byte gUnk_02000080 - - thumb_func_start sub_08053E58 -sub_08053E58: @ 0x08053E58 - push {lr} - ldr r1, _08053E6C @ =gUnk_080FD108 - ldr r0, _08053E70 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08053E6C: .4byte gUnk_080FD108 -_08053E70: .4byte gUnk_02000080 - - thumb_func_start sub_08053E74 -sub_08053E74: @ 0x08053E74 - push {r4, lr} - ldr r0, _08053EB0 @ =gUnk_080FCFB8 - ldr r4, _08053EB4 @ =gUnk_02000080 - str r0, [r4, #0xc] - ldr r0, [r0] - bl sub_0804ADDC - movs r0, #0x78 - strh r0, [r4, #8] - movs r0, #0x3c - strh r0, [r4, #0xa] - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r2, _08053EB8 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _08053EBC @ =0x0000FEFF - ands r0, r1 - strh r0, [r2] - ldr r1, _08053EC0 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #1 - bl sub_0805E450 - movs r0, #4 - movs r1, #8 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08053EB0: .4byte gUnk_080FCFB8 -_08053EB4: .4byte gUnk_02000080 -_08053EB8: .4byte gUnk_03000F50 -_08053EBC: .4byte 0x0000FEFF -_08053EC0: .4byte gUnk_02000070 - - thumb_func_start sub_08053EC4 -sub_08053EC4: @ 0x08053EC4 - push {r4, lr} - ldr r0, _08053EF4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053EF0 - ldr r4, _08053EF8 @ =gUnk_02000080 - ldrh r0, [r4, #0xa] - subs r0, #1 - strh r0, [r4, #0xa] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08053EF0 - ldr r1, [r4, #0xc] - adds r0, r1, #0 - adds r0, #0xc - str r0, [r4, #0xc] - ldr r0, [r1, #4] - bl sub_0804ADDC - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] -_08053EF0: - pop {r4, pc} - .align 2, 0 -_08053EF4: .4byte gUnk_03000FD0 -_08053EF8: .4byte gUnk_02000080 - - thumb_func_start sub_08053EFC -sub_08053EFC: @ 0x08053EFC - push {lr} - ldr r1, _08053F1C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08053F18 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - movs r0, #8 - bl sub_080500F4 -_08053F18: - pop {pc} - .align 2, 0 -_08053F1C: .4byte gUnk_02000080 - - thumb_func_start sub_08053F20 -sub_08053F20: @ 0x08053F20 - push {r4, r5, lr} - ldr r0, _08053F78 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053F74 - bl sub_0805E89C - ldr r5, _08053F7C @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldrb r0, [r4, #8] - ldrb r1, [r4, #9] - bl sub_08052FF4 - bl sub_0807C740 - ldr r1, _08053F80 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r1, _08053F84 @ =gUnk_03000BF0 - movs r0, #0xa - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0xa] - adds r0, r0, r2 - strh r0, [r1, #0xa] - movs r0, #0xb - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0xc] - adds r0, r0, r2 - strh r0, [r1, #0xc] - ldr r0, [r4] - bl sub_0804ADDC - movs r0, #0x78 - strh r0, [r5, #8] - movs r0, #0x3c - strh r0, [r5, #0xa] - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - movs r0, #8 - bl sub_080500F4 -_08053F74: - pop {r4, r5, pc} - .align 2, 0 -_08053F78: .4byte gUnk_03000FD0 -_08053F7C: .4byte gUnk_02000080 -_08053F80: .4byte gUnk_02000070 -_08053F84: .4byte gUnk_03000BF0 - - thumb_func_start sub_08053F88 -sub_08053F88: @ 0x08053F88 - push {lr} - ldr r0, _08053FAC @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08053FAA - ldr r1, _08053FB0 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08053FAA - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] - bl sub_0805E470 -_08053FAA: - pop {pc} - .align 2, 0 -_08053FAC: .4byte gUnk_03000FD0 -_08053FB0: .4byte gUnk_02000080 - - thumb_func_start sub_08053FB4 -sub_08053FB4: @ 0x08053FB4 - push {lr} - ldr r1, _08053FC8 @ =gUnk_080FD138 - ldr r0, _08053FCC @ =gUnk_02000080 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08053FC8: .4byte gUnk_080FD138 -_08053FCC: .4byte gUnk_02000080 - - thumb_func_start sub_08053FD0 -sub_08053FD0: @ 0x08053FD0 - lsls r0, r0, #3 - ldr r1, _08053FDC @ =gUnk_080FD964 - adds r0, r0, r1 - ldrh r0, [r0, #4] - bx lr - .align 2, 0 -_08053FDC: .4byte gUnk_080FD964 - - thumb_func_start sub_08053FE0 -sub_08053FE0: @ 0x08053FE0 - lsls r0, r0, #3 - ldr r1, _08053FEC @ =gUnk_080FD964 - adds r0, r0, r1 - ldrh r0, [r0] - bx lr - .align 2, 0 -_08053FEC: .4byte gUnk_080FD964 - - thumb_func_start sub_08053FF0 -sub_08053FF0: @ 0x08053FF0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r7, r1, #0 - bl sub_0807CA84 - adds r5, r0, #0 - lsls r1, r6, #3 - ldr r0, _08054010 @ =gUnk_080FD5B4 - adds r4, r1, r0 - cmp r5, #0 - bne _08054014 - ldrh r0, [r4, #4] - mov r8, r0 - b _08054018 - .align 2, 0 -_08054010: .4byte gUnk_080FD5B4 -_08054014: - ldrh r2, [r4, #6] - mov r8, r2 -_08054018: - adds r0, r6, #0 - bl sub_080544C8 - cmp r0, #0 - bne _08054034 - adds r0, r6, #0 - bl sub_08054398 - cmp r5, #0 - bne _08054034 - adds r0, r6, #0 - movs r1, #1 - bl sub_0807CAA0 -_08054034: - ldrb r0, [r4, #1] - cmp r0, #0x12 - bls _0805403C - b _0805427C -_0805403C: - lsls r0, r0, #2 - ldr r1, _08054048 @ =_0805404C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08054048: .4byte _0805404C -_0805404C: @ jump table - .4byte _0805427C @ case 0 - .4byte _08054098 @ case 1 - .4byte _080540A6 @ case 2 - .4byte _080540C0 @ case 3 - .4byte _08054104 @ case 4 - .4byte _0805414C @ case 5 - .4byte _08054154 @ case 6 - .4byte _08054194 @ case 7 - .4byte _080541B6 @ case 8 - .4byte _080541F0 @ case 9 - .4byte _08054212 @ case 10 - .4byte _080541F8 @ case 11 - .4byte _08054238 @ case 12 - .4byte _08054174 @ case 13 - .4byte _08054240 @ case 14 - .4byte _0805425C @ case 15 - .4byte _08054264 @ case 16 - .4byte _080541B0 @ case 17 - .4byte _0805417C @ case 18 -_08054098: - ldrb r0, [r4, #2] - bl sub_080526A0 - movs r0, #0x71 - bl sub_080A3268 - b _0805427C -_080540A6: - ldr r0, _080540BC @ =gUnk_080FD5A8 - ldrb r1, [r4, #2] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - bl sub_080526CC - movs r0, #0x6f - bl sub_080A3268 - b _0805427C - .align 2, 0 -_080540BC: .4byte gUnk_080FD5A8 -_080540C0: - movs r5, #0 - movs r4, #0x1c - b _080540CA -_080540C6: - adds r4, r1, #1 - adds r5, #1 -_080540CA: - cmp r5, #3 - bls _080540D0 - b _0805427C -_080540D0: - adds r0, r4, #0 - bl sub_0807CA84 - adds r1, r4, #0 - cmp r0, #0 - bne _080540C6 - adds r6, r4, #0 - ldr r0, _08054100 @ =gUnk_02002A40 - adds r0, #0xb6 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, #0 - bne _080540EE - movs r0, #0x20 - strb r0, [r1] -_080540EE: - adds r0, r6, #0 - movs r1, #1 - bl sub_0807CAA0 - adds r0, r6, #0 - bl sub_08054398 - b _0805427C - .align 2, 0 -_08054100: .4byte gUnk_02002A40 -_08054104: - movs r5, #0 - ldr r0, _08054144 @ =gUnk_02002A40 - adds r2, r0, #0 - adds r2, #0xb6 - ldrb r1, [r2] - adds r3, r0, #0 - cmp r1, #0x20 - beq _08054126 - adds r1, r2, #0 -_08054116: - adds r5, #1 - cmp r5, #3 - bls _0805411E - b _0805427C -_0805411E: - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, #0x20 - bne _08054116 -_08054126: - cmp r5, #3 - bls _0805412C - b _0805427C -_0805412C: - adds r0, r3, #0 - adds r0, #0xb6 - adds r0, r5, r0 - strb r6, [r0] - adds r0, r6, #0 - movs r1, #1 - bl sub_0807CAA0 - ldr r0, _08054148 @ =0x00000109 - bl sub_080A3268 - b _0805427C - .align 2, 0 -_08054144: .4byte gUnk_02002A40 -_08054148: .4byte 0x00000109 -_0805414C: - movs r0, #1 - bl sub_080526F8 - b _0805424E -_08054154: - ldr r1, _08054168 @ =gUnk_02002A40 - ldr r0, _0805416C @ =gUnk_02033A90 - ldr r2, _08054170 @ =0x0000046C - adds r1, r1, r2 - ldrb r0, [r0, #3] - adds r1, r1, r0 - ldrb r0, [r1] - ldrb r2, [r4, #2] - orrs r0, r2 - b _0805427A - .align 2, 0 -_08054168: .4byte gUnk_02002A40 -_0805416C: .4byte gUnk_02033A90 -_08054170: .4byte 0x0000046C -_08054174: - movs r0, #0x72 - bl sub_0801E738 - b _0805427C -_0805417C: - cmp r6, #0xb - bne _0805418A - movs r0, #0xc - movs r1, #0 - bl sub_0807CAA0 - b _080541B0 -_0805418A: - movs r0, #0xb - movs r1, #0 - bl sub_0807CAA0 - b _080541B0 -_08054194: - cmp r6, #7 - bne _080541A2 - movs r0, #8 - movs r1, #0 - bl sub_0807CAA0 - b _080541AA -_080541A2: - movs r0, #7 - movs r1, #0 - bl sub_0807CAA0 -_080541AA: - movs r0, #0x63 - bl sub_080542F4 -_080541B0: - bl sub_08053390 - b _0805427C -_080541B6: - cmp r5, #0 - bne _080541CA - movs r0, #7 - movs r1, #1 - bl sub_0807CAA0 - movs r0, #7 - bl sub_08054398 - b _080541E2 -_080541CA: - ldr r0, _080541EC @ =gUnk_02002A40 - adds r1, r0, #0 - adds r1, #0xae - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #3 - bls _080541E2 - movs r0, #3 - strb r0, [r1] -_080541E2: - movs r0, #0x63 - bl sub_080542F4 - b _0805427C - .align 2, 0 -_080541EC: .4byte gUnk_02002A40 -_080541F0: - ldrb r0, [r4, #2] - bl sub_080542F4 - b _0805424E -_080541F8: - movs r0, #0x66 - bl sub_0807CA84 - cmp r0, #0 - bne _0805420A - movs r0, #0x66 - movs r1, #1 - bl sub_0807CAA0 -_0805420A: - movs r0, #0x63 - bl sub_08054330 - b _080541B0 -_08054212: - ldr r0, _08054234 @ =gUnk_02002A40 - adds r1, r0, #0 - adds r1, #0xaf - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #3 - bls _0805422A - movs r0, #3 - strb r0, [r1] -_0805422A: - movs r0, #0x63 - bl sub_08054330 - b _0805427C - .align 2, 0 -_08054234: .4byte gUnk_02002A40 -_08054238: - ldrb r0, [r4, #2] - bl sub_08054330 - b _0805424E -_08054240: - movs r0, #0x3f - movs r1, #1 - bl sub_0807CAA0 - adds r0, r7, #0 - bl sub_080542C0 -_0805424E: - ldr r0, _08054258 @ =0x00000103 - bl sub_080A3268 - b _0805427C - .align 2, 0 -_08054258: .4byte 0x00000103 -_0805425C: - adds r0, r7, #0 - bl sub_0801E738 - b _0805427C -_08054264: - ldr r0, _08054284 @ =gUnk_02002A40 - adds r1, r0, #0 - adds r1, #0xa8 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #3 - bls _0805427C - movs r0, #3 -_0805427A: - strb r0, [r1] -_0805427C: - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08054284: .4byte gUnk_02002A40 - - thumb_func_start sub_08054288 -sub_08054288: @ 0x08054288 - push {lr} - ldr r1, _08054298 @ =gUnk_080FD5B4 - lsls r0, r0, #3 - adds r0, r0, r1 - ldrh r0, [r0, #6] - bl sub_08056378 - pop {pc} - .align 2, 0 -_08054298: .4byte gUnk_080FD5B4 - - thumb_func_start sub_0805429C -sub_0805429C: @ 0x0805429C - ldr r1, _080542A8 @ =gUnk_080FD5B4 - lsls r0, r0, #3 - adds r0, r0, r1 - ldrh r0, [r0, #4] - bx lr - .align 2, 0 -_080542A8: .4byte gUnk_080FD5B4 - - thumb_func_start sub_080542AC -sub_080542AC: @ 0x080542AC - ldr r1, _080542BC @ =gUnk_080FD5B4 - lsls r0, r0, #3 - adds r0, r0, r1 - ldrb r1, [r0, #3] - movs r0, #1 - ands r0, r1 - bx lr - .align 2, 0 -_080542BC: .4byte gUnk_080FD5B4 - - thumb_func_start sub_080542C0 -sub_080542C0: @ 0x080542C0 - push {lr} - adds r2, r0, #0 - cmp r2, #0 - bne _080542CA - movs r2, #1 -_080542CA: - ldr r1, _080542DC @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xc2 - ldrh r0, [r0] - adds r2, r2, r0 - cmp r2, #0 - bge _080542E0 - movs r2, #0 - b _080542E8 - .align 2, 0 -_080542DC: .4byte gUnk_02002A40 -_080542E0: - ldr r3, _080542F0 @ =0x000003E7 - cmp r2, r3 - ble _080542E8 - adds r2, r3, #0 -_080542E8: - adds r0, r1, #0 - adds r0, #0xc2 - strh r2, [r0] - pop {pc} - .align 2, 0 -_080542F0: .4byte 0x000003E7 - - thumb_func_start sub_080542F4 -sub_080542F4: @ 0x080542F4 - push {lr} - adds r3, r0, #0 - ldr r1, _08054318 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xac - ldrb r0, [r0] - adds r3, r3, r0 - ldr r2, _0805431C @ =gUnk_080FD5A0 - adds r0, r1, #0 - adds r0, #0xae - ldrb r0, [r0] - adds r0, r0, r2 - ldrb r2, [r0] - cmp r3, #0 - bge _08054320 - movs r3, #0 - b _08054326 - .align 2, 0 -_08054318: .4byte gUnk_02002A40 -_0805431C: .4byte gUnk_080FD5A0 -_08054320: - cmp r2, r3 - bge _08054326 - adds r3, r2, #0 -_08054326: - adds r0, r1, #0 - adds r0, #0xac - strb r3, [r0] - pop {pc} - .align 2, 0 - - thumb_func_start sub_08054330 -sub_08054330: @ 0x08054330 - push {lr} - adds r3, r0, #0 - ldr r1, _08054354 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xad - ldrb r0, [r0] - adds r3, r3, r0 - ldr r2, _08054358 @ =gUnk_080FD5A4 - adds r0, r1, #0 - adds r0, #0xaf - ldrb r0, [r0] - adds r0, r0, r2 - ldrb r2, [r0] - cmp r3, #0 - bge _0805435C - movs r3, #0 - b _08054362 - .align 2, 0 -_08054354: .4byte gUnk_02002A40 -_08054358: .4byte gUnk_080FD5A4 -_0805435C: - cmp r2, r3 - bge _08054362 - adds r3, r2, #0 -_08054362: - adds r0, r1, #0 - adds r0, #0xad - strb r3, [r0] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805436C -sub_0805436C: @ 0x0805436C - push {lr} - adds r2, r0, #0 - ldr r1, _08054380 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xb4 - ldrb r0, [r0] - cmp r2, r0 - bne _08054384 - movs r1, #0 - b _08054392 - .align 2, 0 -_08054380: .4byte gUnk_02002A40 -_08054384: - adds r0, r1, #0 - adds r0, #0xb5 - movs r1, #2 - ldrb r0, [r0] - cmp r2, r0 - bne _08054392 - movs r1, #1 -_08054392: - adds r0, r1, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08054398 -sub_08054398: @ 0x08054398 - push {r4, r5, lr} - adds r5, r0, #0 - cmp r5, #0x46 - bhi _080543A8 - movs r0, #0 - movs r1, #1 - bl sub_0807CAA0 -_080543A8: - subs r0, r5, #1 - cmp r0, #0x1e - bhi _08054410 - movs r1, #2 - ldr r2, _080543C0 @ =gUnk_02002A40 - adds r0, r2, #0 - adds r0, #0xb4 - ldrb r0, [r0] - cmp r0, #0 - bne _080543C4 - movs r1, #0 - b _080543D0 - .align 2, 0 -_080543C0: .4byte gUnk_02002A40 -_080543C4: - adds r0, r2, #0 - adds r0, #0xb5 - ldrb r0, [r0] - cmp r0, #0 - bne _080543D0 - movs r1, #1 -_080543D0: - cmp r1, #2 - bne _0805440A - ldr r3, _080543F0 @ =gUnk_080FD5B4 - lsls r0, r5, #3 - adds r0, r0, r3 - ldrb r4, [r0] - adds r0, r2, #0 - adds r0, #0xb4 - ldrb r0, [r0] - lsls r0, r0, #3 - adds r0, r0, r3 - ldrb r0, [r0] - cmp r4, r0 - bne _080543F4 - movs r1, #0 - b _08054406 - .align 2, 0 -_080543F0: .4byte gUnk_080FD5B4 -_080543F4: - adds r0, r2, #0 - adds r0, #0xb5 - ldrb r0, [r0] - lsls r0, r0, #3 - adds r0, r0, r3 - ldrb r0, [r0] - cmp r4, r0 - bne _08054406 - movs r1, #1 -_08054406: - cmp r1, #2 - beq _08054410 -_0805440A: - adds r0, r5, #0 - bl sub_08054414 -_08054410: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08054414 -sub_08054414: @ 0x08054414 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - subs r0, r4, #1 - cmp r0, #0x1e - bhi _08054456 - cmp r1, #1 - bhi _08054456 - movs r2, #0 - cmp r1, #0 - bne _0805442A - movs r2, #1 -_0805442A: - ldr r0, _08054458 @ =gUnk_02002A40 - adds r0, #0xb4 - adds r6, r1, r0 - ldrb r7, [r6] - adds r5, r2, r0 - ldrb r3, [r5] - ldr r2, _0805445C @ =gUnk_080FD5B4 - lsls r1, r3, #3 - adds r1, r1, r2 - lsls r0, r4, #3 - adds r0, r0, r2 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bne _0805444A - adds r3, r7, #0 -_0805444A: - strb r4, [r6] - strb r3, [r5] - ldr r1, _08054460 @ =gUnk_0200AF00 - movs r0, #0x7f - strb r0, [r1, #0x13] - strb r0, [r1, #0x14] -_08054456: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08054458: .4byte gUnk_02002A40 -_0805445C: .4byte gUnk_080FD5B4 -_08054460: .4byte gUnk_0200AF00 - - thumb_func_start sub_08054464 -sub_08054464: @ 0x08054464 - push {r4, lr} - adds r4, r0, #0 - ldr r3, _08054498 @ =gUnk_02002A40 - cmp r1, #3 - bls _0805448C - movs r1, #0 - adds r2, r3, #0 - adds r2, #0xb6 - ldrb r0, [r2] - cmp r0, #0x20 - beq _08054488 -_0805447A: - adds r1, #1 - cmp r1, #3 - bhi _08054494 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, #0x20 - bne _0805447A -_08054488: - cmp r1, #3 - bhi _08054494 -_0805448C: - adds r0, r3, #0 - adds r0, #0xb6 - adds r0, r1, r0 - strb r4, [r0] -_08054494: - adds r0, r1, #0 - pop {r4, pc} - .align 2, 0 -_08054498: .4byte gUnk_02002A40 - - thumb_func_start sub_0805449C -sub_0805449C: @ 0x0805449C - push {lr} - cmp r0, #1 - blo _080544AE - cmp r0, #4 - bls _080544AA - cmp r0, #6 - bne _080544AE -_080544AA: - movs r0, #1 - b _080544B0 -_080544AE: - movs r0, #0 -_080544B0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080544B4 -sub_080544B4: @ 0x080544B4 - push {lr} - cmp r0, #0xe - bhi _080544C2 - cmp r0, #0xd - blo _080544C2 - movs r0, #1 - b _080544C4 -_080544C2: - movs r0, #0 -_080544C4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080544C8 -sub_080544C8: @ 0x080544C8 - push {lr} - cmp r0, #0x1f - bhi _080544D6 - cmp r0, #0x1c - blo _080544D6 - movs r0, #1 - b _080544D8 -_080544D6: - movs r0, #0 -_080544D8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080544DC -sub_080544DC: @ 0x080544DC - push {lr} - adds r2, r0, #0 - ldr r1, _080544F0 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xb6 - ldrb r0, [r0] - cmp r2, r0 - bne _080544F4 - movs r0, #1 - b _08054520 - .align 2, 0 -_080544F0: .4byte gUnk_02002A40 -_080544F4: - adds r0, r1, #0 - adds r0, #0xb7 - ldrb r0, [r0] - cmp r2, r0 - bne _08054502 - movs r0, #2 - b _08054520 -_08054502: - adds r0, r1, #0 - adds r0, #0xb8 - ldrb r0, [r0] - cmp r2, r0 - bne _08054510 - movs r0, #3 - b _08054520 -_08054510: - adds r0, r1, #0 - adds r0, #0xb9 - ldrb r0, [r0] - cmp r2, r0 - beq _0805451E - movs r0, #0 - b _08054520 -_0805451E: - movs r0, #4 -_08054520: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08054524 -sub_08054524: @ 0x08054524 - push {lr} - ldr r0, _08054550 @ =gUnk_02033A90 - ldrb r1, [r0, #1] - cmp r1, #0 - bne _08054534 - ldr r0, _08054554 @ =gUnk_030010A0 - adds r0, #0x2e - ldrb r1, [r0] -_08054534: - cmp r1, #0x16 - bls _0805453A - movs r1, #0 -_0805453A: - ldr r0, _08054558 @ =gUnk_080FE1C6 - adds r0, r1, r0 - ldrb r1, [r0] - lsls r0, r1, #5 - ldr r1, _0805455C @ =gUnk_080015BC - adds r0, r0, r1 - ldr r1, _08054560 @ =gUnk_02034398 - movs r2, #0x20 - bl sub_0801D66C - pop {pc} - .align 2, 0 -_08054550: .4byte gUnk_02033A90 -_08054554: .4byte gUnk_030010A0 -_08054558: .4byte gUnk_080FE1C6 -_0805455C: .4byte gUnk_080015BC -_08054560: .4byte gUnk_02034398 - - thumb_func_start sub_08054564 -sub_08054564: @ 0x08054564 - ldr r1, _0805456C @ =gUnk_02034350 - movs r0, #1 - strb r0, [r1, #2] - bx lr - .align 2, 0 -_0805456C: .4byte gUnk_02034350 - - thumb_func_start sub_08054570 -sub_08054570: @ 0x08054570 - ldr r1, _08054578 @ =gUnk_02034350 - movs r0, #0 - strb r0, [r1, #2] - bx lr - .align 2, 0 -_08054578: .4byte gUnk_02034350 - - thumb_func_start sub_0805457C -sub_0805457C: @ 0x0805457C - push {r4, r5, r6, r7, lr} - sub sp, #0x20 - adds r6, r0, #0 - adds r3, r1, #0 - ldr r0, _080545A4 @ =gUnk_02034350 - ldrb r1, [r0, #2] - adds r5, r0, #0 - cmp r1, #1 - bne _08054590 - b _0805474C -_08054590: - ldr r2, _080545A8 @ =gUnk_08001A1C - movs r4, #0 - cmp r3, #0x19 - bhi _0805463C - lsls r0, r3, #2 - ldr r1, _080545AC @ =_080545B0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080545A4: .4byte gUnk_02034350 -_080545A8: .4byte gUnk_08001A1C -_080545AC: .4byte _080545B0 -_080545B0: @ jump table - .4byte _0805463C @ case 0 - .4byte _08054618 @ case 1 - .4byte _08054618 @ case 2 - .4byte _08054618 @ case 3 - .4byte _08054618 @ case 4 - .4byte _08054618 @ case 5 - .4byte _08054618 @ case 6 - .4byte _08054618 @ case 7 - .4byte _08054618 @ case 8 - .4byte _08054618 @ case 9 - .4byte _08054618 @ case 10 - .4byte _08054618 @ case 11 - .4byte _08054618 @ case 12 - .4byte _0805463C @ case 13 - .4byte _0805463C @ case 14 - .4byte _0805463A @ case 15 - .4byte _08054634 @ case 16 - .4byte _08054634 @ case 17 - .4byte _08054634 @ case 18 - .4byte _08054634 @ case 19 - .4byte _08054634 @ case 20 - .4byte _08054634 @ case 21 - .4byte _08054634 @ case 22 - .4byte _08054634 @ case 23 - .4byte _08054624 @ case 24 - .4byte _08054624 @ case 25 -_08054618: - lsls r1, r3, #5 - ldr r0, _08054620 @ =gUnk_0800137C - adds r4, r1, r0 - b _0805463C - .align 2, 0 -_08054620: .4byte gUnk_0800137C -_08054624: - ldrb r0, [r5, #0xa] - ldr r4, _08054630 @ =gUnk_0800191C - cmp r0, #0 - beq _0805463C - adds r4, #0x20 - b _0805463C - .align 2, 0 -_08054630: .4byte gUnk_0800191C -_08054634: - lsls r1, r3, #5 - ldr r0, _08054650 @ =gUnk_0800161C - adds r2, r1, r0 -_0805463A: - ldr r4, _08054654 @ =gUnk_02034398 -_0805463C: - cmp r4, #0 - bne _08054642 - b _0805474C -_08054642: - ldr r0, _08054658 @ =gUnk_02002A40 - adds r0, #0xb3 - ldrb r1, [r0] - cmp r1, #0 - bne _08054660 - ldr r3, _0805465C @ =gUnk_08001A1C - b _08054666 - .align 2, 0 -_08054650: .4byte gUnk_0800161C -_08054654: .4byte gUnk_02034398 -_08054658: .4byte gUnk_02002A40 -_0805465C: .4byte gUnk_08001A1C -_08054660: - lsls r1, r1, #5 - ldr r0, _0805473C @ =gUnk_0800143C - adds r3, r1, r0 -_08054666: - mov r0, sp - adds r1, r4, #0 - bl sub_08000F14 - ldr r4, _08054740 @ =gUnk_02002A40 - adds r0, r4, #0 - adds r0, #0xaa - ldrb r0, [r0] - cmp r0, #8 - bhi _08054684 - mov r1, sp - mov r0, sp - ldrh r0, [r0, #8] - adds r0, #5 - strh r0, [r1, #8] -_08054684: - adds r0, r4, #0 - adds r0, #0xac - ldrb r0, [r0] - cmp r0, #0 - bne _08054698 - mov r1, sp - mov r0, sp - ldrh r0, [r0, #0xc] - adds r0, #3 - strh r0, [r1, #0xc] -_08054698: - adds r0, r4, #0 - adds r0, #0xad - ldrb r0, [r0] - cmp r0, #0 - bne _080546AC - mov r1, sp - mov r0, sp - ldrh r0, [r0, #0xe] - adds r0, #3 - strh r0, [r1, #0xe] -_080546AC: - adds r0, r4, #0 - adds r0, #0xc0 - ldrh r0, [r0] - cmp r0, #0xa - bhi _080546C0 - mov r1, sp - mov r0, sp - ldrh r0, [r0, #4] - adds r0, #1 - strh r0, [r1, #4] -_080546C0: - ldr r2, _08054744 @ =gUnk_08001A1C - adds r0, r4, #0 - adds r0, #0xbb - ldrb r0, [r0] - adds r3, r2, #0 - cmp r0, #0 - beq _080546D0 - adds r2, #0x20 -_080546D0: - movs r1, #0x8b - lsls r1, r1, #1 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, #0 - beq _080546DE - adds r3, #0x40 -_080546DE: - mov r0, sp - mov r1, sp - bl sub_08000F2C - adds r4, r0, #0 - bl sub_08000E50 - adds r2, r0, #0 - asrs r5, r2, #0x18 - movs r0, #0xf - ands r5, r0 - adds r0, r2, #0 - adds r1, r4, #0 - bl __modsi3 - adds r2, r0, #0 - movs r3, #0 - lsls r0, r5, #1 - add r0, sp - movs r4, #0 - ldrsh r1, [r0, r4] - cmp r1, r2 - bgt _08054726 - movs r4, #0xf -_0805470E: - adds r3, #1 - adds r5, #1 - ands r5, r4 - cmp r3, #0xf - bhi _08054726 - lsls r0, r5, #1 - add r0, sp - movs r7, #0 - ldrsh r0, [r0, r7] - adds r1, r1, r0 - cmp r1, r2 - ble _0805470E -_08054726: - ldr r0, _08054748 @ =gUnk_080FE1B4 - adds r0, r5, r0 - ldrb r1, [r0] - cmp r1, #0 - beq _0805474C - adds r0, r6, #0 - movs r2, #0 - bl sub_08054754 - b _0805474E - .align 2, 0 -_0805473C: .4byte gUnk_0800143C -_08054740: .4byte gUnk_02002A40 -_08054744: .4byte gUnk_08001A1C -_08054748: .4byte gUnk_080FE1B4 -_0805474C: - movs r0, #0 -_0805474E: - add sp, #0x20 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08054754 -sub_08054754: @ 0x08054754 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - adds r5, r2, #0 - cmp r4, #0x5e - beq _08054786 - cmp r4, #0x5e - bhi _08054772 - cmp r4, #0x5c - beq _080547A6 - cmp r4, #0x5c - bhi _08054782 - cmp r4, #0x3f - beq _08054794 - b _080547DA -_08054772: - cmp r4, #0xfc - blo _080547DA - cmp r4, #0xfe - bls _080547A6 - cmp r4, #0xff - bne _080547DA - movs r0, #1 - b _08054788 -_08054782: - movs r0, #0x65 - b _08054788 -_08054786: - movs r0, #9 -_08054788: - bl sub_0807CA84 - cmp r0, #0 - bne _080547DA -_08054790: - movs r0, #0 - b _0805486C -_08054794: - movs r0, #0x40 - bl sub_0807CA84 - cmp r0, #0 - beq _08054790 - cmp r5, #0 - bne _080547DA - movs r5, #1 - b _080547DA -_080547A6: - movs r0, #0x67 - bl sub_0807CA84 - cmp r0, #0 - beq _08054790 - ldr r0, _080547FC @ =gUnk_02034350 - ldrb r0, [r0, #5] - cmp r0, #3 - bhi _08054790 - cmp r4, #0x5c - beq _080547DA - adds r5, r4, #0 - subs r5, #0xfc - bl sub_08000E50 - movs r1, #0x3f - ands r1, r0 - ldr r2, _08054800 @ =gUnk_080FE1DD - lsls r0, r5, #6 - adds r1, r1, r0 - adds r1, r1, r2 - ldrb r5, [r1] - movs r4, #0x5c - cmp r5, #0 - bne _080547DA - movs r4, #0 -_080547DA: - cmp r4, #0 - beq _0805486A - cmp r4, #0xff - beq _08054842 - movs r0, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805486A - ldr r0, _08054804 @ =gUnk_03001160 - cmp r6, r0 - bne _08054808 - movs r0, #1 - b _0805480A - .align 2, 0 -_080547FC: .4byte gUnk_02034350 -_08054800: .4byte gUnk_080FE1DD -_08054804: .4byte gUnk_03001160 -_08054808: - movs r0, #0 -_0805480A: - strb r0, [r2, #0xe] - ldrb r0, [r6, #8] - cmp r0, #6 - bne _08054838 - ldrb r0, [r6, #9] - cmp r0, #0x63 - bne _0805481C - str r2, [r6, #0x54] - b _08054838 -_0805481C: - cmp r0, #0x1e - bne _08054838 - ldrb r0, [r6, #0x14] - lsls r0, r0, #3 - movs r3, #0x80 - rsbs r3, r3, #0 - adds r1, r3, #0 - orrs r0, r1 - strb r0, [r2, #0x15] - movs r0, #0xc0 - strh r0, [r2, #0x24] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r2, #0x20] -_08054838: - adds r0, r6, #0 - adds r1, r2, #0 - bl sub_0806FA24 - b _0805486A -_08054842: - movs r0, #7 - movs r1, #0 - bl sub_0804AA60 - adds r2, r0, #0 - cmp r2, #0 - beq _0805486A - ldrh r0, [r6, #0x2e] - strh r0, [r2, #0x2e] - ldrh r0, [r6, #0x32] - strh r0, [r2, #0x32] - adds r0, r6, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r2, #0 - bl sub_08016A04 -_0805486A: - adds r0, r4, #0 -_0805486C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08054870 -sub_08054870: @ 0x08054870 - push {lr} - ldr r1, _08054884 @ =gUnk_080FE2A0 - ldr r0, _08054888 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054884: .4byte gUnk_080FE2A0 -_08054888: .4byte gUnk_02000080 - - thumb_func_start sub_0805488C -sub_0805488C: @ 0x0805488C - push {r4, lr} - ldr r4, _080548DC @ =gUnk_02032EC0 - ldrb r1, [r4, #3] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _080548E0 @ =gUnk_080FE320 - adds r0, r0, r1 - ldr r2, _080548E4 @ =gUnk_02000080 - ldrb r1, [r0] - movs r3, #0 - strb r1, [r2] - ldrb r1, [r0, #1] - strb r1, [r2, #3] - ldrb r1, [r4, #3] - strb r1, [r2, #4] - str r0, [r2, #0xc] - ldrb r0, [r2, #5] - adds r0, #1 - strb r0, [r2, #5] - strb r3, [r2, #6] - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r2, #8] - movs r0, #0 - bl sub_0801DA90 - ldrb r0, [r4, #3] - movs r1, #1 - bl sub_08054974 - bl sub_0806F364 - movs r0, #0xff - bl sub_0807CD8C - bl sub_080548E8 - pop {r4, pc} - .align 2, 0 -_080548DC: .4byte gUnk_02032EC0 -_080548E0: .4byte gUnk_080FE320 -_080548E4: .4byte gUnk_02000080 - - thumb_func_start sub_080548E8 -sub_080548E8: @ 0x080548E8 - push {lr} - ldr r1, _08054918 @ =gUnk_080FE2AC - ldr r0, _0805491C @ =gUnk_02000080 - ldrb r0, [r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080AD90C - bl sub_0805E5C0 - bl sub_080AD9B0 - bl sub_080AD918 - bl sub_0807FC40 - bl sub_0801B060 - bl sub_08000108 - pop {pc} - .align 2, 0 -_08054918: .4byte gUnk_080FE2AC -_0805491C: .4byte gUnk_02000080 - - thumb_func_start sub_08054920 -sub_08054920: @ 0x08054920 - push {lr} - bl sub_08056418 - bl sub_0806F38C - ldr r1, _08054948 @ =gUnk_080C9CBC - ldr r0, _0805494C @ =gUnk_02022740 - ldrb r0, [r0, #3] - lsls r0, r0, #3 - adds r0, r0, r1 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _08054954 - ldr r0, _08054950 @ =gUnk_02032EC0 - ldrb r1, [r0, #3] - movs r0, #0xa - bl sub_080A7138 - b _08054962 - .align 2, 0 -_08054948: .4byte gUnk_080C9CBC -_0805494C: .4byte gUnk_02022740 -_08054950: .4byte gUnk_02032EC0 -_08054954: - ldr r1, _08054964 @ =gUnk_02032EC0 - movs r0, #3 - strb r0, [r1] - movs r0, #7 - movs r1, #0x10 - bl sub_08050054 -_08054962: - pop {pc} - .align 2, 0 -_08054964: .4byte gUnk_02032EC0 - - thumb_func_start sub_08054968 -sub_08054968: @ 0x08054968 - ldr r1, _08054970 @ =gUnk_02000080 - movs r0, #2 - strb r0, [r1, #5] - bx lr - .align 2, 0 -_08054970: .4byte gUnk_02000080 - - thumb_func_start sub_08054974 -sub_08054974: @ 0x08054974 - push {r4, r5, r6, lr} - adds r5, r1, #0 - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _080549B0 @ =gUnk_080FE320 - adds r6, r1, r0 - ldrb r0, [r6, #2] - ldrb r1, [r6, #3] - bl sub_0804B0C0 - ldr r4, _080549B4 @ =gUnk_03000BF0 - ldrb r0, [r6, #2] - strb r0, [r4, #4] - ldrb r0, [r6, #3] - strb r0, [r4, #5] - bl sub_08053320 - ldrb r0, [r4, #4] - bl sub_08052D58 - ldr r1, _080549B8 @ =gUnk_02033A90 - strh r0, [r1, #4] - cmp r5, #0 - beq _080549BC - ldrb r0, [r6, #2] - ldrb r1, [r6, #3] - bl sub_08052FD8 - b _080549CE - .align 2, 0 -_080549B0: .4byte gUnk_080FE320 -_080549B4: .4byte gUnk_03000BF0 -_080549B8: .4byte gUnk_02033A90 -_080549BC: - ldrb r0, [r6, #2] - ldrb r1, [r6, #3] - bl sub_08052FF4 - bl sub_0807C740 - ldr r1, _08054A00 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_080549CE: - ldr r2, _08054A04 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _08054A08 @ =0x00001FFF - ands r0, r1 - strh r0, [r2] - ldr r1, _08054A0C @ =gUnk_03000BF0 - ldrh r0, [r6, #4] - ldrh r2, [r1, #6] - adds r0, r0, r2 - strh r0, [r1, #0xa] - ldrh r0, [r6, #6] - ldrh r2, [r1, #8] - adds r0, r0, r2 - strh r0, [r1, #0xc] - ldrb r0, [r6, #2] - cmp r0, #2 - bne _080549F4 - bl sub_08059D18 -_080549F4: - ldr r0, _08054A10 @ =gUnk_02032EC0 - ldrb r0, [r0, #3] - bl sub_08018710 - pop {r4, r5, r6, pc} - .align 2, 0 -_08054A00: .4byte gUnk_02000070 -_08054A04: .4byte gUnk_03000F50 -_08054A08: .4byte 0x00001FFF -_08054A0C: .4byte gUnk_03000BF0 -_08054A10: .4byte gUnk_02032EC0 - - thumb_func_start sub_08054A14 -sub_08054A14: @ 0x08054A14 - push {lr} - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _08054A38 @ =gUnk_080FE320 - adds r2, r1, r0 - ldrb r0, [r2, #0x11] - cmp r0, #0xd - bhi _08054A34 - ldr r1, _08054A3C @ =gUnk_0811E454 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrh r1, [r2, #0x12] - bl sub_0807CC9C -_08054A34: - pop {pc} - .align 2, 0 -_08054A38: .4byte gUnk_080FE320 -_08054A3C: .4byte gUnk_0811E454 - - thumb_func_start sub_08054A40 -sub_08054A40: @ 0x08054A40 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08054A5C @ =gUnk_080FEEA8 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r4, #0x41 - movs r0, #0 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08054A5C: .4byte gUnk_080FEEA8 - - thumb_func_start sub_08054A60 -sub_08054A60: @ 0x08054A60 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0xa0 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #4 - strb r0, [r4, #0xe] - movs r0, #0xff - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4, #0x11] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - subs r1, #1 - movs r0, #0x80 - strb r0, [r1] - ldr r0, _08054AC4 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - movs r0, #0xe - ands r0, r1 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0806FBD8 - cmp r0, #0 - bne _08054AAC - bl sub_0805E780 -_08054AAC: - adds r0, r4, #0 - bl sub_0801766C - adds r0, r4, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 - adds r0, r4, #0 - bl sub_08054AC8 - pop {r4, pc} - .align 2, 0 -_08054AC4: .4byte gUnk_03001160 - - thumb_func_start sub_08054AC8 -sub_08054AC8: @ 0x08054AC8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r5, _08054B14 @ =gUnk_03001160 - ldrb r1, [r5, #0x14] - movs r0, #0xe - ands r0, r1 - strb r0, [r4, #0x14] - ldr r1, [r4, #0x48] - ldr r2, _08054B18 @ =gUnk_080FEEB0 - ldrb r0, [r4, #0x14] - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, [r4, #0x48] - ldrb r0, [r4, #0x14] - adds r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r1, #1] - ldr r0, [r4, #0x48] - movs r1, #4 - strb r1, [r0, #6] - ldr r0, [r4, #0x48] - strb r1, [r0, #7] - ldrb r7, [r5, #0x1e] - adds r6, r7, #0 - cmp r6, #0x36 - bhi _08054B06 - ldrh r0, [r5, #0x12] - cmp r0, #6 - beq _08054B1C -_08054B06: - movs r0, #0xff - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - b _08054B68 - .align 2, 0 -_08054B14: .4byte gUnk_03001160 -_08054B18: .4byte gUnk_080FEEB0 -_08054B1C: - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r2, [r5, #0x18] - movs r1, #0x40 - ands r1, r2 - ldrb r3, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - lsrs r2, r2, #7 - lsls r2, r2, #7 - movs r1, #0x7f - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0x1e] - cmp r6, r0 - beq _08054B52 - strb r7, [r4, #0x1e] - ldrb r1, [r4, #0x1e] - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 -_08054B52: - adds r0, r5, #0 - adds r0, #0x5a - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x5a - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x5b - ldrb r0, [r0] - adds r1, #1 - strb r0, [r1] -_08054B68: - movs r0, #0x10 - bl sub_0805436C - cmp r0, #1 - bhi _08054BFC - ldrb r0, [r4, #0x1e] - cmp r0, #0xff - beq _08054BE8 - ldr r0, _08054BF4 @ =gUnk_03001160 - ldrb r0, [r0, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - beq _08054BE8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08054BE8 - movs r0, #4 - strb r0, [r4, #0xe] - movs r0, #0x45 - movs r1, #0 - movs r2, #0x10 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _08054BE8 - movs r3, #0x80 - lsls r3, r3, #0xa - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - adds r0, r4, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r3, r5, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1d - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldr r1, _08054BF8 @ =gUnk_080FEEB0 - ldrb r0, [r4, #0x14] - adds r0, r0, r1 - ldrb r0, [r0] - adds r2, r5, #0 - adds r2, #0x62 - strb r0, [r2] - ldrb r0, [r4, #0x14] - adds r0, #1 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x63 - strb r1, [r0] -_08054BE8: - ldr r1, _08054BF4 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_08078E84 - b _08054C00 - .align 2, 0 -_08054BF4: .4byte gUnk_03001160 -_08054BF8: .4byte gUnk_080FEEB0 -_08054BFC: - bl sub_0805E780 -_08054C00: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08054C04 -sub_08054C04: @ 0x08054C04 - push {lr} - ldr r1, _08054C18 @ =gUnk_080FEEB8 - ldr r0, _08054C1C @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054C18: .4byte gUnk_080FEEB8 -_08054C1C: .4byte gUnk_02000080 - - thumb_func_start sub_08054C20 -sub_08054C20: @ 0x08054C20 - push {r4, lr} - ldr r4, _08054C50 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_0801876C - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08054C54 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08054C50: .4byte gUnk_02000080 -_08054C54: .4byte gUnk_02000070 - - thumb_func_start sub_08054C58 -sub_08054C58: @ 0x08054C58 - push {lr} - ldr r0, _08054C80 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054C7C - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08054C7C - movs r0, #7 - movs r1, #0x10 - bl sub_08050054 - ldr r1, _08054C84 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08054C7C: - pop {pc} - .align 2, 0 -_08054C80: .4byte gUnk_03000FD0 -_08054C84: .4byte gUnk_02000080 - - thumb_func_start sub_08054C88 -sub_08054C88: @ 0x08054C88 - push {r4, lr} - ldr r0, _08054CB8 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054CB4 - ldr r4, _08054CBC @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_08054974 - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 - movs r0, #0x73 - bl sub_080A3268 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_08054CB4: - pop {r4, pc} - .align 2, 0 -_08054CB8: .4byte gUnk_03000FD0 -_08054CBC: .4byte gUnk_02000080 - - thumb_func_start sub_08054CC0 -sub_08054CC0: @ 0x08054CC0 - push {lr} - ldr r0, _08054CE0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054CDE - ldr r1, _08054CE4 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08054CDE - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08054CDE: - pop {pc} - .align 2, 0 -_08054CE0: .4byte gUnk_03000FD0 -_08054CE4: .4byte gUnk_02000080 - - thumb_func_start sub_08054CE8 -sub_08054CE8: @ 0x08054CE8 - push {lr} - ldr r1, _08054CFC @ =gUnk_080FEEC8 - ldr r0, _08054D00 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054CFC: .4byte gUnk_080FEEC8 -_08054D00: .4byte gUnk_02000080 - - thumb_func_start sub_08054D04 -sub_08054D04: @ 0x08054D04 - push {r4, lr} - ldr r4, _08054D34 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08054D38 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08054D34: .4byte gUnk_02000080 -_08054D38: .4byte gUnk_02000070 - - thumb_func_start sub_08054D3C -sub_08054D3C: @ 0x08054D3C - push {r4, lr} - ldr r0, _08054D6C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054D6A - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08054D6A - ldr r4, _08054D70 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_08054D6A: - pop {r4, pc} - .align 2, 0 -_08054D6C: .4byte gUnk_03000FD0 -_08054D70: .4byte gUnk_02000080 - - thumb_func_start sub_08054D74 -sub_08054D74: @ 0x08054D74 - push {lr} - ldr r1, _08054D8C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08054D8A - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08054D8A: - pop {pc} - .align 2, 0 -_08054D8C: .4byte gUnk_02000080 - - thumb_func_start sub_08054D90 -sub_08054D90: @ 0x08054D90 - push {lr} - ldr r1, _08054DA4 @ =gUnk_080FEF34 - ldr r0, _08054DA8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054DA4: .4byte gUnk_080FEF34 -_08054DA8: .4byte gUnk_02000080 - - thumb_func_start sub_08054DAC -sub_08054DAC: @ 0x08054DAC - push {r4, lr} - ldr r4, _08054DF0 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _08054DF4 @ =gUnk_080FEED4 - bl sub_0804ADDC - movs r0, #2 - bl sub_0805B4D0 - movs r0, #0 - bl sub_0806D0B0 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08054DF8 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08054DF0: .4byte gUnk_02000080 -_08054DF4: .4byte gUnk_080FEED4 -_08054DF8: .4byte gUnk_02000070 - - thumb_func_start nullsub_484 -nullsub_484: @ 0x08054DFC - bx lr - .align 2, 0 - - thumb_func_start sub_08054E00 -sub_08054E00: @ 0x08054E00 - push {lr} - ldr r1, _08054E14 @ =gUnk_080FEF3C - ldr r0, _08054E18 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054E14: .4byte gUnk_080FEF3C -_08054E18: .4byte gUnk_02000080 - - thumb_func_start sub_08054E1C -sub_08054E1C: @ 0x08054E1C - push {r4, r5, lr} - ldr r5, _08054E54 @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0B0 - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0E8 - ldrb r0, [r5, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - ldr r1, _08054E58 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, r5, pc} - .align 2, 0 -_08054E54: .4byte gUnk_02000080 -_08054E58: .4byte gUnk_02000070 - - thumb_func_start sub_08054E5C -sub_08054E5C: @ 0x08054E5C - push {r4, lr} - ldr r0, _08054E94 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08054E92 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08054E92 - ldr r4, _08054E98 @ =gUnk_02000080 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0xb4 - strh r0, [r4, #8] - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 - ldrb r0, [r4, #4] - bl sub_080553E0 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C -_08054E92: - pop {r4, pc} - .align 2, 0 -_08054E94: .4byte gUnk_03000FD0 -_08054E98: .4byte gUnk_02000080 - - thumb_func_start sub_08054E9C -sub_08054E9C: @ 0x08054E9C - push {lr} - ldr r1, _08054EB4 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08054EB2 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08054EB2: - pop {pc} - .align 2, 0 -_08054EB4: .4byte gUnk_02000080 - - thumb_func_start sub_08054EB8 -sub_08054EB8: @ 0x08054EB8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805E8D4 - adds r3, r0, #0 - cmp r3, #0 - beq _08054EF6 - movs r0, #9 - strb r0, [r3, #8] - movs r0, #0x24 - strb r0, [r3, #9] - ldr r2, _08054EF8 @ =gUnk_03000BF0 - ldrh r0, [r4, #0x2e] - ldrh r1, [r2, #6] - subs r0, r0, r1 - strh r0, [r3, #0x38] - ldrh r0, [r4, #0x32] - ldrh r1, [r2, #8] - subs r0, r0, r1 - subs r0, #0x10 - strh r0, [r3, #0x3a] - adds r1, r3, #0 - adds r1, #0x35 - movs r0, #1 - strb r0, [r1] - movs r0, #0x79 - strh r0, [r3, #0x3e] - adds r0, r3, #0 - movs r1, #6 - bl sub_0805EA2C -_08054EF6: - pop {r4, pc} - .align 2, 0 -_08054EF8: .4byte gUnk_03000BF0 - - thumb_func_start sub_08054EFC -sub_08054EFC: @ 0x08054EFC - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08054F5C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - subs r1, #0x40 - ldr r0, _08054F60 @ =0x00004074 - movs r2, #1 - bl sub_0800015E - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0x35 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08054F54 - ldrh r0, [r1, #0x32] - subs r0, #0x10 - strh r0, [r1, #0x32] - adds r0, r4, #0 - bl sub_0806FAD8 -_08054F54: - movs r0, #0xfd - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_08054F5C: .4byte gUnk_03000BF0 -_08054F60: .4byte 0x00004074 - - thumb_func_start sub_08054F64 -sub_08054F64: @ 0x08054F64 - push {lr} - ldrb r0, [r0, #0xb] - ldr r3, _08054F7C @ =gUnk_02033280 - ldr r2, [r3] - adds r1, r2, #0 - ands r1, r0 - cmp r1, r0 - beq _08054F80 - movs r0, #0 - strb r0, [r3, #6] - b _08054F8C - .align 2, 0 -_08054F7C: .4byte gUnk_02033280 -_08054F80: - bics r2, r1 - str r2, [r3] - ldrb r1, [r3, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r3, #7] -_08054F8C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08054F90 -sub_08054F90: @ 0x08054F90 - push {lr} - ldr r1, _08054FA4 @ =gUnk_080FF120 - ldr r0, _08054FA8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08054FA4: .4byte gUnk_080FF120 -_08054FA8: .4byte gUnk_02000080 - - thumb_func_start sub_08054FAC -sub_08054FAC: @ 0x08054FAC - push {r4, r5, r6, lr} - ldr r6, _08055008 @ =gUnk_02000080 - ldr r5, [r6, #0xc] - ldr r1, _0805500C @ =gUnk_080FF108 - ldrb r0, [r5, #1] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl sub_0804ADDC - ldrb r0, [r5, #1] - movs r1, #0 - cmp r0, #0 - beq _08054FCA - movs r1, #3 -_08054FCA: - ldrb r0, [r6, #4] - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r6, #6] - adds r0, #1 - movs r4, #0 - strb r0, [r6, #6] - ldr r1, _08055010 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - strh r4, [r6, #0xa] - movs r0, #0x80 - lsls r0, r0, #3 - movs r1, #0x77 - bl sub_0807CB10 - cmp r0, #0 - beq _08055004 - ldrb r0, [r5, #2] - cmp r0, #0x2f - bne _08055004 - movs r0, #1 - strh r0, [r6, #0xa] -_08055004: - pop {r4, r5, r6, pc} - .align 2, 0 -_08055008: .4byte gUnk_02000080 -_0805500C: .4byte gUnk_080FF108 -_08055010: .4byte gUnk_02000070 - - thumb_func_start sub_08055014 -sub_08055014: @ 0x08055014 - push {lr} - ldr r1, _08055030 @ =gUnk_02000080 - ldrh r0, [r1, #0xa] - cmp r0, #0 - beq _0805502C - movs r0, #0 - strh r0, [r1, #0xa] - ldr r1, _08055034 @ =0x00000407 - movs r0, #0x74 - movs r2, #1 - bl sub_0807B314 -_0805502C: - pop {pc} - .align 2, 0 -_08055030: .4byte gUnk_02000080 -_08055034: .4byte 0x00000407 - - thumb_func_start sub_08055038 -sub_08055038: @ 0x08055038 - push {lr} - ldr r1, _0805504C @ =gUnk_080FF148 - ldr r0, _08055050 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805504C: .4byte gUnk_080FF148 -_08055050: .4byte gUnk_02000080 - - thumb_func_start sub_08055054 -sub_08055054: @ 0x08055054 - push {r4, lr} - ldr r0, _08055080 @ =gUnk_080FF128 - bl sub_0804ADDC - ldr r4, _08055084 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #2 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055088 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055080: .4byte gUnk_080FF128 -_08055084: .4byte gUnk_02000080 -_08055088: .4byte gUnk_02000070 - - thumb_func_start sub_0805508C -sub_0805508C: @ 0x0805508C - bx lr - .align 2, 0 - - thumb_func_start sub_08055090 -sub_08055090: @ 0x08055090 - bx lr - .align 2, 0 - - thumb_func_start sub_08055094 -sub_08055094: @ 0x08055094 - push {lr} - ldr r1, _080550A8 @ =gUnk_080FF174 - ldr r0, _080550AC @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080550A8: .4byte gUnk_080FF174 -_080550AC: .4byte gUnk_02000080 - - thumb_func_start sub_080550B0 -sub_080550B0: @ 0x080550B0 - push {r4, lr} - ldr r4, _080550E8 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _080550EC @ =gUnk_080FF154 - bl sub_0804ADDC - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _080550F0 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_080550E8: .4byte gUnk_02000080 -_080550EC: .4byte gUnk_080FF154 -_080550F0: .4byte gUnk_02000070 - - thumb_func_start nullsub_487 -nullsub_487: @ 0x080550F4 - bx lr - .align 2, 0 - - thumb_func_start sub_080550F8 -sub_080550F8: @ 0x080550F8 - push {lr} - ldr r1, _0805510C @ =gUnk_080FF1CC - ldr r0, _08055110 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805510C: .4byte gUnk_080FF1CC -_08055110: .4byte gUnk_02000080 - - thumb_func_start sub_08055114 -sub_08055114: @ 0x08055114 - push {r4, lr} - ldr r0, _08055150 @ =gUnk_080FF17C - bl sub_0804ADDC - ldr r0, _08055154 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #9 - beq _0805512A - ldr r0, _08055158 @ =0x00000DB4 - bl sub_08018C58 -_0805512A: - ldr r4, _0805515C @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055160 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055150: .4byte gUnk_080FF17C -_08055154: .4byte gUnk_02002A40 -_08055158: .4byte 0x00000DB4 -_0805515C: .4byte gUnk_02000080 -_08055160: .4byte gUnk_02000070 - - thumb_func_start nullsub_488 -nullsub_488: @ 0x08055164 - bx lr - .align 2, 0 - - thumb_func_start sub_08055168 -sub_08055168: @ 0x08055168 - push {lr} - ldr r1, _0805517C @ =gUnk_080FF1F4 - ldr r0, _08055180 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805517C: .4byte gUnk_080FF1F4 -_08055180: .4byte gUnk_02000080 - - thumb_func_start sub_08055184 -sub_08055184: @ 0x08055184 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - ldr r5, _0805520C @ =gUnk_02000080 - ldr r0, [r5, #0xc] - ldrb r1, [r0, #1] - movs r0, #0xf - ands r0, r1 - lsls r4, r0, #1 - adds r4, r4, r0 - lsls r4, r4, #1 - ldr r0, _08055210 @ =gUnk_080FF1D4 - adds r4, r4, r0 - movs r1, #0 - ldrsh r0, [r4, r1] - bl sub_0801D7EC - ldr r2, _08055214 @ =gUnk_03000F50 - ldrh r0, [r4, #2] - movs r6, #0 - movs r3, #0 - mov r8, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r4, #4] - strh r0, [r2, #0x30] - ldr r0, _08055218 @ =0x00001E05 - strh r0, [r2, #0x2c] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _0805521C @ =0x00003648 - strh r0, [r1] - adds r1, #2 - movs r0, #0x10 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldrb r0, [r5, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r5, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - strb r6, [r5, #7] - movs r0, #0x3c - strh r0, [r5, #8] - mov r0, r8 - strh r0, [r5, #0xa] - ldr r1, _08055220 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_0805520C: .4byte gUnk_02000080 -_08055210: .4byte gUnk_080FF1D4 -_08055214: .4byte gUnk_03000F50 -_08055218: .4byte 0x00001E05 -_0805521C: .4byte 0x00003648 -_08055220: .4byte gUnk_02000070 - - thumb_func_start sub_08055224 -sub_08055224: @ 0x08055224 - push {lr} - ldr r0, _08055244 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055240 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055240 - ldr r1, _08055248 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055240: - pop {pc} - .align 2, 0 -_08055244: .4byte gUnk_03000FD0 -_08055248: .4byte gUnk_02000080 - - thumb_func_start sub_0805524C -sub_0805524C: @ 0x0805524C - push {r4, lr} - ldr r3, _08055270 @ =gUnk_02000080 - ldrb r0, [r3, #7] - cmp r0, #0 - bne _08055274 - ldrh r0, [r3, #8] - subs r0, #1 - strh r0, [r3, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080552D6 - ldrb r0, [r3, #7] - adds r0, #1 - strb r0, [r3, #7] - movs r0, #0xf6 - bl sub_080A3268 - b _080552D6 - .align 2, 0 -_08055270: .4byte gUnk_02000080 -_08055274: - ldr r0, _080552A4 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _080552D6 - ldr r4, _080552A8 @ =gUnk_080FF204 - ldrh r2, [r3, #0xa] - lsls r0, r2, #1 - adds r0, r0, r4 - ldrh r1, [r0] - ldr r0, _080552AC @ =0x0000FFFF - cmp r1, r0 - beq _080552B4 - ldr r1, _080552B0 @ =gUnk_03000F50 - adds r0, r2, #1 - strh r0, [r3, #0xa] - lsls r0, r2, #1 - adds r0, r0, r4 - ldrh r0, [r0] - adds r1, #0x68 - strh r0, [r1] - b _080552D6 - .align 2, 0 -_080552A4: .4byte gUnk_030010A0 -_080552A8: .4byte gUnk_080FF204 -_080552AC: .4byte 0x0000FFFF -_080552B0: .4byte gUnk_03000F50 -_080552B4: - ldr r1, _080552D8 @ =gUnk_03000F50 - ldrh r2, [r1] - ldr r0, _080552DC @ =0x0000F7FF - ands r0, r2 - strh r0, [r1] - adds r1, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - movs r0, #0x78 - strh r0, [r3, #8] - ldrb r0, [r3, #6] - adds r0, #1 - strb r0, [r3, #6] - movs r0, #0x73 - bl sub_080A3268 -_080552D6: - pop {r4, pc} - .align 2, 0 -_080552D8: .4byte gUnk_03000F50 -_080552DC: .4byte 0x0000F7FF - - thumb_func_start sub_080552E0 -sub_080552E0: @ 0x080552E0 - push {lr} - ldr r1, _080552F8 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080552F6 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_080552F6: - pop {pc} - .align 2, 0 -_080552F8: .4byte gUnk_02000080 - - thumb_func_start sub_080552FC -sub_080552FC: @ 0x080552FC - push {lr} - ldr r1, _08055310 @ =gUnk_080FF228 - ldr r0, _08055314 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055310: .4byte gUnk_080FF228 -_08055314: .4byte gUnk_02000080 - - thumb_func_start sub_08055318 -sub_08055318: @ 0x08055318 - push {r4, lr} - ldr r4, _08055348 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_0801876C - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _0805534C @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055348: .4byte gUnk_02000080 -_0805534C: .4byte gUnk_02000070 - - thumb_func_start sub_08055350 -sub_08055350: @ 0x08055350 - push {lr} - ldr r0, _08055378 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055374 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055374 - movs r0, #7 - movs r1, #0x10 - bl sub_08050054 - ldr r1, _0805537C @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055374: - pop {pc} - .align 2, 0 -_08055378: .4byte gUnk_03000FD0 -_0805537C: .4byte gUnk_02000080 - - thumb_func_start sub_08055380 -sub_08055380: @ 0x08055380 - push {r4, lr} - ldr r0, _080553B0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080553AC - ldr r4, _080553B4 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_08054974 - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 - movs r0, #0x73 - bl sub_080A3268 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_080553AC: - pop {r4, pc} - .align 2, 0 -_080553B0: .4byte gUnk_03000FD0 -_080553B4: .4byte gUnk_02000080 - - thumb_func_start sub_080553B8 -sub_080553B8: @ 0x080553B8 - push {lr} - ldr r0, _080553D8 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080553D6 - ldr r1, _080553DC @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080553D6 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_080553D6: - pop {pc} - .align 2, 0 -_080553D8: .4byte gUnk_03000FD0 -_080553DC: .4byte gUnk_02000080 - - thumb_func_start sub_080553E0 -sub_080553E0: @ 0x080553E0 - push {r4, lr} - ldr r0, _0805540C @ =gUnk_02000080 - ldr r4, [r0, #0xc] - movs r0, #0xf - movs r1, #0x43 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08055408 - ldr r0, _08055410 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - ldrh r3, [r4, #8] - adds r1, r1, r3 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - ldrh r4, [r4, #0xa] - adds r0, r0, r4 - strh r0, [r2, #0x32] -_08055408: - pop {r4, pc} - .align 2, 0 -_0805540C: .4byte gUnk_02000080 -_08055410: .4byte gUnk_03000BF0 - - thumb_func_start sub_08055414 -sub_08055414: @ 0x08055414 - push {lr} - ldr r1, _08055428 @ =gUnk_080FF238 - ldr r0, _0805542C @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055428: .4byte gUnk_080FF238 -_0805542C: .4byte gUnk_02000080 - - thumb_func_start sub_08055430 -sub_08055430: @ 0x08055430 - push {r4, lr} - ldr r4, _08055460 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0E8 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055464 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055460: .4byte gUnk_02000080 -_08055464: .4byte gUnk_02000070 - - thumb_func_start sub_08055468 -sub_08055468: @ 0x08055468 - push {lr} - ldr r0, _08055490 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805548C - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _0805548C - movs r0, #7 - movs r1, #0x10 - bl sub_08050054 - ldr r1, _08055494 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_0805548C: - pop {pc} - .align 2, 0 -_08055490: .4byte gUnk_03000FD0 -_08055494: .4byte gUnk_02000080 - - thumb_func_start sub_08055498 -sub_08055498: @ 0x08055498 - push {r4, lr} - ldr r0, _080554CC @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080554CA - ldr r4, _080554D0 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 - movs r0, #0x73 - bl sub_080A3268 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_080554CA: - pop {r4, pc} - .align 2, 0 -_080554CC: .4byte gUnk_03000FD0 -_080554D0: .4byte gUnk_02000080 - - thumb_func_start sub_080554D4 -sub_080554D4: @ 0x080554D4 - push {lr} - ldr r0, _080554F4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080554F2 - ldr r1, _080554F8 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080554F2 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_080554F2: - pop {pc} - .align 2, 0 -_080554F4: .4byte gUnk_03000FD0 -_080554F8: .4byte gUnk_02000080 - - thumb_func_start sub_080554FC -sub_080554FC: @ 0x080554FC - push {lr} - ldr r1, _08055510 @ =gUnk_080FF248 - ldr r0, _08055514 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055510: .4byte gUnk_080FF248 -_08055514: .4byte gUnk_02000080 - - thumb_func_start sub_08055518 -sub_08055518: @ 0x08055518 - push {r4, lr} - ldr r4, _08055540 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055544 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055540: .4byte gUnk_02000080 -_08055544: .4byte gUnk_02000070 - - thumb_func_start sub_08055548 -sub_08055548: @ 0x08055548 - push {r4, lr} - ldr r0, _08055578 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055576 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055576 - ldr r4, _0805557C @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0xb4 - strh r0, [r4, #8] -_08055576: - pop {r4, pc} - .align 2, 0 -_08055578: .4byte gUnk_03000FD0 -_0805557C: .4byte gUnk_02000080 - - thumb_func_start sub_08055580 -sub_08055580: @ 0x08055580 - push {lr} - ldr r1, _08055598 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055596 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055596: - pop {pc} - .align 2, 0 -_08055598: .4byte gUnk_02000080 - - thumb_func_start sub_0805559C -sub_0805559C: @ 0x0805559C - push {lr} - ldr r1, _080555B0 @ =gUnk_080FF254 - ldr r0, _080555B4 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080555B0: .4byte gUnk_080FF254 -_080555B4: .4byte gUnk_02000080 - - thumb_func_start sub_080555B8 -sub_080555B8: @ 0x080555B8 - push {r4, r5, lr} - ldr r5, _08055600 @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldr r1, _08055604 @ =gUnk_0811E454 - ldrb r0, [r4, #0x11] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrh r1, [r4, #0x12] - bl sub_0807CC9C - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0E8 - movs r0, #0x11 - bl sub_0801D7EC - ldrb r0, [r5, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - ldr r1, _08055608 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, r5, pc} - .align 2, 0 -_08055600: .4byte gUnk_02000080 -_08055604: .4byte gUnk_0811E454 -_08055608: .4byte gUnk_02000070 - - thumb_func_start sub_0805560C -sub_0805560C: @ 0x0805560C - push {lr} - ldr r0, _0805562C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055628 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055628 - ldr r1, _08055630 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055628: - pop {pc} - .align 2, 0 -_0805562C: .4byte gUnk_03000FD0 -_08055630: .4byte gUnk_02000080 - - thumb_func_start sub_08055634 -sub_08055634: @ 0x08055634 - push {r4, r5, lr} - ldr r4, _0805566C @ =gUnk_02000080 - ldr r5, [r4, #0xc] - movs r0, #0x2c - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805565C - ldr r0, _08055670 @ =gUnk_03000BF0 - ldrh r1, [r5, #8] - ldrh r3, [r0, #6] - adds r1, r1, r3 - strh r1, [r2, #0x2e] - ldrh r1, [r5, #0xa] - ldrh r0, [r0, #8] - adds r1, r1, r0 - strh r1, [r2, #0x32] -_0805565C: - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0xc3 - lsls r0, r0, #1 - strh r0, [r4, #8] - pop {r4, r5, pc} - .align 2, 0 -_0805566C: .4byte gUnk_02000080 -_08055670: .4byte gUnk_03000BF0 - - thumb_func_start sub_08055674 -sub_08055674: @ 0x08055674 - push {lr} - ldr r1, _0805568C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805568A - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_0805568A: - pop {pc} - .align 2, 0 -_0805568C: .4byte gUnk_02000080 - - thumb_func_start sub_08055690 -sub_08055690: @ 0x08055690 - push {lr} - ldr r1, _080556A4 @ =gUnk_080FF284 - ldr r0, _080556A8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080556A4: .4byte gUnk_080FF284 -_080556A8: .4byte gUnk_02000080 - - thumb_func_start sub_080556AC -sub_080556AC: @ 0x080556AC - push {r4, lr} - ldr r4, _080556E4 @ =gUnk_02000080 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _080556E8 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _080556EC @ =gUnk_080FF264 - bl sub_0804ADDC - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_080556E4: .4byte gUnk_02000080 -_080556E8: .4byte gUnk_02000070 -_080556EC: .4byte gUnk_080FF264 - - thumb_func_start nullsub_489 -nullsub_489: @ 0x080556F0 - bx lr - .align 2, 0 - - thumb_func_start sub_080556F4 -sub_080556F4: @ 0x080556F4 - push {lr} - ldr r1, _08055708 @ =gUnk_080FF28C - ldr r0, _0805570C @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055708: .4byte gUnk_080FF28C -_0805570C: .4byte gUnk_02000080 - - thumb_func_start sub_08055710 -sub_08055710: @ 0x08055710 - push {r4, lr} - ldr r4, _0805575C @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _08055760 @ =gUnk_080FEE48 - bl sub_0804ADF8 - adds r1, r0, #0 - cmp r1, #0 - beq _08055734 - movs r0, #2 - strb r0, [r1, #0xb] - adds r1, #0x86 - ldr r0, _08055764 @ =0x000080FF - strh r0, [r1] -_08055734: - ldrb r0, [r4, #4] - bl sub_08054A14 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055768 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_0805575C: .4byte gUnk_02000080 -_08055760: .4byte gUnk_080FEE48 -_08055764: .4byte 0x000080FF -_08055768: .4byte gUnk_02000070 - - thumb_func_start sub_0805576C -sub_0805576C: @ 0x0805576C - push {lr} - ldr r0, _08055790 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805578C - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _0805578C - ldr r0, _08055794 @ =gUnk_02000080 - ldrb r1, [r0, #6] - adds r1, #1 - strb r1, [r0, #6] - movs r1, #0x78 - strh r1, [r0, #8] -_0805578C: - pop {pc} - .align 2, 0 -_08055790: .4byte gUnk_03000FD0 -_08055794: .4byte gUnk_02000080 - - thumb_func_start sub_08055798 -sub_08055798: @ 0x08055798 - push {lr} - ldr r1, _080557B0 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080557AE - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_080557AE: - pop {pc} - .align 2, 0 -_080557B0: .4byte gUnk_02000080 - - thumb_func_start sub_080557B4 -sub_080557B4: @ 0x080557B4 - push {lr} - ldr r1, _080557C8 @ =gUnk_080FF2B8 - ldr r0, _080557CC @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080557C8: .4byte gUnk_080FF2B8 -_080557CC: .4byte gUnk_02000080 - - thumb_func_start sub_080557D0 -sub_080557D0: @ 0x080557D0 - push {r4, lr} - ldr r4, _08055808 @ =gUnk_02000080 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _0805580C @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _08055810 @ =gUnk_080FF298 - bl sub_0804ADDC - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055808: .4byte gUnk_02000080 -_0805580C: .4byte gUnk_02000070 -_08055810: .4byte gUnk_080FF298 - - thumb_func_start nullsub_490 -nullsub_490: @ 0x08055814 - bx lr - .align 2, 0 - - thumb_func_start sub_08055818 -sub_08055818: @ 0x08055818 - push {lr} - ldr r1, _0805582C @ =gUnk_080FF300 - ldr r0, _08055830 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805582C: .4byte gUnk_080FF300 -_08055830: .4byte gUnk_02000080 - - thumb_func_start sub_08055834 -sub_08055834: @ 0x08055834 - push {r4, lr} - ldr r0, _08055870 @ =gUnk_080FF2C0 - bl sub_0804ADDC - ldr r0, _08055874 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #9 - beq _0805584A - ldr r0, _08055878 @ =0x00000DB4 - bl sub_08018C58 -_0805584A: - ldr r4, _0805587C @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055880 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055870: .4byte gUnk_080FF2C0 -_08055874: .4byte gUnk_02002A40 -_08055878: .4byte 0x00000DB4 -_0805587C: .4byte gUnk_02000080 -_08055880: .4byte gUnk_02000070 - - thumb_func_start nullsub_491 -nullsub_491: @ 0x08055884 - bx lr - .align 2, 0 - - thumb_func_start sub_08055888 -sub_08055888: @ 0x08055888 - push {lr} - ldr r1, _0805589C @ =gUnk_080FF328 - ldr r0, _080558A0 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805589C: .4byte gUnk_080FF328 -_080558A0: .4byte gUnk_02000080 - - thumb_func_start sub_080558A4 -sub_080558A4: @ 0x080558A4 - push {r4, lr} - ldr r4, _080558DC @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _080558E0 @ =gUnk_080FF308 - bl sub_0804ADDC - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _080558E4 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_080558DC: .4byte gUnk_02000080 -_080558E0: .4byte gUnk_080FF308 -_080558E4: .4byte gUnk_02000070 - - thumb_func_start nullsub_492 -nullsub_492: @ 0x080558E8 - bx lr - .align 2, 0 - - thumb_func_start sub_080558EC -sub_080558EC: @ 0x080558EC - push {lr} - ldr r1, _08055900 @ =gUnk_080FF330 - ldr r0, _08055904 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055900: .4byte gUnk_080FF330 -_08055904: .4byte gUnk_02000080 - - thumb_func_start sub_08055908 -sub_08055908: @ 0x08055908 - push {r4, r5, lr} - ldr r5, _08055940 @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0B0 - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - bl sub_0804B0E8 - ldrb r0, [r5, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r5, #6] - adds r0, #1 - strb r0, [r5, #6] - ldr r1, _08055944 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, r5, pc} - .align 2, 0 -_08055940: .4byte gUnk_02000080 -_08055944: .4byte gUnk_02000070 - - thumb_func_start sub_08055948 -sub_08055948: @ 0x08055948 - push {lr} - ldr r0, _08055970 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805596C - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _0805596C - bl sub_08055994 - ldr r0, _08055974 @ =gUnk_02000080 - ldrb r1, [r0, #6] - adds r1, #1 - strb r1, [r0, #6] - movs r1, #0x78 - strh r1, [r0, #8] -_0805596C: - pop {pc} - .align 2, 0 -_08055970: .4byte gUnk_03000FD0 -_08055974: .4byte gUnk_02000080 - - thumb_func_start sub_08055978 -sub_08055978: @ 0x08055978 - push {lr} - ldr r1, _08055990 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805598E - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_0805598E: - pop {pc} - .align 2, 0 -_08055990: .4byte gUnk_02000080 - - thumb_func_start sub_08055994 -sub_08055994: @ 0x08055994 - push {r4, lr} - ldr r4, _080559D8 @ =gUnk_02000080 - ldrb r0, [r4, #4] - lsls r0, r0, #3 - ldr r1, _080559DC @ =gUnk_080FEAC8 - adds r0, r0, r1 - ldrb r1, [r0, #6] - movs r0, #1 - ands r0, r1 - movs r3, #1 - cmp r0, #0 - beq _080559AE - movs r3, #2 -_080559AE: - ldr r0, [r4, #0xc] - ldrh r1, [r0, #8] - lsrs r1, r1, #4 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r0, #0xa] - lsrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - movs r0, #0x73 - adds r2, r3, #0 - bl sub_0807B314 - ldrb r0, [r4, #4] - bl sub_080553E0 - movs r0, #0x73 - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 -_080559D8: .4byte gUnk_02000080 -_080559DC: .4byte gUnk_080FEAC8 - - thumb_func_start sub_080559E0 -sub_080559E0: @ 0x080559E0 - push {lr} - ldr r1, _080559F4 @ =gUnk_080FF35C - ldr r0, _080559F8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080559F4: .4byte gUnk_080FF35C -_080559F8: .4byte gUnk_02000080 - - thumb_func_start sub_080559FC -sub_080559FC: @ 0x080559FC - push {r4, lr} - ldr r4, _08055A30 @ =gUnk_02000080 - ldr r0, [r4, #0xc] - ldrb r0, [r0, #1] - cmp r0, #0 - beq _08055A0E - ldr r0, _08055A34 @ =gUnk_080FF33C - bl sub_0804ADDC -_08055A0E: - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055A38 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055A30: .4byte gUnk_02000080 -_08055A34: .4byte gUnk_080FF33C -_08055A38: .4byte gUnk_02000070 - - thumb_func_start sub_08055A3C -sub_08055A3C: @ 0x08055A3C - push {lr} - ldr r0, _08055A64 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055A60 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055A60 - movs r0, #7 - movs r1, #0x10 - bl sub_08050054 - ldr r1, _08055A68 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055A60: - pop {pc} - .align 2, 0 -_08055A64: .4byte gUnk_03000FD0 -_08055A68: .4byte gUnk_02000080 - - thumb_func_start sub_08055A6C -sub_08055A6C: @ 0x08055A6C - push {r4, lr} - ldr r0, _08055AA0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055A9E - ldr r4, _08055AA4 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 - movs r0, #0x73 - bl sub_080A3268 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_08055A9E: - pop {r4, pc} - .align 2, 0 -_08055AA0: .4byte gUnk_03000FD0 -_08055AA4: .4byte gUnk_02000080 - - thumb_func_start sub_08055AA8 -sub_08055AA8: @ 0x08055AA8 - push {lr} - ldr r0, _08055AC8 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055AC6 - ldr r1, _08055ACC @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055AC6 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055AC6: - pop {pc} - .align 2, 0 -_08055AC8: .4byte gUnk_03000FD0 -_08055ACC: .4byte gUnk_02000080 - - thumb_func_start sub_08055AD0 -sub_08055AD0: @ 0x08055AD0 - push {lr} - ldr r1, _08055AE4 @ =gUnk_080FF36C - ldr r0, _08055AE8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055AE4: .4byte gUnk_080FF36C -_08055AE8: .4byte gUnk_02000080 - - thumb_func_start sub_08055AEC -sub_08055AEC: @ 0x08055AEC - push {r4, lr} - ldr r4, _08055B2C @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldr r0, [r4, #0xc] - ldrb r0, [r0, #1] - lsls r0, r0, #4 - ldr r1, _08055B30 @ =gUnk_080FED18 - adds r0, r0, r1 - bl sub_0804ADF8 - adds r1, r0, #0 - cmp r1, #0 - beq _08055B14 - movs r0, #1 - strb r0, [r1, #0xb] -_08055B14: - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055B34 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055B2C: .4byte gUnk_02000080 -_08055B30: .4byte gUnk_080FED18 -_08055B34: .4byte gUnk_02000070 - - thumb_func_start sub_08055B38 -sub_08055B38: @ 0x08055B38 - push {lr} - ldr r0, _08055B4C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055B48 - ldr r1, _08055B50 @ =gUnk_02000080 - movs r0, #0x78 - strh r0, [r1, #8] -_08055B48: - pop {pc} - .align 2, 0 -_08055B4C: .4byte gUnk_03000FD0 -_08055B50: .4byte gUnk_02000080 - - thumb_func_start sub_08055B54 -sub_08055B54: @ 0x08055B54 - push {lr} - ldr r1, _08055B6C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055B6A - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055B6A: - pop {pc} - .align 2, 0 -_08055B6C: .4byte gUnk_02000080 - - thumb_func_start sub_08055B70 -sub_08055B70: @ 0x08055B70 - push {r4, r5, r6, lr} - adds r0, r1, #0 - adds r5, r2, #0 - adds r6, r3, #0 - ldr r1, _08055BA4 @ =gUnk_02000080 - ldr r4, [r1, #0xc] - lsls r0, r0, #4 - ldr r1, _08055BA8 @ =gUnk_080FF378 - adds r0, r0, r1 - bl sub_0804ADF8 - adds r3, r0, #0 - cmp r3, #0 - beq _08055BA2 - ldrh r0, [r4, #8] - ldr r1, _08055BAC @ =gUnk_03000BF0 - adds r0, r0, r5 - ldrh r2, [r1, #6] - adds r0, r0, r2 - strh r0, [r3, #0x2e] - ldrh r0, [r4, #0xa] - adds r0, r0, r6 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r3, #0x32] -_08055BA2: - pop {r4, r5, r6, pc} - .align 2, 0 -_08055BA4: .4byte gUnk_02000080 -_08055BA8: .4byte gUnk_080FF378 -_08055BAC: .4byte gUnk_03000BF0 - - thumb_func_start sub_08055BB0 -sub_08055BB0: @ 0x08055BB0 - push {lr} - ldr r1, _08055BC4 @ =gUnk_080FF3C8 - ldr r0, _08055BC8 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055BC4: .4byte gUnk_080FF3C8 -_08055BC8: .4byte gUnk_02000080 - - thumb_func_start sub_08055BCC -sub_08055BCC: @ 0x08055BCC - push {r4, lr} - ldr r4, _08055BFC @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #4] - movs r1, #0 - bl sub_0801876C - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055C00 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055BFC: .4byte gUnk_02000080 -_08055C00: .4byte gUnk_02000070 - - thumb_func_start sub_08055C04 -sub_08055C04: @ 0x08055C04 - push {lr} - ldr r0, _08055C2C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055C28 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055C28 - movs r0, #7 - movs r1, #0x10 - bl sub_08050054 - ldr r1, _08055C30 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] -_08055C28: - pop {pc} - .align 2, 0 -_08055C2C: .4byte gUnk_03000FD0 -_08055C30: .4byte gUnk_02000080 - - thumb_func_start sub_08055C34 -sub_08055C34: @ 0x08055C34 - push {r4, r5, lr} - sub sp, #4 - ldr r0, _08055C64 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055CA6 - ldr r5, _08055C68 @ =gUnk_02000080 - ldr r4, [r5, #0xc] - ldrb r0, [r5, #4] - bl sub_080553E0 - ldrb r1, [r4, #1] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _08055C6C - ldrb r0, [r5, #4] - movs r1, #0 - bl sub_08054974 - b _08055C8C - .align 2, 0 -_08055C64: .4byte gUnk_03000FD0 -_08055C68: .4byte gUnk_02000080 -_08055C6C: - str r0, [sp] - movs r0, #6 - movs r1, #0x9e - movs r2, #6 - movs r3, #0 - bl sub_0805EB2C - adds r4, r0, #0 - cmp r4, #0 - beq _08055C8C - ldr r0, [r4, #0x54] - bl sub_0805E7BC - adds r0, r4, #0 - bl sub_0805E7BC -_08055C8C: - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 - movs r0, #0x73 - bl sub_080A3268 - ldr r0, _08055CAC @ =gUnk_02000080 - ldrb r1, [r0, #6] - adds r1, #1 - strb r1, [r0, #6] - movs r1, #0x78 - strh r1, [r0, #8] -_08055CA6: - add sp, #4 - pop {r4, r5, pc} - .align 2, 0 -_08055CAC: .4byte gUnk_02000080 - - thumb_func_start sub_08055CB0 -sub_08055CB0: @ 0x08055CB0 - push {lr} - ldr r0, _08055CD0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055CCE - ldr r1, _08055CD4 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055CCE - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055CCE: - pop {pc} - .align 2, 0 -_08055CD0: .4byte gUnk_03000FD0 -_08055CD4: .4byte gUnk_02000080 - - thumb_func_start sub_08055CD8 -sub_08055CD8: @ 0x08055CD8 - push {lr} - ldr r1, _08055CEC @ =gUnk_080FF3E8 - ldr r0, _08055CF0 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055CEC: .4byte gUnk_080FF3E8 -_08055CF0: .4byte gUnk_02000080 - - thumb_func_start sub_08055CF4 -sub_08055CF4: @ 0x08055CF4 - push {r4, lr} - ldr r4, _08055D24 @ =gUnk_02000080 - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055D28 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055D24: .4byte gUnk_02000080 -_08055D28: .4byte gUnk_02000070 - - thumb_func_start sub_08055D2C -sub_08055D2C: @ 0x08055D2C - push {r4, lr} - ldr r0, _08055D5C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055D5A - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _08055D5A - ldr r4, _08055D60 @ =gUnk_02000080 - ldrb r0, [r4, #4] - movs r1, #1 - bl sub_0801876C - ldrb r0, [r4, #4] - bl sub_080553E0 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x78 - strh r0, [r4, #8] -_08055D5A: - pop {r4, pc} - .align 2, 0 -_08055D5C: .4byte gUnk_03000FD0 -_08055D60: .4byte gUnk_02000080 - - thumb_func_start sub_08055D64 -sub_08055D64: @ 0x08055D64 - push {lr} - ldr r1, _08055D7C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055D7A - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055D7A: - pop {pc} - .align 2, 0 -_08055D7C: .4byte gUnk_02000080 - - thumb_func_start sub_08055D80 -sub_08055D80: @ 0x08055D80 - push {lr} - ldr r1, _08055D94 @ =gUnk_080FF3F4 - ldr r0, _08055D98 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055D94: .4byte gUnk_080FF3F4 -_08055D98: .4byte gUnk_02000080 - - thumb_func_start sub_08055D9C -sub_08055D9C: @ 0x08055D9C - push {lr} - ldr r1, _08055DB8 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - ldr r1, _08055DBC @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {pc} - .align 2, 0 -_08055DB8: .4byte gUnk_02000080 -_08055DBC: .4byte gUnk_02000070 - - thumb_func_start sub_08055DC0 -sub_08055DC0: @ 0x08055DC0 - push {lr} - ldr r0, _08055DE0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08055DDC - ldr r0, _08055DE4 @ =0x00000A01 - bl sub_08056378 - ldr r1, _08055DE8 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - movs r0, #0x78 - strh r0, [r1, #8] -_08055DDC: - pop {pc} - .align 2, 0 -_08055DE0: .4byte gUnk_03000FD0 -_08055DE4: .4byte 0x00000A01 -_08055DE8: .4byte gUnk_02000080 - - thumb_func_start sub_08055DEC -sub_08055DEC: @ 0x08055DEC - push {lr} - ldr r1, _08055E04 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08055E02 - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] -_08055E02: - pop {pc} - .align 2, 0 -_08055E04: .4byte gUnk_02000080 - - thumb_func_start sub_08055E08 -sub_08055E08: @ 0x08055E08 - push {lr} - ldr r1, _08055E1C @ =gUnk_080FF420 - ldr r0, _08055E20 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08055E1C: .4byte gUnk_080FF420 -_08055E20: .4byte gUnk_02000080 - - thumb_func_start sub_08055E24 -sub_08055E24: @ 0x08055E24 - push {r4, lr} - ldr r4, _08055E5C @ =gUnk_02000080 - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _08055E60 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - ldr r1, [r4, #0xc] - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - bl sub_0804B0B0 - ldr r0, _08055E64 @ =gUnk_080FF400 - bl sub_0804ADDC - ldrb r0, [r4, #4] - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08055B70 - movs r0, #4 - movs r1, #0x10 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_08055E5C: .4byte gUnk_02000080 -_08055E60: .4byte gUnk_02000070 -_08055E64: .4byte gUnk_080FF400 - - thumb_func_start nullsub_493 -nullsub_493: @ 0x08055E68 - bx lr - .align 2, 0 - - thumb_func_start sub_08055E6C -sub_08055E6C: @ 0x08055E6C - push {r4, r5, r6, lr} - bl sub_08055F70 - bl sub_080A3204 - bl sub_0805616C - bl sub_0807CE90 - bl sub_080560B8 - bl sub_08056208 - ldr r1, _08055EEC @ =gUnk_02000010 - movs r0, #0xc1 - strb r0, [r1, #4] - bl sub_0804FFE4 - ldr r1, _08055EF0 @ =0x040000D4 - movs r0, #0xa0 - lsls r0, r0, #0x13 - str r0, [r1] - ldr r0, _08055EF4 @ =gUnk_020176A0 - str r0, [r1, #4] - ldr r0, _08055EF8 @ =0x84000080 - str r0, [r1, #8] - ldr r0, [r1, #8] - movs r0, #1 - bl sub_0804FF84 - bl sub_08056418 - bl sub_080ADD30 - ldr r1, _08055EFC @ =gUnk_03001150 - ldr r0, _08055F00 @ =0x01234567 - str r0, [r1] - ldr r4, _08055F04 @ =gUnk_03001000 - adds r0, r4, #0 - movs r1, #0x10 - bl sub_0801D630 - movs r0, #0 - bl sub_08056010 - adds r6, r4, #0 -_08055EC8: - bl sub_0801D6C0 - bl sub_08055FF4 - cmp r0, #0 - beq _08055ED8 - bl sub_080560A8 -_08055ED8: - ldrb r0, [r6, #1] - ldr r1, _08055F04 @ =gUnk_03001000 - cmp r0, #0 - beq _08055F08 - cmp r0, #1 - bne _08055F08 - bl sub_08056260 - b _08055F64 - .align 2, 0 -_08055EEC: .4byte gUnk_02000010 -_08055EF0: .4byte 0x040000D4 -_08055EF4: .4byte gUnk_020176A0 -_08055EF8: .4byte 0x84000080 -_08055EFC: .4byte gUnk_03001150 -_08055F00: .4byte 0x01234567 -_08055F04: .4byte gUnk_03001000 -_08055F08: - ldrb r0, [r1, #8] - cmp r0, #0 - beq _08055F22 - ldr r4, _08055F34 @ =gUnk_03001000 - movs r5, #0xff -_08055F12: - bl VBlankIntrWait - ldrb r0, [r4, #8] - subs r0, #1 - strb r0, [r4, #8] - ands r0, r5 - cmp r0, #0 - bne _08055F12 -_08055F22: - ldr r1, _08055F34 @ =gUnk_03001000 - ldrb r0, [r1, #9] - cmp r0, #0 - beq _08055F44 - subs r0, #1 - strb r0, [r1, #9] - ldrb r4, [r1, #0xa] - b _08055F3C - .align 2, 0 -_08055F34: .4byte gUnk_03001000 -_08055F38: - bl VBlankIntrWait -_08055F3C: - adds r0, r4, #0 - subs r4, #1 - cmp r0, #0 - bgt _08055F38 -_08055F44: - ldrh r0, [r6, #0xc] - adds r0, #1 - strh r0, [r6, #0xc] - ldr r1, _08055F6C @ =gUnk_08100CBC - ldrb r0, [r6, #2] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_08056458 - bl sub_08050154 - bl sub_080A3480 -_08055F64: - bl sub_08016E78 - b _08055EC8 - .align 2, 0 -_08055F6C: .4byte gUnk_08100CBC - - thumb_func_start sub_08055F70 -sub_08055F70: @ 0x08055F70 - push {lr} - bl sub_08056020 - movs r0, #0xfe - bl RegisterRamReset - movs r1, #0xa0 - lsls r1, r1, #0x13 - ldr r2, _08055FC8 @ =0x00007FFF - adds r0, r2, #0 - strh r0, [r1] - ldr r1, _08055FCC @ =0x04000204 - ldr r2, _08055FD0 @ =0x00004014 - adds r0, r2, #0 - strh r0, [r1] - ldr r2, _08055FD4 @ =0x0003FFD0 - ldr r0, _08055FD8 @ =gUnk_02000030 - adds r1, r2, #0 - bl sub_0801D630 - ldr r0, _08055FDC @ =gUnk_080B2CD8 - ldr r3, _08055FE0 @ =sub_080B197C - subs r2, r0, r3 - cmp r2, #0 - beq _08055FAA - ldr r1, _08055FE4 @ =gUnk_030056F0 - adds r0, r3, #0 - bl sub_0801D66C -_08055FAA: - ldr r0, _08055FE8 @ =gUnk_080B2CD8 - ldr r3, _08055FEC @ =gUnk_080B2CD8 - subs r2, r0, r3 - cmp r2, #0 - beq _08055FBC - ldr r1, _08055FF0 @ =gUnk_02038560 - adds r0, r3, #0 - bl sub_0801D66C -_08055FBC: - movs r0, #0 - bl sub_0801DA90 - bl sub_08016B34 - pop {pc} - .align 2, 0 -_08055FC8: .4byte 0x00007FFF -_08055FCC: .4byte 0x04000204 -_08055FD0: .4byte 0x00004014 -_08055FD4: .4byte 0x0003FFD0 -_08055FD8: .4byte gUnk_02000030 -_08055FDC: .4byte gUnk_080B2CD8 -_08055FE0: .4byte sub_080B197C -_08055FE4: .4byte gUnk_030056F0 -_08055FE8: .4byte gUnk_080B2CD8 -_08055FEC: .4byte gUnk_080B2CD8 -_08055FF0: .4byte gUnk_02038560 - - thumb_func_start sub_08055FF4 -sub_08055FF4: @ 0x08055FF4 - push {lr} - movs r2, #0 - ldr r0, _0805600C @ =gUnk_03000FF0 - ldrh r1, [r0] - movs r0, #0xf - ands r0, r1 - cmp r0, #0xf - bne _08056006 - movs r2, #1 -_08056006: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0805600C: .4byte gUnk_03000FF0 - - thumb_func_start sub_08056010 -sub_08056010: @ 0x08056010 - ldr r1, _0805601C @ =gUnk_03001000 - movs r2, #0 - strb r0, [r1, #2] - strb r2, [r1, #3] - strb r2, [r1, #4] - bx lr - .align 2, 0 -_0805601C: .4byte gUnk_03001000 - - thumb_func_start sub_08056020 -sub_08056020: @ 0x08056020 - push {r4, lr} - ldr r2, _08056088 @ =0x04000208 - movs r1, #0 - strh r1, [r2] - ldr r0, _0805608C @ =0x04000200 - strh r1, [r0] - ldr r0, _08056090 @ =0x04000004 - strh r1, [r0] - ldr r0, _08056094 @ =0x04000202 - strh r1, [r0] - strh r1, [r2] - ldr r1, _08056098 @ =0x040000B0 - ldrh r2, [r1, #0xa] - ldr r4, _0805609C @ =0x0000C5FF - adds r0, r4, #0 - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r2, [r1, #0xa] - ldr r3, _080560A0 @ =0x00007FFF - adds r0, r3, #0 - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r0, [r1, #0xa] - adds r1, #0xc - ldrh r2, [r1, #0xa] - adds r0, r4, #0 - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r2, [r1, #0xa] - adds r0, r3, #0 - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r0, [r1, #0xa] - adds r1, #0xc - ldrh r2, [r1, #0xa] - adds r0, r4, #0 - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r2, [r1, #0xa] - adds r0, r3, #0 - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r0, [r1, #0xa] - ldr r0, _080560A4 @ =0x040000D4 - ldrh r1, [r0, #0xa] - ands r4, r1 - strh r4, [r0, #0xa] - ldrh r1, [r0, #0xa] - ands r3, r1 - strh r3, [r0, #0xa] - ldrh r0, [r0, #0xa] - pop {r4, pc} - .align 2, 0 -_08056088: .4byte 0x04000208 -_0805608C: .4byte 0x04000200 -_08056090: .4byte 0x04000004 -_08056094: .4byte 0x04000202 -_08056098: .4byte 0x040000B0 -_0805609C: .4byte 0x0000C5FF -_080560A0: .4byte 0x00007FFF -_080560A4: .4byte 0x040000D4 - - thumb_func_start sub_080560A8 -sub_080560A8: @ 0x080560A8 - push {lr} - bl sub_08056020 - movs r0, #0xde - bl SoftReset - pop {pc} - .align 2, 0 - - thumb_func_start sub_080560B8 -sub_080560B8: @ 0x080560B8 - push {r4, lr} - bl sub_08056134 - cmp r0, #0 - bne _080560F8 - movs r0, #0x80 - lsls r0, r0, #0x12 - bl sub_0807CF30 - adds r1, r0, #0 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - blt _080560E4 - cmp r1, #0 - ble _080560E4 - cmp r1, #1 - bne _080560E4 - bl sub_08056134 - cmp r0, #0 - bne _080560F8 -_080560E4: - ldr r0, _08056128 @ =gUnk_08100CD4 - movs r4, #0x80 - lsls r4, r4, #0x12 - adds r1, r4, #0 - movs r2, #0x10 - bl sub_0801D66C - adds r0, r4, #0 - bl sub_0807CF10 -_080560F8: - ldr r2, _0805612C @ =gUnk_02000010 - ldr r1, [r2] - ldr r0, _08056130 @ =0x4D435A33 - eors r1, r0 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - ldrb r1, [r2, #4] - cmp r1, #0 - beq _08056112 - cmp r1, #0xc1 - beq _08056112 - movs r0, #1 -_08056112: - cmp r0, #0 - beq _08056124 - ldr r4, _0805612C @ =gUnk_02000010 - adds r0, r4, #0 - movs r1, #0x20 - bl sub_0801D630 - ldr r0, _08056130 @ =0x4D435A33 - str r0, [r4] -_08056124: - pop {r4, pc} - .align 2, 0 -_08056128: .4byte gUnk_08100CD4 -_0805612C: .4byte gUnk_02000010 -_08056130: .4byte 0x4D435A33 - - thumb_func_start sub_08056134 -sub_08056134: @ 0x08056134 - push {lr} - movs r2, #0x80 - lsls r2, r2, #0x12 - ldr r1, [r2] - ldr r0, _08056164 @ =0x4D435A33 - cmp r1, r0 - bne _08056160 - ldrb r0, [r2, #4] - cmp r0, #2 - bhi _08056160 - ldrb r0, [r2, #5] - cmp r0, #2 - bhi _08056160 - ldrb r0, [r2, #6] - cmp r0, #2 - bhi _08056160 - ldrb r0, [r2, #7] - cmp r0, #1 - bne _08056160 - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _08056168 -_08056160: - movs r0, #0 - b _0805616A - .align 2, 0 -_08056164: .4byte 0x4D435A33 -_08056168: - movs r0, #1 -_0805616A: - pop {pc} - - thumb_func_start sub_0805616C -sub_0805616C: @ 0x0805616C - push {lr} - ldr r0, _080561E8 @ =0x80040000 - bl sub_080A3268 - ldr r0, _080561EC @ =gUnk_03000F50 - adds r3, r0, #0 - adds r3, #0x6c - ldrb r2, [r3] - adds r0, #0x6d - movs r1, #0 - strb r2, [r0] - strb r1, [r3] - ldr r1, _080561F0 @ =0x040000B0 - ldrh r2, [r1, #0xa] - ldr r0, _080561F4 @ =0x0000C5FF - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r2, [r1, #0xa] - ldr r0, _080561F8 @ =0x00007FFF - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r0, [r1, #0xa] - ldr r0, [r1, #8] - movs r2, #0x80 - lsls r2, r2, #0x18 - cmp r0, #0 - bge _080561AA -_080561A2: - ldr r0, [r1, #8] - ands r0, r2 - cmp r0, #0 - bne _080561A2 -_080561AA: - ldr r2, _080561FC @ =0x040000BC - ldr r0, [r2, #8] - movs r1, #0x80 - lsls r1, r1, #0x18 - cmp r0, #0 - bge _080561BE -_080561B6: - ldr r0, [r2, #8] - ands r0, r1 - cmp r0, #0 - bne _080561B6 -_080561BE: - ldr r2, _08056200 @ =0x040000C8 - ldr r0, [r2, #8] - movs r1, #0x80 - lsls r1, r1, #0x18 - cmp r0, #0 - bge _080561D2 -_080561CA: - ldr r0, [r2, #8] - ands r0, r1 - cmp r0, #0 - bne _080561CA -_080561D2: - ldr r2, _08056204 @ =0x040000D4 - ldr r0, [r2, #8] - movs r1, #0x80 - lsls r1, r1, #0x18 - cmp r0, #0 - bge _080561E6 -_080561DE: - ldr r0, [r2, #8] - ands r0, r1 - cmp r0, #0 - bne _080561DE -_080561E6: - pop {pc} - .align 2, 0 -_080561E8: .4byte 0x80040000 -_080561EC: .4byte gUnk_03000F50 -_080561F0: .4byte 0x040000B0 -_080561F4: .4byte 0x0000C5FF -_080561F8: .4byte 0x00007FFF -_080561FC: .4byte 0x040000BC -_08056200: .4byte 0x040000C8 -_08056204: .4byte 0x040000D4 - - thumb_func_start sub_08056208 -sub_08056208: @ 0x08056208 - push {lr} - ldr r0, _08056224 @ =0x80060000 - bl sub_080A3268 - ldr r0, _08056228 @ =gUnk_03000F50 - adds r3, r0, #0 - adds r3, #0x6d - ldrb r2, [r3] - adds r0, #0x6c - movs r1, #0 - strb r2, [r0] - strb r1, [r3] - pop {pc} - .align 2, 0 -_08056224: .4byte 0x80060000 -_08056228: .4byte gUnk_03000F50 - - thumb_func_start sub_0805622C -sub_0805622C: @ 0x0805622C - ldr r3, _08056248 @ =gUnk_03000F50 - str r0, [r3, #0x70] - str r1, [r3, #0x74] - str r2, [r3, #0x78] - adds r3, #0x6c - movs r2, #1 - movs r0, #1 - strb r0, [r3] - ldr r1, _0805624C @ =gUnk_03003DE4 - ldrb r0, [r1] - eors r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_08056248: .4byte gUnk_03000F50 -_0805624C: .4byte gUnk_03003DE4 - - thumb_func_start sub_08056250 -sub_08056250: @ 0x08056250 - ldr r0, _0805625C @ =gUnk_03000F50 - adds r0, #0x6c - movs r1, #0 - strb r1, [r0] - bx lr - .align 2, 0 -_0805625C: .4byte gUnk_03000F50 - - thumb_func_start sub_08056260 -sub_08056260: @ 0x08056260 - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - movs r1, #0x80 - lsls r1, r1, #0x13 - movs r0, #0x80 - strh r0, [r1] - ldr r1, _080562B8 @ =0x04000132 - ldr r2, _080562BC @ =0x00008304 - adds r0, r2, #0 - strh r0, [r1] - ldr r6, _080562C0 @ =0x04000208 - movs r0, #0 - mov r8, r0 - strh r0, [r6] - ldr r5, _080562C4 @ =0x04000200 - ldrh r4, [r5] - movs r1, #0xc0 - lsls r1, r1, #6 - adds r0, r1, #0 - strh r0, [r5] - movs r2, #1 - mov sb, r2 - strh r2, [r6] - bl SoundBiasReset - svc #3 - bl SoundBiasSet - mov r0, r8 - strh r0, [r6] - strh r4, [r5] - mov r1, sb - strh r1, [r6] - ldr r0, _080562C8 @ =gUnk_03001000 - ldrb r1, [r0, #1] - mov r2, r8 - strb r2, [r0, #1] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, pc} - .align 2, 0 -_080562B8: .4byte 0x04000132 -_080562BC: .4byte 0x00008304 -_080562C0: .4byte 0x04000208 -_080562C4: .4byte 0x04000200 -_080562C8: .4byte gUnk_03001000 - - thumb_func_start sub_080562CC -sub_080562CC: @ 0x080562CC - push {r4, r5, r6, lr} - ldr r6, _080562FC @ =gUnk_03000BF0 - movs r4, #0xa - ldrsh r5, [r6, r4] - ldrh r4, [r6, #6] - subs r5, r5, r4 - subs r5, r5, r0 - adds r5, #0xf0 - movs r4, #0xc - ldrsh r0, [r6, r4] - ldrh r4, [r6, #8] - subs r0, r0, r4 - subs r0, r0, r1 - adds r0, #0xa0 - adds r2, #0xf0 - adds r3, #0xa0 - movs r1, #0 - cmp r5, r2 - bhs _080562F8 - cmp r0, r3 - bhs _080562F8 - movs r1, #1 -_080562F8: - adds r0, r1, #0 - pop {r4, r5, r6, pc} - .align 2, 0 -_080562FC: .4byte gUnk_03000BF0 - - thumb_func_start sub_08056300 -sub_08056300: @ 0x08056300 - push {r4, lr} - adds r4, r0, #0 - b _0805631C -_08056306: - ldrh r0, [r4, #2] - ldrh r1, [r4, #4] - ldrh r2, [r4, #6] - ldrh r3, [r4, #8] - bl sub_080562CC - cmp r0, #0 - beq _0805631A - ldrh r0, [r4] - b _08056324 -_0805631A: - adds r4, #0xa -_0805631C: - ldrh r0, [r4] - cmp r0, #0xff - bne _08056306 - movs r0, #0xff -_08056324: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08056328 -sub_08056328: @ 0x08056328 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_08056330 -sub_08056330: @ 0x08056330 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_08056338 -sub_08056338: @ 0x08056338 - push {lr} - movs r2, #1 - rsbs r2, r2, #0 - ldr r0, _08056358 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08056354 - ldr r1, _0805635C @ =gUnk_02000040 - ldrb r0, [r1] - cmp r0, #3 - bne _08056354 - ldrb r2, [r1, #1] -_08056354: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_08056358: .4byte gUnk_02000050 -_0805635C: .4byte gUnk_02000040 - - thumb_func_start sub_08056360 -sub_08056360: @ 0x08056360 - push {lr} - ldr r2, _08056374 @ =gUnk_02000050 - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _08056372 - movs r0, #0x88 - strb r0, [r2] -_08056372: - pop {pc} - .align 2, 0 -_08056374: .4byte gUnk_02000050 - - thumb_func_start sub_08056378 -sub_08056378: @ 0x08056378 - push {lr} - adds r2, r0, #0 - ldr r0, _0805638C @ =gUnk_03000BF0 - ldr r1, [r0, #0x30] - cmp r1, #0 - beq _08056390 - adds r0, r2, #0 - bl sub_08056398 - b _08056396 - .align 2, 0 -_0805638C: .4byte gUnk_03000BF0 -_08056390: - adds r0, r2, #0 - bl sub_080563EC -_08056396: - pop {pc} - - thumb_func_start sub_08056398 -sub_08056398: @ 0x08056398 - push {r4, lr} - adds r4, r1, #0 - bl sub_080563EC - movs r1, #0x32 - ldrsh r0, [r4, r1] - movs r2, #0x36 - ldrsh r1, [r4, r2] - adds r0, r0, r1 - ldr r1, _080563C0 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r1, [r1, r2] - subs r0, r0, r1 - cmp r0, #0x58 - ble _080563BC - ldr r1, _080563C4 @ =gUnk_02000050 - movs r0, #1 - strb r0, [r1, #7] -_080563BC: - pop {r4, pc} - .align 2, 0 -_080563C0: .4byte gUnk_03000BF0 -_080563C4: .4byte gUnk_02000050 - - thumb_func_start sub_080563C8 -sub_080563C8: @ 0x080563C8 - push {lr} - adds r2, r1, #0 - movs r1, #1 - bl sub_080563D4 - pop {pc} - - thumb_func_start sub_080563D4 -sub_080563D4: @ 0x080563D4 - push {r4, r5, lr} - adds r4, r1, #0 - adds r5, r2, #0 - bl sub_080563EC - ldr r0, _080563E8 @ =gUnk_02000050 - strb r4, [r0, #6] - strb r5, [r0, #7] - pop {r4, r5, pc} - .align 2, 0 -_080563E8: .4byte gUnk_02000050 - - thumb_func_start sub_080563EC -sub_080563EC: @ 0x080563EC - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08056414 @ =gUnk_02000050 - adds r0, r4, #0 - movs r1, #0x20 - bl sub_0801D630 - strh r5, [r4, #8] - movs r0, #0x63 - strb r0, [r4, #2] - movs r0, #0x1a - strb r0, [r4, #4] - movs r0, #4 - strb r0, [r4, #5] - movs r1, #1 - strb r1, [r4, #6] - movs r0, #0xc - strb r0, [r4, #7] - strb r1, [r4] - pop {r4, r5, pc} - .align 2, 0 -_08056414: .4byte gUnk_02000050 - - thumb_func_start sub_08056418 -sub_08056418: @ 0x08056418 - push {lr} - ldr r0, _08056444 @ =gUnk_02000050 - movs r1, #0x20 - bl sub_0801D630 - ldr r0, _08056448 @ =gUnk_02022780 - movs r1, #0xa8 - bl sub_0801D630 - ldr r0, _0805644C @ =gUnk_02036A40 - movs r1, #8 - bl sub_0801D630 - ldr r0, _08056450 @ =gUnk_02036A38 - movs r1, #8 - bl sub_0801D630 - ldr r0, _08056454 @ =gUnk_02000040 - movs r1, #4 - bl sub_0801D630 - pop {pc} - .align 2, 0 -_08056444: .4byte gUnk_02000050 -_08056448: .4byte gUnk_02022780 -_0805644C: .4byte gUnk_02036A40 -_08056450: .4byte gUnk_02036A38 -_08056454: .4byte gUnk_02000040 - - thumb_func_start sub_08056458 -sub_08056458: @ 0x08056458 - push {r4, r5, lr} - ldr r0, _08056484 @ =gUnk_02000050 - ldrb r0, [r0] - cmp r0, #1 - bne _08056470 - ldr r0, _08056488 @ =gUnk_02022780 - movs r1, #0xa8 - bl sub_0801D630 - movs r0, #1 - bl sub_080564C8 -_08056470: - ldr r2, _08056488 @ =gUnk_02022780 - adds r1, r2, #0 - adds r1, #0x8a - ldrb r0, [r1] - cmp r0, #0 - beq _0805648C - subs r0, #1 - strb r0, [r1] - b _080564A2 - .align 2, 0 -_08056484: .4byte gUnk_02000050 -_08056488: .4byte gUnk_02022780 -_0805648C: - ldr r5, _080564C0 @ =gUnk_08107BC8 - adds r4, r2, #0 - adds r4, #0x88 -_08056492: - ldrb r0, [r4] - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r0, [r0] - bl _call_via_r0 - cmp r0, #0 - bne _08056492 -_080564A2: - ldr r0, _080564C4 @ =gUnk_02022780 - adds r1, r0, #0 - adds r1, #0x9d - ldrb r0, [r1] - cmp r0, #0 - beq _080564B6 - movs r0, #0 - strb r0, [r1] - bl sub_08056F70 -_080564B6: - bl sub_08056C68 - bl sub_08056D70 - pop {r4, r5, pc} - .align 2, 0 -_080564C0: .4byte gUnk_08107BC8 -_080564C4: .4byte gUnk_02022780 - - thumb_func_start sub_080564C8 -sub_080564C8: @ 0x080564C8 - ldr r1, _080564D8 @ =gUnk_02022780 - adds r2, r1, #0 - adds r2, #0x88 - movs r3, #0 - strb r0, [r2] - adds r1, #0x89 - strb r3, [r1] - bx lr - .align 2, 0 -_080564D8: .4byte gUnk_02022780 - - thumb_func_start sub_080564DC -sub_080564DC: @ 0x080564DC - ldr r0, _080564E8 @ =gUnk_02022780 - adds r0, #0x99 - movs r1, #0 - strb r1, [r0] - movs r0, #0 - bx lr - .align 2, 0 -_080564E8: .4byte gUnk_02022780 - - thumb_func_start sub_080564EC -sub_080564EC: @ 0x080564EC - push {r4, lr} - ldr r0, _08056598 @ =gUnk_02036A40 - movs r1, #8 - bl sub_0801D630 - ldr r0, _0805659C @ =gUnk_02024030 - movs r1, #0x18 - bl sub_0801D630 - ldr r4, _080565A0 @ =gUnk_02022780 - adds r0, r4, #0 - movs r1, #0xa8 - bl sub_0801D630 - ldr r0, _080565A4 @ =gUnk_02000050 - adds r1, r4, #0 - movs r2, #0x20 - bl sub_0801D66C - ldrb r0, [r4, #2] - cmp r0, #0x63 - bne _08056520 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #5] - strb r0, [r4, #2] -_08056520: - adds r1, r4, #0 - adds r1, #0x9c - movs r0, #0xff - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x20 - ldrh r1, [r4, #8] - bl sub_0805EEB4 - adds r3, r4, #0 - adds r3, #0x5c - movs r0, #2 - strb r0, [r3] - movs r0, #0xe - strb r0, [r3, #1] - adds r3, #2 - movs r2, #0 - ldr r0, _080565A8 @ =gUnk_02002A40 - adds r0, #0x80 - ldrb r1, [r0] - cmp r1, #0 - beq _08056560 - adds r4, r0, #0 -_0805654E: - strb r1, [r3] - adds r3, #1 - adds r2, #1 - cmp r2, #5 - bhi _08056560 - adds r0, r2, r4 - ldrb r1, [r0] - cmp r1, #0 - bne _0805654E -_08056560: - movs r0, #2 - strb r0, [r3] - movs r0, #0xf - strb r0, [r3, #1] - movs r0, #0 - strb r0, [r3, #2] - ldr r4, _080565A0 @ =gUnk_02022780 - adds r0, r4, #0 - bl sub_08056FBC - ldr r0, _080565AC @ =gUnk_08107BE0 - str r0, [r4, #0x2c] - ldr r0, _080565B0 @ =gUnk_02000D00 - str r0, [r4, #0x58] - adds r4, #0x54 - movs r0, #0xd0 - strh r0, [r4] - movs r0, #2 - bl sub_08056C54 - movs r0, #0 - bl sub_08056BDC - movs r0, #2 - bl sub_080564C8 - movs r0, #1 - pop {r4, pc} - .align 2, 0 -_08056598: .4byte gUnk_02036A40 -_0805659C: .4byte gUnk_02024030 -_080565A0: .4byte gUnk_02022780 -_080565A4: .4byte gUnk_02000050 -_080565A8: .4byte gUnk_02002A40 -_080565AC: .4byte gUnk_08107BE0 -_080565B0: .4byte gUnk_02000D00 - - thumb_func_start sub_080565B4 -sub_080565B4: @ 0x080565B4 - push {r4, lr} - ldr r4, _080565F4 @ =gUnk_02022780 - adds r1, r4, #0 - adds r1, #0x89 - ldrb r0, [r1] - cmp r0, #0 - bne _080565DA - movs r0, #1 - strb r0, [r1] - adds r1, #0x10 - strb r0, [r1] - ldrb r0, [r4, #3] - subs r1, #0x46 - ldrb r1, [r1] - bl sub_08056F88 - movs r0, #0x65 - bl sub_080A3268 -_080565DA: - movs r0, #1 - bl sub_08056CC0 - cmp r0, #0 - beq _080565F0 - adds r1, r4, #0 - adds r1, #0x99 - movs r0, #2 - strb r0, [r1] - bl sub_080564C8 -_080565F0: - movs r0, #0 - pop {r4, pc} - .align 2, 0 -_080565F4: .4byte gUnk_02022780 - - thumb_func_start sub_080565F8 -sub_080565F8: @ 0x080565F8 - push {r4, lr} - ldr r4, _0805663C @ =gUnk_02022780 - adds r1, r4, #0 - adds r1, #0x89 - ldrb r0, [r1] - cmp r0, #0 - bne _0805661C - movs r0, #1 - strb r0, [r1] - adds r1, #0x10 - movs r0, #3 - strb r0, [r1] - movs r0, #0 - bl sub_08056BDC - movs r0, #0x66 - bl sub_080A3268 -_0805661C: - movs r0, #1 - rsbs r0, r0, #0 - bl sub_08056CC0 - cmp r0, #0 - beq _08056636 - adds r1, r4, #0 - adds r1, #0x99 - movs r0, #0 - strb r0, [r1] - movs r0, #2 - bl sub_080564C8 -_08056636: - movs r0, #0 - pop {r4, pc} - .align 2, 0 -_0805663C: .4byte gUnk_02022780 - - thumb_func_start sub_08056640 -sub_08056640: @ 0x08056640 - push {lr} - movs r0, #0 - bl sub_08056C54 - movs r0, #0 - bl sub_080564C8 - movs r0, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08056654 -sub_08056654: @ 0x08056654 - push {lr} - movs r0, #4 - bl sub_08056C54 - ldr r2, _0805667C @ =gUnk_08107BF4 - ldr r0, _08056680 @ =gUnk_02022780 - adds r1, r0, #0 - adds r1, #0x89 - ldrb r1, [r1] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - movs r0, #0 - bl sub_08056CC0 - movs r0, #0 - pop {pc} - .align 2, 0 -_0805667C: .4byte gUnk_08107BF4 -_08056680: .4byte gUnk_02022780 - - thumb_func_start sub_08056684 -sub_08056684: @ 0x08056684 - push {r4, lr} - adds r2, r0, #0 - ldr r4, _080566AC @ =gUnk_02022780 - adds r0, r4, #0 - adds r0, #0x20 - ldrb r1, [r0] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _080566B0 - adds r0, r4, #0 - adds r0, #0x99 - ldrb r0, [r0] - cmp r0, #0 - bne _080566B6 - movs r0, #5 - bl sub_080564C8 - b _080566B6 - .align 2, 0 -_080566AC: .4byte gUnk_02022780 -_080566B0: - adds r0, r2, #0 - adds r0, #0x89 - strb r3, [r0] -_080566B6: - pop {r4, pc} - - thumb_func_start sub_080566B8 -sub_080566B8: @ 0x080566B8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x95 - ldrb r0, [r1] - cmp r0, #0 - beq _080566CC - subs r0, #1 - strb r0, [r1] - b _0805674E -_080566CC: - ldr r0, _08056740 @ =gUnk_03000FF0 - ldrh r1, [r0] - movs r0, #2 - ands r0, r1 - movs r2, #1 - cmp r0, #0 - beq _080566DC - movs r2, #8 -_080566DC: - adds r1, r4, #0 - adds r1, #0x92 - ldrb r0, [r1] - subs r0, r0, r2 - strb r0, [r1] - lsls r0, r0, #0x18 - adds r7, r1, #0 - cmp r0, #0 - bgt _0805674E - movs r5, #0 - ldr r2, _08056744 @ =gUnk_08107C0C -_080566F2: - adds r5, #1 - ldrb r0, [r4, #2] - adds r0, r0, r2 - ldrb r0, [r0] - ldrb r3, [r1] - adds r0, r0, r3 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - ble _080566F2 - movs r6, #0 -_08056708: - adds r0, r4, #0 - bl sub_08056750 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #0 - beq _08056732 - adds r0, r4, #0 - adds r0, #0x95 - ldrb r0, [r0] - cmp r0, #0 - bne _08056732 - adds r0, r4, #0 - adds r0, #0x8a - ldrb r0, [r0] - cmp r0, #0 - bne _08056732 - adds r6, r6, r1 - subs r5, #1 - cmp r5, #0 - bgt _08056708 -_08056732: - cmp r6, #0 - beq _0805674C - ldr r0, _08056748 @ =gUnk_02022780 - adds r0, #0x9d - movs r1, #1 - strb r1, [r0] - b _0805674E - .align 2, 0 -_08056740: .4byte gUnk_03000FF0 -_08056744: .4byte gUnk_08107C0C -_08056748: .4byte gUnk_02022780 -_0805674C: - strb r6, [r7] -_0805674E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08056750 -sub_08056750: @ 0x08056750 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrh r7, [r5, #0x24] - cmp r7, #0 - beq _0805675C - b _0805694C -_0805675C: - adds r4, r5, #0 - adds r4, #0x20 - adds r0, r4, #0 - bl sub_0805EFE8 - adds r7, r0, #0 - cmp r7, #0xe - bls _0805676E - b _08056942 -_0805676E: - lsls r0, r7, #2 - ldr r1, _08056778 @ =_0805677C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08056778: .4byte _0805677C -_0805677C: @ jump table - .4byte _080567B8 @ case 0 - .4byte _080567DE @ case 1 - .4byte _08056802 @ case 2 - .4byte _0805680A @ case 3 - .4byte _08056812 @ case 4 - .4byte _08056838 @ case 5 - .4byte _08056844 @ case 6 - .4byte _08056858 @ case 7 - .4byte _0805688C @ case 8 - .4byte _08056894 @ case 9 - .4byte _080568AC @ case 10 - .4byte _08056942 @ case 11 - .4byte _080568B2 @ case 12 - .4byte _08056914 @ case 13 - .4byte _0805693A @ case 14 -_080567B8: - ldr r0, _080567D4 @ =gUnk_02000040 - ldrb r0, [r0] - cmp r0, #1 - bne _080567D8 - adds r1, r5, #0 - adds r1, #0x89 - movs r0, #5 - strb r0, [r1] - movs r0, #0 - movs r1, #0 - bl sub_08056ABC - b _08056942 - .align 2, 0 -_080567D4: .4byte gUnk_02000040 -_080567D8: - adds r1, r5, #0 - adds r1, #0x89 - b _0805692C -_080567DE: - adds r1, r5, #0 - adds r1, #0x8a - movs r0, #2 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x98 - ldrb r0, [r0] - cmp r0, #0 - bne _080567F8 - movs r0, #1 - bl sub_08056BDC - b _08056942 -_080567F8: - adds r1, r5, #0 - adds r1, #0x89 - movs r0, #3 - strb r0, [r1] - b _08056942 -_08056802: - movs r0, #3 - bl sub_080564C8 - b _08056942 -_0805680A: - movs r0, #4 - bl sub_080564C8 - b _08056942 -_08056812: - adds r0, r4, #0 - movs r1, #0 - bl sub_0805F324 - adds r3, r0, #0 - adds r4, r5, #0 - adds r4, #0x56 - adds r0, r5, #0 - adds r0, #0x54 - ldrh r0, [r0] - ldrh r2, [r4] - subs r0, r0, r2 - subs r0, r0, r3 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r2, r2, r0 - strh r2, [r4] - b _08056942 -_08056838: - ldr r1, _08056840 @ =gUnk_02000050 - ldrh r0, [r5, #0x22] - strb r0, [r1, #1] - b _08056942 - .align 2, 0 -_08056840: .4byte gUnk_02000050 -_08056844: - ldr r0, _08056854 @ =gUnk_0200005C - ldrh r1, [r5, #0x22] - movs r2, #0x1f - ands r1, r2 - bl sub_0801D5BC - b _08056942 - .align 2, 0 -_08056854: .4byte gUnk_0200005C -_08056858: - ldrh r3, [r5, #0x22] - cmp r3, #0xe - beq _08056864 - cmp r3, #0xf - beq _08056874 - b _0805687A -_08056864: - adds r0, r5, #0 - adds r0, #0x8f - ldrb r0, [r0] - adds r1, r5, #0 - adds r1, #0x91 - strb r0, [r1] - movs r3, #2 - b _0805687A -_08056874: - adds r0, r5, #0 - adds r0, #0x91 - ldrb r3, [r0] -_0805687A: - adds r1, r5, #0 - adds r1, #0x90 - movs r0, #0 - strb r0, [r1] - adds r0, r5, #0 - adds r1, r3, #0 - bl sub_080569C4 - b _08056942 -_0805688C: - ldrh r0, [r5, #0x22] - bl sub_080A3268 - b _08056942 -_08056894: - ldr r1, _080568A8 @ =gUnk_02022780 - ldrh r0, [r5, #0x22] - strb r0, [r1, #3] - ldrh r0, [r5, #0x22] - adds r1, r5, #0 - adds r1, #0x53 - ldrb r1, [r1] - bl sub_08056F88 - b _08056942 - .align 2, 0 -_080568A8: .4byte gUnk_02022780 -_080568AC: - ldrh r0, [r5, #0x22] - strb r0, [r5, #7] - b _08056942 -_080568B2: - ldr r6, _0805690C @ =gUnk_02000040 - ldrb r0, [r6] - cmp r0, #1 - beq _080568D2 - adds r0, r6, #0 - movs r1, #4 - bl sub_0801D630 - ldr r4, _08056910 @ =gUnk_02024030 - adds r0, r4, #0 - movs r1, #0x18 - bl sub_0801D630 - movs r0, #1 - strb r0, [r4] - strb r0, [r6] -_080568D2: - ldr r2, _08056910 @ =gUnk_02024030 - movs r0, #2 - ldrsb r0, [r2, r0] - cmp r0, #3 - bgt _08056942 - lsls r0, r0, #1 - adds r1, r2, #0 - adds r1, #0x10 - adds r0, r0, r1 - ldrh r1, [r5, #0x26] - strh r1, [r0] - movs r0, #2 - ldrsb r0, [r2, r0] - lsls r0, r0, #1 - adds r1, r2, #0 - adds r1, #8 - adds r0, r0, r1 - adds r3, r5, #0 - adds r3, #0x56 - ldrh r1, [r3] - strh r1, [r0] - ldrb r0, [r2, #2] - adds r0, #1 - strb r0, [r2, #2] - ldrh r0, [r3] - adds r0, #8 - strh r0, [r3] - b _08056942 - .align 2, 0 -_0805690C: .4byte gUnk_02000040 -_08056910: .4byte gUnk_02024030 -_08056914: - ldrh r3, [r5, #0x22] - cmp r3, #0xfe - beq _08056928 - cmp r3, #0xff - bne _08056932 - adds r1, r5, #0 - adds r1, #0x8e - movs r0, #1 - strb r0, [r1] - b _08056942 -_08056928: - adds r1, r5, #0 - adds r1, #0x8e -_0805692C: - movs r0, #2 - strb r0, [r1] - b _08056942 -_08056932: - adds r0, r5, #0 - adds r0, #0x95 - strb r3, [r0] - b _08056942 -_0805693A: - ldrh r1, [r5, #0x22] - adds r0, r5, #0 - adds r0, #0x94 - strb r1, [r0] -_08056942: - lsrs r0, r7, #8 - cmp r0, #0 - bne _0805694C - movs r0, #0 - b _080569C2 -_0805694C: - ldr r0, _08056960 @ =gUnk_02022780 - adds r0, #0x99 - ldrb r0, [r0] - cmp r0, #2 - beq _08056964 - movs r0, #3 - bl sub_080564C8 - movs r0, #0 - b _080569C2 - .align 2, 0 -_08056960: .4byte gUnk_02022780 -_08056964: - ldr r1, _08056994 @ =gUnk_02000050 - ldrb r0, [r1, #1] - cmp r0, #0 - bne _08056970 - movs r0, #0x80 - strb r0, [r1, #1] -_08056970: - movs r0, #0 - strh r0, [r5, #0x24] - lsrs r0, r7, #8 - cmp r0, #7 - bne _08056998 - adds r0, r5, #0 - adds r0, #0x8f - ldrb r0, [r0] - movs r1, #0x80 - adds r2, r5, #0 - adds r2, #0x90 - orrs r1, r0 - strb r1, [r2] - adds r0, r5, #0 - movs r1, #0 - bl sub_080569C4 - b _080569B4 - .align 2, 0 -_08056994: .4byte gUnk_02000050 -_08056998: - adds r2, r5, #0 - adds r2, #0x90 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080569B4 - ldrb r3, [r2] - movs r0, #0 - strb r0, [r2] - adds r0, r5, #0 - adds r1, r3, #0 - bl sub_080569C4 -_080569B4: - adds r1, r5, #0 - adds r1, #0x50 - adds r0, r7, #0 - bl sub_0805F7DC - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 -_080569C2: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080569C4 -sub_080569C4: @ 0x080569C4 - movs r2, #7 - ands r2, r1 - adds r1, r0, #0 - adds r1, #0x8f - strb r2, [r1] - adds r0, #0x52 - strb r2, [r0] - bx lr - - thumb_func_start sub_080569D4 -sub_080569D4: @ 0x080569D4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r0, _080569F0 @ =gUnk_02024030 - movs r5, #3 - ldrsb r5, [r0, r5] - ldr r0, _080569F4 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #8 - beq _08056A02 - cmp r0, #8 - bgt _080569F8 - cmp r0, #1 - beq _08056A02 - b _08056A6A - .align 2, 0 -_080569F0: .4byte gUnk_02024030 -_080569F4: .4byte gUnk_03000FF0 -_080569F8: - cmp r0, #0x10 - beq _08056A68 - cmp r0, #0x20 - beq _08056A64 - b _08056A6A -_08056A02: - ldr r0, _08056A18 @ =gUnk_02024030 - lsls r1, r5, #1 - adds r0, #0x10 - adds r1, r1, r0 - ldrh r1, [r1] - cmp r1, #0 - bne _08056A20 - ldr r1, _08056A1C @ =gUnk_08107C14 - adds r0, r6, #0 - adds r0, #0x20 - b _08056A30 - .align 2, 0 -_08056A18: .4byte gUnk_02024030 -_08056A1C: .4byte gUnk_08107C14 -_08056A20: - strh r1, [r6, #8] - adds r4, r6, #0 - adds r4, #0x20 - adds r0, r4, #0 - bl sub_0805EEB4 - ldr r1, _08056A58 @ =gUnk_08107C0F - adds r0, r4, #0 -_08056A30: - bl sub_0805EF40 - ldr r2, _08056A5C @ =gUnk_02000040 - ldr r0, _08056A60 @ =gUnk_02024030 - ldrb r1, [r0, #3] - strb r1, [r2, #1] - movs r1, #3 - strb r1, [r2] - movs r1, #0x18 - bl sub_0801D630 - movs r0, #0x6a - bl sub_080A3268 - adds r1, r6, #0 - adds r1, #0x89 - movs r0, #1 - strb r0, [r1] - b _08056A6A - .align 2, 0 -_08056A58: .4byte gUnk_08107C0F -_08056A5C: .4byte gUnk_02000040 -_08056A60: .4byte gUnk_02024030 -_08056A64: - subs r5, #1 - b _08056A6A -_08056A68: - adds r5, #1 -_08056A6A: - ldr r4, _08056A8C @ =gUnk_02024030 - movs r1, #2 - ldrsb r1, [r4, r1] - adds r0, r5, r1 - bl __modsi3 - adds r5, r0, #0 - movs r6, #3 - ldrsb r6, [r4, r6] - cmp r5, r6 - beq _08056A90 - strb r5, [r4, #3] - movs r0, #0x69 - bl sub_080A3268 - movs r1, #1 - b _08056A92 - .align 2, 0 -_08056A8C: .4byte gUnk_02024030 -_08056A90: - movs r1, #0 -_08056A92: - ldr r2, _08056AB4 @ =gUnk_02000040 - ldrb r0, [r2] - cmp r0, #1 - bne _08056AA4 - ldr r1, _08056AB8 @ =gUnk_02024030 - movs r0, #2 - strb r0, [r2] - strb r0, [r1] - movs r1, #1 -_08056AA4: - cmp r1, #0 - beq _08056AB0 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_08056ABC -_08056AB0: - pop {r4, r5, r6, pc} - .align 2, 0 -_08056AB4: .4byte gUnk_02000040 -_08056AB8: .4byte gUnk_02024030 - - thumb_func_start sub_08056ABC -sub_08056ABC: @ 0x08056ABC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - ldr r7, _08056B14 @ =gUnk_02022780 - movs r0, #0x56 - adds r0, r0, r7 - mov sb, r0 - ldrh r0, [r0] - mov r8, r0 - ldr r4, _08056B18 @ =gUnk_02024030 - lsls r1, r1, #1 - adds r4, #8 - adds r1, r1, r4 - ldrh r0, [r1] - mov r1, sb - strh r0, [r1] - adds r6, r7, #0 - adds r6, #0x50 - movs r0, #0 - adds r1, r6, #0 - bl sub_0805F8E4 - lsls r5, r5, #1 - adds r5, r5, r4 - ldrh r0, [r5] - mov r1, sb - strh r0, [r1] - movs r0, #1 - adds r1, r6, #0 - bl sub_0805F8E4 - mov r1, r8 - mov r0, sb - strh r1, [r0] - adds r1, r7, #0 - adds r1, #0x9d - movs r0, #1 - strb r0, [r1] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08056B14: .4byte gUnk_02022780 -_08056B18: .4byte gUnk_02024030 - - thumb_func_start sub_08056B1C -sub_08056B1C: @ 0x08056B1C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _08056B44 @ =gUnk_02000050 - movs r0, #0 - strb r0, [r1, #1] - adds r1, r4, #0 - adds r1, #0x94 - ldrb r0, [r1] - adds r5, r0, #0 - cmp r5, #0 - beq _08056B48 - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08056B7A - subs r1, #0xb - movs r0, #4 - b _08056B78 - .align 2, 0 -_08056B44: .4byte gUnk_02000050 -_08056B48: - ldr r0, _08056B68 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - ldr r0, _08056B6C @ =0x000001F3 - ands r0, r1 - cmp r0, #0 - beq _08056B70 - movs r0, #0x68 - bl sub_080A3268 - adds r0, r4, #0 - adds r0, #0x9a - strb r5, [r0] - adds r1, r4, #0 - adds r1, #0x89 - movs r0, #4 - b _08056B78 - .align 2, 0 -_08056B68: .4byte gUnk_03000FF0 -_08056B6C: .4byte 0x000001F3 -_08056B70: - adds r1, r4, #0 - adds r1, #0x9a - ldrb r0, [r1] - adds r0, #1 -_08056B78: - strb r0, [r1] -_08056B7A: - pop {r4, r5, pc} - - thumb_func_start sub_08056B7C -sub_08056B7C: @ 0x08056B7C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - bl sub_08056BDC - adds r0, r4, #0 - adds r0, #0x8f - ldrb r0, [r0] - movs r1, #0x40 - orrs r1, r0 - adds r0, r4, #0 - bl sub_080569C4 - adds r4, #0x89 - movs r0, #1 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08056BA0 -sub_08056BA0: @ 0x08056BA0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08056BD0 @ =gUnk_02000050 - movs r0, #0 - strb r0, [r1, #1] - movs r0, #7 - bl sub_08056C54 - adds r4, #0x8e - ldrb r0, [r4] - cmp r0, #1 - beq _08056BCE - cmp r0, #2 - beq _08056BC8 - ldr r0, _08056BD4 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - ldr r0, _08056BD8 @ =0x000001F3 - ands r0, r1 - cmp r0, #0 - beq _08056BCE -_08056BC8: - movs r0, #4 - bl sub_080564C8 -_08056BCE: - pop {r4, pc} - .align 2, 0 -_08056BD0: .4byte gUnk_02000050 -_08056BD4: .4byte gUnk_03000FF0 -_08056BD8: .4byte 0x000001F3 - - thumb_func_start sub_08056BDC -sub_08056BDC: @ 0x08056BDC - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08056C24 @ =gUnk_02022780 - adds r0, r4, #0 - adds r0, #0x98 - strb r5, [r0] - cmp r5, #0 - bne _08056C30 - movs r0, #1 - rsbs r0, r0, #0 - ldr r1, _08056C28 @ =gUnk_02000D00 - movs r2, #0xd0 - lsls r2, r2, #4 - bl sub_0801D610 - bl sub_08056F70 - adds r1, r4, #0 - adds r1, #0x9e - ldr r0, _08056C2C @ =0x0000F082 - strh r0, [r1] - adds r1, #2 - adds r0, #1 - strh r0, [r1] - adds r1, #2 - adds r0, #0x33 - strh r0, [r1] - adds r1, #2 - adds r0, #1 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x56 - strh r5, [r0] - subs r1, #0x50 - movs r0, #0xd0 - b _08056C3C - .align 2, 0 -_08056C24: .4byte gUnk_02022780 -_08056C28: .4byte gUnk_02000D00 -_08056C2C: .4byte 0x0000F082 -_08056C30: - adds r1, r4, #0 - adds r1, #0x56 - movs r0, #0xd0 - strh r0, [r1] - subs r1, #2 - adds r0, #0xd0 -_08056C3C: - strh r0, [r1] - ldr r0, _08056C50 @ =gUnk_02022780 - adds r1, r0, #0 - adds r1, #0x8f - ldrb r2, [r1] - movs r1, #0x40 - orrs r1, r2 - bl sub_080569C4 - pop {r4, r5, pc} - .align 2, 0 -_08056C50: .4byte gUnk_02022780 - - thumb_func_start sub_08056C54 -sub_08056C54: @ 0x08056C54 - ldr r2, _08056C60 @ =gUnk_02000050 - ldr r1, _08056C64 @ =gUnk_02022780 - strb r0, [r1] - strb r0, [r2] - bx lr - .align 2, 0 -_08056C60: .4byte gUnk_02000050 -_08056C64: .4byte gUnk_02022780 - - thumb_func_start sub_08056C68 -sub_08056C68: @ 0x08056C68 - push {r4, r5, r6, lr} - ldr r5, _08056CB8 @ =gUnk_02036A38 - ldrb r0, [r5, #1] - cmp r0, #0 - beq _08056CB4 - movs r0, #0 - strb r0, [r5, #1] - ldrb r0, [r5, #5] - lsls r0, r0, #5 - ldrb r1, [r5, #4] - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, _08056CBC @ =gUnk_02034CB0 - adds r1, r0, r1 - ldrb r0, [r5, #7] - adds r0, #2 - movs r6, #0 -_08056C8A: - movs r2, #0 - adds r4, r1, #0 - adds r4, #0x40 - subs r3, r0, #1 -_08056C92: - strh r6, [r1] - adds r1, #2 - adds r2, #1 - ldrb r0, [r5, #6] - adds r0, #2 - cmp r2, r0 - blt _08056C92 - adds r1, r4, #0 - adds r0, r3, #0 - cmp r0, #0 - bgt _08056C8A - ldrb r0, [r5, #5] - ldrb r1, [r5, #7] - bl sub_0801C4A0 - bl sub_0801C494 -_08056CB4: - pop {r4, r5, r6, pc} - .align 2, 0 -_08056CB8: .4byte gUnk_02036A38 -_08056CBC: .4byte gUnk_02034CB0 - - thumb_func_start sub_08056CC0 -sub_08056CC0: @ 0x08056CC0 - push {r4, r5, r6, r7, lr} - movs r7, #0 - ldr r2, _08056CE0 @ =gUnk_02022780 - adds r3, r2, #0 - adds r3, #0x9b - ldrb r1, [r3] - adds r1, r1, r0 - strb r1, [r3] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov ip, r2 - cmp r1, #0 - bgt _08056CE4 - strb r7, [r3] - b _08056CEC - .align 2, 0 -_08056CE0: .4byte gUnk_02022780 -_08056CE4: - cmp r1, #7 - ble _08056CEE - movs r0, #8 - strb r0, [r3] -_08056CEC: - movs r7, #1 -_08056CEE: - ldr r2, _08056D54 @ =gUnk_02036A40 - mov r4, ip - adds r1, r4, #0 - adds r1, #0x9b - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08056D58 - adds r5, r0, #0 - ldrb r0, [r4, #4] - lsls r0, r0, #1 - muls r0, r5, r0 - lsrs r3, r0, #4 - strb r3, [r2, #6] - movs r6, #1 - adds r0, r3, #0 - ands r0, r6 - ldrb r1, [r4, #4] - cmp r0, #0 - beq _08056D1A - adds r0, r3, #1 - strb r0, [r2, #6] -_08056D1A: - lsrs r1, r1, #1 - ldrb r0, [r4, #6] - adds r1, r1, r0 - ldrb r0, [r2, #6] - lsrs r0, r0, #1 - subs r1, r1, r0 - strb r1, [r2, #4] - ldrb r0, [r4, #5] - lsls r0, r0, #1 - muls r0, r5, r0 - lsrs r3, r0, #4 - strb r3, [r2, #7] - adds r0, r3, #0 - ands r0, r6 - ldrb r1, [r4, #5] - cmp r0, #0 - beq _08056D40 - adds r0, r3, #1 - strb r0, [r2, #7] -_08056D40: - lsrs r1, r1, #1 - mov r3, ip - ldrb r3, [r3, #7] - adds r1, r1, r3 - ldrb r0, [r2, #7] - lsrs r0, r0, #1 - subs r1, r1, r0 - strb r1, [r2, #5] - b _08056D66 - .align 2, 0 -_08056D54: .4byte gUnk_02036A40 -_08056D58: - movs r0, #0xff - strb r0, [r2, #5] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r2, #4] - strb r0, [r2, #7] - strb r0, [r2, #6] -_08056D66: - movs r0, #1 - strb r0, [r2, #1] - adds r0, r7, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08056D70 -sub_08056D70: @ 0x08056D70 - push {r4, lr} - ldr r0, _08056DB4 @ =gUnk_02022780 - adds r0, #0x9b - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08056DB0 - ldr r4, _08056DB8 @ =gUnk_02036A40 - ldrb r0, [r4, #5] - lsls r0, r0, #5 - ldrb r1, [r4, #4] - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, _08056DBC @ =gUnk_02034CB0 - adds r0, r0, r1 - ldr r3, _08056DC0 @ =0x0000F07B - ldrb r1, [r4, #6] - ldrb r2, [r4, #7] - bl sub_08056DC8 - bl sub_08056EC0 - bl sub_08056F1C - ldr r2, _08056DC4 @ =gUnk_02036A38 - ldr r0, [r4] - ldr r1, [r4, #4] - str r0, [r2] - str r1, [r2, #4] - bl sub_0801C494 -_08056DB0: - pop {r4, pc} - .align 2, 0 -_08056DB4: .4byte gUnk_02022780 -_08056DB8: .4byte gUnk_02036A40 -_08056DBC: .4byte gUnk_02034CB0 -_08056DC0: .4byte 0x0000F07B -_08056DC4: .4byte gUnk_02036A38 - - thumb_func_start sub_08056DC8 -sub_08056DC8: @ 0x08056DC8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - mov r8, r3 - adds r3, r7, #0 - lsls r0, r6, #6 - adds r0, #0x40 - adds r2, r3, r0 - mov r0, r8 - strh r0, [r3] - adds r3, #2 - movs r1, #0x80 - lsls r1, r1, #4 - mov sb, r1 - mov r0, r8 - mov r5, sb - orrs r0, r5 - strh r0, [r2] - adds r2, #2 - cmp r4, #0 - ble _08056E4C - mov r0, r8 - adds r0, #1 - strh r0, [r3] - adds r3, #2 - adds r1, r0, #0 - orrs r1, r5 - strh r1, [r2] - adds r2, #2 - subs r4, #2 - adds r1, r4, #0 - subs r4, #1 - mov ip, r0 - cmp r1, #0 - ble _08056E30 - mov r5, r8 - adds r5, #2 - adds r1, r5, #0 - mov r0, sb - orrs r1, r0 -_08056E20: - strh r5, [r3] - adds r3, #2 - strh r1, [r2] - adds r2, #2 - adds r0, r4, #0 - subs r4, #1 - cmp r0, #0 - bgt _08056E20 -_08056E30: - movs r1, #0x80 - lsls r1, r1, #3 - adds r0, r1, #0 - mov r1, ip - orrs r1, r0 - strh r1, [r3] - adds r3, #2 - movs r5, #0xc0 - lsls r5, r5, #4 - adds r0, r5, #0 - mov r1, ip - orrs r1, r0 - strh r1, [r2] - adds r2, #2 -_08056E4C: - movs r0, #0x80 - lsls r0, r0, #3 - adds r5, r0, #0 - mov r0, r8 - orrs r0, r5 - strh r0, [r3] - movs r0, #0xc0 - lsls r0, r0, #4 - adds r1, r0, #0 - mov r0, r8 - orrs r0, r1 - strh r0, [r2] - adds r7, #0x40 - adds r3, #0x40 - cmp r6, #0 - ble _08056EB6 - mov r0, r8 - adds r0, #3 - strh r0, [r7] - adds r1, r0, #0 - orrs r1, r5 - strh r1, [r3] - adds r7, #0x40 - adds r3, #0x40 - subs r6, #2 - adds r1, r6, #0 - subs r6, #1 - adds r2, r0, #0 - cmp r1, #0 - ble _08056EA0 - mov r4, r8 - adds r4, #4 - adds r1, r4, #0 - orrs r1, r5 -_08056E90: - strh r4, [r7] - strh r1, [r3] - adds r7, #0x40 - adds r3, #0x40 - adds r0, r6, #0 - subs r6, #1 - cmp r0, #0 - bgt _08056E90 -_08056EA0: - movs r1, #0x80 - lsls r1, r1, #4 - adds r0, r1, #0 - adds r1, r2, #0 - orrs r1, r0 - strh r1, [r7] - movs r5, #0xc0 - lsls r5, r5, #4 - adds r0, r5, #0 - orrs r2, r0 - strh r2, [r3] -_08056EB6: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08056EC0 -sub_08056EC0: @ 0x08056EC0 - push {r4, r5, r6, r7, lr} - ldr r6, _08056F10 @ =gUnk_02036A40 - ldrb r0, [r6, #6] - cmp r0, #0 - beq _08056F0E - ldrb r0, [r6, #7] - cmp r0, #0 - beq _08056F0E - adds r4, r0, #0 - ldrb r0, [r6, #5] - lsls r0, r0, #5 - ldrb r1, [r6, #4] - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, _08056F14 @ =gUnk_02034CB2 - adds r5, r0, r1 - movs r0, #4 - subs r0, r0, r4 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r1, r0, #1 - ldr r7, _08056F18 @ =gUnk_0202281E -_08056EEC: - ldrb r3, [r6, #6] - lsls r0, r1, #1 - adds r0, r0, r7 - ldrh r2, [r0] - adds r5, #0x40 - adds r0, r1, #1 - subs r4, #1 - adds r1, r5, #0 -_08056EFC: - strh r2, [r1] - adds r1, #2 - adds r2, #2 - subs r3, #1 - cmp r3, #0 - bgt _08056EFC - adds r1, r0, #0 - cmp r4, #0 - bne _08056EEC -_08056F0E: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08056F10: .4byte gUnk_02036A40 -_08056F14: .4byte gUnk_02034CB2 -_08056F18: .4byte gUnk_0202281E - - thumb_func_start sub_08056F1C -sub_08056F1C: @ 0x08056F1C - push {lr} - ldr r0, _08056F58 @ =gUnk_02022780 - adds r0, #0x98 - ldr r0, [r0] - ldr r1, _08056F5C @ =0x0010FF00 - ands r0, r1 - ldr r1, _08056F60 @ =0x00100200 - cmp r0, r1 - bne _08056F54 - ldr r2, _08056F64 @ =gUnk_02036A40 - ldrb r1, [r2, #5] - lsls r1, r1, #5 - ldrb r0, [r2, #4] - adds r1, r1, r0 - lsls r1, r1, #1 - ldr r0, _08056F68 @ =gUnk_02034CB0 - adds r1, r1, r0 - ldrb r0, [r2, #7] - adds r0, #1 - lsls r0, r0, #5 - subs r0, #2 - ldrb r2, [r2, #6] - adds r0, r0, r2 - lsls r0, r0, #1 - adds r1, r1, r0 - ldr r2, _08056F6C @ =0x0000F080 - adds r0, r2, #0 - strh r0, [r1] -_08056F54: - pop {pc} - .align 2, 0 -_08056F58: .4byte gUnk_02022780 -_08056F5C: .4byte 0x0010FF00 -_08056F60: .4byte 0x00100200 -_08056F64: .4byte gUnk_02036A40 -_08056F68: .4byte gUnk_02034CB0 -_08056F6C: .4byte 0x0000F080 - - thumb_func_start sub_08056F70 -sub_08056F70: @ 0x08056F70 - push {lr} - ldr r0, _08056F80 @ =gUnk_02000D00 - ldr r1, _08056F84 @ =0x0600D040 - movs r2, #0xd0 - lsls r2, r2, #4 - bl sub_08000E96 - pop {pc} - .align 2, 0 -_08056F80: .4byte gUnk_02000D00 -_08056F84: .4byte 0x0600D040 - - thumb_func_start sub_08056F88 -sub_08056F88: @ 0x08056F88 - push {r4, lr} - adds r3, r0, #0 - adds r4, r1, #0 - cmp r3, #0xf - bls _08056F94 - movs r3, #0 -_08056F94: - lsls r2, r3, #4 - orrs r2, r4 - ldr r0, _08056FB4 @ =gUnk_02022780 - adds r1, r0, #0 - adds r1, #0x9c - ldrb r0, [r1] - cmp r0, r2 - beq _08056FB0 - strb r2, [r1] - ldr r2, _08056FB8 @ =0x0600CF60 - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_0805F918 -_08056FB0: - pop {r4, pc} - .align 2, 0 -_08056FB4: .4byte gUnk_02022780 -_08056FB8: .4byte 0x0600CF60 - - thumb_func_start sub_08056FBC -sub_08056FBC: @ 0x08056FBC - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x68 - bl sub_08056FEC - ldr r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x70 - bl sub_08056FEC - ldr r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x78 - bl sub_08056FEC - ldr r0, [r4, #0x1c] - adds r1, r4, #0 - adds r1, #0x80 - bl sub_08056FEC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08056FEC -sub_08056FEC: @ 0x08056FEC - push {r4, r5, r6, r7, lr} - sub sp, #8 - adds r2, r0, #0 - adds r5, r1, #0 - bl sub_0801D51C - adds r2, r0, #0 - ldr r0, _08057040 @ =0x0FFFFFFF - ands r2, r0 - movs r4, #0 - movs r3, #0xf -_08057002: - mov r0, sp - adds r1, r0, r4 - adds r0, r2, #0 - ands r0, r3 - strb r0, [r1] - adds r4, #1 - lsrs r2, r2, #4 - cmp r2, #0 - bne _08057002 - movs r3, #0 - subs r2, r4, #1 - cmp r2, #0 - blt _08057032 - movs r6, #0x30 -_0805701E: - adds r1, r5, r3 - mov r7, sp - adds r0, r7, r2 - ldrb r0, [r0] - orrs r0, r6 - strb r0, [r1] - adds r3, #1 - subs r2, #1 - cmp r2, #0 - bge _0805701E -_08057032: - adds r1, r5, r3 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - add sp, #8 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08057040: .4byte 0x0FFFFFFF - - thumb_func_start sub_08057044 -sub_08057044: @ 0x08057044 - push {r4, r5, lr} - sub sp, #8 - adds r5, r1, #0 - adds r4, r2, #0 - mov r1, sp - bl sub_08056FEC - ldr r2, [sp] - movs r1, #3 - subs r1, r1, r0 - lsls r1, r1, #3 - lsls r2, r1 - orrs r2, r4 - str r2, [r5] - add sp, #8 - pop {r4, r5, pc} - - thumb_func_start sub_08057064 -sub_08057064: @ 0x08057064 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _080570AC @ =gUnk_08107C5C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r1, _080570B0 @ =gUnk_08107C48 - adds r5, r4, #0 - adds r5, #0x21 - ldrb r0, [r5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r1, _080570B4 @ =gUnk_08107C40 - ldrb r0, [r5] - adds r0, r0, r1 - ldrb r1, [r0] - cmp r1, #0 - beq _080570AA - adds r2, r4, #0 - adds r2, #0x20 - ldrb r0, [r2] - cmp r0, r1 - beq _080570AA - strb r1, [r2] - adds r0, r1, #0 - bl sub_0801D7EC -_080570AA: - pop {r4, r5, pc} - .align 2, 0 -_080570AC: .4byte gUnk_08107C5C -_080570B0: .4byte gUnk_08107C48 -_080570B4: .4byte gUnk_08107C40 - - thumb_func_start sub_080570B8 -sub_080570B8: @ 0x080570B8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x20 - ldrb r0, [r0] - bl sub_0801D7EC - movs r0, #0 - str r0, [r4, #0x34] - adds r1, r4, #0 - adds r1, #0x21 - ldrb r0, [r1] - cmp r0, #3 - bne _080570E0 - ldr r1, _080570DC @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0x32] - b _080570F0 - .align 2, 0 -_080570DC: .4byte gUnk_03000F50 -_080570E0: - ldr r0, _080570F4 @ =gUnk_08107C48 - ldrb r1, [r1] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_080570F0: - pop {r4, pc} - .align 2, 0 -_080570F4: .4byte gUnk_08107C48 - - thumb_func_start sub_080570F8 -sub_080570F8: @ 0x080570F8 - push {lr} - ldr r1, _08057110 @ =gUnk_03000F50 - ldrh r2, [r1] - ldr r0, _08057114 @ =0x0000F7FF - ands r0, r2 - movs r2, #0 - strh r0, [r1] - adds r1, #0x66 - strh r2, [r1] - bl sub_08056250 - pop {pc} - .align 2, 0 -_08057110: .4byte gUnk_03000F50 -_08057114: .4byte 0x0000F7FF - - thumb_func_start sub_08057118 -sub_08057118: @ 0x08057118 - push {r4, lr} - adds r3, r0, #0 - movs r1, #0 - strb r1, [r3, #0xe] - adds r0, #0x20 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - movs r0, #1 - strb r0, [r3, #0xc] - ldr r1, _08057160 @ =gUnk_03000F50 - ldr r0, _08057164 @ =0x00001E04 - strh r0, [r1, #0x2c] - ldrh r0, [r1] - movs r4, #0x80 - lsls r4, r4, #4 - adds r2, r4, #0 - orrs r0, r2 - strh r0, [r1] - adds r2, r1, #0 - adds r2, #0x66 - ldr r0, _08057168 @ =0x00003648 - strh r0, [r2] - adds r1, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - ldr r1, _0805716C @ =sub_080570B8 - ldr r2, _08057170 @ =sub_080570F8 - adds r0, r3, #0 - bl sub_08052D74 - pop {r4, pc} - .align 2, 0 -_08057160: .4byte gUnk_03000F50 -_08057164: .4byte 0x00001E04 -_08057168: .4byte 0x00003648 -_0805716C: .4byte sub_080570B8 -_08057170: .4byte sub_080570F8 - - thumb_func_start sub_08057174 -sub_08057174: @ 0x08057174 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl sub_0804B128 - adds r3, r0, #0 - ldrb r0, [r3] - cmp r0, #0xff - bne _08057188 - b _0805728A -_08057188: - ldr r1, _080571E8 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r0, [r1, r2] - cmp r0, #0 - bge _08057194 - adds r0, #0xf -_08057194: - asrs r6, r0, #4 - movs r7, #0x32 - ldrsh r0, [r1, r7] - cmp r0, #0 - bge _080571A0 - adds r0, #0xf -_080571A0: - asrs r5, r0, #4 - movs r0, #0x21 - adds r0, r0, r4 - mov ip, r0 -_080571A8: - ldrb r0, [r3] - mov r1, ip - ldrb r1, [r1] - cmp r0, r1 - beq _08057282 - ldr r1, _080571EC @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - lsrs r0, r0, #4 - ldrb r7, [r3, #1] - adds r2, r0, r7 - ldrh r0, [r1, #8] - lsrs r0, r0, #4 - ldrb r1, [r3, #2] - adds r0, r0, r1 - subs r0, r5, r0 - ldrb r7, [r3, #4] - cmp r0, r7 - bhs _08057282 - subs r0, r6, r2 - ldrb r1, [r3, #3] - cmp r0, r1 - bhs _08057282 - ldrb r0, [r3] - subs r0, #1 - cmp r0, #5 - bhi _08057268 - lsls r0, r0, #2 - ldr r1, _080571F0 @ =_080571F4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080571E8: .4byte gUnk_03001160 -_080571EC: .4byte gUnk_03000BF0 -_080571F0: .4byte _080571F4 -_080571F4: @ jump table - .4byte _0805720C @ case 0 - .4byte _08057220 @ case 1 - .4byte _08057258 @ case 2 - .4byte _08057246 @ case 3 - .4byte _08057216 @ case 4 - .4byte _08057236 @ case 5 -_0805720C: - mov r2, ip - ldrb r0, [r2] - cmp r0, #2 - bne _08057268 - b _08057260 -_08057216: - mov r7, ip - ldrb r0, [r7] - cmp r0, #6 - bne _08057268 - b _08057260 -_08057220: - mov r0, ip - ldrb r1, [r0] - cmp r1, #0 - bne _08057268 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x20 - strb r1, [r0] - b _08057268 -_08057236: - mov r2, ip - ldrb r1, [r2] - cmp r1, #0 - bne _08057268 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - b _08057268 -_08057246: - mov r7, ip - ldrb r1, [r7] - cmp r1, #0 - bne _08057268 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - str r1, [r4, #0x34] - b _08057268 -_08057258: - mov r1, ip - ldrb r0, [r1] - cmp r0, #4 - bne _08057268 -_08057260: - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #9 - strb r0, [r4, #0xe] -_08057268: - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08057282 - movs r0, #8 - strb r0, [r4, #0xf] - ldrb r0, [r3] - mov r2, ip - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #1 - strb r0, [r1] - b _0805728A -_08057282: - adds r3, #5 - ldrb r0, [r3] - cmp r0, #0xff - bne _080571A8 -_0805728A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805728C -sub_0805728C: @ 0x0805728C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080572CA - movs r0, #8 - strb r0, [r4, #0xf] - ldr r2, _080572CC @ =gUnk_03000F50 - ldr r3, _080572D0 @ =gUnk_08107C1C - ldrb r0, [r4, #0xe] - adds r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r3 - ldrh r0, [r0] - adds r2, #0x68 - strh r0, [r2] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0xa - bne _080572CA - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #0 - strb r0, [r1] -_080572CA: - pop {r4, pc} - .align 2, 0 -_080572CC: .4byte gUnk_03000F50 -_080572D0: .4byte gUnk_08107C1C - - thumb_func_start sub_080572D4 -sub_080572D4: @ 0x080572D4 - push {r4, r5, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xf] - subs r0, #1 - strb r0, [r3, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08057320 - movs r0, #8 - strb r0, [r3, #0xf] - ldr r5, _08057324 @ =gUnk_03000F50 - ldr r2, _08057328 @ =gUnk_08107C1C - ldrb r0, [r3, #0xe] - adds r1, r0, #0 - adds r1, #0xff - strb r1, [r3, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r2 - ldrh r2, [r0] - adds r0, r5, #0 - adds r0, #0x68 - movs r4, #0 - strh r2, [r0] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0xff - bne _08057320 - movs r0, #1 - strb r0, [r3, #0xc] - adds r0, r3, #0 - adds r0, #0x22 - strb r4, [r0] - subs r0, #1 - strb r4, [r0] - adds r0, r5, #0 - adds r0, #0x6c - strb r4, [r0] -_08057320: - pop {r4, r5, pc} - .align 2, 0 -_08057324: .4byte gUnk_03000F50 -_08057328: .4byte gUnk_08107C1C - - thumb_func_start sub_0805732C -sub_0805732C: @ 0x0805732C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - adds r5, r1, #0 - ldr r2, _08057390 @ =gUnk_03003DE4 - ldrb r1, [r2] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _08057394 @ =gUnk_02017AA0 - adds r4, r0, r1 - movs r3, #0 - mov ip, r2 - mov r8, r1 - ldr r0, _08057398 @ =gUnk_080C9160 - mov sb, r0 - movs r2, #0xff - ldr r1, _0805739C @ =gUnk_03000F50 -_08057354: - adds r0, r5, r3 - ands r0, r2 - lsls r0, r0, #1 - add r0, sb - movs r7, #0 - ldrsh r0, [r0, r7] - muls r0, r6, r0 - lsrs r0, r0, #8 - ldrh r7, [r1, #0x2e] - adds r0, r0, r7 - strh r0, [r4] - adds r4, #2 - adds r3, #1 - cmp r3, #0x9f - bls _08057354 - mov r0, ip - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - add r0, r8 - ldr r1, _080573A0 @ =0x0400001C - ldr r2, _080573A4 @ =0xA2600001 - bl sub_0805622C - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08057390: .4byte gUnk_03003DE4 -_08057394: .4byte gUnk_02017AA0 -_08057398: .4byte gUnk_080C9160 -_0805739C: .4byte gUnk_03000F50 -_080573A0: .4byte 0x0400001C -_080573A4: .4byte 0xA2600001 - - thumb_func_start nullsub_494 -nullsub_494: @ 0x080573A8 - bx lr - .align 2, 0 - - thumb_func_start sub_080573AC -sub_080573AC: @ 0x080573AC - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r2, _08057434 @ =gUnk_03000BF0 - ldr r0, [r2, #0x28] - ldr r1, _08057438 @ =0xFFFFE000 - adds r0, r0, r1 - str r0, [r2, #0x28] - ldr r0, [r2, #0x2c] - ldr r1, _0805743C @ =0xFFFFF000 - adds r0, r0, r1 - str r0, [r2, #0x2c] - ldr r5, _08057440 @ =gUnk_03000F50 - movs r1, #0xa - ldrsh r0, [r2, r1] - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #1 - ldrh r1, [r2, #0x2a] - adds r0, r0, r1 - strh r0, [r5, #0x2e] - movs r1, #0xc - ldrsh r0, [r2, r1] - ldrh r1, [r2, #8] - subs r0, r0, r1 - asrs r0, r0, #1 - ldrh r2, [r2, #0x2e] - adds r0, r0, r2 - strh r0, [r5, #0x30] - ldr r2, _08057444 @ =gUnk_080C9160 - ldr r4, _08057448 @ =gUnk_030010A0 - ldr r1, [r4] - ldrb r0, [r4] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsh r0, [r0, r2] - asrs r0, r0, #5 - adds r0, #0x10 - bl sub_0805732C - adds r0, r6, #0 - adds r0, #0x22 - ldrb r0, [r0] - cmp r0, #0 - bne _08057430 - ldr r0, [r4] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _08057430 - adds r2, r6, #0 - adds r2, #0x24 - ldrb r0, [r2] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r2] - ldr r1, _0805744C @ =gUnk_08107C30 - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r5, #0 - adds r0, #0x68 - strh r1, [r0] -_08057430: - pop {r4, r5, r6, pc} - .align 2, 0 -_08057434: .4byte gUnk_03000BF0 -_08057438: .4byte 0xFFFFE000 -_0805743C: .4byte 0xFFFFF000 -_08057440: .4byte gUnk_03000F50 -_08057444: .4byte gUnk_080C9160 -_08057448: .4byte gUnk_030010A0 -_0805744C: .4byte gUnk_08107C30 - - thumb_func_start sub_08057450 -sub_08057450: @ 0x08057450 - push {r4, r5, r6, lr} - adds r3, r0, #0 - ldr r4, _08057504 @ =gUnk_03000F50 - movs r0, #0x10 - strh r0, [r4, #0x2e] - ldr r0, _08057508 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r1, [r0, r2] - ldrh r0, [r0, #8] - subs r1, r1, r0 - asrs r1, r1, #2 - movs r2, #0x3f - adds r0, r1, #0 - ands r0, r2 - strh r0, [r4, #0x30] - cmp r1, #0 - bge _08057474 - adds r1, #0x3f -_08057474: - asrs r0, r1, #6 - lsls r0, r0, #9 - ldr r1, _0805750C @ =gUnk_02001A40 - adds r1, r0, r1 - str r1, [r4, #0x34] - ldr r0, [r3, #0x34] - cmp r0, r1 - beq _0805748A - str r1, [r3, #0x34] - movs r0, #1 - strh r0, [r4, #0x32] -_0805748A: - adds r0, r3, #0 - adds r0, #0x22 - ldrb r0, [r0] - ldr r5, _08057510 @ =gUnk_030010A0 - cmp r0, #0 - bne _080574BE - ldr r0, [r5] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _080574BE - adds r2, r3, #0 - adds r2, #0x24 - ldrb r0, [r2] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r2] - ldr r1, _08057514 @ =gUnk_08107C30 - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] -_080574BE: - ldr r0, [r5] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08057502 - adds r0, r3, #0 - adds r0, #0x23 - ldrb r1, [r0] - lsls r1, r1, #5 - ldr r2, _08057518 @ =gUnk_085B4180 - adds r1, r1, r2 - movs r5, #0 - adds r6, r0, #0 - adds r4, r1, #0 - adds r4, #0xe -_080574DC: - adds r0, r5, #0 - adds r0, #0x87 - ldrh r1, [r4] - bl sub_0801D79C - adds r0, r5, #0 - adds r0, #0x8c - ldrh r1, [r4, #0xa] - bl sub_0801D79C - adds r4, #2 - adds r5, #1 - cmp r5, #3 - bls _080574DC - ldrb r0, [r6] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r6] -_08057502: - pop {r4, r5, r6, pc} - .align 2, 0 -_08057504: .4byte gUnk_03000F50 -_08057508: .4byte gUnk_03000BF0 -_0805750C: .4byte gUnk_02001A40 -_08057510: .4byte gUnk_030010A0 -_08057514: .4byte gUnk_08107C30 -_08057518: .4byte gUnk_085B4180 - - thumb_func_start sub_0805751C -sub_0805751C: @ 0x0805751C - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xc] - cmp r1, #0 - bne _0805753A - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _08057544 @ =gUnk_03000F50 - strh r1, [r0, #0x32] - strh r1, [r0, #0x1a] - ldr r1, _08057548 @ =sub_080576A0 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_0805753A: - adds r0, r4, #0 - bl sub_0805754C - pop {r4, pc} - .align 2, 0 -_08057544: .4byte gUnk_03000F50 -_08057548: .4byte sub_080576A0 - - thumb_func_start sub_0805754C -sub_0805754C: @ 0x0805754C - push {r4, r5, r6, lr} - adds r2, r0, #0 - ldr r3, _080575BC @ =gUnk_03000BF0 - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #3 - adds r1, r1, r0 - ldr r4, _080575C0 @ =gUnk_03000F50 - movs r6, #0x3f - adds r0, r1, #0 - ands r0, r6 - strh r0, [r4, #0x30] - adds r0, r1, #0 - cmp r1, #0 - bge _08057570 - adds r0, #0x3f -_08057570: - asrs r0, r0, #6 - lsls r0, r0, #9 - ldr r5, _080575C4 @ =gUnk_02002F00 - adds r1, r0, r5 - str r1, [r4, #0x34] - ldr r0, [r2, #0x38] - cmp r0, r1 - beq _08057586 - str r1, [r2, #0x38] - movs r0, #1 - strh r0, [r4, #0x32] -_08057586: - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #2 - adds r1, r1, r0 - adds r0, r1, #0 - ands r0, r6 - strh r0, [r4, #0x18] - adds r0, r1, #0 - cmp r0, #0 - bge _080575A0 - adds r0, #0x3f -_080575A0: - asrs r0, r0, #6 - lsls r0, r0, #9 - movs r3, #0x80 - lsls r3, r3, #6 - adds r1, r5, r3 - adds r1, r0, r1 - str r1, [r4, #0x1c] - ldr r0, [r2, #0x3c] - cmp r0, r1 - beq _080575BA - str r1, [r2, #0x3c] - movs r0, #1 - strh r0, [r4, #0x1a] -_080575BA: - pop {r4, r5, r6, pc} - .align 2, 0 -_080575BC: .4byte gUnk_03000BF0 -_080575C0: .4byte gUnk_03000F50 -_080575C4: .4byte gUnk_02002F00 - - thumb_func_start sub_080575C8 -sub_080575C8: @ 0x080575C8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r0, _08057664 @ =gUnk_0200B650 - movs r5, #0 - str r5, [r0] - movs r0, #0x80 - lsls r0, r0, #0x13 - strh r5, [r0] - adds r0, r4, #0 - bl sub_0801D7EC - ldr r0, _08057668 @ =gUnk_02034350 - strb r4, [r0, #0x10] - ldr r3, _0805766C @ =gUnk_03000BF0 - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #3 - adds r1, r1, r0 - ldr r2, _08057670 @ =gUnk_03000F50 - movs r7, #0x3f - adds r0, r1, #0 - ands r0, r7 - strh r0, [r2, #0x30] - strh r5, [r2, #0x2e] - adds r0, r1, #0 - cmp r1, #0 - bge _08057604 - adds r0, #0x3f -_08057604: - asrs r0, r0, #6 - lsls r0, r0, #9 - ldr r4, _08057674 @ =gUnk_02002F00 - adds r0, r0, r4 - str r0, [r2, #0x34] - ldr r0, _08057678 @ =0x00001D49 - strh r0, [r2, #0x2c] - movs r6, #1 - strh r6, [r2, #0x32] - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #2 - adds r1, r1, r0 - adds r0, r1, #0 - ands r0, r7 - strh r0, [r2, #0x18] - strh r5, [r2, #0x16] - adds r0, r1, #0 - cmp r0, #0 - bge _08057632 - adds r0, #0x3f -_08057632: - asrs r0, r0, #6 - lsls r0, r0, #9 - movs r3, #0x80 - lsls r3, r3, #6 - adds r1, r4, r3 - adds r0, r0, r1 - str r0, [r2, #0x1c] - ldr r0, _0805767C @ =0x00001E49 - strh r0, [r2, #0x14] - strh r6, [r2, #0x1a] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _08057680 @ =0x00003C48 - strh r0, [r1] - adds r1, #2 - ldr r0, _08057684 @ =0x00000609 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0xa0 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08057664: .4byte gUnk_0200B650 -_08057668: .4byte gUnk_02034350 -_0805766C: .4byte gUnk_03000BF0 -_08057670: .4byte gUnk_03000F50 -_08057674: .4byte gUnk_02002F00 -_08057678: .4byte 0x00001D49 -_0805767C: .4byte 0x00001E49 -_08057680: .4byte 0x00003C48 -_08057684: .4byte 0x00000609 - - thumb_func_start sub_08057688 -sub_08057688: @ 0x08057688 - ldr r0, _08057694 @ =gUnk_03000F50 - ldr r1, _08057698 @ =0x00001D48 - strh r1, [r0, #0x2c] - ldr r1, _0805769C @ =0x00001E48 - strh r1, [r0, #0x14] - bx lr - .align 2, 0 -_08057694: .4byte gUnk_03000F50 -_08057698: .4byte 0x00001D48 -_0805769C: .4byte 0x00001E48 - - thumb_func_start sub_080576A0 -sub_080576A0: @ 0x080576A0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080576BC @ =gUnk_02034350 - ldrb r0, [r0, #0x10] - bl sub_0801D7EC - movs r0, #0 - str r0, [r4, #0x38] - str r0, [r4, #0x3c] - adds r0, r4, #0 - bl sub_0805754C - pop {r4, pc} - .align 2, 0 -_080576BC: .4byte gUnk_02034350 - - thumb_func_start sub_080576C0 -sub_080576C0: @ 0x080576C0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080576EC - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x38] - ldr r2, _080576E8 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r0, r0, r1 - subs r0, #0x20 - str r0, [r4, #0x20] - ldrh r0, [r4, #0x3a] - ldrh r1, [r2, #8] - adds r0, r0, r1 - subs r0, #0x20 - str r0, [r4, #0x24] - b _080577AA - .align 2, 0 -_080576E8: .4byte gUnk_03000BF0 -_080576EC: - ldr r0, [r4, #0x20] - ldr r1, [r4, #0x24] - movs r2, #0x40 - movs r3, #0x40 - bl sub_0806FBFC - cmp r0, #0 - beq _080577A8 - ldr r5, _08057738 @ =gUnk_02033A90 - ldr r0, [r4, #0x20] - adds r0, #0x20 - strh r0, [r5, #0x12] - ldr r1, [r4, #0x24] - ldr r2, _0805773C @ =gUnk_08107C6C - ldrb r0, [r4, #0xa] - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #0x20 - adds r1, r1, r0 - strh r1, [r5, #0x14] - adds r0, r4, #0 - adds r0, #0x34 - ldrb r0, [r0] - strb r0, [r5, #0x16] - ldrb r0, [r4, #0xa] - strb r0, [r5, #0x17] - movs r0, #0x14 - bl sub_0807CC30 - cmp r0, #0 - bne _08057740 - movs r0, #1 - strb r0, [r5, #0x18] - movs r0, #5 - strb r0, [r5, #0x17] - b _080577AA - .align 2, 0 -_08057738: .4byte gUnk_02033A90 -_0805773C: .4byte gUnk_08107C6C -_08057740: - ldr r2, _08057758 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0805775C - ldrb r0, [r2, #2] - cmp r0, #0 - bne _0805775C - movs r0, #2 - strb r0, [r5, #0x18] - b _0805776A - .align 2, 0 -_08057758: .4byte gUnk_03003F80 -_0805775C: - bl sub_08057810 - cmp r0, #0 - beq _0805776A - ldr r1, _080577A0 @ =gUnk_02033A90 - movs r0, #3 - strb r0, [r1, #0x18] -_0805776A: - ldrh r0, [r4, #0x38] - ldrh r1, [r4, #0x3a] - ldrb r2, [r4, #0xe] - bl sub_080002C0 - cmp r0, #0x3d - bne _080577AA - ldrh r0, [r4, #0x38] - ldr r2, _080577A4 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r0, r0, r1 - ldrh r1, [r4, #0x3a] - ldrh r2, [r2, #8] - adds r1, r1, r2 - ldrb r2, [r4, #0xe] - bl sub_080577AC - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080577AA - movs r0, #1 - strb r0, [r4, #0xf] - movs r0, #0xa9 - lsls r0, r0, #1 - bl sub_080A3268 - b _080577AA - .align 2, 0 -_080577A0: .4byte gUnk_02033A90 -_080577A4: .4byte gUnk_03000BF0 -_080577A8: - strb r0, [r4, #0xf] -_080577AA: - pop {r4, r5, pc} - - thumb_func_start sub_080577AC -sub_080577AC: @ 0x080577AC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r7, r1, #0 - mov r8, r2 - bl sub_08000E50 - adds r5, r0, #0 - movs r0, #7 - ands r0, r5 - cmp r0, #0 - bne _08057808 - movs r0, #0xf - movs r1, #0x26 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08057808 - lsrs r3, r5, #8 - movs r0, #0xf - ands r3, r0 - lsrs r2, r5, #0x10 - ands r2, r0 - cmp r2, #4 - ble _080577E6 - rsbs r2, r2, #0 -_080577E6: - lsrs r0, r5, #0x18 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _080577F2 - rsbs r3, r3, #0 -_080577F2: - adds r0, r6, r3 - strh r0, [r4, #0x2e] - adds r0, r7, r2 - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x38 - mov r1, r8 - strb r1, [r0] - adds r0, r4, #0 - bl sub_08016A04 -_08057808: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08057810 -sub_08057810: @ 0x08057810 - push {lr} - ldr r2, _08057848 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08057850 - adds r0, r2, #0 - adds r0, #0xaa - ldrb r0, [r0] - cmp r0, #0 - bne _08057850 - ldr r0, _0805784C @ =gUnk_02033A90 - ldrb r0, [r0, #0x17] - cmp r0, #6 - beq _08057850 - ldrb r0, [r2, #5] - cmp r0, #0 - bne _08057850 - adds r0, r2, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #1 - bgt _08057850 - cmp r0, #0 - blt _08057850 - movs r0, #1 - b _08057852 - .align 2, 0 -_08057848: .4byte gUnk_03003F80 -_0805784C: .4byte gUnk_02033A90 -_08057850: - movs r0, #0 -_08057852: - pop {pc} - - thumb_func_start sub_08057854 -sub_08057854: @ 0x08057854 - push {lr} - ldr r2, _08057868 @ =gUnk_08107C70 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08057868: .4byte gUnk_08107C70 - - thumb_func_start sub_0805786C -sub_0805786C: @ 0x0805786C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r8, r0 - bl sub_080805F8 - ldr r6, _080578D4 @ =gUnk_03004030 - ldrb r0, [r6, #8] - cmp r0, #0 - beq _08057914 - ldr r0, [r6] - cmp r0, #0 - bne _080578C0 - movs r0, #0xff - strb r0, [r6, #0xa] - ldr r0, _080578D8 @ =gUnk_03000BF0 - ldrb r5, [r0, #5] - ldr r7, _080578DC @ =gUnk_08107DC0 - ldrb r0, [r0, #4] - lsls r0, r0, #2 - adds r0, r0, r7 - ldr r4, [r0] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08057AA8 - adds r4, r0, #0 - cmp r4, #0 - beq _080578C0 - ldrb r5, [r4, #5] - ldrb r0, [r4, #4] - lsls r0, r0, #2 - adds r0, r0, r7 - ldr r4, [r0] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08057AA8 - adds r4, r0, #0 - cmp r4, #0 - beq _080578C0 - str r4, [r6] -_080578C0: - ldr r0, _080578D8 @ =gUnk_03000BF0 - ldrb r5, [r0, #5] - ldr r1, _080578DC @ =gUnk_08107DC0 - ldrb r0, [r0, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r4, [r0] - movs r6, #0x81 - lsls r6, r6, #7 - b _08057906 - .align 2, 0 -_080578D4: .4byte gUnk_03004030 -_080578D8: .4byte gUnk_03000BF0 -_080578DC: .4byte gUnk_08107DC0 -_080578E0: - ldrh r1, [r4] - adds r1, #0x3f - adds r0, r6, #0 - movs r2, #1 - bl sub_0800015E - ldrh r1, [r4] - adds r1, #0x40 - adds r0, r6, #0 - movs r2, #1 - bl sub_0800015E - ldrh r1, [r4] - adds r1, #0x41 - adds r0, r6, #0 - movs r2, #1 - bl sub_0800015E - adds r4, #8 -_08057906: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08057AA8 - adds r4, r0, #0 - cmp r4, #0 - bne _080578E0 -_08057914: - movs r0, #1 - mov r1, r8 - strb r0, [r1, #0xc] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08057920 -sub_08057920: @ 0x08057920 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r0, _08057934 @ =gUnk_03000BF0 - ldrb r5, [r0, #5] - ldr r1, _08057938 @ =gUnk_08107DC0 - ldrb r0, [r0, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r4, [r0] - b _0805793E - .align 2, 0 -_08057934: .4byte gUnk_03000BF0 -_08057938: .4byte gUnk_08107DC0 -_0805793C: - adds r4, #8 -_0805793E: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08057AA8 - adds r4, r0, #0 - cmp r4, #0 - beq _08057958 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0805795C - cmp r0, #0 - beq _0805793C -_08057958: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0805795C -sub_0805795C: @ 0x0805795C - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r6, r1, #0 - ldr r0, _080579BC @ =gUnk_03004030 - ldrb r0, [r0, #8] - cmp r0, #0 - beq _080579C8 - ldr r1, _080579C0 @ =gUnk_03001160 - ldr r3, _080579C4 @ =gUnk_03000BF0 - ldrh r2, [r1, #0x2e] - ldrh r0, [r3, #6] - subs r2, r2, r0 - lsls r2, r2, #0x10 - lsrs r2, r2, #0x10 - ldrh r0, [r1, #0x32] - ldrh r1, [r3, #8] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - ldrh r3, [r6] - movs r1, #0x3f - ands r1, r3 - lsls r1, r1, #4 - adds r1, #8 - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r3 - lsls r0, r0, #0xe - movs r3, #0xc0 - lsls r3, r3, #0xd - adds r0, r0, r3 - lsrs r3, r0, #0x10 - subs r2, r2, r1 - adds r0, r2, #0 - adds r0, #0x18 - cmp r0, #0x30 - bhi _08057A14 - subs r0, r4, r3 - adds r0, #8 - cmp r0, #0x10 - bhi _08057A14 - cmp r4, r3 - bhs _08057A00 - adds r0, r2, #0 - adds r0, #0xc - cmp r0, #0x18 - bls _08057A14 - b _08057A00 - .align 2, 0 -_080579BC: .4byte gUnk_03004030 -_080579C0: .4byte gUnk_03001160 -_080579C4: .4byte gUnk_03000BF0 -_080579C8: - ldr r3, _08057A0C @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r3, r1] - ldr r2, _08057A10 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r1, #0x3f - ands r4, r1 - movs r0, #0x32 - ldrsh r5, [r3, r0] - ldrh r2, [r2, #8] - subs r0, r5, r2 - asrs r0, r0, #4 - ands r0, r1 - lsls r0, r0, #6 - orrs r4, r0 - ldrh r1, [r6] - cmp r4, r1 - bne _08057A14 - lsrs r0, r4, #6 - lsls r0, r0, #4 - adds r0, r2, r0 - adds r0, #6 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - cmp r5, r3 - bge _08057A14 -_08057A00: - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_08057A18 - movs r0, #1 - b _08057A16 - .align 2, 0 -_08057A0C: .4byte gUnk_03001160 -_08057A10: .4byte gUnk_03000BF0 -_08057A14: - movs r0, #0 -_08057A16: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08057A18 -sub_08057A18: @ 0x08057A18 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r5, r1, #0 - bl sub_0805E5A8 - ldr r6, _08057A94 @ =gUnk_03004030 - ldrb r0, [r6, #9] - strb r0, [r6, #0xa] - ldr r3, _08057A98 @ =gUnk_03000BF0 - ldrb r0, [r3, #4] - strb r0, [r6, #9] - ldr r1, _08057A9C @ =gUnk_030010A0 - ldrb r0, [r5, #4] - strb r0, [r1, #0xc] - ldrb r0, [r5, #5] - strb r0, [r1, #0xd] - ldrb r0, [r5, #4] - strb r0, [r3, #4] - ldrb r0, [r5, #5] - strb r0, [r3, #5] - str r5, [r6] - ldr r4, _08057AA0 @ =gUnk_03001160 - ldrh r1, [r4, #0x2e] - ldrh r0, [r3, #6] - subs r1, r1, r0 - ldrh r2, [r5] - movs r0, #0x3f - ands r0, r2 - lsls r0, r0, #4 - subs r1, r1, r0 - strh r1, [r6, #4] - ldrh r1, [r4, #0x32] - ldrh r0, [r3, #8] - subs r1, r1, r0 - ldrh r2, [r5] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r2 - lsrs r0, r0, #2 - subs r1, r1, r0 - strh r1, [r6, #6] - ldrb r1, [r6, #8] - cmp r1, #0 - bne _08057A86 - ldrb r0, [r5, #5] - movs r2, #0x80 - orrs r0, r2 - ldrb r3, [r6, #0xb] - cmp r0, r3 - beq _08057A80 - ldr r0, _08057AA4 @ =gUnk_02034480 - strh r1, [r0] -_08057A80: - ldrb r0, [r5, #5] - orrs r0, r2 - strb r0, [r6, #0xb] -_08057A86: - ldrb r0, [r5, #3] - bl sub_08080930 - adds r0, r7, #0 - bl sub_0805E900 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08057A94: .4byte gUnk_03004030 -_08057A98: .4byte gUnk_03000BF0 -_08057A9C: .4byte gUnk_030010A0 -_08057AA0: .4byte gUnk_03001160 -_08057AA4: .4byte gUnk_02034480 - - thumb_func_start sub_08057AA8 -sub_08057AA8: @ 0x08057AA8 - push {lr} - adds r2, r0, #0 - ldrh r0, [r2] - ldr r3, _08057AC0 @ =0x0000FFFF - cmp r0, r3 - beq _08057ACC -_08057AB4: - ldrb r0, [r2, #2] - cmp r0, r1 - bne _08057AC4 - adds r0, r2, #0 - b _08057ACE - .align 2, 0 -_08057AC0: .4byte 0x0000FFFF -_08057AC4: - adds r2, #8 - ldrh r0, [r2] - cmp r0, r3 - bne _08057AB4 -_08057ACC: - movs r0, #0 -_08057ACE: - pop {pc} - - thumb_func_start sub_08057AD0 -sub_08057AD0: @ 0x08057AD0 - push {lr} - ldr r2, _08057AE4 @ =gUnk_08108044 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08057AE4: .4byte gUnk_08108044 - - thumb_func_start sub_08057AE8 -sub_08057AE8: @ 0x08057AE8 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xb] - movs r1, #3 - ands r1, r0 - lsls r1, r1, #1 - ldrb r0, [r5, #0xe] - cmp r0, #1 - bne _08057B04 - ldr r0, _08057B00 @ =0x00000323 - strh r0, [r5, #0x30] - b _08057B12 - .align 2, 0 -_08057B00: .4byte 0x00000323 -_08057B04: - movs r0, #2 - ands r0, r1 - movs r2, #0x36 - cmp r0, #0 - beq _08057B10 - movs r2, #0x37 -_08057B10: - strh r2, [r5, #0x30] -_08057B12: - ldr r2, _08057B9C @ =gUnk_08108024 - lsls r3, r1, #1 - adds r0, r3, r2 - ldrh r0, [r0] - movs r4, #0 - strh r0, [r5, #0x28] - adds r1, #1 - lsls r1, r1, #1 - adds r2, r1, r2 - ldrh r0, [r2] - strh r0, [r5, #0x2a] - ldr r2, _08057BA0 @ =gUnk_08108034 - adds r3, r3, r2 - ldrh r0, [r3] - strh r0, [r5, #0x2c] - adds r1, r1, r2 - ldrh r0, [r1] - strh r0, [r5, #0x2e] - ldrb r2, [r5, #0xb] - lsrs r0, r2, #2 - movs r1, #0xf - ands r0, r1 - adds r0, #1 - strh r0, [r5, #0x32] - movs r0, #0x1c - strb r0, [r5, #0xe] - strb r4, [r5, #0xf] - movs r0, #0x80 - ands r0, r2 - movs r1, #1 - cmp r0, #0 - beq _08057B54 - movs r1, #2 -_08057B54: - strb r1, [r5, #0xc] - cmp r1, #2 - bne _08057B9A - ldrh r0, [r5, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08057B9A - ldrh r0, [r5, #0x32] - cmp r0, #0 - beq _08057B94 -_08057B6A: - ldrh r1, [r5, #0x28] - ldrh r2, [r5, #0x2a] - adds r0, r5, #0 - bl sub_08057CA4 - ldrh r0, [r5, #0x30] - movs r2, #0x38 - ldrsh r1, [r5, r2] - movs r3, #0x3a - ldrsh r2, [r5, r3] - lsls r2, r2, #6 - orrs r1, r2 - ldrh r2, [r5, #0x3c] - bl sub_0807B7D8 - ldrh r0, [r5, #0x32] - subs r0, #1 - strh r0, [r5, #0x32] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08057B6A -_08057B94: - adds r0, r5, #0 - bl sub_0805E900 -_08057B9A: - pop {r4, r5, pc} - .align 2, 0 -_08057B9C: .4byte gUnk_08108024 -_08057BA0: .4byte gUnk_08108034 - - thumb_func_start sub_08057BA4 -sub_08057BA4: @ 0x08057BA4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08057C24 - movs r0, #8 - strb r0, [r4, #0xe] - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08057BF6 - ldrh r0, [r4, #0x32] - ldrb r1, [r4, #0xf] - cmp r0, r1 - beq _08057C24 - ldrh r1, [r4, #0x28] - ldrh r2, [r4, #0x2a] - adds r0, r4, #0 - bl sub_08057CA4 - ldrh r0, [r4, #0x30] - movs r2, #0x38 - ldrsh r1, [r4, r2] - movs r3, #0x3a - ldrsh r2, [r4, r3] - lsls r2, r2, #6 - orrs r1, r2 - ldrh r2, [r4, #0x3c] - bl sub_0807B7D8 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - movs r0, #0x71 - bl sub_080A3268 - b _08057C24 -_08057BF6: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08057C24 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r2, #0x3a - ldrsh r1, [r4, r2] - lsls r1, r1, #6 - orrs r0, r1 - ldrh r1, [r4, #0x3c] - bl sub_0807BA8C - ldrh r1, [r4, #0x2c] - ldrh r2, [r4, #0x2e] - adds r0, r4, #0 - bl sub_08057CA4 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - movs r0, #0x71 - bl sub_080A3268 -_08057C24: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08057C28 -sub_08057C28: @ 0x08057C28 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _08057C44 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08057C9C - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - b _08057C9C -_08057C44: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08057C9C - movs r0, #8 - strb r0, [r4, #0xe] - ldrh r0, [r4, #0x32] - ldrb r1, [r4, #0xf] - cmp r0, r1 - beq _08057C88 - ldrh r1, [r4, #0x28] - ldrh r2, [r4, #0x2a] - adds r0, r4, #0 - bl sub_08057CA4 - ldrh r0, [r4, #0x30] - movs r2, #0x38 - ldrsh r1, [r4, r2] - movs r3, #0x3a - ldrsh r2, [r4, r3] - lsls r2, r2, #6 - orrs r1, r2 - ldrh r2, [r4, #0x3c] - bl sub_0807B7D8 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - movs r0, #0x71 - bl sub_080A3268 - b _08057C9C -_08057C88: - ldrh r1, [r4, #0x30] - ldr r0, _08057CA0 @ =0x00000323 - cmp r1, r0 - beq _08057C96 - movs r0, #0x72 - bl sub_080A3268 -_08057C96: - adds r0, r4, #0 - bl sub_0805E900 -_08057C9C: - pop {r4, pc} - .align 2, 0 -_08057CA0: .4byte 0x00000323 - - thumb_func_start sub_08057CA4 -sub_08057CA4: @ 0x08057CA4 - ldrh r3, [r0, #0x38] - adds r3, r3, r1 - strh r3, [r0, #0x38] - ldrh r1, [r0, #0x3a] - adds r1, r1, r2 - strh r1, [r0, #0x3a] - bx lr - .align 2, 0 - - thumb_func_start sub_08057CB4 -sub_08057CB4: @ 0x08057CB4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08057CD6 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - bl sub_0804B128 - str r0, [r4, #0x20] - cmp r0, #0 - bne _08057CD6 - adds r0, r4, #0 - bl sub_0805E900 - b _08057D42 -_08057CD6: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08057CE4 - ldr r0, _08057D44 @ =gUnk_03003F80 - ldrb r0, [r0, #0x12] - cmp r0, #0x1e - bne _08057D42 -_08057CE4: - ldr r4, [r4, #0x20] - ldrh r0, [r4] - ldr r1, _08057D48 @ =0x0000FFFF - cmp r0, r1 - beq _08057D42 - ldr r5, _08057D4C @ =gUnk_03001160 - adds r6, r1, #0 -_08057CF2: - ldrb r2, [r4, #7] - movs r0, #3 - ands r0, r2 - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - ands r0, r1 - cmp r0, #0 - beq _08057D3A - ldr r0, _08057D44 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08057D18 - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - beq _08057D3A -_08057D18: - ldrh r0, [r4] - ldrh r1, [r4, #2] - ldrb r2, [r4, #4] - ldrb r3, [r4, #5] - bl sub_0800293E - cmp r0, #0 - beq _08057D3A - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _08057D3A - ldrb r0, [r4, #6] - bl sub_0804B128 - bl sub_08080840 -_08057D3A: - adds r4, #8 - ldrh r0, [r4] - cmp r0, r6 - bne _08057CF2 -_08057D42: - pop {r4, r5, r6, pc} - .align 2, 0 -_08057D44: .4byte gUnk_03003F80 -_08057D48: .4byte 0x0000FFFF -_08057D4C: .4byte gUnk_03001160 - - thumb_func_start sub_08057D50 -sub_08057D50: @ 0x08057D50 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08057D7C - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x20 - movs r0, #0xff - strb r0, [r1] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldr r1, _08057DC0 @ =sub_08057E30 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_08057D7C: - adds r0, r4, #0 - bl sub_08057E40 - cmp r0, #0 - beq _08057D9A - ldr r0, _08057DC4 @ =gUnk_02034350 - ldrb r5, [r0, #0x10] - adds r1, r4, #0 - adds r1, #0x20 - ldrb r0, [r1] - cmp r0, r5 - beq _08057D9A - movs r0, #0 - strb r5, [r1] - strb r0, [r4, #0xe] -_08057D9A: - ldr r0, _08057DC8 @ =gUnk_03000BF0 - ldrh r3, [r0] - cmp r3, #0 - bne _08057E2A - adds r0, r4, #0 - adds r0, #0x20 - ldrb r5, [r0] - lsls r1, r5, #6 - ldr r0, _08057DCC @ =gUnk_081080A4 - adds r2, r1, r0 - ldrb r1, [r4, #0xe] - cmp r1, #7 - bgt _08057DD0 - cmp r1, #1 - bge _08057E04 - cmp r1, #0 - beq _08057DD6 - b _08057E2A - .align 2, 0 -_08057DC0: .4byte sub_08057E30 -_08057DC4: .4byte gUnk_02034350 -_08057DC8: .4byte gUnk_03000BF0 -_08057DCC: .4byte gUnk_081080A4 -_08057DD0: - cmp r1, #8 - beq _08057E20 - b _08057E2A -_08057DD6: - ldr r1, _08057DF8 @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - ldr r0, [r2] - ldr r1, _08057DFC @ =gUnk_085A2E80 - adds r0, r0, r1 - ldr r1, [r2, #4] - movs r2, #0x80 - lsls r2, r2, #5 - bl sub_08000E96 - ldr r0, _08057E00 @ =gUnk_081081E4 - adds r0, r5, r0 - ldrb r0, [r0] - bl sub_0801D714 - b _08057E24 - .align 2, 0 -_08057DF8: .4byte gUnk_02034490 -_08057DFC: .4byte gUnk_085A2E80 -_08057E00: .4byte gUnk_081081E4 -_08057E04: - lsls r1, r1, #3 - adds r1, r1, r2 - ldr r0, [r1] - ldr r2, _08057E1C @ =gUnk_085A2E80 - adds r0, r0, r2 - ldr r1, [r1, #4] - movs r2, #0x80 - lsls r2, r2, #5 - bl sub_08000E96 - b _08057E24 - .align 2, 0 -_08057E1C: .4byte gUnk_085A2E80 -_08057E20: - ldr r0, _08057E2C @ =gUnk_02034490 - strb r3, [r0] -_08057E24: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] -_08057E2A: - pop {r4, r5, pc} - .align 2, 0 -_08057E2C: .4byte gUnk_02034490 - - thumb_func_start sub_08057E30 -sub_08057E30: @ 0x08057E30 - push {lr} - ldr r0, _08057E3C @ =gUnk_02034350 - ldrb r0, [r0, #0x10] - bl sub_08057E7C - pop {pc} - .align 2, 0 -_08057E3C: .4byte gUnk_02034350 - - thumb_func_start sub_08057E40 -sub_08057E40: @ 0x08057E40 - push {lr} - ldr r0, _08057E54 @ =gUnk_08108050 - bl sub_08056300 - adds r1, r0, #0 - cmp r1, #0xff - bne _08057E58 - movs r0, #0 - b _08057E5E - .align 2, 0 -_08057E54: .4byte gUnk_08108050 -_08057E58: - ldr r0, _08057E60 @ =gUnk_02034350 - strb r1, [r0, #0x10] - movs r0, #1 -_08057E5E: - pop {pc} - .align 2, 0 -_08057E60: .4byte gUnk_02034350 - - thumb_func_start sub_08057E64 -sub_08057E64: @ 0x08057E64 - push {lr} - ldr r0, _08057E78 @ =gUnk_08108050 - bl sub_08056300 - cmp r0, #0xff - beq _08057E74 - bl sub_08057E7C -_08057E74: - pop {pc} - .align 2, 0 -_08057E78: .4byte gUnk_08108050 - - thumb_func_start sub_08057E7C -sub_08057E7C: @ 0x08057E7C - push {r4, r5, r6, lr} - adds r4, r0, #0 - cmp r4, #4 - bhi _08057EB6 - ldr r0, _08057EB8 @ =gUnk_081081E4 - adds r0, r4, r0 - ldrb r0, [r0] - bl sub_0801D714 - lsls r1, r4, #6 - ldr r0, _08057EBC @ =gUnk_081080A4 - adds r1, r1, r0 - movs r3, #0 - ldr r2, _08057EC0 @ =0x040000D4 - ldr r6, _08057EC4 @ =gUnk_085A2E80 - ldr r5, _08057EC8 @ =0x84000400 -_08057E9C: - ldr r0, [r1] - adds r0, r0, r6 - str r0, [r2] - ldr r0, [r1, #4] - str r0, [r2, #4] - str r5, [r2, #8] - ldr r0, [r2, #8] - adds r3, #1 - adds r1, #8 - cmp r3, #7 - bls _08057E9C - ldr r0, _08057ECC @ =gUnk_02034350 - strb r4, [r0, #0x10] -_08057EB6: - pop {r4, r5, r6, pc} - .align 2, 0 -_08057EB8: .4byte gUnk_081081E4 -_08057EBC: .4byte gUnk_081080A4 -_08057EC0: .4byte 0x040000D4 -_08057EC4: .4byte gUnk_085A2E80 -_08057EC8: .4byte 0x84000400 -_08057ECC: .4byte gUnk_02034350 - - thumb_func_start sub_08057ED0 -sub_08057ED0: @ 0x08057ED0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08057F20 - ldrb r1, [r4, #0xc] - cmp r1, #0 - bne _08057EF2 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _08057EF4 @ =gUnk_03000F50 - strh r1, [r0, #0x1a] - strh r1, [r0, #0x32] - ldr r1, _08057EF8 @ =sub_08057EFC - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_08057EF2: - pop {r4, pc} - .align 2, 0 -_08057EF4: .4byte gUnk_03000F50 -_08057EF8: .4byte sub_08057EFC - - thumb_func_start sub_08057EFC -sub_08057EFC: @ 0x08057EFC - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08057F1C @ =gUnk_02034350 - ldrb r0, [r0, #0x10] - bl sub_0801D7EC - bl sub_08058034 - movs r0, #0 - str r0, [r4, #0x3c] - str r0, [r4, #0x38] - adds r0, r4, #0 - bl sub_08057F20 - pop {r4, pc} - .align 2, 0 -_08057F1C: .4byte gUnk_02034350 - - thumb_func_start sub_08057F20 -sub_08057F20: @ 0x08057F20 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - ldr r5, _08057FF4 @ =gUnk_03000BF0 - movs r0, #0xa - ldrsh r1, [r5, r0] - ldrh r0, [r5, #6] - subs r4, r1, r0 - lsrs r2, r4, #3 - adds r2, r4, r2 - ldrh r0, [r5, #0x1e] - movs r1, #0x80 - lsls r1, r1, #3 - subs r0, r1, r0 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r4, r2, r0 - ldr r6, _08057FF8 @ =gUnk_03000F50 - adds r0, r4, #0 - movs r1, #0xf - ands r0, r1 - strh r0, [r6, #0x2e] - movs r1, #0xc - ldrsh r0, [r5, r1] - ldrh r1, [r5, #8] - subs r0, r0, r1 - movs r1, #0x30 - subs r0, r1, r0 - asrs r0, r0, #2 - mov sl, r1 - mov r1, sl - subs r0, r1, r0 - strh r0, [r6, #0x30] - ldr r0, _08057FFC @ =gUnk_02001A40 - mov r8, r0 - str r0, [r6, #0x34] - ldr r1, _08058000 @ =gUnk_02006F00 - mov sb, r1 - adds r0, r4, #0 - mov r2, r8 - bl sub_08058004 - lsrs r0, r4, #4 - lsls r4, r0, #1 - ldr r0, [r7, #0x38] - cmp r0, r4 - beq _08057F8C - str r4, [r7, #0x38] - movs r0, #1 - strh r0, [r6, #0x32] -_08057F8C: - movs r0, #0xa - ldrsh r1, [r5, r0] - ldrh r0, [r5, #6] - subs r4, r1, r0 - lsrs r2, r4, #2 - adds r2, r4, r2 - ldrh r0, [r5, #0x1e] - movs r1, #0x80 - lsls r1, r1, #3 - subs r0, r1, r0 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r4, r2, r0 - adds r0, r4, #0 - movs r1, #0xf - ands r0, r1 - strh r0, [r6, #0x16] - movs r1, #0xc - ldrsh r0, [r5, r1] - ldrh r1, [r5, #8] - subs r0, r0, r1 - movs r1, #0x30 - subs r0, r1, r0 - asrs r0, r0, #1 - mov r1, sl - subs r0, r1, r0 - strh r0, [r6, #0x18] - movs r2, #0x80 - lsls r2, r2, #4 - add r2, r8 - str r2, [r6, #0x1c] - movs r1, #0x80 - lsls r1, r1, #6 - add r1, sb - adds r0, r4, #0 - bl sub_08058004 - lsrs r0, r4, #4 - lsls r4, r0, #1 - ldr r0, [r7, #0x3c] - cmp r0, r4 - beq _08057FE8 - str r4, [r7, #0x3c] - movs r0, #1 - strh r0, [r6, #0x1a] -_08057FE8: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08057FF4: .4byte gUnk_03000BF0 -_08057FF8: .4byte gUnk_03000F50 -_08057FFC: .4byte gUnk_02001A40 -_08058000: .4byte gUnk_02006F00 - - thumb_func_start sub_08058004 -sub_08058004: @ 0x08058004 - push {r4, r5, r6, lr} - movs r4, #0x20 - lsrs r0, r0, #4 - lsls r0, r0, #2 - adds r1, r1, r0 - ldr r3, _0805802C @ =0x040000D4 - ldr r6, _08058030 @ =0x80000020 - movs r5, #0x80 - lsls r5, r5, #1 -_08058016: - str r1, [r3] - str r2, [r3, #4] - str r6, [r3, #8] - ldr r0, [r3, #8] - adds r1, r1, r5 - adds r2, #0x40 - subs r4, #1 - cmp r4, #0 - bne _08058016 - pop {r4, r5, r6, pc} - .align 2, 0 -_0805802C: .4byte 0x040000D4 -_08058030: .4byte 0x80000020 - - thumb_func_start sub_08058034 -sub_08058034: @ 0x08058034 - push {r4, r5, r6, lr} - ldr r6, _08058080 @ =gUnk_02002F00 - movs r0, #0x80 - lsls r0, r0, #7 - adds r5, r6, r0 - movs r4, #0 -_08058040: - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_08058084 - movs r1, #0x80 - lsls r1, r1, #4 - adds r6, r6, r1 - adds r5, #0x40 - adds r4, #1 - cmp r4, #3 - bls _08058040 - ldr r0, _08058080 @ =gUnk_02002F00 - movs r1, #0x80 - lsls r1, r1, #6 - adds r6, r0, r1 - movs r1, #0xc0 - lsls r1, r1, #7 - adds r5, r0, r1 - movs r4, #0 -_08058066: - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_08058084 - movs r0, #0x80 - lsls r0, r0, #4 - adds r6, r6, r0 - adds r5, #0x40 - adds r4, #1 - cmp r4, #3 - bls _08058066 - pop {r4, r5, r6, pc} - .align 2, 0 -_08058080: .4byte gUnk_02002F00 - - thumb_func_start sub_08058084 -sub_08058084: @ 0x08058084 - push {r4, r5, r6, lr} - adds r3, r0, #0 - movs r4, #0 - ldr r2, _080580A8 @ =0x040000D4 - ldr r6, _080580AC @ =0x80000020 - movs r5, #0x80 - lsls r5, r5, #1 -_08058092: - str r3, [r2] - str r1, [r2, #4] - str r6, [r2, #8] - ldr r0, [r2, #8] - adds r4, #1 - adds r3, #0x40 - adds r1, r1, r5 - cmp r4, #0x1f - bls _08058092 - pop {r4, r5, r6, pc} - .align 2, 0 -_080580A8: .4byte 0x040000D4 -_080580AC: .4byte 0x80000020 - - thumb_func_start sub_080580B0 -sub_080580B0: @ 0x080580B0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - adds r4, r0, #0 - ldr r0, _080581B0 @ =gUnk_0200B650 - movs r1, #0 - str r1, [r0] - movs r0, #0x80 - lsls r0, r0, #0x13 - strh r1, [r0] - adds r0, r4, #0 - bl sub_0801D7EC - ldr r0, _080581B4 @ =gUnk_02034350 - strb r4, [r0, #0x10] - bl sub_08058034 - ldr r5, _080581B8 @ =gUnk_03000BF0 - movs r0, #0xa - ldrsh r1, [r5, r0] - ldrh r0, [r5, #6] - subs r7, r1, r0 - asrs r2, r7, #3 - adds r2, r7, r2 - ldrh r0, [r5, #0x1e] - movs r4, #0x80 - lsls r4, r4, #3 - subs r0, r4, r0 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r7, r2, r0 - ldr r1, _080581BC @ =gUnk_02006F00 - mov sb, r1 - ldr r2, _080581C0 @ =gUnk_02001A40 - mov r8, r2 - adds r0, r7, #0 - bl sub_08058004 - ldr r0, _080581C4 @ =gUnk_03000F50 - mov sl, r0 - movs r1, #0xf - ands r7, r1 - strh r7, [r0, #0x2e] - movs r2, #0xc - ldrsh r0, [r5, r2] - ldrh r1, [r5, #8] - subs r0, r0, r1 - movs r6, #0x30 - subs r0, r6, r0 - asrs r0, r0, #1 - movs r3, #0x30 - subs r0, r3, r0 - mov r1, sl - strh r0, [r1, #0x30] - ldr r0, _080581C8 @ =0x00001D09 - strh r0, [r1, #0x2c] - mov r2, r8 - str r2, [r1, #0x34] - movs r0, #1 - strh r0, [r1, #0x32] - movs r2, #0xa - ldrsh r1, [r5, r2] - ldrh r0, [r5, #6] - subs r7, r1, r0 - asrs r1, r7, #2 - adds r1, r7, r1 - ldrh r0, [r5, #0x1e] - subs r4, r4, r0 - lsrs r0, r4, #0x1f - adds r4, r4, r0 - asrs r4, r4, #1 - adds r7, r1, r4 - movs r0, #0x80 - lsls r0, r0, #6 - add sb, r0 - movs r1, #0x80 - lsls r1, r1, #4 - add r8, r1 - adds r0, r7, #0 - mov r1, sb - mov r2, r8 - str r3, [sp] - bl sub_08058004 - movs r2, #0xf - ands r7, r2 - mov r0, sl - strh r7, [r0, #0x16] - movs r1, #0xc - ldrsh r0, [r5, r1] - ldrh r1, [r5, #8] - subs r0, r0, r1 - subs r6, r6, r0 - asrs r6, r6, #1 - ldr r3, [sp] - subs r3, r3, r6 - mov r2, sl - strh r3, [r2, #0x18] - ldr r0, _080581CC @ =0x00001E09 - strh r0, [r2, #0x14] - mov r0, r8 - str r0, [r2, #0x1c] - movs r1, #1 - strh r1, [r2, #0x1a] - mov r1, sl - adds r1, #0x66 - ldr r0, _080581D0 @ =0x00003C48 - strh r0, [r1] - adds r1, #2 - ldr r0, _080581D4 @ =0x00000609 - strh r0, [r1] - ldrh r1, [r2] - movs r2, #0xa0 - lsls r2, r2, #4 - adds r0, r2, #0 - orrs r0, r1 - mov r1, sl - strh r0, [r1] - add sp, #4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080581B0: .4byte gUnk_0200B650 -_080581B4: .4byte gUnk_02034350 -_080581B8: .4byte gUnk_03000BF0 -_080581BC: .4byte gUnk_02006F00 -_080581C0: .4byte gUnk_02001A40 -_080581C4: .4byte gUnk_03000F50 -_080581C8: .4byte 0x00001D09 -_080581CC: .4byte 0x00001E09 -_080581D0: .4byte 0x00003C48 -_080581D4: .4byte 0x00000609 - - thumb_func_start sub_080581D8 -sub_080581D8: @ 0x080581D8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08058210 - ldrb r1, [r4, #0xc] - cmp r1, #0 - bne _080581F8 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080581FC @ =gUnk_03000F50 - strh r1, [r0, #0x1a] - ldr r1, _08058200 @ =sub_08058204 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_080581F8: - pop {r4, pc} - .align 2, 0 -_080581FC: .4byte gUnk_03000F50 -_08058200: .4byte sub_08058204 - - thumb_func_start sub_08058204 -sub_08058204: @ 0x08058204 - push {lr} - ldrb r0, [r0, #0xa] - bl sub_08058324 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08058210 -sub_08058210: @ 0x08058210 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl sub_08058244 - adds r3, r0, #0 - ldr r0, [r4, #0x3c] - cmp r0, r3 - beq _08058234 - str r3, [r4, #0x3c] - ldr r1, _08058238 @ =gUnk_02006F00 - ldr r2, _0805823C @ =gUnk_02001A40 - adds r0, r3, #0 - bl sub_080582A0 - ldr r1, _08058240 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0x1a] -_08058234: - pop {r4, pc} - .align 2, 0 -_08058238: .4byte gUnk_02006F00 -_0805823C: .4byte gUnk_02001A40 -_08058240: .4byte gUnk_03000F50 - - thumb_func_start sub_08058244 -sub_08058244: @ 0x08058244 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - adds r6, r0, #0 - ldr r5, _08058294 @ =gUnk_03000BF0 - movs r1, #0xc - ldrsh r0, [r5, r1] - ldrh r4, [r5, #8] - subs r0, r0, r4 - lsls r0, r0, #5 - ldrh r1, [r5, #0x20] - subs r1, #0xa0 - bl __divsi3 - ldr r2, _08058298 @ =gUnk_03000F50 - mov r8, r2 - adds r4, r4, r0 - strh r4, [r2, #0x18] - movs r0, #0xa - ldrsh r1, [r5, r0] - ldrh r0, [r5, #6] - subs r1, r1, r0 - ldr r0, _0805829C @ =gUnk_081081EC - lsls r6, r6, #1 - adds r6, r6, r0 - ldrh r0, [r6] - muls r0, r1, r0 - ldrh r1, [r5, #0x1e] - subs r1, #0xf0 - bl __divsi3 - movs r2, #0xf - adds r1, r0, #0 - ands r1, r2 - mov r2, r8 - strh r1, [r2, #0x16] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_08058294: .4byte gUnk_03000BF0 -_08058298: .4byte gUnk_03000F50 -_0805829C: .4byte gUnk_081081EC - - thumb_func_start sub_080582A0 -sub_080582A0: @ 0x080582A0 - push {r4, r5, r6, lr} - movs r4, #0x20 - lsrs r0, r0, #4 - lsls r0, r0, #2 - adds r1, r1, r0 - ldr r3, _080582C8 @ =0x040000D4 - ldr r6, _080582CC @ =0x80000020 - movs r5, #0x80 - lsls r5, r5, #1 -_080582B2: - str r1, [r3] - str r2, [r3, #4] - str r6, [r3, #8] - ldr r0, [r3, #8] - adds r1, r1, r5 - adds r2, #0x40 - subs r4, #1 - cmp r4, #0 - bne _080582B2 - pop {r4, r5, r6, pc} - .align 2, 0 -_080582C8: .4byte 0x040000D4 -_080582CC: .4byte 0x80000020 - - thumb_func_start sub_080582D0 -sub_080582D0: @ 0x080582D0 - push {r4, r5, lr} - ldr r4, _080582F4 @ =gUnk_02002F00 - movs r0, #0x80 - lsls r0, r0, #7 - adds r5, r4, r0 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080582F8 - movs r0, #0x80 - lsls r0, r0, #4 - adds r4, r4, r0 - adds r5, #0x40 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080582F8 - pop {r4, r5, pc} - .align 2, 0 -_080582F4: .4byte gUnk_02002F00 - - thumb_func_start sub_080582F8 -sub_080582F8: @ 0x080582F8 - push {r4, r5, r6, lr} - adds r3, r0, #0 - movs r4, #0 - ldr r2, _0805831C @ =0x040000D4 - ldr r6, _08058320 @ =0x80000020 - movs r5, #0x80 - lsls r5, r5, #1 -_08058306: - str r3, [r2] - str r1, [r2, #4] - str r6, [r2, #8] - ldr r0, [r2, #8] - adds r4, #1 - adds r3, #0x40 - adds r1, r1, r5 - cmp r4, #0x1f - bls _08058306 - pop {r4, r5, r6, pc} - .align 2, 0 -_0805831C: .4byte 0x040000D4 -_08058320: .4byte 0x80000020 - - thumb_func_start sub_08058324 -sub_08058324: @ 0x08058324 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805836C @ =gUnk_0200B650 - movs r0, #0 - str r0, [r1] - adds r0, r4, #0 - adds r0, #0x86 - bl sub_0801D714 - adds r0, r4, #0 - adds r0, #0x36 - bl sub_0801D7EC - bl sub_080582D0 - adds r0, r4, #0 - bl sub_08058244 - ldr r1, _08058370 @ =gUnk_02006F00 - ldr r4, _08058374 @ =gUnk_02001A40 - adds r2, r4, #0 - bl sub_080582A0 - ldr r1, _08058378 @ =gUnk_03000F50 - ldr r0, _0805837C @ =0x00001D47 - strh r0, [r1, #0x14] - str r4, [r1, #0x1c] - movs r0, #1 - strh r0, [r1, #0x1a] - ldrh r2, [r1] - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - orrs r0, r2 - strh r0, [r1] - pop {r4, pc} - .align 2, 0 -_0805836C: .4byte gUnk_0200B650 -_08058370: .4byte gUnk_02006F00 -_08058374: .4byte gUnk_02001A40 -_08058378: .4byte gUnk_03000F50 -_0805837C: .4byte 0x00001D47 - - thumb_func_start sub_08058380 -sub_08058380: @ 0x08058380 - push {lr} - ldr r2, _08058394 @ =gUnk_081081F4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08058394: .4byte gUnk_081081F4 - - thumb_func_start sub_08058398 -sub_08058398: @ 0x08058398 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _080583AA - bl sub_0805E780 -_080583AA: - adds r0, r4, #0 - adds r0, #0x3a - ldrb r1, [r0] - lsls r1, r1, #3 - strh r1, [r4, #0x24] - adds r0, #1 - ldrb r2, [r0] - lsls r2, r2, #3 - strh r2, [r4, #0x26] - subs r0, #3 - ldrb r0, [r0] - lsls r0, r0, #4 - adds r1, r1, r0 - strh r1, [r4, #0x20] - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #4 - adds r2, r2, r0 - strh r2, [r4, #0x22] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldrh r0, [r4, #0x3e] - cmp r0, #0 - bne _080583E4 - movs r0, #2 - b _080583E6 -_080583E4: - movs r0, #1 -_080583E6: - strb r0, [r4, #0xc] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080583EC -sub_080583EC: @ 0x080583EC - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08058404 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_08058408 -_08058404: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08058408 -sub_08058408: @ 0x08058408 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r6, _0805843C @ =gUnk_03003F80 - ldr r5, [r6, #0x30] - movs r0, #8 - ands r5, r0 - cmp r5, #0 - bne _08058488 - ldrh r0, [r4, #0x20] - ldrh r1, [r4, #0x22] - ldrh r2, [r4, #0x24] - ldrh r3, [r4, #0x26] - bl sub_0800293E - cmp r0, #0 - beq _08058488 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _08058488 - cmp r0, #1 - ble _08058450 - cmp r0, #2 - beq _08058440 - cmp r0, #3 - beq _0805847C - b _08058450 - .align 2, 0 -_0805843C: .4byte gUnk_03003F80 -_08058440: - adds r0, r4, #0 - bl sub_080585DC - ldr r0, [r6, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08058488 -_08058450: - adds r0, r4, #0 - bl sub_080585DC - adds r0, r4, #0 - bl sub_0805848C - cmp r0, #0 - beq _08058488 - movs r0, #3 - bl sub_08078A90 - bl sub_08078B48 - bl sub_0805E544 - movs r0, #0 - movs r1, #3 - strb r1, [r4, #0xc] - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - b _08058488 -_0805847C: - movs r0, #4 - strb r0, [r4, #0xc] - strb r5, [r4, #0xd] - ldrh r0, [r4, #0x36] - bl sub_080186C0 -_08058488: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0805848C -sub_0805848C: @ 0x0805848C - push {lr} - ldr r0, _080584A4 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - subs r0, #5 - cmp r0, #0x17 - bhi _08058510 - lsls r0, r0, #2 - ldr r1, _080584A8 @ =_080584AC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080584A4: .4byte gUnk_03003F80 -_080584A8: .4byte _080584AC -_080584AC: @ jump table - .4byte _0805850C @ case 0 - .4byte _08058510 @ case 1 - .4byte _0805850C @ case 2 - .4byte _0805850C @ case 3 - .4byte _08058510 @ case 4 - .4byte _0805850C @ case 5 - .4byte _0805850C @ case 6 - .4byte _0805850C @ case 7 - .4byte _0805850C @ case 8 - .4byte _0805850C @ case 9 - .4byte _0805850C @ case 10 - .4byte _0805850C @ case 11 - .4byte _0805850C @ case 12 - .4byte _0805850C @ case 13 - .4byte _0805850C @ case 14 - .4byte _0805850C @ case 15 - .4byte _0805850C @ case 16 - .4byte _0805850C @ case 17 - .4byte _0805850C @ case 18 - .4byte _0805850C @ case 19 - .4byte _08058510 @ case 20 - .4byte _08058510 @ case 21 - .4byte _0805850C @ case 22 - .4byte _0805850C @ case 23 -_0805850C: - movs r0, #0 - b _08058512 -_08058510: - movs r0, #1 -_08058512: - pop {pc} - - thumb_func_start sub_08058514 -sub_08058514: @ 0x08058514 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #1 - beq _08058532 - cmp r0, #1 - bgt _08058528 - cmp r0, #0 - beq _08058570 - b _080585A6 -_08058528: - cmp r0, #2 - beq _08058570 - cmp r0, #3 - beq _08058584 - b _080585A6 -_08058532: - ldr r2, _08058564 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08058568 @ =0x00001235 - ands r0, r1 - cmp r0, #0 - bne _080585A6 - ldr r0, _0805856C @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r0, r1] - cmp r0, #0 - bne _080585A6 - strb r0, [r2, #2] - ldrh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x35 - ldrb r1, [r1] - bl sub_08078AA8 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - b _080585A6 - .align 2, 0 -_08058564: .4byte gUnk_03003F80 -_08058568: .4byte 0x00001235 -_0805856C: .4byte gUnk_03001160 -_08058570: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080585A6 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - b _080585A6 -_08058584: - ldr r0, _080585A8 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #1 - beq _08058590 - cmp r0, #9 - bne _080585A6 -_08058590: - ldr r0, _080585AC @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bl sub_0805E564 - ldrh r0, [r4, #0x3c] - bl sub_0807CCC8 - bl sub_0805E780 -_080585A6: - pop {r4, pc} - .align 2, 0 -_080585A8: .4byte gUnk_03001160 -_080585AC: .4byte gUnk_03003F80 - - thumb_func_start sub_080585B0 -sub_080585B0: @ 0x080585B0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080585D8 @ =gUnk_02033A90 - adds r0, #0x28 - ldrb r0, [r0] - cmp r0, #0xff - beq _080585C2 - bl sub_0805E780 -_080585C2: - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _080585D4 - bl sub_0801855C - bl sub_0805E780 -_080585D4: - pop {r4, pc} - .align 2, 0 -_080585D8: .4byte gUnk_02033A90 - - thumb_func_start sub_080585DC -sub_080585DC: @ 0x080585DC - push {lr} - ldrh r0, [r0, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _080585EC - bl sub_0805E780 -_080585EC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080585F0 -sub_080585F0: @ 0x080585F0 - push {lr} - ldr r2, _08058604 @ =gUnk_08108208 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08058604: .4byte gUnk_08108208 - - thumb_func_start sub_08058608 -sub_08058608: @ 0x08058608 - push {lr} - ldr r2, _0805861C @ =gUnk_08108210 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805861C: .4byte gUnk_08108210 - - thumb_func_start sub_08058620 -sub_08058620: @ 0x08058620 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - bne _08058648 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3c] - cmp r0, #0 - bne _0805863E - adds r0, r4, #0 - bl sub_080586EC -_0805863E: - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - b _0805864C -_08058648: - bl sub_0805E780 -_0805864C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08058650 -sub_08058650: @ 0x08058650 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _08058698 - adds r0, r4, #0 - bl sub_080586EC - adds r0, r4, #0 - adds r0, #0x35 - ldrb r0, [r0] - cmp r0, #0 - bne _08058692 - ldr r1, _0805869C @ =gUnk_02034350 - ldrb r0, [r1, #9] - movs r3, #0x33 - cmp r0, #0 - beq _0805867A - adds r3, r0, #0 -_0805867A: - ldr r0, _080586A0 @ =gUnk_02033A90 - movs r1, #0x86 - lsls r1, r1, #4 - adds r0, r0, r1 - ldr r2, [r0] - adds r1, r4, #0 - adds r1, #0x20 - strb r2, [r1] - str r3, [r0] - adds r0, r3, #0 - bl sub_080A3268 -_08058692: - ldr r0, _080586A4 @ =0x00000B0F - bl sub_080186C0 -_08058698: - pop {r4, pc} - .align 2, 0 -_0805869C: .4byte gUnk_02034350 -_080586A0: .4byte gUnk_02033A90 -_080586A4: .4byte 0x00000B0F - - thumb_func_start sub_080586A8 -sub_080586A8: @ 0x080586A8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _080586E4 - ldrh r0, [r4, #0x3e] - bl sub_0807CCC8 - ldrh r0, [r4, #0x3c] - cmp r0, #0 - beq _080586E0 - adds r0, r4, #0 - adds r0, #0x35 - ldrb r0, [r0] - cmp r0, #0 - bne _080586E0 - ldr r1, _080586E8 @ =gUnk_02033A90 - movs r0, #0x86 - lsls r0, r0, #4 - adds r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x20 - ldrb r0, [r0] - str r0, [r1] - bl sub_080A3268 - bl sub_0801855C -_080586E0: - bl sub_0805E780 -_080586E4: - pop {r4, pc} - .align 2, 0 -_080586E8: .4byte gUnk_02033A90 - - thumb_func_start sub_080586EC -sub_080586EC: @ 0x080586EC - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - movs r1, #0 - movs r0, #2 - strb r0, [r7, #0xc] - strb r1, [r7, #0xe] - movs r6, #0 - adds r0, r7, #0 - bl sub_08058760 - adds r5, r0, #0 - cmp r5, #0 - bne _0805870A - bl sub_0805E780 -_0805870A: - ldrb r0, [r7, #0xb] - bl sub_0804B128 - adds r4, r0, #0 - cmp r4, #0 - beq _0805875C - b _08058756 -_08058718: - adds r0, r4, #0 - adds r4, #0x10 - bl sub_0804ADF8 - adds r3, r0, #0 - cmp r3, #0 - beq _08058744 - ldrb r0, [r3, #8] - cmp r0, #3 - bne _08058744 - adds r2, r3, #0 - adds r2, #0x6d - ldrb r0, [r2] - movs r1, #0x40 - orrs r1, r0 - strb r1, [r2] - adds r2, r6, #0 - adds r6, #1 - adds r0, r5, #0 - adds r1, r3, #0 - bl sub_08058798 -_08058744: - cmp r6, #6 - bls _08058756 - movs r6, #0 - adds r0, r7, #0 - bl sub_08058760 - adds r5, r0, #0 - cmp r5, #0 - beq _0805875C -_08058756: - ldrb r0, [r4] - cmp r0, #0xff - bne _08058718 -_0805875C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08058760 -sub_08058760: @ 0x08058760 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0805E8D4 - adds r4, r0, #0 - cmp r4, #0 - beq _08058794 - movs r0, #9 - strb r0, [r4, #8] - movs r0, #0xb - strb r0, [r4, #9] - movs r0, #1 - strb r0, [r4, #0xa] - str r5, [r4, #0x14] - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - adds r0, r4, #0 - adds r0, #0x20 - movs r1, #0x20 - bl sub_0801D630 - adds r0, r4, #0 - movs r1, #8 - bl sub_0805EA2C -_08058794: - adds r0, r4, #0 - pop {r4, r5, pc} - - thumb_func_start sub_08058798 -sub_08058798: @ 0x08058798 - lsls r2, r2, #2 - adds r3, r0, #0 - adds r3, #0x20 - adds r3, r3, r2 - str r1, [r3] - ldrb r1, [r0, #0xe] - adds r1, #1 - strb r1, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_080587AC -sub_080587AC: @ 0x080587AC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080587C2 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 -_080587C2: - movs r3, #0 - movs r2, #0 - adds r5, r4, #0 - adds r5, #0x20 -_080587CA: - lsls r0, r2, #2 - adds r1, r5, r0 - ldr r0, [r1] - cmp r0, #0 - beq _080587E0 - ldr r0, [r0, #4] - cmp r0, #0 - bne _080587DE - str r0, [r1] - b _080587E0 -_080587DE: - movs r3, #1 -_080587E0: - adds r0, r2, #1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #7 - bls _080587CA - cmp r3, #0 - bne _080587FE - ldr r1, [r4, #0x14] - ldrb r0, [r1, #0xe] - cmp r0, #0 - beq _080587FA - subs r0, #1 - strb r0, [r1, #0xe] -_080587FA: - bl sub_0805E780 -_080587FE: - pop {r4, r5, pc} - - thumb_func_start sub_08058800 -sub_08058800: @ 0x08058800 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r6, _08058830 @ =gUnk_03003DB0 - ldr r3, [r6, #4] - cmp r3, r6 - beq _0805884A - ldr r0, _08058834 @ =0x0000FFFF - mov ip, r0 - ldr r7, _08058838 @ =0x00000B09 -_08058814: - ldrh r1, [r3, #8] - mov r0, ip - ands r0, r1 - cmp r0, r7 - bne _08058844 - movs r2, #0 - adds r1, r3, #0 - adds r1, #0x20 -_08058824: - ldr r0, [r1] - cmp r4, r0 - bne _0805883C - str r5, [r1] - b _0805884A - .align 2, 0 -_08058830: .4byte gUnk_03003DB0 -_08058834: .4byte 0x0000FFFF -_08058838: .4byte 0x00000B09 -_0805883C: - adds r1, #4 - adds r2, #1 - cmp r2, #7 - bls _08058824 -_08058844: - ldr r3, [r3, #4] - cmp r3, r6 - bne _08058814 -_0805884A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805884C -sub_0805884C: @ 0x0805884C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08058880 @ =gUnk_0810821C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08058BC8 - ldr r0, _08058884 @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _08058888 @ =gUnk_02017AA0 - adds r0, r0, r1 - ldr r1, _0805888C @ =0x04000020 - ldr r2, _08058890 @ =0xA2600008 - bl sub_0805622C - pop {r4, pc} - .align 2, 0 -_08058880: .4byte gUnk_0810821C -_08058884: .4byte gUnk_03003DE4 -_08058888: .4byte gUnk_02017AA0 -_0805888C: .4byte 0x04000020 -_08058890: .4byte 0xA2600008 - - thumb_func_start sub_08058894 -sub_08058894: @ 0x08058894 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080588C4 @ =0x00001234 - str r0, [r4, #0x28] - movs r0, #0x15 - movs r1, #2 - bl sub_0807CC60 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - strb r1, [r4, #0xe] - adds r0, r4, #0 - bl sub_08058CB0 - ldr r1, _080588C8 @ =sub_08058D34 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 - pop {r4, pc} - .align 2, 0 -_080588C4: .4byte 0x00001234 -_080588C8: .4byte sub_08058D34 - - thumb_func_start sub_080588CC -sub_080588CC: @ 0x080588CC - push {r4, lr} - adds r4, r0, #0 - bl sub_08058CFC - adds r0, r4, #0 - bl sub_08058A04 - ldr r0, _080588E8 @ =gUnk_030010A0 - ldrb r0, [r0, #8] - cmp r0, #0 - beq _080588EC - movs r0, #2 - strb r0, [r4, #0xc] - b _080588F2 - .align 2, 0 -_080588E8: .4byte gUnk_030010A0 -_080588EC: - adds r0, r4, #0 - bl sub_080588F8 -_080588F2: - pop {r4, pc} - - thumb_func_start nullsub_108 -nullsub_108: @ 0x080588F4 - bx lr - .align 2, 0 - - thumb_func_start sub_080588F8 -sub_080588F8: @ 0x080588F8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08058952 - movs r0, #0x26 - ldrsh r2, [r4, r0] - ldr r0, [r4, #0x28] - subs r1, r0, r2 - cmp r1, #0 - blt _08058914 - cmp r1, #8 - bhi _0805891A - b _08058968 -_08058914: - subs r0, r2, r0 - cmp r0, #8 - bls _08058968 -_0805891A: - ldr r0, _08058934 @ =0x00001234 - str r0, [r4, #0x28] - movs r2, #0x26 - ldrsh r1, [r4, r2] - ldr r0, _08058938 @ =0x0000FFFE - ands r1, r0 - cmp r1, #0xa0 - beq _08058940 - cmp r1, #0xa0 - bgt _0805893C - cmp r1, #0x48 - beq _08058940 - b _08058968 - .align 2, 0 -_08058934: .4byte 0x00001234 -_08058938: .4byte 0x0000FFFE -_0805893C: - cmp r1, #0xf0 - bne _08058968 -_08058940: - movs r3, #0x26 - ldrsh r0, [r4, r3] - str r0, [r4, #0x28] - movs r0, #0x2d - strb r0, [r4, #0xf] - movs r0, #0x8c - bl sub_080A3268 - b _08058968 -_08058952: - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x29 - bls _08058964 - ldr r0, [r4, #0x28] - subs r0, #2 - b _08058966 -_08058964: - ldr r0, [r4, #0x28] -_08058966: - strh r0, [r4, #0x26] -_08058968: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080589DE - ldr r0, _080589A4 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r0, r2] - ldr r0, _080589A8 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - subs r2, r1, r0 - adds r1, r2, #0 - subs r1, #0x50 - cmp r1, #0 - bge _08058986 - movs r1, #0x50 - subs r1, r1, r2 -_08058986: - lsrs r1, r1, #3 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #0xc - movs r3, #0x80 - lsls r3, r3, #7 - adds r1, r0, r3 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080589DE - cmp r2, #0x48 - bgt _080589AC - ldr r0, [r4, #0x24] - subs r0, r0, r1 - b _080589B4 - .align 2, 0 -_080589A4: .4byte gUnk_03001160 -_080589A8: .4byte gUnk_03000BF0 -_080589AC: - cmp r2, #0x57 - ble _080589B6 - ldr r0, [r4, #0x24] - adds r0, r0, r1 -_080589B4: - str r0, [r4, #0x24] -_080589B6: - ldr r2, [r4, #0x2c] - ldr r0, [r4, #0x24] - subs r1, r2, r0 - adds r3, r0, #0 - cmp r1, #0 - blt _080589CC - movs r0, #0x80 - lsls r0, r0, #0xd - cmp r1, r0 - bhi _080589D6 - b _080589DE -_080589CC: - subs r1, r3, r2 - movs r0, #0x80 - lsls r0, r0, #0xd - cmp r1, r0 - bls _080589DE -_080589D6: - str r3, [r4, #0x2c] - movs r0, #0x8b - bl sub_080A3268 -_080589DE: - movs r0, #0x26 - ldrsh r1, [r4, r0] - str r1, [r4, #0x20] - cmp r1, #0 - bge _080589F0 - ldr r0, _080589EC @ =0x000001FF - b _080589F8 - .align 2, 0 -_080589EC: .4byte 0x000001FF -_080589F0: - ldr r0, _08058A00 @ =0x000001FF - cmp r1, r0 - ble _080589FC - movs r0, #0 -_080589F8: - str r0, [r4, #0x20] - strh r0, [r4, #0x26] -_080589FC: - pop {r4, pc} - .align 2, 0 -_08058A00: .4byte 0x000001FF - - thumb_func_start sub_08058A04 -sub_08058A04: @ 0x08058A04 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldr r6, _08058A68 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r7, _08058A6C @ =gUnk_03000BF0 - ldrh r0, [r7, #6] - subs r1, r1, r0 - mov r8, r1 - movs r0, #0x32 - ldrsh r1, [r6, r0] - ldrh r0, [r7, #8] - subs r5, r1, r0 - ldr r0, [r4, #0x20] - ldr r1, _08058A70 @ =0xFFFFFEE8 - adds r0, r0, r1 - cmp r0, #0xc - bhi _08058A78 - movs r0, #0x17 - bl sub_0807CC30 - cmp r0, #0 - beq _08058A78 - mov r0, r8 - subs r0, #0x6d - cmp r0, #0x16 - bhi _08058A78 - adds r0, r5, #0 - subs r0, #0x45 - cmp r0, #0x16 - bhi _08058A78 - movs r0, #0x36 - ldrsh r2, [r6, r0] - cmp r2, #0 - bne _08058A78 - ldr r0, _08058A74 @ =gUnk_03003F80 - movs r1, #3 - strb r1, [r0, #0xc] - adds r0, #0x38 - strb r2, [r0] - ldrh r0, [r7, #6] - adds r0, #0x78 - strh r0, [r6, #0x2e] - ldrh r0, [r7, #8] - adds r0, #0x50 - strh r0, [r6, #0x32] - b _08058AFC - .align 2, 0 -_08058A68: .4byte gUnk_03001160 -_08058A6C: .4byte gUnk_03000BF0 -_08058A70: .4byte 0xFFFFFEE8 -_08058A74: .4byte gUnk_03003F80 -_08058A78: - mov r1, r8 - cmp r1, #0x77 - bgt _08058AC0 - cmp r5, #0x4f - bgt _08058AA0 - ldr r3, _08058A9C @ =gUnk_08108228 - adds r0, r4, #0 - movs r1, #0x88 - movs r2, #0xb0 - bl sub_08058B08 - cmp r0, #0 - beq _08058AFC - adds r0, r4, #0 - movs r1, #0 - bl sub_08058B5C - b _08058AFC - .align 2, 0 -_08058A9C: .4byte gUnk_08108228 -_08058AA0: - ldr r3, _08058ABC @ =gUnk_08108258 - adds r0, r4, #0 - movs r1, #0x38 - movs r2, #0x60 - bl sub_08058B08 - cmp r0, #0 - beq _08058AFC - adds r0, r4, #0 - movs r1, #1 - bl sub_08058B5C - b _08058AFC - .align 2, 0 -_08058ABC: .4byte gUnk_08108258 -_08058AC0: - cmp r5, #0x4f - bgt _08058AE4 - movs r2, #0x84 - lsls r2, r2, #1 - ldr r3, _08058AE0 @ =gUnk_08108288 - adds r0, r4, #0 - movs r1, #0xe0 - bl sub_08058B08 - cmp r0, #0 - beq _08058AFC - adds r0, r4, #0 - movs r1, #2 - bl sub_08058B5C - b _08058AFC - .align 2, 0 -_08058AE0: .4byte gUnk_08108288 -_08058AE4: - ldr r3, _08058B04 @ =gUnk_081082B8 - adds r0, r4, #0 - movs r1, #0x90 - movs r2, #0xb8 - bl sub_08058B08 - cmp r0, #0 - beq _08058AFC - adds r0, r4, #0 - movs r1, #3 - bl sub_08058B5C -_08058AFC: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08058B04: .4byte gUnk_081082B8 - - thumb_func_start sub_08058B08 -sub_08058B08: @ 0x08058B08 - push {r4, r5, lr} - adds r4, r3, #0 - ldr r0, [r0, #0x20] - cmp r0, r1 - blo _08058B16 - cmp r0, r2 - bls _08058B1A -_08058B16: - movs r0, #0 - b _08058B50 -_08058B1A: - subs r0, r0, r1 - lsrs r0, r0, #3 - lsls r0, r0, #3 - adds r4, r4, r0 - ldr r3, _08058B54 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r2, [r3, r0] - ldr r1, _08058B58 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r2, r2, r0 - ldrh r0, [r4] - subs r2, r2, r0 - movs r5, #0x32 - ldrsh r0, [r3, r5] - ldrh r1, [r1, #8] - subs r0, r0, r1 - ldrh r1, [r4, #2] - subs r0, r0, r1 - movs r1, #0 - ldrh r3, [r4, #4] - cmp r2, r3 - bhs _08058B4E - ldrh r4, [r4, #6] - cmp r0, r4 - bhs _08058B4E - movs r1, #1 -_08058B4E: - adds r0, r1, #0 -_08058B50: - pop {r4, r5, pc} - .align 2, 0 -_08058B54: .4byte gUnk_03001160 -_08058B58: .4byte gUnk_03000BF0 - - thumb_func_start sub_08058B5C -sub_08058B5C: @ 0x08058B5C - push {r4, r5, lr} - ldr r3, _08058BB4 @ =gUnk_030010A0 - movs r0, #0 - movs r4, #1 - strb r4, [r3, #8] - strb r0, [r3, #9] - movs r5, #4 - movs r0, #4 - strb r0, [r3, #0xf] - ldr r0, _08058BB8 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - strb r0, [r3, #0xc] - movs r0, #6 - strb r0, [r3, #0xd] - adds r2, r1, #0 - ands r2, r4 - rsbs r0, r2, #0 - orrs r0, r2 - asrs r0, r0, #0x1f - ands r0, r5 - strb r0, [r3, #0xe] - ldr r4, _08058BBC @ =gUnk_081082E8 - lsls r2, r1, #1 - adds r2, r2, r1 - lsls r0, r2, #1 - adds r0, r0, r4 - ldrh r0, [r0] - strh r0, [r3, #0x10] - adds r0, r2, #1 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - strh r0, [r3, #0x12] - ldr r1, _08058BC0 @ =gUnk_02002A40 - adds r2, #2 - lsls r2, r2, #1 - adds r2, r2, r4 - ldrh r0, [r2] - strb r0, [r1, #7] - ldr r0, _08058BC4 @ =0x00000121 - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_08058BB4: .4byte gUnk_030010A0 -_08058BB8: .4byte gUnk_03000BF0 -_08058BBC: .4byte gUnk_081082E8 -_08058BC0: .4byte gUnk_02002A40 -_08058BC4: .4byte 0x00000121 - - thumb_func_start sub_08058BC8 -sub_08058BC8: @ 0x08058BC8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0x14 - mov sb, r0 - ldr r0, _08058C9C @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _08058CA0 @ =gUnk_02017AA0 - adds r4, r0, r1 - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [sp] - mov r1, sp - movs r2, #0 - movs r0, #0x78 - strh r0, [r1, #8] - movs r0, #0x80 - strh r0, [r1, #0xa] - mov r0, sp - strh r2, [r0, #0x10] - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0, #0xe] - strh r1, [r0, #0xc] - movs r5, #0 - mov r6, sp - ldr r0, _08058CA4 @ =gUnk_080C9160 - mov r8, r0 - adds r7, r1, #0 -_08058C0A: - lsls r0, r5, #7 - movs r1, #0xa0 - bl __divsi3 - movs r1, #0xff - ands r0, r1 - lsls r1, r0, #1 - add r1, r8 - movs r3, #0 - ldrsh r2, [r1, r3] - lsls r1, r2, #1 - adds r1, r1, r2 - asrs r1, r1, #2 - adds r1, r1, r7 - strh r1, [r6, #0xc] - lsls r0, r0, #2 - add r0, r8 - movs r1, #0 - ldrsh r0, [r0, r1] - asrs r0, r0, #4 - subs r0, r7, r0 - strh r0, [r6, #0xe] - mov r3, sb - ldr r0, [r3, #0x20] - adds r0, r0, r5 - lsls r0, r0, #8 - str r0, [sp, #4] - mov r0, sp - adds r1, r4, #0 - movs r2, #1 - bl BgAffineSet - adds r4, #0x10 - adds r5, #1 - cmp r5, #0x9f - bls _08058C0A - ldr r0, _08058C9C @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _08058CA8 @ =gUnk_02017BA0 - adds r4, r0, r1 - ldr r2, _08058CAC @ =gUnk_03000F50 - ldrh r0, [r4] - strh r0, [r2, #0x38] - ldrh r0, [r4, #2] - strh r0, [r2, #0x3a] - ldrh r0, [r4, #4] - strh r0, [r2, #0x3c] - ldrh r0, [r4, #6] - strh r0, [r2, #0x3e] - ldrh r1, [r4, #8] - adds r0, r2, #0 - adds r0, #0x40 - strh r1, [r0] - ldrh r0, [r4, #0xa] - adds r1, r2, #0 - adds r1, #0x42 - strh r0, [r1] - ldrh r1, [r4, #0xc] - adds r0, r2, #0 - adds r0, #0x44 - strh r1, [r0] - ldrh r1, [r4, #0xe] - adds r0, #2 - strh r1, [r0] - add sp, #0x14 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08058C9C: .4byte gUnk_03003DE4 -_08058CA0: .4byte gUnk_02017AA0 -_08058CA4: .4byte gUnk_080C9160 -_08058CA8: .4byte gUnk_02017BA0 -_08058CAC: .4byte gUnk_03000F50 - - thumb_func_start sub_08058CB0 -sub_08058CB0: @ 0x08058CB0 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _08058CD8 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r2, r0] - ldr r3, _08058CDC @ =gUnk_03000BF0 - ldrh r0, [r3, #6] - subs r1, r1, r0 - movs r0, #0x32 - ldrsh r2, [r2, r0] - ldrh r0, [r3, #8] - subs r2, r2, r0 - cmp r1, #0x77 - bhi _08058CE0 - movs r1, #1 - cmp r2, #0x4f - bhi _08058CE8 - movs r1, #0 - b _08058CE8 - .align 2, 0 -_08058CD8: .4byte gUnk_03001160 -_08058CDC: .4byte gUnk_03000BF0 -_08058CE0: - movs r1, #3 - cmp r2, #0x4f - bhi _08058CE8 - movs r1, #2 -_08058CE8: - ldr r0, _08058CF8 @ =gUnk_08108300 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - str r0, [r4, #0x20] - strh r0, [r4, #0x26] - pop {r4, pc} - .align 2, 0 -_08058CF8: .4byte gUnk_08108300 - - thumb_func_start sub_08058CFC -sub_08058CFC: @ 0x08058CFC - push {r4, r5, lr} - ldr r5, _08058D2C @ =gUnk_03001160 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldr r1, _08058D30 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r1, [r1, r2] - subs r4, r0, r1 - cmp r4, #0x4b - bhi _08058D1A - adds r0, r5, #0 - movs r1, #0xc0 - movs r2, #0x10 - bl sub_080044AE -_08058D1A: - cmp r4, #0x54 - bls _08058D28 - adds r0, r5, #0 - movs r1, #0xc0 - movs r2, #0 - bl sub_080044AE -_08058D28: - pop {r4, r5, pc} - .align 2, 0 -_08058D2C: .4byte gUnk_03001160 -_08058D30: .4byte gUnk_03000BF0 - - thumb_func_start sub_08058D34 -sub_08058D34: @ 0x08058D34 - push {r4, lr} - movs r0, #0x28 - bl sub_0801D714 - ldr r0, _08058DAC @ =gUnk_02017700 - movs r2, #0x90 - lsls r2, r2, #2 - adds r1, r0, r2 - movs r2, #0x20 - bl sub_0801D66C - ldr r2, _08058DB0 @ =gUnk_0200B644 - ldr r0, [r2] - movs r1, #0x80 - lsls r1, r1, #0xe - orrs r0, r1 - str r0, [r2] - movs r0, #0x16 - bl sub_0801D7EC - ldr r1, _08058DB4 @ =gUnk_03000F50 - ldrh r0, [r1] - movs r3, #0 - movs r2, #1 - movs r4, #0 - orrs r0, r2 - strh r0, [r1] - ldr r0, _08058DB8 @ =0x0000BC82 - strh r0, [r1, #0x20] - ldr r0, _08058DBC @ =0x00005E86 - strh r0, [r1, #0x14] - strh r3, [r1, #0x16] - strh r3, [r1, #0x18] - adds r2, r1, #0 - adds r2, #0x66 - ldr r0, _08058DC0 @ =0x00003456 - strh r0, [r2] - adds r1, #0x68 - ldr r0, _08058DC4 @ =0x00000909 - strh r0, [r1] - ldr r0, _08058DC8 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - ldr r0, _08058DCC @ =gUnk_02000070 - strb r4, [r0] - movs r0, #0x17 - bl sub_0807CC30 - cmp r0, #0 - beq _08058DA8 - movs r0, #0x4a - bl sub_0801D7EC -_08058DA8: - pop {r4, pc} - .align 2, 0 -_08058DAC: .4byte gUnk_02017700 -_08058DB0: .4byte gUnk_0200B644 -_08058DB4: .4byte gUnk_03000F50 -_08058DB8: .4byte 0x0000BC82 -_08058DBC: .4byte 0x00005E86 -_08058DC0: .4byte 0x00003456 -_08058DC4: .4byte 0x00000909 -_08058DC8: .4byte gUnk_02033A90 -_08058DCC: .4byte gUnk_02000070 - - thumb_func_start sub_08058DD0 -sub_08058DD0: @ 0x08058DD0 - push {lr} - ldr r2, _08058DE4 @ =gUnk_08108308 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08058DE4: .4byte gUnk_08108308 - - thumb_func_start sub_08058DE8 -sub_08058DE8: @ 0x08058DE8 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08058DFC - bl sub_0805E780 - b _08058E14 -_08058DFC: - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3a] - bl sub_0808094C - ldrh r1, [r4, #0x38] - lsls r1, r1, #1 - adds r1, #4 - adds r0, r0, r1 - str r0, [r4, #0x30] - ldrh r0, [r0] - strh r0, [r4, #0x28] -_08058E14: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08058E18 -sub_08058E18: @ 0x08058E18 - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #0x30] - ldrh r0, [r2, #0x28] - ldrh r1, [r1] - cmp r0, r1 - beq _08058E30 - ldrb r0, [r2, #0xc] - adds r0, #1 - strb r0, [r2, #0xc] - movs r0, #0xf - strb r0, [r2, #0xe] -_08058E30: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08058E34 -sub_08058E34: @ 0x08058E34 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08058E5E - ldrh r0, [r4, #0x3e] - bl sub_0807CCC8 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08058E58 - bl sub_0804B128 - bl sub_0804ADDC -_08058E58: - adds r0, r4, #0 - bl sub_0805E900 -_08058E5E: - pop {r4, pc} - - thumb_func_start sub_08058E60 -sub_08058E60: @ 0x08058E60 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08058E80 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08058E80 - adds r0, r4, #0 - bl sub_0805E900 - b _08058EC8 -_08058E80: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08058EC8 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08058E9E - movs r0, #0 - strb r0, [r4, #0xb] - movs r0, #0xff - bl sub_08078A90 - bl sub_08078B48 -_08058E9E: - ldrh r1, [r4, #0x3a] - movs r2, #0x3a - ldrsh r0, [r4, r2] - cmp r0, #0 - bne _08058EC4 - movs r1, #0x38 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _08058EB4 - bl sub_080A3268 -_08058EB4: - ldrb r0, [r4, #0xa] - bl sub_0804B128 - bl sub_0804ADDC - bl sub_0805E780 - b _08058EC8 -_08058EC4: - subs r0, r1, #1 - strh r0, [r4, #0x3a] -_08058EC8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08058ECC -sub_08058ECC: @ 0x08058ECC - push {lr} - ldr r2, _08058EE0 @ =gUnk_08108314 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08058EE0: .4byte gUnk_08108314 - - thumb_func_start sub_08058EE4 -sub_08058EE4: @ 0x08058EE4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0xc] - cmp r0, #0 - bne _08058EF2 - movs r0, #1 - strb r0, [r6, #0xc] -_08058EF2: - ldrb r0, [r6, #0xb] - bl sub_0807CC3C - cmp r0, #0 - beq _08058F40 - movs r5, #0x94 - lsls r5, r5, #1 - ldrb r2, [r6, #0xb] - adds r2, #1 - adds r0, r5, #0 - movs r1, #0x68 - bl sub_08058F44 - movs r4, #0xac - lsls r4, r4, #1 - ldrb r2, [r6, #0xb] - adds r2, #2 - adds r0, r4, #0 - movs r1, #0x68 - bl sub_08058F44 - ldrb r2, [r6, #0xb] - adds r2, #3 - adds r0, r5, #0 - movs r1, #0x98 - bl sub_08058F44 - ldrb r2, [r6, #0xb] - adds r2, #4 - adds r0, r4, #0 - movs r1, #0x98 - bl sub_08058F44 - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_080A3268 - bl sub_0805E780 -_08058F40: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08058F44 -sub_08058F44: @ 0x08058F44 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r0, r2, #0 - bl sub_0807CC3C - cmp r0, #0 - bne _08058F80 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #1 - bl sub_080002A8 - cmp r0, #0x61 - bne _08058F80 - lsrs r1, r4, #4 - movs r2, #0x3f - ands r1, r2 - lsrs r0, r5, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - movs r0, #0x26 - movs r2, #1 - bl sub_0807B314 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08058F84 -_08058F80: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08058F84 -sub_08058F84: @ 0x08058F84 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #0x21 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08058FA8 - ldr r0, _08058FAC @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - adds r1, r1, r4 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - adds r0, r0, r5 - strh r0, [r2, #0x32] -_08058FA8: - pop {r4, r5, pc} - .align 2, 0 -_08058FAC: .4byte gUnk_03000BF0 - - thumb_func_start sub_08058FB0 -sub_08058FB0: @ 0x08058FB0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08058FF6 - cmp r0, #1 - bgt _08058FC4 - cmp r0, #0 - beq _08058FCA - b _08059050 -_08058FC4: - cmp r0, #2 - beq _08059018 - b _08059050 -_08058FCA: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _08058FDC - movs r0, #7 - strb r0, [r4, #0xd] - movs r0, #6 - b _08058FE2 -_08058FDC: - movs r0, #8 - strb r0, [r4, #0xd] - movs r0, #2 -_08058FE2: - strb r0, [r4, #0xf] - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08059060 - adds r0, r4, #0 - bl sub_0805E900 - b _08059060 -_08058FF6: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08059060 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0xf0 - bl sub_0805E4E0 - adds r0, r4, #0 - bl sub_08059064 - b _08059060 -_08059018: - ldrb r0, [r4, #0xe] - cmp r0, #0x5a - bne _08059028 - movs r0, #2 - bl sub_08078A90 - bl sub_08077B20 -_08059028: - ldrb r2, [r4, #0xe] - cmp r2, #0x3c - bne _08059034 - ldr r1, _0805904C @ =gUnk_03001160 - ldrb r0, [r4, #0xf] - strb r0, [r1, #0x14] -_08059034: - subs r0, r2, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08059060 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xd] - movs r0, #5 - bl sub_080A7138 - b _08059060 - .align 2, 0 -_0805904C: .4byte gUnk_03001160 -_08059050: - ldrh r0, [r4, #0x3e] - bl sub_0807CCC8 - movs r0, #1 - bl sub_08078A90 - bl sub_0805E780 -_08059060: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08059064 -sub_08059064: @ 0x08059064 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #0x53 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805908E - movs r0, #2 - strb r0, [r2, #0xe] - ldr r1, _08059090 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r4, [r4, #0x3a] - adds r0, r0, r4 - strh r0, [r2, #0x32] -_0805908E: - pop {r4, pc} - .align 2, 0 -_08059090: .4byte gUnk_03000BF0 - - thumb_func_start sub_08059094 -sub_08059094: @ 0x08059094 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080590B6 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x60 - bl sub_0807CBD0 - cmp r0, #0 - bne _080590CC - movs r0, #0x5f - bl sub_0807CCB4 - b _080590C8 -_080590B6: - movs r0, #0x60 - bl sub_0807CBD0 - cmp r0, #0 - beq _080590C8 - movs r0, #0x5f - bl sub_0807CD34 - movs r5, #1 -_080590C8: - cmp r5, #0 - beq _080590D8 -_080590CC: - ldr r0, _080590DC @ =gUnk_080F4B88 - bl sub_0804ADDC - adds r0, r4, #0 - bl sub_0805E900 -_080590D8: - pop {r4, r5, pc} - .align 2, 0 -_080590DC: .4byte gUnk_080F4B88 - - thumb_func_start sub_080590E0 -sub_080590E0: @ 0x080590E0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _080590F6 - movs r0, #1 - strb r0, [r1, #0xc] - adds r0, r1, #0 - movs r1, #6 - bl sub_0805E3A0 -_080590F6: - movs r0, #0x6c - bl sub_0807CBD0 - cmp r0, #0 - beq _0805911A - movs r0, #0x4b - bl sub_0807CBD0 - cmp r0, #0 - beq _08059112 - movs r0, #0x4a - bl sub_0807CCB4 - b _08059120 -_08059112: - movs r0, #0x4a - bl sub_0807CD34 - b _08059120 -_0805911A: - movs r0, #0x4a - bl sub_0807CD34 -_08059120: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08059124 -sub_08059124: @ 0x08059124 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08059174 - cmp r0, #1 - beq _080591AC - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080591C8 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r2, #0x3a - ldrsh r1, [r4, r2] - ldrb r2, [r4, #0xb] - bl sub_080A29C8 - ldrh r0, [r4, #0x38] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - movs r2, #0x3f - ands r0, r2 - ldrh r1, [r4, #0x3a] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - ldrb r1, [r4, #0xb] - bl sub_0807BA8C - movs r0, #0xcd - bl sub_080A3268 - bl sub_0805E780 - b _080591C8 -_08059174: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08059182 - bl sub_0805E780 -_08059182: - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080591A8 @ =0x00000365 - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r3, #0x3f - ands r1, r3 - ldrh r2, [r4, #0x3a] - lsls r2, r2, #0x10 - asrs r2, r2, #0x14 - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r4, #0xb] - bl sub_0807B314 - b _080591C8 - .align 2, 0 -_080591A8: .4byte 0x00000365 -_080591AC: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _080591C8 - adds r0, r4, #0 - movs r1, #0x4b - bl sub_0805E4E0 - movs r0, #0x2d - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_080591C8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080591CC -sub_080591CC: @ 0x080591CC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080591F4 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - strb r0, [r4, #0xb] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08059214 - ldr r1, _080591F0 @ =gUnk_02034350 - ldrh r0, [r4, #0x3a] - b _08059218 - .align 2, 0 -_080591F0: .4byte gUnk_02034350 -_080591F4: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - adds r1, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, r1 - beq _0805921A - strb r1, [r4, #0xb] - cmp r1, #0 - beq _08059214 - ldr r1, _08059210 @ =gUnk_02034350 - ldrh r0, [r4, #0x3a] - b _08059218 - .align 2, 0 -_08059210: .4byte gUnk_02034350 -_08059214: - ldr r1, _0805921C @ =gUnk_02034350 - ldrh r0, [r4, #0x38] -_08059218: - strh r0, [r1, #0xc] -_0805921A: - pop {r4, pc} - .align 2, 0 -_0805921C: .4byte gUnk_02034350 - - thumb_func_start sub_08059220 -sub_08059220: @ 0x08059220 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r2, _08059268 @ =gUnk_02034350 - movs r0, #0 - strh r0, [r2, #0xc] - ldr r4, _0805926C @ =gUnk_08108354 - ldrh r0, [r4] - ldr r1, _08059270 @ =0x0000FFFF - cmp r0, r1 - beq _08059254 - adds r7, r2, #0 - adds r6, r1, #0 -_08059238: - ldrh r0, [r4] - ldrh r1, [r4, #2] - ldrh r2, [r4, #4] - ldrh r3, [r4, #6] - bl sub_0800293E - cmp r0, #0 - beq _0805924C - ldrh r0, [r4, #8] - strh r0, [r7, #0xc] -_0805924C: - adds r4, #0xa - ldrh r0, [r4] - cmp r0, r6 - bne _08059238 -_08059254: - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _08059266 - movs r0, #1 - strb r0, [r5, #0xc] - ldr r1, _08059274 @ =gUnk_02033A90 - ldr r0, _08059268 @ =gUnk_02034350 - ldrh r0, [r0, #0xc] - strh r0, [r1, #0xa] -_08059266: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08059268: .4byte gUnk_02034350 -_0805926C: .4byte gUnk_08108354 -_08059270: .4byte 0x0000FFFF -_08059274: .4byte gUnk_02033A90 - - thumb_func_start sub_08059278 -sub_08059278: @ 0x08059278 - push {lr} - movs r0, #9 - movs r1, #0xf - movs r2, #6 - bl sub_0805EB00 - cmp r0, #0 - beq _0805928C - bl sub_08058ECC -_0805928C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08059290 -sub_08059290: @ 0x08059290 - movs r1, #1 - strb r1, [r0, #0xc] - ldr r1, _0805929C @ =gUnk_03000BF0 - ldr r0, _080592A0 @ =gUnk_03001160 - str r0, [r1, #0x30] - bx lr - .align 2, 0 -_0805929C: .4byte gUnk_03000BF0 -_080592A0: .4byte gUnk_03001160 - - thumb_func_start sub_080592A4 -sub_080592A4: @ 0x080592A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080592C8 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _080592EA - adds r0, r4, #0 - bl sub_080592EC - bl sub_0805E780 - b _080592EA -_080592C8: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _080592EA - adds r0, r4, #0 - bl sub_080592EC - adds r0, r4, #0 - bl sub_0805930C - movs r0, #0xb7 - lsls r0, r0, #1 - bl sub_080A3268 - bl sub_0805E780 -_080592EA: - pop {r4, pc} - - thumb_func_start sub_080592EC -sub_080592EC: @ 0x080592EC - push {lr} - adds r1, r0, #0 - ldrh r0, [r1, #0x38] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - movs r2, #0x3f - ands r0, r2 - ldrh r1, [r1, #0x3a] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - bl sub_08059340 - pop {pc} - - thumb_func_start sub_0805930C -sub_0805930C: @ 0x0805930C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0xf - movs r1, #0x43 - movs r2, #0x40 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805933A - ldr r1, _0805933C @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r4, [r4, #0x3a] - adds r0, r0, r4 - strh r0, [r2, #0x32] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] -_0805933A: - pop {r4, pc} - .align 2, 0 -_0805933C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08059340 -sub_08059340: @ 0x08059340 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x1d - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r0, #0 - adds r1, r4, #0 - movs r2, #2 - bl sub_0807B314 - subs r4, #0x40 - movs r0, #0 - adds r1, r4, #0 - movs r2, #2 - bl sub_0807B314 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08059368 -sub_08059368: @ 0x08059368 - push {lr} - adds r2, r0, #0 - movs r0, #1 - strb r0, [r2, #0xc] - ldr r1, _08059388 @ =gUnk_02022780 - ldrh r0, [r2, #0x3c] - ldrh r1, [r1, #0x28] - cmp r0, r1 - bne _08059384 - ldrh r0, [r2, #0x3e] - bl sub_0807CCC8 - bl sub_0805E780 -_08059384: - pop {pc} - .align 2, 0 -_08059388: .4byte gUnk_02022780 - - thumb_func_start sub_0805938C -sub_0805938C: @ 0x0805938C - push {r4, lr} - adds r4, r0, #0 - bl sub_080593CC - cmp r0, #0 - beq _080593C8 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bls _080593CA - movs r1, #0x38 - ldrsh r0, [r4, r1] - ldr r2, _080593C4 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - movs r3, #0x3a - ldrsh r1, [r4, r3] - ldrh r2, [r2, #8] - subs r1, r1, r2 - movs r2, #0xff - movs r3, #0xa - bl sub_080806BC - b _080593CA - .align 2, 0 -_080593C4: .4byte gUnk_03000BF0 -_080593C8: - strb r0, [r4, #0xe] -_080593CA: - pop {r4, pc} - - thumb_func_start sub_080593CC -sub_080593CC: @ 0x080593CC - push {r4, lr} - adds r3, r0, #0 - ldr r2, _08059418 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08059420 - adds r0, r2, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08059420 - ldr r4, _0805941C @ =gUnk_03001160 - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _08059420 - adds r0, r2, #0 - adds r0, #0x90 - ldrh r1, [r0] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - movs r1, #0x80 - lsls r1, r1, #3 - cmp r0, r1 - bne _08059420 - movs r0, #0x38 - ldrsh r1, [r3, r0] - movs r0, #0x3a - ldrsh r2, [r3, r0] - adds r2, #0xc - adds r0, r4, #0 - movs r3, #6 - bl sub_0806FCB8 - b _08059422 - .align 2, 0 -_08059418: .4byte gUnk_03003F80 -_0805941C: .4byte gUnk_03001160 -_08059420: - movs r0, #0 -_08059422: - pop {r4, pc} - - thumb_func_start sub_08059424 -sub_08059424: @ 0x08059424 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _08059436 - bl sub_0805E780 -_08059436: - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _08059476 - movs r0, #0xf - movs r1, #0x35 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08059476 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldr r1, _08059478 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r4, [r4, #0x3a] - adds r0, r0, r4 - strh r0, [r2, #0x32] - movs r0, #0xd8 - lsls r0, r0, #1 - bl sub_08004488 - bl sub_0805E780 -_08059476: - pop {r4, pc} - .align 2, 0 -_08059478: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805947C -sub_0805947C: @ 0x0805947C - push {lr} - ldrh r0, [r0, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - bne _080594CE - movs r0, #3 - bl sub_08078A90 - ldr r1, _080594B0 @ =gUnk_03000BF0 - ldrh r0, [r1] - cmp r0, #0 - bne _080594D2 - ldr r0, _080594B4 @ =gUnk_02034350 - ldrb r0, [r0] - cmp r0, #0 - beq _080594BC - ldr r0, _080594B8 @ =gUnk_08108380 - ldrb r1, [r1, #0x10] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - bl sub_0807DB2C - b _080594CE - .align 2, 0 -_080594B0: .4byte gUnk_03000BF0 -_080594B4: .4byte gUnk_02034350 -_080594B8: .4byte gUnk_08108380 -_080594BC: - ldr r1, _080594D4 @ =gUnk_08108380 - ldr r0, _080594D8 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl sub_0807DB2C -_080594CE: - bl sub_0805E780 -_080594D2: - pop {pc} - .align 2, 0 -_080594D4: .4byte gUnk_08108380 -_080594D8: .4byte gUnk_03001160 - - thumb_func_start sub_080594DC -sub_080594DC: @ 0x080594DC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _080594F2 - cmp r0, #1 - bgt _0805951C - cmp r0, #0 - bne _0805951C - movs r0, #1 - strb r0, [r4, #0xc] -_080594F2: - movs r0, #6 - bl sub_0807CA84 - cmp r0, #0 - beq _08059540 - movs r0, #0x8c - lsls r0, r0, #4 - movs r1, #0x85 - bl sub_0807CB10 - cmp r0, #0 - bne _08059540 - movs r0, #2 - strb r0, [r4, #0xc] - ldr r0, _08059518 @ =0x00000B0F - bl sub_080186C0 - b _08059540 - .align 2, 0 -_08059518: .4byte 0x00000B0F -_0805951C: - ldr r0, _08059544 @ =gUnk_02033A90 - adds r0, #0x28 - ldrb r0, [r0] - cmp r0, #0xff - beq _0805952A - bl sub_0805E780 -_0805952A: - movs r0, #0x8c - lsls r0, r0, #4 - movs r1, #0x85 - bl sub_0807CB10 - cmp r0, #0 - beq _08059540 - bl sub_0801855C - bl sub_0805E780 -_08059540: - pop {r4, pc} - .align 2, 0 -_08059544: .4byte gUnk_02033A90 - - thumb_func_start sub_08059548 -sub_08059548: @ 0x08059548 - push {lr} - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _08059568 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0x16 - bne _0805955C - bl sub_0805E780 -_0805955C: - ldr r2, _0805956C @ =gUnk_03000FF0 - ldrh r1, [r2] - movs r0, #4 - orrs r0, r1 - strh r0, [r2] - pop {pc} - .align 2, 0 -_08059568: .4byte gUnk_03001160 -_0805956C: .4byte gUnk_03000FF0 - - thumb_func_start sub_08059570 -sub_08059570: @ 0x08059570 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #0 - bne _080595C8 - movs r6, #1 - strb r6, [r4, #0xc] - adds r0, #0x21 - strb r5, [r0] - adds r0, #2 - strb r5, [r0] - bl sub_0805986C - cmp r0, #0 - beq _080595A8 - adds r0, r4, #0 - adds r0, #0x20 - strb r6, [r0] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #2 - strb r0, [r1] - ldr r0, _080595A4 @ =gUnk_0200B650 - str r5, [r0] - b _080595B8 - .align 2, 0 -_080595A4: .4byte gUnk_0200B650 -_080595A8: - adds r0, r4, #0 - adds r0, #0x20 - movs r1, #0x1f - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #5 - strb r0, [r1] -_080595B8: - ldr r0, _080595DC @ =gUnk_02034350 - movs r1, #0xff - strb r1, [r0, #0x10] - ldr r1, _080595E0 @ =sub_080595E4 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_080595C8: - adds r0, r4, #0 - bl sub_08059608 - adds r0, r4, #0 - bl sub_08059690 - adds r0, r4, #0 - bl sub_080596E0 - pop {r4, r5, r6, pc} - .align 2, 0 -_080595DC: .4byte gUnk_02034350 -_080595E0: .4byte sub_080595E4 - - thumb_func_start sub_080595E4 -sub_080595E4: @ 0x080595E4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08059604 @ =gUnk_02034350 - movs r0, #0xff - strb r0, [r1, #0x10] - adds r0, r4, #0 - bl sub_08059690 - adds r0, r4, #0 - bl sub_080596E0 - movs r0, #0 - bl sub_0805B4D0 - pop {r4, pc} - .align 2, 0 -_08059604: .4byte gUnk_02034350 - - thumb_func_start sub_08059608 -sub_08059608: @ 0x08059608 - push {r4, lr} - adds r4, r0, #0 - adds r4, #0x23 - ldrb r0, [r4] - cmp r0, #0 - beq _08059638 - subs r0, #1 - strb r0, [r4] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08059682 - ldr r0, _08059634 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - bl sub_080A3268 - b _08059682 - .align 2, 0 -_08059634: .4byte gUnk_02033A90 -_08059638: - bl sub_0805986C - cmp r0, #0 - beq _08059668 - ldr r0, _0805965C @ =gUnk_02033A90 - ldr r2, _08059660 @ =0x00000864 - adds r1, r0, r2 - ldr r0, [r1] - cmp r0, #0x1e - beq _08059682 - movs r0, #0x1e - str r0, [r1] - movs r0, #0x78 - strb r0, [r4] - ldr r0, _08059664 @ =0x800D0000 - bl sub_080A3268 - b _08059682 - .align 2, 0 -_0805965C: .4byte gUnk_02033A90 -_08059660: .4byte 0x00000864 -_08059664: .4byte 0x800D0000 -_08059668: - ldr r0, _08059684 @ =gUnk_02033A90 - ldr r2, _08059688 @ =0x00000864 - adds r1, r0, r2 - ldr r0, [r1] - cmp r0, #0x37 - beq _08059682 - movs r0, #0x37 - str r0, [r1] - movs r0, #0x78 - strb r0, [r4] - ldr r0, _0805968C @ =0x800D0000 - bl sub_080A3268 -_08059682: - pop {r4, pc} - .align 2, 0 -_08059684: .4byte gUnk_02033A90 -_08059688: .4byte 0x00000864 -_0805968C: .4byte 0x800D0000 - - thumb_func_start sub_08059690 -sub_08059690: @ 0x08059690 - push {r4, lr} - adds r4, r0, #0 - bl sub_08059844 - cmp r0, #0 - beq _080596BC - adds r4, #0x20 - ldrb r0, [r4] - cmp r0, #0 - beq _080596D8 - ldr r0, _080596B8 @ =gUnk_085A7320 - movs r2, #0xd0 - lsls r2, r2, #1 - adds r1, r0, r2 - ldrb r2, [r4] - bl sub_08059894 - ldrb r0, [r4] - subs r0, #1 - b _080596D6 - .align 2, 0 -_080596B8: .4byte gUnk_085A7320 -_080596BC: - adds r4, #0x20 - ldrb r0, [r4] - cmp r0, #0x1f - bhi _080596D8 - ldr r0, _080596DC @ =gUnk_085A7320 - movs r2, #0xd0 - lsls r2, r2, #1 - adds r1, r0, r2 - ldrb r2, [r4] - bl sub_08059894 - ldrb r0, [r4] - adds r0, #1 -_080596D6: - strb r0, [r4] -_080596D8: - pop {r4, pc} - .align 2, 0 -_080596DC: .4byte gUnk_085A7320 - - thumb_func_start sub_080596E0 -sub_080596E0: @ 0x080596E0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, _08059730 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _080596FC - ldr r0, _08059734 @ =gUnk_03000F50 - ldrh r1, [r0, #0x16] - adds r1, #8 - movs r2, #0x1f - ands r1, r2 - strh r1, [r0, #0x16] -_080596FC: - bl sub_0805986C - cmp r0, #0 - beq _08059740 - adds r0, r4, #0 - adds r0, #0x21 - ldrb r1, [r0] - adds r5, r0, #0 - adds r2, r4, #0 - adds r2, #0x22 - cmp r1, #0 - bne _08059764 - ldrb r0, [r2] - cmp r0, #2 - beq _08059764 - movs r0, #1 - strb r0, [r5] - movs r0, #3 - strb r0, [r2] - ldr r0, _08059738 @ =gUnk_08108390 - ldrb r0, [r0, #3] - strb r0, [r4, #0xe] - ldr r0, _0805973C @ =gUnk_0200B650 - str r1, [r0] - b _08059764 - .align 2, 0 -_08059730: .4byte gUnk_030010A0 -_08059734: .4byte gUnk_03000F50 -_08059738: .4byte gUnk_08108390 -_0805973C: .4byte gUnk_0200B650 -_08059740: - adds r0, r4, #0 - adds r0, #0x21 - ldrb r1, [r0] - adds r5, r0, #0 - adds r2, r4, #0 - adds r2, #0x22 - cmp r1, #0 - bne _08059764 - ldrb r0, [r2] - cmp r0, #5 - beq _08059764 - movs r0, #2 - strb r0, [r5] - ldr r1, _08059774 @ =gUnk_08108390 - ldrb r0, [r2] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] -_08059764: - adds r6, r5, #0 - ldrb r0, [r6] - cmp r0, #1 - beq _08059778 - cmp r0, #2 - beq _080597A8 - b _080597D0 - .align 2, 0 -_08059774: .4byte gUnk_08108390 -_08059778: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _080597D0 - ldr r1, _080597A4 @ =gUnk_08108390 - ldrb r0, [r2] - subs r0, #1 - strb r0, [r2] - ands r0, r3 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - ldrb r0, [r2] - cmp r0, #2 - bne _080597D0 - strb r5, [r6] - b _080597D0 - .align 2, 0 -_080597A4: .4byte gUnk_08108390 -_080597A8: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r6, r0, #0x18 - cmp r6, #0 - bne _080597D0 - ldr r1, _080597EC @ =gUnk_08108390 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - ands r0, r3 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - ldrb r0, [r2] - cmp r0, #5 - bne _080597D0 - strb r6, [r5] -_080597D0: - ldr r3, _080597F0 @ =gUnk_02034350 - ldrb r1, [r2] - ldrb r0, [r3, #0x10] - cmp r0, r1 - beq _08059838 - strb r1, [r3, #0x10] - ldrb r0, [r2] - cmp r0, #4 - beq _08059800 - cmp r0, #4 - ble _080597F4 - cmp r0, #5 - beq _08059824 - b _08059838 - .align 2, 0 -_080597EC: .4byte gUnk_08108390 -_080597F0: .4byte gUnk_02034350 -_080597F4: - cmp r0, #0 - blt _08059838 - adds r0, #0x2b - bl sub_0801D7EC - b _08059838 -_08059800: - ldr r4, _0805981C @ =gUnk_02001A40 - movs r5, #0x80 - lsls r5, r5, #4 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0801D630 - ldr r1, _08059820 @ =0x0600E800 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_08000E96 - b _08059838 - .align 2, 0 -_0805981C: .4byte gUnk_02001A40 -_08059820: .4byte 0x0600E800 -_08059824: - ldr r0, _0805983C @ =gUnk_0200B650 - ldr r1, _08059840 @ =gUnk_03000F64 - str r1, [r0] - subs r1, #0x14 - ldrh r2, [r1] - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - orrs r0, r2 - strh r0, [r1] -_08059838: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805983C: .4byte gUnk_0200B650 -_08059840: .4byte gUnk_03000F64 - - thumb_func_start sub_08059844 -sub_08059844: @ 0x08059844 - push {lr} - movs r3, #0 - ldr r0, _08059864 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r2, _08059868 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - ldrh r0, [r2, #0x1e] - lsrs r0, r0, #1 - cmp r1, r0 - ble _0805985E - movs r3, #1 -_0805985E: - adds r0, r3, #0 - pop {pc} - .align 2, 0 -_08059864: .4byte gUnk_03001160 -_08059868: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805986C -sub_0805986C: @ 0x0805986C - push {lr} - movs r2, #0 - ldr r0, _0805988C @ =gUnk_03001160 - movs r3, #0x2e - ldrsh r1, [r0, r3] - ldr r0, _08059890 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - subs r1, r1, r0 - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - ble _08059886 - movs r2, #1 -_08059886: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0805988C: .4byte gUnk_03001160 -_08059890: .4byte gUnk_03000BF0 - - thumb_func_start sub_08059894 -sub_08059894: @ 0x08059894 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r4, r1, #0 - ldr r0, _080598E8 @ =gUnk_020176E0 - mov sb, r0 - movs r6, #0 - lsls r2, r2, #0x18 - mov r8, r2 -_080598AA: - adds r0, r5, #0 - adds r1, r4, #0 - mov r2, sb - mov r7, r8 - lsrs r3, r7, #0x18 - bl sub_08059960 - adds r5, #0x20 - adds r4, #0x20 - movs r0, #0x20 - add sb, r0 - adds r6, #1 - cmp r6, #0xc - bls _080598AA - ldr r0, _080598EC @ =gUnk_02017700 - movs r2, #0x90 - lsls r2, r2, #2 - adds r1, r0, r2 - movs r2, #0x20 - bl sub_0801D66C - ldr r2, _080598F0 @ =gUnk_0200B644 - ldr r0, [r2] - ldr r1, _080598F4 @ =0x00207FFC - orrs r0, r1 - str r0, [r2] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080598E8: .4byte gUnk_020176E0 -_080598EC: .4byte gUnk_02017700 -_080598F0: .4byte gUnk_0200B644 -_080598F4: .4byte 0x00207FFC - - thumb_func_start sub_080598F8 -sub_080598F8: @ 0x080598F8 - push {r4, r5, r6, r7, lr} - movs r4, #0x1f - adds r3, r0, #0 - ands r3, r4 - lsls r6, r3, #8 - adds r3, r6, #0 - muls r3, r2, r3 - lsrs r6, r3, #5 - adds r3, r1, #0 - ands r3, r4 - lsls r3, r3, #8 - movs r4, #0x20 - subs r4, r4, r2 - muls r3, r4, r3 - lsrs r3, r3, #5 - adds r3, r6, r3 - lsrs r6, r3, #8 - movs r5, #0xf8 - lsls r5, r5, #2 - adds r3, r0, #0 - ands r3, r5 - lsls r7, r3, #3 - adds r3, r7, #0 - muls r3, r2, r3 - lsrs r7, r3, #5 - adds r3, r1, #0 - ands r3, r5 - lsls r3, r3, #3 - muls r3, r4, r3 - lsrs r3, r3, #5 - adds r3, r7, r3 - lsrs r7, r3, #8 - movs r3, #0xf8 - lsls r3, r3, #7 - ands r0, r3 - lsrs r5, r0, #2 - adds r0, r5, #0 - muls r0, r2, r0 - lsrs r5, r0, #5 - ands r1, r3 - lsrs r0, r1, #2 - muls r0, r4, r0 - lsrs r0, r0, #5 - adds r0, r5, r0 - lsrs r5, r0, #8 - lsls r0, r7, #5 - orrs r6, r0 - lsls r0, r5, #0xa - orrs r6, r0 - adds r0, r6, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08059960 -sub_08059960: @ 0x08059960 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r5, r1, #0 - adds r4, r2, #0 - lsls r3, r3, #0x18 - lsrs r3, r3, #0x18 - mov r8, r3 - movs r7, #0 -_08059974: - ldrh r0, [r6] - adds r6, #2 - ldrh r1, [r5] - adds r5, #2 - mov r2, r8 - bl sub_080598F8 - strh r0, [r4] - adds r4, #2 - adds r7, #1 - cmp r7, #0xf - bls _08059974 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08059994 -sub_08059994: @ 0x08059994 - push {lr} - bl sub_0805986C - cmp r0, #0 - beq _080599AE - movs r0, #0x5b - bl sub_0801D714 - ldr r0, _080599B0 @ =gUnk_02033A90 - ldr r1, _080599B4 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x1e - str r1, [r0] -_080599AE: - pop {pc} - .align 2, 0 -_080599B0: .4byte gUnk_02033A90 -_080599B4: .4byte 0x00000864 - - thumb_func_start sub_080599B8 -sub_080599B8: @ 0x080599B8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080599D6 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _080599EA - bl sub_0805E780 - b _080599EA -_080599D6: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _080599EA - ldrh r0, [r4, #0x3c] - bl sub_0807CCC8 - bl sub_0805E780 -_080599EA: - pop {r4, pc} - - thumb_func_start sub_080599EC -sub_080599EC: @ 0x080599EC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08059A20 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #0xff - strb r0, [r1] - subs r1, #1 - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - ldr r1, _08059A28 @ =sub_08059A2C - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 -_08059A20: - adds r0, r4, #0 - bl sub_08059A58 - pop {r4, pc} - .align 2, 0 -_08059A28: .4byte sub_08059A2C - - thumb_func_start sub_08059A2C -sub_08059A2C: @ 0x08059A2C - push {lr} - adds r2, r0, #0 - ldr r1, _08059A54 @ =gUnk_02034350 - movs r0, #0xff - strb r0, [r1, #0x12] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1, #0x11] - strb r0, [r1, #0x10] - adds r1, r2, #0 - adds r1, #0x22 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08059A58 - pop {pc} - .align 2, 0 -_08059A54: .4byte gUnk_02034350 - - thumb_func_start sub_08059A58 -sub_08059A58: @ 0x08059A58 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _08059AC4 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #0x15 - beq _08059AD4 - adds r4, r5, #0 - adds r4, #0x20 - ldr r3, _08059AC8 @ =gUnk_08108398 - adds r0, r5, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059A80 - ldrb r1, [r4] - movs r0, #0 - bl sub_08059CC0 -_08059A80: - adds r4, r5, #0 - adds r4, #0x21 - ldr r3, _08059ACC @ =gUnk_081083AE - adds r0, r5, #0 - movs r1, #1 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059AA6 - ldrb r1, [r4] - movs r0, #1 - bl sub_08059CC0 - ldrb r0, [r4] - cmp r0, #2 - bne _08059AA6 - bl sub_08059B18 -_08059AA6: - adds r4, r5, #0 - adds r4, #0x22 - ldr r3, _08059AD0 @ =gUnk_081083C4 - adds r0, r5, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059B0C - ldrb r1, [r4] - movs r0, #2 - bl sub_08059CC0 - b _08059B0C - .align 2, 0 -_08059AC4: .4byte gUnk_03000BF0 -_08059AC8: .4byte gUnk_08108398 -_08059ACC: .4byte gUnk_081083AE -_08059AD0: .4byte gUnk_081083C4 -_08059AD4: - adds r4, r5, #0 - adds r4, #0x20 - ldr r3, _08059B10 @ =gUnk_081083DA - adds r0, r5, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059AF0 - ldrb r1, [r4] - movs r0, #0 - bl sub_08059CC0 -_08059AF0: - adds r4, r5, #0 - adds r4, #0x22 - ldr r3, _08059B14 @ =gUnk_081083F2 - adds r0, r5, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059B0C - ldrb r1, [r4] - movs r0, #2 - bl sub_08059CC0 -_08059B0C: - pop {r4, r5, pc} - .align 2, 0 -_08059B10: .4byte gUnk_081083DA -_08059B14: .4byte gUnk_081083F2 - - thumb_func_start sub_08059B18 -sub_08059B18: @ 0x08059B18 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #4 - movs r0, #0x18 - bl sub_0807CC30 - cmp r0, #0 - beq _08059BEC - movs r6, #0 - movs r0, #0x3f - mov sb, r0 - movs r2, #0xc4 - lsls r2, r2, #1 - mov r8, r2 -_08059B38: - movs r5, #0 - lsls r1, r6, #4 - mov r2, r8 - lsrs r0, r2, #4 - mov r2, sb - ands r0, r2 - lsls r3, r0, #6 - movs r7, #0x28 - ldr r0, _08059BD8 @ =0x000004AB - adds r4, r1, r0 -_08059B4C: - lsrs r1, r7, #4 - mov r2, sb - ands r1, r2 - orrs r1, r3 - adds r0, r4, #0 - movs r2, #1 - str r3, [sp] - bl sub_0807B9B8 - adds r7, #0x10 - adds r4, #1 - adds r5, #1 - ldr r3, [sp] - cmp r5, #3 - bls _08059B4C - movs r0, #0x10 - add r8, r0 - adds r6, #1 - cmp r6, #3 - bls _08059B38 - movs r6, #0 - movs r3, #0x3f -_08059B78: - movs r5, #0 - lsls r1, r6, #4 - adds r6, #1 - mov r8, r6 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r1, r2 - lsrs r0, r0, #4 - ands r0, r3 - lsls r7, r0, #6 - movs r6, #0x28 - movs r0, #0x88 - lsls r0, r0, #3 - adds r4, r1, r0 -_08059B94: - lsrs r1, r6, #4 - ands r1, r3 - orrs r1, r7 - adds r0, r4, #0 - movs r2, #2 - str r3, [sp] - bl sub_0807B9B8 - adds r6, #0x10 - adds r4, #1 - adds r5, #1 - ldr r3, [sp] - cmp r5, #3 - bls _08059B94 - mov r6, r8 - cmp r6, #2 - bls _08059B78 - ldr r1, _08059BDC @ =0x000005C2 - movs r0, #0xd6 - movs r2, #2 - bl sub_0807B9B8 - ldr r1, _08059BE0 @ =0x000005C3 - movs r0, #0xd7 - movs r2, #2 - bl sub_0807B9B8 - ldr r0, _08059BE4 @ =gUnk_086E8460 - ldr r1, _08059BE8 @ =0x06001800 - movs r2, #0x80 - lsls r2, r2, #4 - bl sub_08000E96 - b _08059C5E - .align 2, 0 -_08059BD8: .4byte 0x000004AB -_08059BDC: .4byte 0x000005C2 -_08059BE0: .4byte 0x000005C3 -_08059BE4: .4byte gUnk_086E8460 -_08059BE8: .4byte 0x06001800 -_08059BEC: - movs r0, #0x19 - bl sub_0807CC30 - cmp r0, #0 - beq _08059C5E - movs r6, #0 - movs r3, #0x3f -_08059BFA: - movs r5, #0 - lsls r1, r6, #4 - adds r6, #1 - mov r8, r6 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r1, r2 - lsrs r0, r0, #4 - ands r0, r3 - lsls r7, r0, #6 - movs r6, #0x28 - ldr r0, _08059C68 @ =0x000004A6 - adds r4, r1, r0 -_08059C14: - lsrs r1, r6, #4 - ands r1, r3 - orrs r1, r7 - adds r0, r4, #0 - movs r2, #1 - str r3, [sp] - bl sub_0807B9B8 - adds r6, #0x10 - adds r4, #1 - adds r5, #1 - ldr r3, [sp] - cmp r5, #3 - bls _08059C14 - mov r6, r8 - cmp r6, #4 - bls _08059BFA - ldr r0, _08059C6C @ =0x00000444 - ldr r1, _08059C70 @ =0x00000602 - movs r2, #2 - bl sub_0807B9B8 - ldr r0, _08059C74 @ =0x00000445 - ldr r1, _08059C78 @ =0x00000605 - movs r2, #2 - bl sub_0807B9B8 - ldr r0, _08059C7C @ =0x00000454 - ldr r1, _08059C80 @ =0x00000642 - movs r2, #2 - bl sub_0807B9B8 - ldr r0, _08059C84 @ =0x00000455 - ldr r1, _08059C88 @ =0x00000645 - movs r2, #2 - bl sub_0807B9B8 -_08059C5E: - add sp, #4 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08059C68: .4byte 0x000004A6 -_08059C6C: .4byte 0x00000444 -_08059C70: .4byte 0x00000602 -_08059C74: .4byte 0x00000445 -_08059C78: .4byte 0x00000605 -_08059C7C: .4byte 0x00000454 -_08059C80: .4byte 0x00000642 -_08059C84: .4byte 0x00000455 -_08059C88: .4byte 0x00000645 - - thumb_func_start sub_08059C8C -sub_08059C8C: @ 0x08059C8C - push {r4, r5, lr} - adds r5, r1, #0 - adds r4, r2, #0 - adds r0, r3, #0 - bl sub_08056300 - adds r2, r0, #0 - strb r2, [r4] - lsls r0, r2, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0xff - beq _08059CBC - ldr r0, _08059CB8 @ =gUnk_02034350 - adds r0, #0x10 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, r3 - beq _08059CBC - strb r2, [r1] - movs r0, #1 - b _08059CBE - .align 2, 0 -_08059CB8: .4byte gUnk_02034350 -_08059CBC: - movs r0, #0 -_08059CBE: - pop {r4, r5, pc} - - thumb_func_start sub_08059CC0 -sub_08059CC0: @ 0x08059CC0 - push {r4, r5, r6, lr} - adds r2, r1, #0 - ldr r1, _08059CDC @ =gUnk_02034350 - adds r1, #0x10 - adds r0, r0, r1 - strb r2, [r0] - ldr r0, _08059CE0 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #0x15 - beq _08059CE8 - lsls r1, r2, #4 - ldr r0, _08059CE4 @ =gUnk_08108408 - b _08059CEC - .align 2, 0 -_08059CDC: .4byte gUnk_02034350 -_08059CE0: .4byte gUnk_03000BF0 -_08059CE4: .4byte gUnk_08108408 -_08059CE8: - lsls r1, r2, #4 - ldr r0, _08059D10 @ =gUnk_08108468 -_08059CEC: - adds r6, r1, r0 - ldr r0, [r6] - ldr r4, _08059D14 @ =gUnk_085A2E80 - adds r0, r0, r4 - ldr r1, [r6, #4] - movs r5, #0x80 - lsls r5, r5, #5 - adds r2, r5, #0 - bl sub_08000E96 - ldr r0, [r6, #8] - adds r0, r0, r4 - ldr r1, [r6, #0xc] - adds r2, r5, #0 - bl sub_08000E96 - pop {r4, r5, r6, pc} - .align 2, 0 -_08059D10: .4byte gUnk_08108468 -_08059D14: .4byte gUnk_085A2E80 - - thumb_func_start sub_08059D18 -sub_08059D18: @ 0x08059D18 - push {r4, lr} - ldr r0, _08059D68 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #0x15 - beq _08059D78 - ldr r0, _08059D6C @ =gUnk_08108398 - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059D36 - movs r0, #0 - adds r1, r4, #0 - bl sub_08059CC0 -_08059D36: - ldr r0, _08059D70 @ =gUnk_081083AE - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059D52 - movs r0, #1 - adds r1, r4, #0 - bl sub_08059CC0 - cmp r4, #2 - bne _08059D52 - bl sub_08059B18 -_08059D52: - ldr r0, _08059D74 @ =gUnk_081083C4 - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059DA0 - movs r0, #2 - adds r1, r4, #0 - bl sub_08059CC0 - b _08059DA0 - .align 2, 0 -_08059D68: .4byte gUnk_03000BF0 -_08059D6C: .4byte gUnk_08108398 -_08059D70: .4byte gUnk_081083AE -_08059D74: .4byte gUnk_081083C4 -_08059D78: - ldr r0, _08059DA4 @ =gUnk_081083DA - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059D8C - movs r0, #0 - adds r1, r4, #0 - bl sub_08059CC0 -_08059D8C: - ldr r0, _08059DA8 @ =gUnk_081083F2 - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059DA0 - movs r0, #2 - adds r1, r4, #0 - bl sub_08059CC0 -_08059DA0: - pop {r4, pc} - .align 2, 0 -_08059DA4: .4byte gUnk_081083DA -_08059DA8: .4byte gUnk_081083F2 - - thumb_func_start sub_08059DAC -sub_08059DAC: @ 0x08059DAC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _08059DBE - movs r0, #1 - strb r0, [r5, #0xc] -_08059DBE: - ldr r1, _08059E4C @ =gUnk_03000BF0 - ldrb r0, [r1, #4] - ldr r4, _08059E50 @ =gUnk_081084C8 - cmp r0, #0x15 - bne _08059DCA - ldr r4, _08059E54 @ =gUnk_08108530 -_08059DCA: - movs r7, #0 - ldrh r0, [r4] - cmp r0, #0 - beq _08059E46 - mov r8, r1 -_08059DD4: - movs r6, #1 - lsls r6, r7 - ldr r0, [r5, #0x20] - ands r0, r6 - cmp r0, #0 - bne _08059E38 - ldrh r0, [r4] - ldrh r1, [r4, #2] - movs r2, #0x10 - movs r3, #0x10 - bl sub_0800290E - cmp r0, #0 - beq _08059E38 - ldrb r1, [r4, #4] - movs r0, #0x1c - adds r2, r7, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08059E38 - ldrb r0, [r4, #5] - strb r0, [r2, #0x1e] - ldrh r0, [r4] - mov r1, r8 - ldrh r1, [r1, #6] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - ldrh r0, [r4, #2] - mov r3, r8 - ldrh r3, [r3, #8] - adds r0, r0, r3 - strh r0, [r2, #0x32] - str r5, [r2, #0x50] - ldrh r1, [r4] - adds r0, r2, #0 - adds r0, #0x80 - strh r1, [r0] - ldrh r0, [r4, #2] - adds r1, r2, #0 - adds r1, #0x82 - strh r0, [r1] - ldrb r1, [r4, #6] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - ldr r0, [r5, #0x20] - orrs r0, r6 - str r0, [r5, #0x20] -_08059E38: - adds r4, #8 - adds r7, #1 - ldrh r0, [r4] - cmp r0, #0 - beq _08059E46 - cmp r7, #0x1f - bls _08059DD4 -_08059E46: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08059E4C: .4byte gUnk_03000BF0 -_08059E50: .4byte gUnk_081084C8 -_08059E54: .4byte gUnk_08108530 - - thumb_func_start sub_08059E58 -sub_08059E58: @ 0x08059E58 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x20] - adds r0, #1 - strh r0, [r4, #0x20] - ldr r1, _08059E7C @ =gUnk_081085A4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0805A1D8 - pop {r4, pc} - .align 2, 0 -_08059E7C: .4byte gUnk_081085A4 - - thumb_func_start sub_08059E80 -sub_08059E80: @ 0x08059E80 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0805EABC - cmp r0, #0 - beq _08059E90 - bl sub_0805E780 -_08059E90: - adds r1, r4, #0 - adds r1, #0x22 - movs r2, #0 - movs r0, #1 - strb r0, [r1] - movs r0, #0 - strh r2, [r4, #0x20] - strb r0, [r4, #0xe] - movs r0, #4 - strb r0, [r4, #0xf] - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - ldr r3, _08059EE4 @ =gUnk_03000F50 - ldr r0, _08059EE8 @ =0x00001E04 - strh r0, [r3, #0x2c] - ldrh r0, [r3] - movs r5, #0x80 - lsls r5, r5, #4 - adds r1, r5, #0 - orrs r0, r1 - strh r0, [r3] - adds r1, r3, #0 - adds r1, #0x66 - ldr r0, _08059EEC @ =0x00003E48 - strh r0, [r1] - adds r1, #2 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - movs r0, #0x80 - strh r0, [r3, #0x2e] - strh r2, [r3, #0x30] - ldr r1, _08059EF0 @ =nullsub_495 - ldr r2, _08059EF4 @ =sub_0805A25C - adds r0, r4, #0 - bl sub_08052D74 - pop {r4, r5, pc} - .align 2, 0 -_08059EE4: .4byte gUnk_03000F50 -_08059EE8: .4byte 0x00001E04 -_08059EEC: .4byte 0x00003E48 -_08059EF0: .4byte nullsub_495 -_08059EF4: .4byte sub_0805A25C - - thumb_func_start sub_08059EF8 -sub_08059EF8: @ 0x08059EF8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - movs r6, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _08059F90 - movs r0, #4 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08059F9C - cmp r0, #0 - beq _08059F64 - ldr r2, _08059F50 @ =gUnk_08108588 - ldrb r0, [r4, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r1, [r0] - ldr r0, _08059F54 @ =0x00000808 - cmp r1, r0 - beq _08059F5C - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x24 - strb r5, [r0] - ldr r1, _08059F58 @ =gUnk_03000F50 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - ands r0, r6 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, #0x68 - strh r0, [r1] - b _08059F90 - .align 2, 0 -_08059F50: .4byte gUnk_08108588 -_08059F54: .4byte 0x00000808 -_08059F58: .4byte gUnk_03000F50 -_08059F5C: - adds r0, r4, #0 - adds r0, #0x22 - strb r5, [r0] - b _08059F90 -_08059F64: - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #1 - strb r0, [r1] - ldr r3, _08059F94 @ =gUnk_08108588 - ldrb r2, [r4, #0xe] - lsls r0, r2, #1 - adds r0, r0, r3 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #5 - cmp r1, r0 - beq _08059F90 - ldr r0, _08059F98 @ =gUnk_03000F50 - subs r1, r2, #1 - strb r1, [r4, #0xe] - ands r1, r6 - lsls r1, r1, #1 - adds r1, r1, r3 - ldrh r1, [r1] - adds r0, #0x68 - strh r1, [r0] -_08059F90: - pop {r4, r5, r6, pc} - .align 2, 0 -_08059F94: .4byte gUnk_08108588 -_08059F98: .4byte gUnk_03000F50 - - thumb_func_start sub_08059F9C -sub_08059F9C: @ 0x08059F9C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08059FB4 @ =gUnk_03000BF0 - ldrb r0, [r0, #5] - cmp r0, #0x17 - bhi _0805A03A - lsls r0, r0, #2 - ldr r1, _08059FB8 @ =_08059FBC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08059FB4: .4byte gUnk_03000BF0 -_08059FB8: .4byte _08059FBC -_08059FBC: @ jump table - .4byte _0805A036 @ case 0 - .4byte _0805A01C @ case 1 - .4byte _0805A03A @ case 2 - .4byte _0805A03A @ case 3 - .4byte _0805A03A @ case 4 - .4byte _0805A03A @ case 5 - .4byte _0805A03A @ case 6 - .4byte _0805A02A @ case 7 - .4byte _0805A036 @ case 8 - .4byte _0805A036 @ case 9 - .4byte _0805A03A @ case 10 - .4byte _0805A03A @ case 11 - .4byte _0805A03A @ case 12 - .4byte _0805A03A @ case 13 - .4byte _0805A03A @ case 14 - .4byte _0805A03A @ case 15 - .4byte _0805A03A @ case 16 - .4byte _0805A03A @ case 17 - .4byte _0805A03A @ case 18 - .4byte _0805A03A @ case 19 - .4byte _0805A03A @ case 20 - .4byte _0805A03A @ case 21 - .4byte _0805A03A @ case 22 - .4byte _0805A036 @ case 23 -_0805A01C: - movs r0, #0x16 - bl sub_0807CBD0 - cmp r0, #0 - beq _0805A02A - movs r0, #0 - b _0805A03C -_0805A02A: - adds r0, r4, #0 - bl sub_0805A25C - bl sub_0805E780 - b _0805A03C -_0805A036: - movs r0, #1 - b _0805A03C -_0805A03A: - movs r0, #0 -_0805A03C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805A040 -sub_0805A040: @ 0x0805A040 - push {lr} - bl sub_0805A098 - pop {pc} - - thumb_func_start sub_0805A048 -sub_0805A048: @ 0x0805A048 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805A086 - movs r0, #4 - strb r0, [r4, #0xf] - ldr r2, _0805A090 @ =gUnk_03000F50 - ldr r3, _0805A094 @ =gUnk_08108588 - ldrb r0, [r4, #0xe] - adds r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r3 - ldrh r0, [r0] - adds r2, #0x68 - strh r0, [r2] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #9 - bne _0805A086 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #0 - strb r0, [r1] -_0805A086: - adds r0, r4, #0 - bl sub_0805A098 - pop {r4, pc} - .align 2, 0 -_0805A090: .4byte gUnk_03000F50 -_0805A094: .4byte gUnk_08108588 - - thumb_func_start sub_0805A098 -sub_0805A098: @ 0x0805A098 - push {lr} - adds r1, r0, #0 - ldr r0, _0805A0B0 @ =gUnk_03000BF0 - ldrb r0, [r0, #5] - cmp r0, #9 - bgt _0805A0B4 - cmp r0, #8 - bge _0805A0BC - cmp r0, #0 - beq _0805A0BC - b _0805A0B8 - .align 2, 0 -_0805A0B0: .4byte gUnk_03000BF0 -_0805A0B4: - cmp r0, #0x17 - beq _0805A0BC -_0805A0B8: - movs r0, #3 - strb r0, [r1, #0xc] -_0805A0BC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805A0C0 -sub_0805A0C0: @ 0x0805A0C0 - push {r4, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xf] - subs r0, #1 - strb r0, [r3, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805A106 - movs r0, #4 - strb r0, [r3, #0xf] - ldr r4, _0805A108 @ =gUnk_03000F50 - ldr r2, _0805A10C @ =gUnk_08108588 - ldrb r0, [r3, #0xe] - adds r1, r0, #0 - adds r1, #0xff - strb r1, [r3, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r2 - ldrh r2, [r0] - adds r0, r4, #0 - adds r0, #0x68 - strh r2, [r0] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0xff - bne _0805A106 - ldrh r1, [r4] - ldr r0, _0805A110 @ =0x0000F7FF - ands r0, r1 - strh r0, [r4] - bl sub_08056250 - bl sub_0805E780 -_0805A106: - pop {r4, pc} - .align 2, 0 -_0805A108: .4byte gUnk_03000F50 -_0805A10C: .4byte gUnk_08108588 -_0805A110: .4byte 0x0000F7FF - - thumb_func_start sub_0805A114 -sub_0805A114: @ 0x0805A114 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - adds r6, r1, #0 - ldr r2, _0805A154 @ =gUnk_03003DE4 - ldrb r1, [r2] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _0805A158 @ =gUnk_02017AA0 - adds r4, r0, r1 - movs r5, #0 - mov r8, r2 - mov sb, r1 - ldr r2, _0805A15C @ =gUnk_03000F50 - ldr r0, _0805A160 @ =gUnk_080C9160 - mov ip, r0 -_0805A13A: - movs r1, #0x30 - ldrsh r0, [r2, r1] - adds r3, r5, r0 - asrs r1, r3, #3 - movs r0, #7 - ands r1, r0 - cmp r1, #7 - bhi _0805A190 - lsls r0, r1, #2 - ldr r1, _0805A164 @ =_0805A168 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805A154: .4byte gUnk_03003DE4 -_0805A158: .4byte gUnk_02017AA0 -_0805A15C: .4byte gUnk_03000F50 -_0805A160: .4byte gUnk_080C9160 -_0805A164: .4byte _0805A168 -_0805A168: @ jump table - .4byte _0805A190 @ case 0 - .4byte _0805A18C @ case 1 - .4byte _0805A190 @ case 2 - .4byte _0805A190 @ case 3 - .4byte _0805A188 @ case 4 - .4byte _0805A190 @ case 5 - .4byte _0805A190 @ case 6 - .4byte _0805A18C @ case 7 -_0805A188: - subs r3, #8 - b _0805A190 -_0805A18C: - movs r0, #0xf0 - b _0805A192 -_0805A190: - movs r0, #0xf8 -_0805A192: - ands r3, r0 - adds r0, r6, r3 - movs r1, #0xff - ands r0, r1 - lsls r0, r0, #1 - add r0, ip - movs r1, #0 - ldrsh r0, [r0, r1] - muls r0, r7, r0 - lsrs r0, r0, #8 - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r4] - adds r4, #2 - adds r5, #1 - cmp r5, #0x9f - ble _0805A13A - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - add r0, sb - ldr r1, _0805A1D0 @ =0x0400001C - ldr r2, _0805A1D4 @ =0xA2600001 - bl sub_0805622C - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805A1D0: .4byte 0x0400001C -_0805A1D4: .4byte 0xA2600001 - - thumb_func_start sub_0805A1D8 -sub_0805A1D8: @ 0x0805A1D8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _0805A244 @ =gUnk_03000BF0 - ldr r0, [r1, #0x28] - ldr r2, _0805A248 @ =0xFFFFF000 - adds r0, r0, r2 - str r0, [r1, #0x28] - ldr r5, _0805A24C @ =gUnk_03000F50 - ldrh r0, [r1, #0x2a] - strh r0, [r5, #0x2e] - ldr r0, [r1, #0x2c] - adds r0, r0, r2 - str r0, [r1, #0x2c] - ldrh r0, [r1, #0x2e] - strh r0, [r5, #0x30] - ldrh r1, [r5] - movs r0, #0x80 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - beq _0805A240 - ldrh r1, [r4, #0x20] - lsrs r1, r1, #1 - movs r0, #6 - bl sub_0805A114 - adds r0, r4, #0 - adds r0, #0x22 - ldrb r0, [r0] - cmp r0, #0 - bne _0805A240 - ldr r0, _0805A250 @ =gUnk_03001000 - ldrh r1, [r0, #0xc] - movs r0, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0805A240 - adds r2, r4, #0 - adds r2, #0x24 - ldrb r0, [r2] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r2] - ldr r1, _0805A254 @ =gUnk_0810859A - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r5, #0 - adds r0, #0x68 - strh r1, [r0] -_0805A240: - pop {r4, r5, pc} - .align 2, 0 -_0805A244: .4byte gUnk_03000BF0 -_0805A248: .4byte 0xFFFFF000 -_0805A24C: .4byte gUnk_03000F50 -_0805A250: .4byte gUnk_03001000 -_0805A254: .4byte gUnk_0810859A - - thumb_func_start nullsub_495 -nullsub_495: @ 0x0805A258 - bx lr - .align 2, 0 - - thumb_func_start sub_0805A25C -sub_0805A25C: @ 0x0805A25C - push {lr} - ldr r1, _0805A278 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0 - strh r0, [r2] - ldrh r2, [r1] - ldr r0, _0805A27C @ =0x0000F7FF - ands r0, r2 - strh r0, [r1] - bl sub_08056250 - pop {pc} - .align 2, 0 -_0805A278: .4byte gUnk_03000F50 -_0805A27C: .4byte 0x0000F7FF - - thumb_func_start sub_0805A280 -sub_0805A280: @ 0x0805A280 - push {lr} - ldr r2, _0805A294 @ =gUnk_081085D8 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805A294: .4byte gUnk_081085D8 - - thumb_func_start sub_0805A298 -sub_0805A298: @ 0x0805A298 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805A2D6 - adds r0, r4, #0 - bl sub_0805A89C - ldrh r0, [r4, #0x3e] - bl sub_0807CBD0 - cmp r0, #0 - bne _0805A2BA - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #1 - b _0805A2C0 -_0805A2BA: - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #2 -_0805A2C0: - strb r0, [r1] - ldrb r0, [r1] - bl sub_0805AAF0 - ldr r2, _0805A2E0 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x90 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] -_0805A2D6: - adds r0, r4, #0 - bl sub_0805A8EC - pop {r4, pc} - .align 2, 0 -_0805A2E0: .4byte gUnk_03000F50 - - thumb_func_start sub_0805A2E4 -sub_0805A2E4: @ 0x0805A2E4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805A34C - adds r0, r4, #0 - bl sub_0805A89C - adds r0, r4, #0 - adds r0, #0x23 - movs r5, #1 - strb r5, [r0] - movs r0, #1 - bl sub_0805AAF0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBD0 - cmp r0, #0 - bne _0805A324 - strb r5, [r4, #0xc] - ldr r2, _0805A31C @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805A320 @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - b _0805A35C - .align 2, 0 -_0805A31C: .4byte gUnk_03000F50 -_0805A320: .4byte 0x0000B7FF -_0805A324: - movs r0, #0x48 - bl sub_0807CBD0 - cmp r0, #0 - beq _0805A332 - movs r0, #4 - b _0805A334 -_0805A332: - movs r0, #3 -_0805A334: - strb r0, [r4, #0xc] - ldr r2, _0805A348 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x90 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805A35C - .align 2, 0 -_0805A348: .4byte gUnk_03000F50 -_0805A34C: - ldr r0, _0805A36C @ =gUnk_081085F8 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0805A35C: - ldr r0, [r4, #4] - cmp r0, #0 - beq _0805A368 - adds r0, r4, #0 - bl sub_0805A8EC -_0805A368: - pop {r4, r5, pc} - .align 2, 0 -_0805A36C: .4byte gUnk_081085F8 - - thumb_func_start sub_0805A370 -sub_0805A370: @ 0x0805A370 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A38A - ldr r0, _0805A38C @ =gUnk_080E4C08 - bl sub_0804ADDC - movs r0, #3 - strb r0, [r4, #0xc] - ldr r0, _0805A390 @ =0x80100000 - bl sub_080A3268 -_0805A38A: - pop {r4, pc} - .align 2, 0 -_0805A38C: .4byte gUnk_080E4C08 -_0805A390: .4byte 0x80100000 - - thumb_func_start sub_0805A394 -sub_0805A394: @ 0x0805A394 - push {lr} - movs r0, #3 - movs r1, #0x13 - movs r2, #4 - bl sub_0805EB00 - cmp r0, #0 - beq _0805A3AA - ldrb r0, [r0, #0xa] - cmp r0, #4 - bne _0805A3C4 -_0805A3AA: - movs r0, #0x48 - bl sub_0807CCB4 - movs r0, #0 - bl sub_0807CD8C - ldr r2, _0805A3C8 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805A3CC @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - bl sub_0805E780 -_0805A3C4: - pop {pc} - .align 2, 0 -_0805A3C8: .4byte gUnk_03000F50 -_0805A3CC: .4byte 0x0000B7FF - - thumb_func_start nullsub_496 -nullsub_496: @ 0x0805A3D0 - bx lr - .align 2, 0 - - thumb_func_start sub_0805A3D4 -sub_0805A3D4: @ 0x0805A3D4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805A448 - adds r0, r4, #0 - bl sub_0805A89C - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _0805A3F2 - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #2 - b _0805A3F8 -_0805A3F2: - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #1 -_0805A3F8: - strb r0, [r1] - ldrb r0, [r1] - bl sub_0805AAF0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBD0 - cmp r0, #0 - bne _0805A428 - ldrh r0, [r4, #0x3c] - bl sub_0807CD48 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0805A420 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805A424 @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - b _0805A458 - .align 2, 0 -_0805A420: .4byte gUnk_03000F50 -_0805A424: .4byte 0x0000B7FF -_0805A428: - ldrh r0, [r4, #0x3c] - bl sub_0807CCC8 - movs r0, #3 - strb r0, [r4, #0xc] - ldr r2, _0805A444 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x90 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805A458 - .align 2, 0 -_0805A444: .4byte gUnk_03000F50 -_0805A448: - ldr r0, _0805A460 @ =gUnk_0810860C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0805A458: - adds r0, r4, #0 - bl sub_0805A8EC - pop {r4, pc} - .align 2, 0 -_0805A460: .4byte gUnk_0810860C - - thumb_func_start sub_0805A464 -sub_0805A464: @ 0x0805A464 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBD0 - cmp r0, #0 - beq _0805A47E - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_0805A4CC -_0805A47E: - pop {r4, pc} - - thumb_func_start sub_0805A480 -sub_0805A480: @ 0x0805A480 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _0805A494 - movs r0, #3 - strb r0, [r1, #0xc] - ldrh r0, [r1, #0x3c] - bl sub_0807CCC8 -_0805A494: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805A498 -sub_0805A498: @ 0x0805A498 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBD0 - cmp r0, #0 - bne _0805A4B2 - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_0805A4CC -_0805A4B2: - pop {r4, pc} - - thumb_func_start sub_0805A4B4 -sub_0805A4B4: @ 0x0805A4B4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _0805A4C8 - movs r0, #1 - strb r0, [r1, #0xc] - ldrh r0, [r1, #0x3c] - bl sub_0807CD48 -_0805A4C8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805A4CC -sub_0805A4CC: @ 0x0805A4CC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x8e - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0805A4F8 - ldr r1, _0805A4FC @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r2, [r4, #0x38] - adds r0, r0, r2 - movs r2, #0 - strh r0, [r3, #0x2e] - ldrh r0, [r1, #8] - ldrh r1, [r4, #0x3a] - adds r0, r0, r1 - subs r0, #0x30 - strh r0, [r3, #0x32] - str r4, [r3, #0x50] - strb r2, [r4, #0xd] -_0805A4F8: - pop {r4, pc} - .align 2, 0 -_0805A4FC: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805A500 -sub_0805A500: @ 0x0805A500 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #0 - bne _0805A588 - bl sub_0805A89C - str r5, [r4, #0x28] - movs r0, #0x36 - bl sub_0807CBD0 - cmp r0, #0 - beq _0805A538 - adds r3, r4, #0 - adds r3, #0x23 - movs r0, #3 - strb r0, [r3] - movs r0, #5 - strb r0, [r4, #0xc] - ldr r2, _0805A534 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r5, #0x90 - lsls r5, r5, #7 - adds r0, r5, #0 - orrs r0, r1 - b _0805A574 - .align 2, 0 -_0805A534: .4byte gUnk_03000F50 -_0805A538: - movs r0, #0x34 - bl sub_0807CBD0 - cmp r0, #0 - beq _0805A560 - adds r3, r4, #0 - adds r3, #0x23 - movs r0, #4 - strb r0, [r3] - movs r0, #3 - strb r0, [r4, #0xc] - ldr r2, _0805A55C @ =gUnk_03000F50 - ldrh r1, [r2] - movs r5, #0x90 - lsls r5, r5, #7 - adds r0, r5, #0 - orrs r0, r1 - b _0805A574 - .align 2, 0 -_0805A55C: .4byte gUnk_03000F50 -_0805A560: - adds r3, r4, #0 - adds r3, #0x23 - movs r0, #4 - strb r0, [r3] - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0805A580 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805A584 @ =0x0000B7FF - ands r0, r1 -_0805A574: - strh r0, [r2] - ldrb r0, [r3] - bl sub_0805AAF0 - b _0805A598 - .align 2, 0 -_0805A580: .4byte gUnk_03000F50 -_0805A584: .4byte 0x0000B7FF -_0805A588: - ldr r0, _0805A5C0 @ =gUnk_08108620 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0805A598: - adds r0, r4, #0 - bl sub_0805AA58 - adds r0, r4, #0 - bl sub_0805A9CC - ldr r1, _0805A5C4 @ =gUnk_03000BF0 - ldrh r3, [r1] - cmp r3, #1 - bne _0805A5CC - ldr r2, _0805A5C8 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r5, #0x80 - lsls r5, r5, #7 - adds r0, r5, #0 - orrs r0, r1 - strh r0, [r2] - strb r3, [r4, #0xd] - b _0805A5F0 - .align 2, 0 -_0805A5C0: .4byte gUnk_08108620 -_0805A5C4: .4byte gUnk_03000BF0 -_0805A5C8: .4byte gUnk_03000F50 -_0805A5CC: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A5F0 - movs r0, #0 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x20 - ldrb r0, [r0] - ldrb r1, [r1, #5] - cmp r0, r1 - beq _0805A5F0 - ldr r2, _0805A5F4 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805A5F8 @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - bl sub_0805E780 -_0805A5F0: - pop {r4, r5, pc} - .align 2, 0 -_0805A5F4: .4byte gUnk_03000F50 -_0805A5F8: .4byte 0x0000B7FF - - thumb_func_start sub_0805A5FC -sub_0805A5FC: @ 0x0805A5FC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x34 - bl sub_0807CBD0 - cmp r0, #0 - beq _0805A616 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805A4CC -_0805A616: - pop {r4, pc} - - thumb_func_start sub_0805A618 -sub_0805A618: @ 0x0805A618 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _0805A626 - movs r0, #3 - strb r0, [r1, #0xc] -_0805A626: - pop {pc} - - thumb_func_start sub_0805A628 -sub_0805A628: @ 0x0805A628 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x36 - bl sub_0807CBD0 - cmp r0, #0 - beq _0805A64A - movs r0, #4 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #3 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805A4CC -_0805A64A: - pop {r4, pc} - - thumb_func_start sub_0805A64C -sub_0805A64C: @ 0x0805A64C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _0805A65A - movs r0, #5 - strb r0, [r1, #0xc] -_0805A65A: - pop {pc} - - thumb_func_start sub_0805A65C -sub_0805A65C: @ 0x0805A65C - bx lr - .align 2, 0 - - thumb_func_start sub_0805A660 -sub_0805A660: @ 0x0805A660 - bx lr - .align 2, 0 - - thumb_func_start sub_0805A664 -sub_0805A664: @ 0x0805A664 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805A688 @ =gUnk_08108638 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0805A8EC - adds r0, r4, #0 - bl sub_0805A68C - pop {r4, pc} - .align 2, 0 -_0805A688: .4byte gUnk_08108638 - - thumb_func_start sub_0805A68C -sub_0805A68C: @ 0x0805A68C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x38 - ldrsh r0, [r4, r1] - subs r0, #0x18 - movs r2, #0x3a - ldrsh r1, [r4, r2] - subs r1, #0x18 - movs r2, #0x30 - movs r3, #0x30 - bl sub_0806FBFC - cmp r0, #0 - beq _0805A6CC - ldrh r1, [r4, #0x2c] - ldr r0, _0805A6C4 @ =0x00001007 - cmp r1, r0 - bhi _0805A6E2 - ldr r0, _0805A6C8 @ =gUnk_03000F50 - adds r1, #1 - movs r2, #0 - strh r1, [r4, #0x2c] - adds r0, #0x68 - strh r1, [r0] - adds r0, r4, #0 - adds r0, #0x22 - strb r2, [r0] - b _0805A6E2 - .align 2, 0 -_0805A6C4: .4byte 0x00001007 -_0805A6C8: .4byte gUnk_03000F50 -_0805A6CC: - ldrh r1, [r4, #0x2c] - movs r0, #0x80 - lsls r0, r0, #5 - cmp r1, r0 - bls _0805A6DA - subs r0, r1, #1 - strh r0, [r4, #0x2c] -_0805A6DA: - ldr r0, _0805A6E4 @ =gUnk_03000F50 - ldrh r1, [r4, #0x2c] - adds r0, #0x68 - strh r1, [r0] -_0805A6E2: - pop {r4, pc} - .align 2, 0 -_0805A6E4: .4byte gUnk_03000F50 - - thumb_func_start sub_0805A6E8 -sub_0805A6E8: @ 0x0805A6E8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805A89C - adds r1, r4, #0 - adds r1, #0x23 - movs r0, #0 - strb r0, [r1] - bl sub_0805AAF0 - ldr r1, _0805A734 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r2, [r4, #0x38] - adds r0, r0, r2 - strh r0, [r4, #0x38] - ldrh r0, [r1, #8] - ldrh r3, [r4, #0x3a] - adds r0, r0, r3 - strh r0, [r4, #0x3a] - adds r0, r4, #0 - bl sub_0805A73C - cmp r0, #0 - bne _0805A71E - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_0805A71E: - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r4, #0x2c] - ldr r2, _0805A738 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x90 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - pop {r4, pc} - .align 2, 0 -_0805A734: .4byte gUnk_03000BF0 -_0805A738: .4byte gUnk_03000F50 - - thumb_func_start sub_0805A73C -sub_0805A73C: @ 0x0805A73C - push {lr} - adds r1, r0, #0 - movs r2, #0x38 - ldrsh r0, [r1, r2] - subs r0, #6 - movs r2, #0x3a - ldrsh r1, [r1, r2] - subs r1, #6 - movs r2, #0xc - movs r3, #0xc - bl sub_0806FBFC - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805A758 -sub_0805A758: @ 0x0805A758 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805A73C - cmp r0, #0 - bne _0805A76A - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_0805A76A: - pop {r4, pc} - - thumb_func_start sub_0805A76C -sub_0805A76C: @ 0x0805A76C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, _0805A7D4 @ =gUnk_03001160 - adds r0, r5, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _0805A7D0 - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _0805A7D0 - ldr r0, _0805A7D8 @ =gUnk_03003F80 - ldr r6, [r0, #0x2c] - cmp r6, #0 - bne _0805A7D0 - adds r0, #0xa9 - ldrb r0, [r0] - cmp r0, #1 - bgt _0805A7D0 - cmp r0, #0 - blt _0805A7D0 - adds r0, r4, #0 - bl sub_0805A73C - cmp r0, #0 - beq _0805A7D0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r5, #0 - bl sub_08004168 - movs r0, #4 - strb r0, [r5, #0x14] - movs r1, #0x96 - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_0805E4E0 - movs r0, #0xff - bl sub_08078A90 - ldr r1, _0805A7DC @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - ldr r0, _0805A7E0 @ =gUnk_03000BF0 - str r6, [r0, #0x30] - bl sub_08077B20 -_0805A7D0: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805A7D4: .4byte gUnk_03001160 -_0805A7D8: .4byte gUnk_03003F80 -_0805A7DC: .4byte gUnk_02034490 -_0805A7E0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805A7E4 -sub_0805A7E4: @ 0x0805A7E4 - push {lr} - ldr r2, _0805A800 @ =gUnk_03003F80 - ldrb r0, [r2, #0xc] - cmp r0, #0x12 - beq _0805A7FE - movs r1, #0 - movs r0, #0x12 - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] -_0805A7FE: - pop {pc} - .align 2, 0 -_0805A800: .4byte gUnk_03003F80 - - thumb_func_start sub_0805A804 -sub_0805A804: @ 0x0805A804 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #4 - bhi _0805A896 - lsls r0, r0, #2 - ldr r1, _0805A818 @ =_0805A81C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805A818: .4byte _0805A81C -_0805A81C: @ jump table - .4byte _0805A830 @ case 0 - .4byte _0805A858 @ case 1 - .4byte _0805A866 @ case 2 - .4byte _0805A872 @ case 3 - .4byte _0805A88A @ case 4 -_0805A830: - ldrh r0, [r4, #0x3e] - bl sub_0807CBD0 - cmp r0, #0 - beq _0805A83E - movs r0, #1 - b _0805A840 -_0805A83E: - movs r0, #2 -_0805A840: - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - b _0805A89A -_0805A858: - ldrh r0, [r4, #0x3e] - bl sub_0807CBD0 - cmp r0, #0 - bne _0805A89A - movs r0, #2 - b _0805A87E -_0805A866: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A89A - movs r0, #3 - strb r0, [r4, #0xc] - b _0805A89A -_0805A872: - ldrh r0, [r4, #0x3e] - bl sub_0807CBD0 - cmp r0, #0 - beq _0805A89A - movs r0, #4 -_0805A87E: - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #4 - bl sub_0805A4CC - b _0805A89A -_0805A88A: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A89A - movs r0, #1 - strb r0, [r4, #0xc] - b _0805A89A -_0805A896: - bl sub_0805E780 -_0805A89A: - pop {r4, pc} - - thumb_func_start sub_0805A89C -sub_0805A89C: @ 0x0805A89C - push {r4, lr} - adds r4, r0, #0 - movs r1, #6 - bl sub_0805E3A0 - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x21 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - ldr r1, _0805A8E4 @ =gUnk_03000BF0 - ldrb r2, [r1, #5] - subs r0, #2 - strb r2, [r0] - ldrh r0, [r1, #6] - strh r0, [r4, #0x24] - ldrh r0, [r1, #8] - strh r0, [r4, #0x26] - ldr r1, _0805A8E8 @ =sub_0805AAC8 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 - pop {r4, pc} - .align 2, 0 -_0805A8E4: .4byte gUnk_03000BF0 -_0805A8E8: .4byte sub_0805AAC8 - - thumb_func_start sub_0805A8EC -sub_0805A8EC: @ 0x0805A8EC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0805AA58 - adds r0, r4, #0 - bl sub_0805A94C - ldr r1, _0805A914 @ =gUnk_03000BF0 - ldrh r3, [r1] - cmp r3, #1 - bne _0805A91C - ldr r2, _0805A918 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r5, #0x80 - lsls r5, r5, #7 - adds r0, r5, #0 - orrs r0, r1 - strh r0, [r2] - strb r3, [r4, #0xd] - b _0805A940 - .align 2, 0 -_0805A914: .4byte gUnk_03000BF0 -_0805A918: .4byte gUnk_03000F50 -_0805A91C: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805A940 - movs r0, #0 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x20 - ldrb r0, [r0] - ldrb r1, [r1, #5] - cmp r0, r1 - beq _0805A940 - ldr r2, _0805A944 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805A948 @ =0x0000B7FF - ands r0, r1 - strh r0, [r2] - bl sub_0805E780 -_0805A940: - pop {r4, r5, pc} - .align 2, 0 -_0805A944: .4byte gUnk_03000F50 -_0805A948: .4byte 0x0000B7FF - - thumb_func_start sub_0805A94C -sub_0805A94C: @ 0x0805A94C - push {r4, lr} - ldr r4, _0805A9C4 @ =gUnk_03000F50 - ldr r3, _0805A9C8 @ =gUnk_03000BF0 - ldrh r1, [r3, #0xa] - ldrh r2, [r0, #0x24] - subs r1, r1, r2 - ldrh r2, [r0, #0x34] - adds r1, r1, r2 - strh r1, [r4, #0x2e] - ldrh r1, [r3, #0xc] - ldrh r2, [r0, #0x26] - subs r1, r1, r2 - ldrh r0, [r0, #0x36] - adds r1, r1, r0 - strh r1, [r4, #0x30] - movs r1, #0x2e - ldrsh r0, [r4, r1] - rsbs r0, r0, #0 - movs r2, #0x80 - lsls r2, r2, #1 - adds r1, r0, r2 - cmp r0, #0 - bge _0805A97C - movs r0, #0 -_0805A97C: - cmp r0, #0xf0 - ble _0805A982 - movs r0, #0xf0 -_0805A982: - cmp r1, #0 - bge _0805A988 - movs r1, #0 -_0805A988: - cmp r1, #0xf0 - ble _0805A98E - movs r1, #0xf0 -_0805A98E: - lsls r0, r0, #8 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x5a - strh r0, [r1] - movs r1, #0x30 - ldrsh r0, [r4, r1] - rsbs r0, r0, #0 - adds r1, r0, r2 - cmp r0, #0 - bge _0805A9A6 - movs r0, #0 -_0805A9A6: - cmp r0, #0xa0 - ble _0805A9AC - movs r0, #0xa0 -_0805A9AC: - cmp r1, #0 - bge _0805A9B2 - movs r1, #0 -_0805A9B2: - cmp r1, #0xa0 - ble _0805A9B8 - movs r1, #0xa0 -_0805A9B8: - lsls r0, r0, #8 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x5e - strh r0, [r1] - pop {r4, pc} - .align 2, 0 -_0805A9C4: .4byte gUnk_03000F50 -_0805A9C8: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805A9CC -sub_0805A9CC: @ 0x0805A9CC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r3, _0805AA4C @ =gUnk_03000F50 - ldr r5, _0805AA50 @ =gUnk_03000BF0 - ldrh r0, [r5, #0xa] - ldrh r1, [r4, #0x24] - subs r0, r0, r1 - ldrh r1, [r4, #0x34] - adds r0, r0, r1 - strh r0, [r3, #0x2e] - movs r2, #0x2e - ldrsh r0, [r3, r2] - rsbs r2, r0, #0 - movs r0, #0x80 - lsls r0, r0, #1 - adds r1, r2, r0 - cmp r2, #0 - bge _0805A9F2 - movs r2, #0 -_0805A9F2: - cmp r2, #0xf0 - ble _0805A9F8 - movs r2, #0xf0 -_0805A9F8: - cmp r1, #0 - bge _0805A9FE - movs r1, #0 -_0805A9FE: - cmp r1, #0xf0 - ble _0805AA04 - movs r1, #0xf0 -_0805AA04: - lsls r0, r2, #8 - orrs r0, r1 - adds r1, r3, #0 - adds r1, #0x5a - strh r0, [r1] - movs r1, #0xc - ldrsh r0, [r5, r1] - ldrh r1, [r4, #0x26] - subs r0, r0, r1 - movs r2, #0x36 - ldrsh r1, [r4, r2] - adds r2, r0, r1 - movs r1, #0x3f - adds r0, r2, #0 - ands r0, r1 - strh r0, [r3, #0x30] - adds r0, r2, #0 - cmp r0, #0 - bge _0805AA2C - adds r0, #0x3f -_0805AA2C: - asrs r0, r0, #6 - lsls r0, r0, #9 - ldr r1, _0805AA54 @ =gUnk_02001A40 - adds r1, r0, r1 - str r1, [r3, #0x34] - adds r2, r3, #0 - adds r2, #0x5e - movs r0, #0xa0 - strh r0, [r2] - ldr r0, [r4, #0x28] - cmp r0, r1 - beq _0805AA4A - str r1, [r4, #0x28] - movs r0, #1 - strh r0, [r3, #0x32] -_0805AA4A: - pop {r4, r5, pc} - .align 2, 0 -_0805AA4C: .4byte gUnk_03000F50 -_0805AA50: .4byte gUnk_03000BF0 -_0805AA54: .4byte gUnk_02001A40 - - thumb_func_start sub_0805AA58 -sub_0805AA58: @ 0x0805AA58 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r5, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805AA8C - movs r0, #8 - strb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x21 - ldrb r0, [r2] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r2] - lsls r0, r0, #5 - ldr r1, _0805AABC @ =gUnk_085A97A0 - adds r0, r0, r1 - movs r1, #5 - movs r2, #1 - bl sub_0801D754 -_0805AA8C: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _0805AABA - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x22 - ldrb r0, [r2] - adds r0, #1 - movs r1, #0xf - ands r0, r1 - strb r0, [r2] - ldr r1, _0805AAC0 @ =gUnk_03000F50 - ldr r3, _0805AAC4 @ =gUnk_081085B8 - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - adds r1, #0x68 - strh r0, [r1] -_0805AABA: - pop {r4, r5, pc} - .align 2, 0 -_0805AABC: .4byte gUnk_085A97A0 -_0805AAC0: .4byte gUnk_03000F50 -_0805AAC4: .4byte gUnk_081085B8 - - thumb_func_start sub_0805AAC8 -sub_0805AAC8: @ 0x0805AAC8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x23 - ldrb r0, [r0] - bl sub_0805AAF0 - adds r0, r4, #0 - bl sub_0805A280 - pop {r4, pc} - - thumb_func_start sub_0805AADC -sub_0805AADC: @ 0x0805AADC - push {lr} - ldr r1, _0805AAEC @ =gUnk_08108648 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - bl sub_0801D7EC - pop {pc} - .align 2, 0 -_0805AAEC: .4byte gUnk_08108648 - - thumb_func_start sub_0805AAF0 -sub_0805AAF0: @ 0x0805AAF0 - push {lr} - bl sub_0805AADC - ldr r3, _0805AB34 @ =gUnk_03000F50 - adds r1, r3, #0 - adds r1, #0x66 - movs r2, #0 - ldr r0, _0805AB38 @ =0x00003E48 - strh r0, [r1] - adds r1, #2 - ldr r0, _0805AB3C @ =0x00001008 - strh r0, [r1] - ldr r0, _0805AB40 @ =0x00001E04 - strh r0, [r3, #0x2c] - ldr r0, _0805AB44 @ =gUnk_02001A40 - str r0, [r3, #0x34] - strh r2, [r3, #0x2e] - strh r2, [r3, #0x30] - movs r0, #1 - strh r0, [r3, #0x32] - subs r1, #8 - ldr r0, _0805AB48 @ =0x00003F3F - strh r0, [r1] - adds r1, #2 - movs r0, #0x37 - strh r0, [r1] - subs r1, #8 - movs r0, #0xf0 - strh r0, [r1] - adds r1, #4 - movs r0, #0xa0 - strh r0, [r1] - pop {pc} - .align 2, 0 -_0805AB34: .4byte gUnk_03000F50 -_0805AB38: .4byte 0x00003E48 -_0805AB3C: .4byte 0x00001008 -_0805AB40: .4byte 0x00001E04 -_0805AB44: .4byte gUnk_02001A40 -_0805AB48: .4byte 0x00003F3F - - thumb_func_start sub_0805AB4C -sub_0805AB4C: @ 0x0805AB4C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r6, r0, #0 - ldrb r0, [r6, #0xa] - bl sub_0804B128 - adds r4, r0, #0 - cmp r4, #0 - bne _0805AB68 - bl sub_0805E780 -_0805AB68: - ldrb r0, [r6, #0xc] - movs r1, #0x20 - adds r1, r1, r6 - mov r8, r1 - cmp r0, #0 - bne _0805ABC8 - adds r0, #1 - strb r0, [r6, #0xc] - ldr r0, _0805ABF0 @ =gUnk_02033A90 - ldrb r0, [r0, #8] - strb r0, [r1] - adds r0, r6, #0 - movs r1, #6 - bl sub_0805E3A0 - ldr r2, _0805ABF4 @ =gUnk_02031EC0 - ldrb r0, [r6, #0xb] - mov r3, r8 - ldrb r1, [r3] - adds r0, r0, r1 - lsls r0, r0, #4 - adds r2, r0, r2 - movs r5, #0 - mov sl, r5 - ldrb r0, [r4] - movs r7, #0x21 - adds r7, r7, r6 - mov ip, r7 - cmp r0, #0xff - beq _0805ABBE -_0805ABA4: - adds r1, r2, #0 - adds r0, r4, #0 - ldm r0!, {r3, r5, r7} - stm r1!, {r3, r5, r7} - ldr r0, [r0] - str r0, [r1] - movs r0, #1 - add sl, r0 - adds r4, #0x10 - adds r2, #0x10 - ldrb r0, [r4] - cmp r0, #0xff - bne _0805ABA4 -_0805ABBE: - movs r0, #0xff - strb r0, [r2] - mov r2, sl - mov r1, ip - strb r2, [r1] -_0805ABC8: - ldr r4, _0805ABF4 @ =gUnk_02031EC0 - ldrb r2, [r6, #0xb] - mov r3, r8 - ldrb r1, [r3] - adds r0, r2, r1 - lsls r0, r0, #4 - adds r4, r0, r4 - ldr r0, _0805ABF8 @ =gUnk_02002A40 - movs r5, #1 - mov sl, r5 - mov r7, sl - ldrb r0, [r0, #8] - lsls r7, r0 - mov sl, r7 - adds r0, r1, #7 - asrs r0, r0, #3 - ldr r1, _0805ABFC @ =gUnk_020342F8 - adds r7, r0, r1 - adds r5, r2, #0 - b _0805ACAA - .align 2, 0 -_0805ABF0: .4byte gUnk_02033A90 -_0805ABF4: .4byte gUnk_02031EC0 -_0805ABF8: .4byte gUnk_02002A40 -_0805ABFC: .4byte gUnk_020342F8 -_0805AC00: - ldrh r0, [r4, #4] - ldrh r1, [r4, #6] - movs r2, #0x18 - movs r3, #0x20 - bl sub_0800290E - cmp r0, #0 - bne _0805AC1A - adds r0, r7, #0 - adds r1, r5, #0 - bl sub_0801D5D4 - b _0805ACA6 -_0805AC1A: - ldrh r0, [r4, #0xe] - mov r1, sl - ands r0, r1 - cmp r0, #0 - beq _0805ACA6 - ldr r0, _0805AC5C @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x46 - bhi _0805ACA6 - adds r0, r7, #0 - adds r1, r5, #0 - bl sub_0801D5BC - cmp r0, #0 - bne _0805ACA6 - ldr r0, [r4, #8] - cmp r0, #0 - beq _0805AC48 - bl sub_0807DAA0 - mov sb, r0 - cmp r0, #0 - beq _0805ACA6 -_0805AC48: - ldrb r0, [r6, #0xe] - cmp r0, #0 - bne _0805AC60 - ldrb r0, [r4] - ldrb r1, [r4, #1] - ldrb r2, [r4, #2] - bl sub_0806ED50 - b _0805AC6A - .align 2, 0 -_0805AC5C: .4byte gUnk_03003DBC -_0805AC60: - ldrb r0, [r4] - ldrb r1, [r4, #1] - ldrb r2, [r4, #2] - bl sub_080A2960 -_0805AC6A: - adds r3, r0, #0 - mov r2, r8 - ldrb r0, [r2] - adds r0, #1 - adds r0, r5, r0 - adds r1, r3, #0 - adds r1, #0x45 - strb r0, [r1] - ldrh r0, [r4, #0xc] - strb r0, [r3, #0xe] - ldr r1, _0805ACBC @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r2, [r4, #4] - adds r0, r0, r2 - strh r0, [r3, #0x2e] - ldrh r0, [r1, #8] - ldrh r1, [r4, #6] - adds r0, r0, r1 - strh r0, [r3, #0x32] - ldrb r1, [r4, #3] - adds r0, r3, #0 - adds r0, #0x38 - strb r1, [r0] - ldr r2, [r4, #8] - cmp r2, #0 - beq _0805ACA6 - adds r0, r3, #0 - mov r1, sb - bl sub_0807DAF0 -_0805ACA6: - adds r4, #0x10 - adds r5, #1 -_0805ACAA: - ldrb r0, [r4] - cmp r0, #0xff - bne _0805AC00 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805ACBC: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805ACC0 -sub_0805ACC0: @ 0x0805ACC0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - bne _0805ACF0 - b _0805AD32 -_0805ACD0: - ldrb r0, [r4, #0xb] - subs r0, r5, r0 - lsls r0, r0, #4 - adds r3, r3, r0 - ldrh r0, [r3, #4] - ldr r2, _0805ACEC @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r0, r0, r1 - lsls r0, r0, #0x10 - ldrh r1, [r3, #6] - orrs r0, r1 - ldrh r2, [r2, #8] - adds r0, r0, r2 - b _0805AD34 - .align 2, 0 -_0805ACEC: .4byte gUnk_03000BF0 -_0805ACF0: - movs r0, #0x7f - ands r0, r1 - subs r5, r0, #1 - ldr r6, _0805AD3C @ =gUnk_03003DA0 - ldr r4, [r6, #4] - cmp r4, r6 - beq _0805AD32 - ldr r0, _0805AD40 @ =0x00001609 - mov r8, r0 - ldr r0, _0805AD44 @ =0x0000FFFF - adds r7, r0, #0 -_0805AD06: - ldrh r0, [r4, #8] - ands r0, r7 - cmp r0, r8 - bne _0805AD2C - ldrb r1, [r4, #0xb] - cmp r1, r5 - bgt _0805AD2C - adds r0, r4, #0 - adds r0, #0x21 - ldrb r0, [r0] - adds r0, r1, r0 - cmp r0, r5 - ble _0805AD2C - ldrb r0, [r4, #0xa] - bl sub_0804B128 - adds r3, r0, #0 - cmp r3, #0 - bne _0805ACD0 -_0805AD2C: - ldr r4, [r4, #4] - cmp r4, r6 - bne _0805AD06 -_0805AD32: - movs r0, #0 -_0805AD34: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805AD3C: .4byte gUnk_03003DA0 -_0805AD40: .4byte 0x00001609 -_0805AD44: .4byte 0x0000FFFF - - thumb_func_start sub_0805AD48 -sub_0805AD48: @ 0x0805AD48 - push {lr} - ldr r2, _0805AD5C @ =gUnk_08108654 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805AD5C: .4byte gUnk_08108654 - - thumb_func_start sub_0805AD60 -sub_0805AD60: @ 0x0805AD60 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805AD76 - bl sub_0805E780 -_0805AD76: - adds r0, r4, #0 - bl sub_0805AD80 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805AD80 -sub_0805AD80: @ 0x0805AD80 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805ADD0 - ldrb r1, [r4, #0xa] - ldrb r2, [r4, #0xb] - movs r0, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805ADCC - adds r0, r4, #0 - adds r0, #0x35 - ldrb r0, [r0] - strb r0, [r2, #0xe] - adds r0, r4, #0 - adds r0, #0x36 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - ldr r1, _0805ADD4 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r1, [r4, #0x3a] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldrh r1, [r4, #0x3c] - adds r0, r2, #0 - adds r0, #0x86 - strh r1, [r0] -_0805ADCC: - bl sub_0805E780 -_0805ADD0: - pop {r4, pc} - .align 2, 0 -_0805ADD4: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805ADD8 -sub_0805ADD8: @ 0x0805ADD8 - push {r4, lr} - adds r4, r0, #0 - cmp r4, #0 - bne _0805AE04 - ldr r0, _0805ADF8 @ =gUnk_02033A90 - ldr r1, _0805ADFC @ =0x0000088C - adds r0, r0, r1 - ldr r0, [r0] - ldr r1, _0805AE00 @ =sub_0805AEDC - cmp r0, r1 - beq _0805AEC4 - movs r0, #0 - bl _call_via_r1 - b _0805AEC4 - .align 2, 0 -_0805ADF8: .4byte gUnk_02033A90 -_0805ADFC: .4byte 0x0000088C -_0805AE00: .4byte sub_0805AEDC -_0805AE04: - ldrb r2, [r4, #0xc] - cmp r2, #0 - bne _0805AE5E - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - strb r2, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - ldr r0, _0805AE44 @ =gUnk_0810865C - ldrh r0, [r0] - strh r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _0805AE48 @ =gUnk_02033A90 - ldr r2, _0805AE4C @ =0x0000088C - adds r0, r0, r2 - ldr r0, [r0] - cmp r0, #0 - bne _0805AE58 - ldr r1, _0805AE50 @ =sub_0805AEDC - ldr r2, _0805AE54 @ =sub_0805AF3C - adds r0, r4, #0 - bl sub_08052D74 - b _0805AEC4 - .align 2, 0 -_0805AE44: .4byte gUnk_0810865C -_0805AE48: .4byte gUnk_02033A90 -_0805AE4C: .4byte 0x0000088C -_0805AE50: .4byte sub_0805AEDC -_0805AE54: .4byte sub_0805AF3C -_0805AE58: - bl sub_0805E780 - b _0805AEC4 -_0805AE5E: - ldr r2, _0805AEC8 @ =gUnk_0810865C - ldrb r0, [r4, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldr r3, _0805AECC @ =gUnk_03000F50 - cmp r0, #0 - beq _0805AEA2 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805AEA2 - movs r0, #4 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - cmp r0, #0 - beq _0805AEA2 - ldrb r0, [r4, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r1, [r0] - strh r1, [r4, #0x20] - adds r0, r3, #0 - adds r0, #0x68 - strh r1, [r0] -_0805AEA2: - ldr r1, _0805AED0 @ =gUnk_03000BF0 - ldr r0, [r1, #0x28] - ldr r2, _0805AED4 @ =0xFFFFE000 - adds r0, r0, r2 - str r0, [r1, #0x28] - ldr r0, [r1, #0x2c] - ldr r2, _0805AED8 @ =0xFFFFF000 - adds r0, r0, r2 - str r0, [r1, #0x2c] - ldrh r0, [r1, #0x2a] - ldrh r2, [r1, #0xa] - adds r0, r0, r2 - strh r0, [r3, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r3, #0x30] -_0805AEC4: - pop {r4, pc} - .align 2, 0 -_0805AEC8: .4byte gUnk_0810865C -_0805AECC: .4byte gUnk_03000F50 -_0805AED0: .4byte gUnk_03000BF0 -_0805AED4: .4byte 0xFFFFE000 -_0805AED8: .4byte 0xFFFFF000 - - thumb_func_start sub_0805AEDC -sub_0805AEDC: @ 0x0805AEDC - push {r4, lr} - adds r3, r0, #0 - ldr r2, _0805AF2C @ =gUnk_03000F50 - ldr r0, _0805AF30 @ =0x00001E05 - strh r0, [r2, #0x2c] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _0805AF34 @ =0x00003648 - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #5 - adds r1, r0, #0 - cmp r3, #0 - beq _0805AF06 - ldrh r1, [r3, #0x20] -_0805AF06: - adds r0, r2, #0 - adds r0, #0x68 - strh r1, [r0] - ldr r1, _0805AF38 @ =gUnk_03000BF0 - ldrh r0, [r1, #0x2a] - ldrh r4, [r1, #0xa] - adds r0, r0, r4 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] - cmp r3, #0 - beq _0805AF28 - adds r0, r3, #0 - bl sub_0805ADD8 -_0805AF28: - pop {r4, pc} - .align 2, 0 -_0805AF2C: .4byte gUnk_03000F50 -_0805AF30: .4byte 0x00001E05 -_0805AF34: .4byte 0x00003648 -_0805AF38: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805AF3C -sub_0805AF3C: @ 0x0805AF3C - ldrb r2, [r0, #0x10] - movs r1, #0xdf - ands r1, r2 - movs r3, #0 - strb r1, [r0, #0x10] - ldr r1, _0805AF58 @ =gUnk_03000F50 - ldrh r2, [r1] - ldr r0, _0805AF5C @ =0x0000F7FF - ands r0, r2 - strh r0, [r1] - adds r1, #0x66 - strh r3, [r1] - bx lr - .align 2, 0 -_0805AF58: .4byte gUnk_03000F50 -_0805AF5C: .4byte 0x0000F7FF - - thumb_func_start sub_0805AF60 -sub_0805AF60: @ 0x0805AF60 - push {r4, lr} - adds r4, r0, #0 - cmp r4, #0 - bne _0805AF8C - ldr r0, _0805AF80 @ =gUnk_02033A90 - ldr r1, _0805AF84 @ =0x0000088C - adds r0, r0, r1 - ldr r0, [r0] - ldr r1, _0805AF88 @ =sub_0805AFFC - cmp r0, r1 - beq _0805AFEE - movs r0, #0 - bl _call_via_r1 - b _0805AFEE - .align 2, 0 -_0805AF80: .4byte gUnk_02033A90 -_0805AF84: .4byte 0x0000088C -_0805AF88: .4byte sub_0805AFFC -_0805AF8C: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805AFD2 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _0805AFC0 @ =gUnk_02033A90 - ldr r2, _0805AFC4 @ =0x0000088C - adds r0, r0, r2 - ldr r0, [r0] - cmp r0, #0 - bne _0805AFCC - ldr r1, _0805AFC8 @ =sub_0805AFFC - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 - b _0805AFEE - .align 2, 0 -_0805AFC0: .4byte gUnk_02033A90 -_0805AFC4: .4byte 0x0000088C -_0805AFC8: .4byte sub_0805AFFC -_0805AFCC: - bl sub_0805E780 - b _0805AFEE -_0805AFD2: - ldr r1, _0805AFF0 @ =gUnk_03000BF0 - ldr r0, [r1, #0x28] - ldr r3, _0805AFF4 @ =0xFFFFE000 - adds r0, r0, r3 - str r0, [r1, #0x28] - ldr r2, _0805AFF8 @ =gUnk_03000F50 - ldrh r0, [r1, #0x2a] - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] -_0805AFEE: - pop {r4, pc} - .align 2, 0 -_0805AFF0: .4byte gUnk_03000BF0 -_0805AFF4: .4byte 0xFFFFE000 -_0805AFF8: .4byte gUnk_03000F50 - - thumb_func_start sub_0805AFFC -sub_0805AFFC: @ 0x0805AFFC - ldr r2, _0805B024 @ =gUnk_03000F50 - ldr r0, _0805B028 @ =0x00001E03 - strh r0, [r2, #0x2c] - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0805B02C @ =gUnk_03000BF0 - ldrh r0, [r1, #0x2a] - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] - bx lr - .align 2, 0 -_0805B024: .4byte gUnk_03000F50 -_0805B028: .4byte 0x00001E03 -_0805B02C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805B030 -sub_0805B030: @ 0x0805B030 - push {lr} - ldr r2, _0805B044 @ =gUnk_08108668 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805B044: .4byte gUnk_08108668 - - thumb_func_start sub_0805B048 -sub_0805B048: @ 0x0805B048 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r4, #0 - adds r0, #0x20 - movs r1, #0x20 - bl sub_0801D630 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0805B08C @ =gUnk_03000BF0 - ldrb r0, [r2, #5] - adds r1, r4, #0 - adds r1, #0x3f - strb r0, [r1] - ldrb r1, [r4, #0xa] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0805B090 @ =gUnk_08108764 - adds r5, r0, r1 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _0805B094 - ldrh r0, [r2, #6] - strh r0, [r4, #0x20] - ldrh r0, [r2, #8] - strh r0, [r4, #0x22] - ldrh r0, [r2, #0x1e] - strh r0, [r4, #0x24] - ldrh r0, [r2, #0x20] - b _0805B0B2 - .align 2, 0 -_0805B08C: .4byte gUnk_03000BF0 -_0805B090: .4byte gUnk_08108764 -_0805B094: - ldrb r0, [r5, #8] - lsls r0, r0, #4 - ldrh r1, [r2, #6] - adds r0, r0, r1 - strh r0, [r4, #0x20] - ldrb r0, [r5, #9] - lsls r0, r0, #4 - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r4, #0x22] - ldrb r0, [r5, #0xa] - lsls r0, r0, #4 - strh r0, [r4, #0x24] - ldrb r0, [r5, #0xb] - lsls r0, r0, #4 -_0805B0B2: - strh r0, [r4, #0x26] - ldr r1, [r5, #0xc] - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - strb r0, [r4, #0xb] - cmp r0, #0 - beq _0805B0FC - ldrb r0, [r4, #0x10] - movs r1, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - ldr r0, [r5, #0xc] - ldrh r0, [r0, #4] - strh r0, [r4, #0x34] - ldr r0, [r5, #0xc] - ldrh r0, [r0, #6] - strh r0, [r4, #0x36] - ldr r0, [r5, #0xc] - ldrh r0, [r0, #8] - strh r0, [r4, #0x30] - ldr r0, [r5, #0xc] - ldrh r0, [r0, #0xa] - strh r0, [r4, #0x32] - bl sub_0805BC4C - adds r0, r4, #0 - bl sub_0805B2B0 - adds r0, r4, #0 - bl sub_0805B328 - ldr r1, _0805B160 @ =sub_0805B328 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_0805B0FC: - ldr r0, [r5, #0x10] - cmp r0, #0 - beq _0805B15E - ldrb r1, [r0] - ldrb r2, [r0, #1] - movs r0, #0x28 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0805B128 - ldr r1, [r5, #0x10] - ldr r2, _0805B164 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldrh r1, [r1, #4] - adds r0, r0, r1 - strh r0, [r3, #0x2e] - ldr r1, [r5, #0x10] - ldrh r0, [r2, #8] - ldrh r1, [r1, #6] - adds r0, r0, r1 - strh r0, [r3, #0x32] -_0805B128: - ldrb r0, [r4, #0xa] - cmp r0, #0xa - bne _0805B15E - movs r0, #0x4b - bl sub_0807CBD0 - cmp r0, #0 - bne _0805B15E - movs r0, #0x28 - movs r1, #3 - movs r2, #3 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0805B15E - ldr r1, [r5, #0x10] - ldr r2, _0805B164 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldrh r1, [r1, #4] - adds r0, r0, r1 - strh r0, [r3, #0x2e] - ldr r1, [r5, #0x10] - ldrh r0, [r2, #8] - ldrh r1, [r1, #6] - adds r0, r0, r1 - strh r0, [r3, #0x32] -_0805B15E: - pop {r4, r5, pc} - .align 2, 0 -_0805B160: .4byte sub_0805B328 -_0805B164: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805B168 -sub_0805B168: @ 0x0805B168 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0805B1CC - adds r5, r0, #0 - cmp r5, #0 - beq _0805B182 - adds r0, r4, #0 - bl sub_0805B210 - bl sub_0805E780 - b _0805B1C0 -_0805B182: - adds r0, r4, #0 - bl sub_0805B2B0 - ldr r1, _0805B194 @ =gUnk_03000BF0 - ldrh r0, [r1] - cmp r0, #1 - bne _0805B198 - strb r0, [r4, #0xd] - b _0805B1C0 - .align 2, 0 -_0805B194: .4byte gUnk_03000BF0 -_0805B198: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0805B1C0 - strb r5, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - ldrb r1, [r1, #5] - cmp r0, r1 - beq _0805B1C0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0805B1BC - ldr r2, _0805B1C4 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805B1C8 @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] -_0805B1BC: - bl sub_0805E780 -_0805B1C0: - pop {r4, r5, pc} - .align 2, 0 -_0805B1C4: .4byte gUnk_03000F50 -_0805B1C8: .4byte 0x0000F7FF - - thumb_func_start sub_0805B1CC -sub_0805B1CC: @ 0x0805B1CC - push {r4, r5, lr} - movs r5, #0 - movs r1, #0x20 - ldrsh r4, [r0, r1] - movs r2, #0x22 - ldrsh r1, [r0, r2] - ldrh r2, [r0, #0x24] - ldrh r3, [r0, #0x26] - adds r0, r4, #0 - bl sub_0806FBFC - cmp r0, #0 - beq _0805B20C - ldr r2, _0805B1FC @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - movs r0, #5 - ands r0, r1 - cmp r0, #5 - bne _0805B200 - movs r0, #0x80 - lsls r0, r0, #8 - orrs r1, r0 - str r1, [r2, #0x30] - b _0805B20C - .align 2, 0 -_0805B1FC: .4byte gUnk_03003F80 -_0805B200: - movs r0, #0x80 - lsls r0, r0, #8 - ands r1, r0 - cmp r1, #0 - beq _0805B20C - movs r5, #1 -_0805B20C: - adds r0, r5, #0 - pop {r4, r5, pc} - - thumb_func_start sub_0805B210 -sub_0805B210: @ 0x0805B210 - push {r4, r5, lr} - ldr r2, _0805B248 @ =gUnk_030010A0 - movs r1, #1 - strb r1, [r2, #8] - strb r1, [r2, #9] - movs r1, #4 - strb r1, [r2, #0xe] - ldrb r1, [r0, #0xa] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0805B24C @ =gUnk_08108764 - adds r4, r0, r1 - ldrb r0, [r4, #1] - strb r0, [r2, #0xc] - ldrb r0, [r4, #2] - strb r0, [r2, #0xd] - ldrb r0, [r4, #3] - strb r0, [r2, #0x14] - ldr r0, _0805B250 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - adds r5, r2, #0 - cmp r0, #0 - beq _0805B254 - movs r0, #6 - b _0805B256 - .align 2, 0 -_0805B248: .4byte gUnk_030010A0 -_0805B24C: .4byte gUnk_08108764 -_0805B250: .4byte gUnk_03003F80 -_0805B254: - movs r0, #2 -_0805B256: - strb r0, [r5, #0xf] - ldrb r0, [r4] - cmp r0, #1 - beq _0805B278 - cmp r0, #1 - bgt _0805B268 - cmp r0, #0 - beq _0805B26E - b _0805B2AC -_0805B268: - cmp r0, #2 - beq _0805B2A0 - b _0805B2AC -_0805B26E: - ldrh r0, [r4, #4] - strh r0, [r5, #0x10] - ldrh r0, [r4, #6] - strh r0, [r5, #0x12] - b _0805B2AC -_0805B278: - ldr r2, _0805B298 @ =gUnk_03001160 - ldr r3, _0805B29C @ =gUnk_03000BF0 - ldrh r0, [r2, #0x2e] - ldrh r1, [r3, #6] - subs r0, r0, r1 - ldrh r1, [r4, #4] - adds r0, r0, r1 - strh r0, [r5, #0x10] - ldrh r0, [r2, #0x32] - ldrh r1, [r3, #8] - subs r0, r0, r1 - ldrh r4, [r4, #6] - adds r0, r0, r4 - strh r0, [r5, #0x12] - b _0805B2AC - .align 2, 0 -_0805B298: .4byte gUnk_03001160 -_0805B29C: .4byte gUnk_03000BF0 -_0805B2A0: - ldrh r0, [r4, #4] - strh r0, [r5, #0x10] - ldrh r0, [r4, #6] - strh r0, [r5, #0x12] - movs r0, #6 - strb r0, [r5, #0xf] -_0805B2AC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805B2B0 -sub_0805B2B0: @ 0x0805B2B0 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _0805B31E - ldrh r1, [r5, #0x30] - ldr r6, _0805B320 @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r0, [r6, r2] - subs r1, r1, r0 - cmp r1, #0 - bge _0805B2CA - adds r1, #3 -_0805B2CA: - asrs r4, r1, #2 - ldrh r1, [r5, #0x32] - movs r7, #0xc - ldrsh r0, [r6, r7] - subs r1, r1, r0 - cmp r1, #0 - bge _0805B2DA - adds r1, #3 -_0805B2DA: - asrs r3, r1, #2 - movs r0, #0xc - rsbs r0, r0, #0 - cmp r4, r0 - bge _0805B2E6 - adds r4, r0, #0 -_0805B2E6: - cmp r4, #0xc - ble _0805B2EC - movs r4, #0xc -_0805B2EC: - cmp r3, r0 - bge _0805B2F2 - adds r3, r0, #0 -_0805B2F2: - cmp r3, #0xc - ble _0805B2F8 - movs r3, #0xc -_0805B2F8: - ldr r2, _0805B324 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r7, #0x80 - lsls r7, r7, #4 - adds r0, r7, #0 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r5, #0x34] - ldrh r1, [r6, #0xa] - adds r0, r0, r1 - adds r0, r0, r4 - strh r0, [r6, #0x2a] - strh r0, [r2, #0x2e] - ldrh r0, [r5, #0x36] - ldrh r7, [r6, #0xc] - adds r0, r0, r7 - adds r0, r0, r3 - strh r0, [r6, #0x2e] - strh r0, [r2, #0x30] -_0805B31E: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805B320: .4byte gUnk_03000BF0 -_0805B324: .4byte gUnk_03000F50 - - thumb_func_start sub_0805B328 -sub_0805B328: @ 0x0805B328 - push {r4, lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xb] - cmp r0, #0 - beq _0805B372 - ldrb r1, [r1, #0xa] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0805B374 @ =gUnk_08108764 - adds r0, r0, r1 - ldr r0, [r0, #0xc] - ldr r0, [r0] - ldr r1, _0805B378 @ =gUnk_085A2E80 - adds r0, r0, r1 - ldr r1, _0805B37C @ =0x0600F000 - movs r4, #0x80 - lsls r4, r4, #4 - adds r2, r4, #0 - bl sub_08000E96 - ldr r1, _0805B380 @ =gUnk_03000F50 - ldr r0, _0805B384 @ =0x00001E07 - strh r0, [r1, #0x2c] - ldrh r0, [r1] - orrs r4, r0 - strh r4, [r1] - ldr r2, _0805B388 @ =gUnk_03000BF0 - ldrh r0, [r2, #0x2a] - strh r0, [r1, #0x2e] - ldrh r0, [r2, #0x2e] - strh r0, [r1, #0x30] - adds r1, #0x66 - ldrh r2, [r1] - ldr r0, _0805B38C @ =0x0000FFF7 - ands r0, r2 - strh r0, [r1] -_0805B372: - pop {r4, pc} - .align 2, 0 -_0805B374: .4byte gUnk_08108764 -_0805B378: .4byte gUnk_085A2E80 -_0805B37C: .4byte 0x0600F000 -_0805B380: .4byte gUnk_03000F50 -_0805B384: .4byte 0x00001E07 -_0805B388: .4byte gUnk_03000BF0 -_0805B38C: .4byte 0x0000FFF7 - - thumb_func_start sub_0805B390 -sub_0805B390: @ 0x0805B390 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805E8D4 - adds r1, r0, #0 - cmp r1, #0 - beq _0805B3B0 - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x1a - strb r0, [r1, #9] - strb r4, [r1, #0xa] - adds r0, r1, #0 - movs r1, #6 - bl sub_0805EA2C -_0805B3B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805B3B4 -sub_0805B3B4: @ 0x0805B3B4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0805EABC - cmp r0, #0 - beq _0805B3C4 - bl sub_0805E780 -_0805B3C4: - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - ldr r1, _0805B438 @ =gUnk_08108C28 - adds r5, r0, r1 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805B41E - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0805B3F6 - ldr r1, _0805B43C @ =sub_0805B4B4 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_0805B3F6: - ldr r0, _0805B440 @ =gUnk_03000BF0 - ldrh r1, [r0, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - subs r1, r0, r1 - cmp r1, #0 - bge _0805B406 - movs r1, #0 -_0805B406: - movs r0, #2 - ldrsb r0, [r5, r0] - adds r0, r1, r0 - str r0, [r4, #0x20] - ldr r1, _0805B444 @ =gUnk_08108C54 - ldrb r0, [r5, #1] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 -_0805B41E: - ldr r0, _0805B440 @ =gUnk_03000BF0 - ldrh r0, [r0] - cmp r0, #0 - bne _0805B436 - ldr r0, _0805B444 @ =gUnk_08108C54 - ldrb r1, [r5, #1] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0805B436: - pop {r4, r5, pc} - .align 2, 0 -_0805B438: .4byte gUnk_08108C28 -_0805B43C: .4byte sub_0805B4B4 -_0805B440: .4byte gUnk_03000BF0 -_0805B444: .4byte gUnk_08108C54 - - thumb_func_start sub_0805B448 -sub_0805B448: @ 0x0805B448 - push {r4, lr} - ldr r4, _0805B46C @ =gUnk_03000F50 - ldr r3, _0805B470 @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r1, [r3, r2] - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #2 - strh r1, [r4, #0x2e] - movs r2, #0xc - ldrsh r1, [r3, r2] - ldrh r2, [r3, #8] - subs r1, r1, r2 - asrs r1, r1, #1 - ldr r0, [r0, #0x20] - adds r0, r0, r1 - strh r0, [r4, #0x30] - pop {r4, pc} - .align 2, 0 -_0805B46C: .4byte gUnk_03000F50 -_0805B470: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805B474 -sub_0805B474: @ 0x0805B474 - push {r4, r5, lr} - ldr r5, _0805B4A8 @ =gUnk_03000BF0 - movs r0, #0xc - ldrsh r1, [r5, r0] - ldrh r4, [r5, #8] - subs r1, r1, r4 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - ldrh r1, [r5, #0x20] - subs r1, #0xa0 - bl __divsi3 - ldr r2, _0805B4AC @ =gUnk_03000F50 - adds r4, r4, r0 - strh r4, [r2, #0x30] - ldrh r0, [r5, #0x1e] - ldr r1, _0805B4B0 @ =0xFFFFFF00 - adds r0, r0, r1 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - ldrh r1, [r5, #0xa] - subs r1, r1, r0 - strh r1, [r2, #0x2e] - pop {r4, r5, pc} - .align 2, 0 -_0805B4A8: .4byte gUnk_03000BF0 -_0805B4AC: .4byte gUnk_03000F50 -_0805B4B0: .4byte 0xFFFFFF00 - - thumb_func_start sub_0805B4B4 -sub_0805B4B4: @ 0x0805B4B4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl sub_0805B4D0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bne _0805B4C8 - bl sub_0806D0F8 -_0805B4C8: - adds r0, r4, #0 - bl sub_0805B3B4 - pop {r4, pc} - - thumb_func_start sub_0805B4D0 -sub_0805B4D0: @ 0x0805B4D0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0805B528 @ =gUnk_08108C5C - adds r0, r5, r0 - ldrb r0, [r0] - bl sub_0801D7EC - ldr r4, _0805B52C @ =gUnk_03000F50 - ldr r0, _0805B530 @ =0x00001E07 - strh r0, [r4, #0x2c] - ldrh r1, [r4] - movs r2, #0x80 - lsls r2, r2, #4 - adds r0, r2, #0 - orrs r0, r1 - strh r0, [r4] - ldr r2, _0805B534 @ =gUnk_03000BF0 - movs r1, #0xa - ldrsh r0, [r2, r1] - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #2 - strh r0, [r4, #0x2e] - movs r1, #0xc - ldrsh r0, [r2, r1] - ldrh r1, [r2, #8] - subs r0, r0, r1 - asrs r3, r0, #1 - ldrh r1, [r2, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - subs r2, r0, r1 - cmp r2, #0 - bge _0805B516 - movs r2, #0 -_0805B516: - ldr r0, _0805B538 @ =gUnk_08108C44 - lsls r1, r5, #1 - adds r1, r1, r0 - adds r0, r3, r2 - ldrh r1, [r1] - adds r0, r0, r1 - strh r0, [r4, #0x30] - pop {r4, r5, pc} - .align 2, 0 -_0805B528: .4byte gUnk_08108C5C -_0805B52C: .4byte gUnk_03000F50 -_0805B530: .4byte 0x00001E07 -_0805B534: .4byte gUnk_03000BF0 -_0805B538: .4byte gUnk_08108C44 - - thumb_func_start sub_0805B53C -sub_0805B53C: @ 0x0805B53C - push {lr} - ldr r2, _0805B550 @ =gUnk_08108C64 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805B550: .4byte gUnk_08108C64 - - thumb_func_start sub_0805B554 -sub_0805B554: @ 0x0805B554 - movs r1, #1 - strb r1, [r0, #0xc] - strb r1, [r0, #0xe] - bx lr - - thumb_func_start sub_0805B55C -sub_0805B55C: @ 0x0805B55C - push {r4, r5, lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805B5B4 - movs r0, #0xf - strb r0, [r1, #0xe] - movs r0, #0x19 - movs r1, #0 - bl sub_0804AA60 - adds r5, r0, #0 - cmp r5, #0 - beq _0805B5B4 - bl sub_08000E50 - ldr r4, _0805B5B8 @ =gUnk_03000BF0 - ldr r2, _0805B5BC @ =gUnk_08108C6C - movs r1, #7 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r1] - adds r0, #0x78 - ldrh r1, [r4, #0xa] - adds r0, r0, r1 - strh r0, [r5, #0x2e] - bl sub_08000E50 - ldr r2, _0805B5C0 @ =gUnk_08108C7C - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - adds r0, #0x50 - ldrh r4, [r4, #0xc] - adds r0, r0, r4 - strh r0, [r5, #0x32] - ldr r0, _0805B5C4 @ =0x0000FF38 - strh r0, [r5, #0x36] -_0805B5B4: - pop {r4, r5, pc} - .align 2, 0 -_0805B5B8: .4byte gUnk_03000BF0 -_0805B5BC: .4byte gUnk_08108C6C -_0805B5C0: .4byte gUnk_08108C7C -_0805B5C4: .4byte 0x0000FF38 - - thumb_func_start sub_0805B5C8 -sub_0805B5C8: @ 0x0805B5C8 - push {lr} - ldr r2, _0805B5DC @ =gUnk_08108C80 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805B5DC: .4byte gUnk_08108C80 - - thumb_func_start sub_0805B5E0 -sub_0805B5E0: @ 0x0805B5E0 - push {r4, r5, lr} - movs r4, #0 - movs r1, #1 - strb r1, [r0, #0xc] - ldr r3, _0805B618 @ =gUnk_03000F50 - ldrh r2, [r3] - movs r5, #0x80 - lsls r5, r5, #4 - adds r1, r5, #0 - orrs r1, r2 - strh r1, [r3] - ldr r2, _0805B61C @ =gUnk_08108C88 - ldrb r1, [r0, #0xa] - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - strh r1, [r3, #0x2c] - ldr r1, _0805B620 @ =gUnk_03000BF0 - str r4, [r1, #0x2c] - str r4, [r1, #0x28] - ldrb r0, [r0, #0xa] - cmp r0, #0 - beq _0805B612 - cmp r0, #1 - beq _0805B624 -_0805B612: - strh r4, [r3, #0x30] - strh r4, [r3, #0x2e] - b _0805B634 - .align 2, 0 -_0805B618: .4byte gUnk_03000F50 -_0805B61C: .4byte gUnk_08108C88 -_0805B620: .4byte gUnk_03000BF0 -_0805B624: - ldrh r0, [r1, #0x2a] - ldrh r2, [r1, #0xa] - adds r0, r0, r2 - strh r0, [r3, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r3, #0x30] -_0805B634: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805B638 -sub_0805B638: @ 0x0805B638 - push {lr} - ldrb r0, [r0, #0xa] - cmp r0, #1 - bne _0805B65E - ldr r1, _0805B660 @ =gUnk_03000BF0 - ldr r0, [r1, #0x28] - movs r2, #0x80 - lsls r2, r2, #6 - adds r0, r0, r2 - str r0, [r1, #0x28] - ldr r2, _0805B664 @ =gUnk_03000F50 - ldrh r0, [r1, #0x2a] - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] -_0805B65E: - pop {pc} - .align 2, 0 -_0805B660: .4byte gUnk_03000BF0 -_0805B664: .4byte gUnk_03000F50 - - thumb_func_start sub_0805B668 -sub_0805B668: @ 0x0805B668 - push {lr} - ldr r2, _0805B67C @ =gUnk_08108C8C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805B67C: .4byte gUnk_08108C8C - - thumb_func_start sub_0805B680 -sub_0805B680: @ 0x0805B680 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r1, [r4, #0x34] - lsrs r1, r1, #1 - strh r1, [r4, #0x34] - ldrh r0, [r4, #0x38] - adds r0, r0, r1 - strh r0, [r4, #0x38] - ldrh r1, [r4, #0x36] - lsrs r1, r1, #1 - strh r1, [r4, #0x36] - ldrh r0, [r4, #0x3a] - adds r0, r0, r1 - strh r0, [r4, #0x3a] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0805B6B8 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805B6B8 - adds r0, r4, #0 - bl sub_0805E900 - b _0805B6BE -_0805B6B8: - adds r0, r4, #0 - bl sub_0805B6C0 -_0805B6BE: - pop {r4, pc} - - thumb_func_start sub_0805B6C0 -sub_0805B6C0: @ 0x0805B6C0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r2, #0x3a - ldrsh r1, [r4, r2] - ldrh r2, [r4, #0x34] - ldrh r3, [r4, #0x36] - bl sub_0800293E - cmp r0, #0 - beq _0805B6EC - ldrh r0, [r4, #0x3e] - bl sub_0807CCC8 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0805B6F2 - adds r0, r4, #0 - bl sub_0805E900 - b _0805B6F2 -_0805B6EC: - ldrh r0, [r4, #0x3e] - bl sub_0807CD48 -_0805B6F2: - pop {r4, pc} - - thumb_func_start sub_0805B6F4 -sub_0805B6F4: @ 0x0805B6F4 - push {lr} - ldr r2, _0805B708 @ =gUnk_08108C94 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805B708: .4byte gUnk_08108C94 - - thumb_func_start sub_0805B70C -sub_0805B70C: @ 0x0805B70C - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805B71E - movs r0, #1 - strb r0, [r4, #0xb] -_0805B71E: - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r4, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4, #0x38] - adds r0, r4, #0 - bl sub_0805B778 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805B744 -sub_0805B744: @ 0x0805B744 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - adds r1, r0, #0 - cmp r1, #0 - beq _0805B766 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0805B774 - movs r0, #1 - strb r0, [r4, #0xb] - adds r0, r4, #0 - bl sub_0805B778 - b _0805B774 -_0805B766: - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _0805B774 - strb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_0805B778 -_0805B774: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805B778 -sub_0805B778: @ 0x0805B778 - push {lr} - ldr r2, _0805B79C @ =gUnk_08108C9C - ldrb r1, [r0, #0xa] - lsls r1, r1, #1 - ldrb r3, [r0, #0xb] - adds r1, r1, r3 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r3, [r1] - movs r2, #0x38 - ldrsh r1, [r0, r2] - adds r0, #0x36 - ldrb r2, [r0] - adds r0, r3, #0 - bl sub_0807B314 - pop {pc} - .align 2, 0 -_0805B79C: .4byte gUnk_08108C9C - - thumb_func_start sub_0805B7A0 -sub_0805B7A0: @ 0x0805B7A0 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - ldrb r1, [r5, #0xa] - ldrb r2, [r5, #0xb] - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0805B81A - ldrh r0, [r5, #0x3e] - adds r1, r4, #0 - adds r1, #0x86 - strh r0, [r1] - ldrh r0, [r5, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805B7EC - adds r0, r5, #0 - adds r0, #0x36 - ldrb r1, [r0] - adds r0, #1 - ldrb r2, [r0] - movs r0, #0xf - ands r0, r2 - lsls r0, r0, #8 - orrs r1, r0 - strh r1, [r4, #0x2e] - ldrh r1, [r5, #0x3c] - ldr r0, _0805B7E8 @ =0x00000FFF - ands r0, r1 - strh r0, [r4, #0x32] - ldrh r0, [r5, #0x3c] - lsrs r0, r0, #0xc - b _0805B7FC - .align 2, 0 -_0805B7E8: .4byte 0x00000FFF -_0805B7EC: - ldrh r0, [r5, #0x38] - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x3a] - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r0, #0x37 - ldrb r0, [r0] - lsrs r0, r0, #4 -_0805B7FC: - adds r1, r4, #0 - adds r1, #0x38 - strb r0, [r1] - ldr r0, _0805B81C @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - ldrh r2, [r4, #0x2e] - adds r1, r1, r2 - strh r1, [r4, #0x2e] - ldrh r0, [r0, #8] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r0, r5, #0 - bl sub_0805E900 -_0805B81A: - pop {r4, r5, pc} - .align 2, 0 -_0805B81C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805B820 -sub_0805B820: @ 0x0805B820 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldrb r1, [r5, #0xc] - cmp r1, #0 - bne _0805B834 - movs r0, #1 - strb r0, [r5, #0xc] - str r1, [r5, #0x20] -_0805B834: - ldrb r0, [r5, #0xa] - bl sub_0804B128 - adds r4, r0, #0 - movs r7, #0 - ldrh r0, [r4] - cmp r0, #0 - beq _0805B8C4 - ldr r0, _0805B8A8 @ =gUnk_03000BF0 - mov r8, r0 -_0805B848: - ldrh r0, [r4] - ldrh r1, [r4, #2] - movs r2, #4 - movs r3, #4 - bl sub_0800290E - cmp r0, #0 - beq _0805B8AC - movs r6, #1 - lsls r6, r7 - ldr r0, [r5, #0x20] - ands r0, r6 - cmp r0, #0 - bne _0805B8B6 - ldrh r0, [r4, #4] - bl sub_0805B8CC - cmp r0, #0 - beq _0805B8B6 - movs r0, #0x4e - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0805B8B6 - ldrh r0, [r4, #6] - strb r0, [r1, #0xe] - strb r7, [r1, #0xf] - ldrh r0, [r4] - mov r2, r8 - ldrh r2, [r2, #6] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - ldrh r0, [r4, #2] - mov r3, r8 - ldrh r3, [r3, #8] - adds r0, r0, r3 - strh r0, [r1, #0x32] - str r5, [r1, #0x50] - adds r0, r1, #0 - bl sub_08016A30 - ldr r0, [r5, #0x20] - orrs r0, r6 - b _0805B8B4 - .align 2, 0 -_0805B8A8: .4byte gUnk_03000BF0 -_0805B8AC: - movs r1, #1 - lsls r1, r7 - ldr r0, [r5, #0x20] - bics r0, r1 -_0805B8B4: - str r0, [r5, #0x20] -_0805B8B6: - adds r4, #8 - adds r7, #1 - ldrh r0, [r4] - cmp r0, #0 - beq _0805B8C4 - cmp r7, #0x1f - bls _0805B848 -_0805B8C4: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0805B8CC -sub_0805B8CC: @ 0x0805B8CC - push {lr} - cmp r0, #4 - bne _0805B8DA - movs r0, #0x18 - bl sub_0807CC30 - b _0805B8E8 -_0805B8DA: - cmp r0, #4 - bls _0805B8E6 - cmp r0, #6 - bhi _0805B8E6 - movs r0, #0 - b _0805B8E8 -_0805B8E6: - movs r0, #1 -_0805B8E8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805B8EC -sub_0805B8EC: @ 0x0805B8EC - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r4, _0805B964 @ =gUnk_02033A90 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805B90A - bl sub_0801E104 - ldr r2, _0805B968 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805B96C @ =0x0000D7FF - ands r0, r1 - strh r0, [r2] - bl sub_0805E780 -_0805B90A: - ldrb r2, [r5, #0xc] - cmp r2, #0 - bne _0805B934 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r5, #0x10] - movs r0, #0x11 - strb r0, [r5, #0xe] - str r2, [r5, #0x20] - adds r0, r5, #0 - movs r1, #6 - bl sub_0805E3A0 - bl sub_0801E120 - ldrb r0, [r5, #0xe] - bl sub_0801E154 -_0805B934: - ldr r0, _0805B970 @ =gUnk_03001000 - ldrb r0, [r0, #4] - cmp r0, #2 - bne _0805B952 - ldr r2, _0805B968 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - bl sub_0805BA78 - bl sub_0805BAD4 -_0805B952: - ldrb r0, [r4, #0xc] - cmp r0, #2 - bne _0805B978 - ldr r2, _0805B968 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805B974 @ =0x0000DFFF - ands r0, r1 - strh r0, [r2] - b _0805BA6C - .align 2, 0 -_0805B964: .4byte gUnk_02033A90 -_0805B968: .4byte gUnk_03000F50 -_0805B96C: .4byte 0x0000D7FF -_0805B970: .4byte gUnk_03001000 -_0805B974: .4byte 0x0000DFFF -_0805B978: - ldr r3, _0805B9A8 @ =gUnk_03001160 - movs r4, #0x2e - ldrsh r0, [r3, r4] - ldr r2, _0805B9AC @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - movs r6, #0x32 - ldrsh r1, [r3, r6] - ldrh r2, [r2, #8] - subs r1, r1, r2 - movs r2, #0 - movs r3, #0 - bl sub_0800290E - cmp r0, #0 - beq _0805B9B4 - ldr r2, _0805B9B0 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #6 - adds r0, r3, #0 - orrs r0, r1 - b _0805B9BC - .align 2, 0 -_0805B9A8: .4byte gUnk_03001160 -_0805B9AC: .4byte gUnk_03000BF0 -_0805B9B0: .4byte gUnk_03000F50 -_0805B9B4: - ldr r2, _0805B9E8 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805B9EC @ =0x0000DFFF - ands r0, r1 -_0805B9BC: - strh r0, [r2] - ldrb r4, [r5, #0xe] - ldr r0, _0805B9F0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0805BA2C - ldr r0, _0805B9F4 @ =gUnk_02033A90 - ldrb r0, [r0, #0xc] - cmp r0, #0 - beq _0805BA2C - cmp r4, #0x47 - bhi _0805B9F8 - adds r4, #4 - adds r0, r4, #0 - bl sub_0801E154 - movs r0, #0 - str r0, [r5, #0x20] - b _0805BA42 - .align 2, 0 -_0805B9E8: .4byte gUnk_03000F50 -_0805B9EC: .4byte 0x0000DFFF -_0805B9F0: .4byte gUnk_03003F80 -_0805B9F4: .4byte gUnk_02033A90 -_0805B9F8: - ldr r0, _0805BA24 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0805BA42 - ldrb r0, [r5, #0xf] - adds r0, #0x10 - strb r0, [r5, #0xf] - ldr r1, _0805BA28 @ =gUnk_080C9160 - ldrb r0, [r5, #0xf] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r6, #0 - ldrsh r0, [r0, r6] - asrs r0, r0, #7 - str r0, [r5, #0x20] - adds r0, r4, r0 - bl sub_0801E154 - b _0805BA42 - .align 2, 0 -_0805BA24: .4byte gUnk_030010A0 -_0805BA28: .4byte gUnk_080C9160 -_0805BA2C: - movs r0, #0 - str r0, [r5, #0x20] - cmp r4, #0x11 - bls _0805BA42 - subs r4, #4 - cmp r4, #0x10 - bhi _0805BA3C - movs r4, #0x11 -_0805BA3C: - adds r0, r4, #0 - bl sub_0801E154 -_0805BA42: - strb r4, [r5, #0xe] - ldr r3, _0805BA70 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r3, r1] - ldr r2, _0805BA74 @ =gUnk_03000BF0 - movs r6, #0xa - ldrsh r1, [r2, r6] - subs r0, r0, r1 - movs r6, #0x32 - ldrsh r1, [r3, r6] - movs r6, #0xc - ldrsh r2, [r2, r6] - subs r1, r1, r2 - movs r6, #0x36 - ldrsh r2, [r3, r6] - subs r2, #9 - adds r1, r1, r2 - ldr r2, [r5, #0x20] - adds r2, r4, r2 - bl sub_0801E160 -_0805BA6C: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805BA70: .4byte gUnk_03001160 -_0805BA74: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805BA78 -sub_0805BA78: @ 0x0805BA78 - push {r4, lr} - ldr r1, _0805BAA8 @ =gUnk_02033A90 - movs r0, #0xa - ldrsh r3, [r1, r0] - ldr r0, _0805BAAC @ =gUnk_02034350 - movs r4, #0xc - ldrsh r2, [r0, r4] - cmp r2, #0 - bge _0805BA8C - movs r2, #0 -_0805BA8C: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r2, r0 - ble _0805BA96 - adds r2, r0, #0 -_0805BA96: - cmp r3, r2 - beq _0805BACE - subs r0, r2, r3 - cmp r0, #0 - blt _0805BAB0 - cmp r0, #4 - bls _0805BAB6 - b _0805BABA - .align 2, 0 -_0805BAA8: .4byte gUnk_02033A90 -_0805BAAC: .4byte gUnk_02034350 -_0805BAB0: - subs r0, r3, r2 - cmp r0, #4 - bhi _0805BABA -_0805BAB6: - adds r3, r2, #0 - b _0805BAC8 -_0805BABA: - cmp r2, r3 - bge _0805BAC2 - subs r3, #4 - b _0805BAC8 -_0805BAC2: - cmp r2, r3 - ble _0805BAC8 - adds r3, #4 -_0805BAC8: - strh r3, [r1, #0xa] - movs r0, #1 - b _0805BAD0 -_0805BACE: - movs r0, #0 -_0805BAD0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BAD4 -sub_0805BAD4: @ 0x0805BAD4 - push {lr} - ldr r3, _0805BAF4 @ =gUnk_02033A90 - ldrb r0, [r3, #0xc] - cmp r0, #0 - beq _0805BAF2 - ldr r1, _0805BAF8 @ =gUnk_03000F50 - ldr r2, _0805BAFC @ =gUnk_08108CA8 - ldrh r0, [r3, #0xa] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, #0x68 - strh r0, [r1] -_0805BAF2: - pop {pc} - .align 2, 0 -_0805BAF4: .4byte gUnk_02033A90 -_0805BAF8: .4byte gUnk_03000F50 -_0805BAFC: .4byte gUnk_08108CA8 - - thumb_func_start sub_0805BB00 -sub_0805BB00: @ 0x0805BB00 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r0, _0805BB50 @ =gUnk_02033A90 - ldrb r0, [r0, #0xc] - cmp r0, #0 - bne _0805BB28 - bl sub_0805E8D4 - adds r1, r0, #0 - cmp r1, #0 - beq _0805BB28 - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x22 - strb r0, [r1, #9] - adds r0, r1, #0 - movs r1, #0 - bl sub_0805EA2C -_0805BB28: - ldr r1, _0805BB54 @ =0x0600F000 - movs r2, #0x80 - lsls r2, r2, #4 - movs r0, #0xf - bl sub_0801D5EC - ldr r0, _0805BB58 @ =gUnk_03000F50 - ldr r1, _0805BB5C @ =0x00001E0C - strh r1, [r0, #0x2c] - adds r0, #0x66 - ldr r1, _0805BB60 @ =0x00003E48 - strh r1, [r0] - ldr r0, _0805BB64 @ =gUnk_02034350 - strh r4, [r0, #0xc] - cmp r5, #0 - beq _0805BB68 - ldr r1, _0805BB50 @ =gUnk_02033A90 - movs r0, #1 - b _0805BB6C - .align 2, 0 -_0805BB50: .4byte gUnk_02033A90 -_0805BB54: .4byte 0x0600F000 -_0805BB58: .4byte gUnk_03000F50 -_0805BB5C: .4byte 0x00001E0C -_0805BB60: .4byte 0x00003E48 -_0805BB64: .4byte gUnk_02034350 -_0805BB68: - ldr r1, _0805BB70 @ =gUnk_02033A90 - movs r0, #2 -_0805BB6C: - strb r0, [r1, #0xc] - pop {r4, r5, pc} - .align 2, 0 -_0805BB70: .4byte gUnk_02033A90 - - thumb_func_start sub_0805BB74 -sub_0805BB74: @ 0x0805BB74 - push {lr} - adds r1, r0, #0 - ldr r2, _0805BBB0 @ =gUnk_02034350 - cmp r1, #0 - bge _0805BB82 - movs r0, #0xc - ldrsh r1, [r2, r0] -_0805BB82: - ldr r0, _0805BBB4 @ =gUnk_02033A90 - strh r1, [r0, #0xa] - strh r1, [r2, #0xc] - movs r0, #9 - movs r1, #0x22 - bl sub_0805EB9C - cmp r0, #0 - beq _0805BBAE - bl sub_0805B8EC - ldr r0, _0805BBB8 @ =gUnk_03000F50 - ldrh r1, [r0] - movs r3, #0x80 - lsls r3, r3, #4 - adds r2, r3, #0 - orrs r1, r2 - strh r1, [r0] - bl sub_0805BA78 - bl sub_0805BAD4 -_0805BBAE: - pop {pc} - .align 2, 0 -_0805BBB0: .4byte gUnk_02034350 -_0805BBB4: .4byte gUnk_02033A90 -_0805BBB8: .4byte gUnk_03000F50 - - thumb_func_start sub_0805BBBC -sub_0805BBBC: @ 0x0805BBBC - push {r4, lr} - movs r4, #0 - ldr r2, _0805BBF8 @ =gUnk_02033A90 - ldrb r0, [r2, #0xc] - cmp r0, #0 - beq _0805BBF2 - ldr r0, _0805BBFC @ =gUnk_02034350 - movs r3, #0xc - ldrsh r1, [r0, r3] - movs r3, #0xa - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _0805BBF2 - ldr r2, _0805BC00 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - bl sub_0805BA78 - adds r4, r0, #0 - cmp r4, #0 - beq _0805BBF2 - bl sub_0805BAD4 -_0805BBF2: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_0805BBF8: .4byte gUnk_02033A90 -_0805BBFC: .4byte gUnk_02034350 -_0805BC00: .4byte gUnk_03000F50 - - thumb_func_start sub_0805BC04 -sub_0805BC04: @ 0x0805BC04 - push {r4, lr} - movs r4, #0 - ldr r2, _0805BC40 @ =gUnk_02033A90 - ldrb r0, [r2, #0xc] - cmp r0, #0 - beq _0805BC3A - ldr r0, _0805BC44 @ =gUnk_02034350 - movs r3, #0xc - ldrsh r1, [r0, r3] - movs r3, #0xa - ldrsh r0, [r2, r3] - cmp r1, r0 - ble _0805BC3A - ldr r2, _0805BC48 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - bl sub_0805BA78 - adds r4, r0, #0 - cmp r4, #0 - beq _0805BC3A - bl sub_0805BAD4 -_0805BC3A: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_0805BC40: .4byte gUnk_02033A90 -_0805BC44: .4byte gUnk_02034350 -_0805BC48: .4byte gUnk_03000F50 - - thumb_func_start sub_0805BC4C -sub_0805BC4C: @ 0x0805BC4C - push {lr} - ldr r1, _0805BC68 @ =gUnk_02033A90 - ldrb r0, [r1, #0xc] - cmp r0, #0 - beq _0805BC64 - movs r0, #0 - strb r0, [r1, #0xc] - ldr r2, _0805BC6C @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805BC70 @ =0x0000D7FF - ands r0, r1 - strh r0, [r2] -_0805BC64: - pop {pc} - .align 2, 0 -_0805BC68: .4byte gUnk_02033A90 -_0805BC6C: .4byte gUnk_03000F50 -_0805BC70: .4byte 0x0000D7FF - - thumb_func_start sub_0805BC74 -sub_0805BC74: @ 0x0805BC74 - push {lr} - ldr r2, _0805BC88 @ =gUnk_08108CCC - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805BC88: .4byte gUnk_08108CCC - - thumb_func_start sub_0805BC8C -sub_0805BC8C: @ 0x0805BC8C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805BCAE - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805BCAE - adds r0, r4, #0 - bl sub_0805BE94 -_0805BCAE: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805BCD0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805BCD0 - adds r0, r4, #0 - bl sub_0805BEC4 - adds r0, r4, #0 - bl sub_0805BE94 -_0805BCD0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BCD4 -sub_0805BCD4: @ 0x0805BCD4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0805BD0E - cmp r0, #1 - bgt _0805BCE8 - cmp r0, #0 - beq _0805BCEE - b _0805BD5A -_0805BCE8: - cmp r0, #2 - beq _0805BD38 - b _0805BD5A -_0805BCEE: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805BD5A - adds r0, r4, #0 - movs r1, #0x75 - bl sub_0805BE70 - movs r0, #2 - strb r0, [r4, #0xc] - b _0805BD5A -_0805BD0E: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805BD5A - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805BD5A - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_0805BEC4 - adds r0, r4, #0 - movs r1, #0x76 - bl sub_0805BE70 - b _0805BD5A -_0805BD38: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - bne _0805BD5A - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805BD5A - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0x75 - bl sub_0805BE70 -_0805BD5A: - pop {r4, pc} - - thumb_func_start sub_0805BD5C -sub_0805BD5C: @ 0x0805BD5C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805BD94 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805BD76 - adds r0, r4, #0 - bl sub_0805BE94 -_0805BD76: - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r4, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4, #0x20] - movs r0, #1 - strb r0, [r4, #0xc] - b _0805BDB0 -_0805BD94: - ldrh r0, [r4, #0x20] - ldrb r1, [r4, #0xb] - bl sub_080002B0 - cmp r0, #0x76 - bne _0805BDB0 - ldrh r0, [r4, #0x3e] - bl sub_0807CCC8 - ldrb r0, [r4, #0xe] - bl sub_0805308C - bl sub_0805E780 -_0805BDB0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BDB4 -sub_0805BDB4: @ 0x0805BDB4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _0805BDF4 - cmp r0, #1 - beq _0805BE2C - ldrh r0, [r4, #0x22] - subs r0, #1 - strh r0, [r4, #0x22] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805BE58 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r2, #0x3a - ldrsh r1, [r4, r2] - ldrb r2, [r4, #0xb] - bl sub_080A29C8 - ldrh r0, [r4, #0x3e] - bl sub_0807CD48 - ldrh r0, [r4, #0x20] - ldrb r1, [r4, #0xb] - bl sub_0807BA8C - ldrb r0, [r4, #0xe] - rsbs r0, r0, #0 - bl sub_0805308C - b _0805BE26 -_0805BDF4: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - bne _0805BE08 - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805BE0E -_0805BE08: - adds r0, r4, #0 - bl sub_0805BE94 -_0805BE0E: - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r4, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4, #0x20] -_0805BE26: - movs r0, #1 - strb r0, [r4, #0xc] - b _0805BE6C -_0805BE2C: - ldrh r0, [r4, #0x20] - ldrb r1, [r4, #0xb] - bl sub_080002B0 - cmp r0, #0x76 - bne _0805BE6C - ldrh r0, [r4, #0x3e] - bl sub_0807CCC8 - ldrb r0, [r4, #0xe] - bl sub_0805308C - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x36 - ldrb r1, [r0] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - strh r0, [r4, #0x22] - b _0805BE6C -_0805BE58: - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805BE6C - adds r0, r4, #0 - bl sub_0805BEC4 - bl sub_0805E780 -_0805BE6C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BE70 -sub_0805BE70: @ 0x0805BE70 - push {r4, lr} - adds r4, r1, #0 - ldrh r1, [r0, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r3, #0x3f - ands r1, r3 - ldrh r2, [r0, #0x3a] - lsls r2, r2, #0x10 - asrs r2, r2, #0x14 - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r0, #0xb] - adds r0, r4, #0 - bl sub_0807B314 - pop {r4, pc} - - thumb_func_start sub_0805BE94 -sub_0805BE94: @ 0x0805BE94 - push {r4, lr} - adds r4, r0, #0 - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r4, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - ldrb r2, [r4, #0xb] - movs r0, #0x76 - bl sub_0807B314 - ldrb r0, [r4, #0xe] - bl sub_0805308C - bl sub_0805E780 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BEC4 -sub_0805BEC4: @ 0x0805BEC4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x2a - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805BF10 - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2, #0x11] - ldr r1, _0805BF14 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r1, [r4, #0x3a] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldrb r1, [r4, #0xb] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2] -_0805BF10: - pop {r4, pc} - .align 2, 0 -_0805BF14: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805BF18 -sub_0805BF18: @ 0x0805BF18 - push {lr} - ldr r2, _0805BF2C @ =gUnk_08108CDC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805BF2C: .4byte gUnk_08108CDC - - thumb_func_start sub_0805BF30 -sub_0805BF30: @ 0x0805BF30 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r4, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4, #0x3c] - ldrh r0, [r4, #0x3c] - adds r1, r4, #0 - adds r1, #0x35 - ldrb r1, [r1] - bl sub_0805BFC4 - strb r0, [r4, #0xa] - ldrh r0, [r4, #0x3e] - bl sub_0807CBD0 - cmp r0, #0 - beq _0805BF74 - adds r0, r4, #0 - bl sub_0805C02C - adds r0, r4, #0 - bl sub_0805E900 -_0805BF74: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BF78 -sub_0805BF78: @ 0x0805BF78 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3c] - adds r1, r4, #0 - adds r1, #0x35 - ldrb r1, [r1] - bl sub_080002C8 - cmp r0, #0x2e - beq _0805BFA0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0805C02C - ldrh r0, [r4, #0x3e] - bl sub_0807CCB4 -_0805BFA0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BFA4 -sub_0805BFA4: @ 0x0805BFA4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805BFC0 - movs r0, #0x72 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_0805E900 -_0805BFC0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BFC4 -sub_0805BFC4: @ 0x0805BFC4 - push {lr} - bl sub_080002B0 - adds r1, r0, #0 - cmp r1, #0xec - beq _0805C018 - cmp r1, #0xec - bhi _0805BFEC - cmp r1, #0xbf - beq _0805C024 - cmp r1, #0xbf - bhi _0805BFE2 - cmp r1, #0xaf - beq _0805C014 - b _0805C028 -_0805BFE2: - cmp r1, #0xcc - beq _0805C01C - cmp r1, #0xdf - beq _0805C020 - b _0805C028 -_0805BFEC: - movs r0, #0x84 - lsls r0, r0, #1 - cmp r1, r0 - beq _0805C01C - cmp r1, r0 - bhi _0805C004 - cmp r1, #0xff - beq _0805C014 - subs r0, #3 - cmp r1, r0 - beq _0805C024 - b _0805C028 -_0805C004: - movs r0, #0x88 - lsls r0, r0, #1 - cmp r1, r0 - beq _0805C020 - adds r0, #5 - cmp r1, r0 - beq _0805C018 - b _0805C028 -_0805C014: - movs r0, #0 - b _0805C02A -_0805C018: - movs r0, #1 - b _0805C02A -_0805C01C: - movs r0, #2 - b _0805C02A -_0805C020: - movs r0, #3 - b _0805C02A -_0805C024: - movs r0, #4 - b _0805C02A -_0805C028: - movs r0, #0xff -_0805C02A: - pop {pc} - - thumb_func_start sub_0805C02C -sub_0805C02C: @ 0x0805C02C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0xff - beq _0805C04A - ldr r0, _0805C04C @ =gUnk_08108CE8 - ldrb r2, [r1, #0xa] - lsls r2, r2, #2 - adds r2, r2, r0 - ldrh r0, [r1, #0x3c] - adds r1, #0x35 - ldrb r1, [r1] - ldr r2, [r2] - bl _call_via_r2 -_0805C04A: - pop {pc} - .align 2, 0 -_0805C04C: .4byte gUnk_08108CE8 - - thumb_func_start sub_0805C050 -sub_0805C050: @ 0x0805C050 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r1, r5, #0 - subs r1, #0x41 - movs r0, #0xb1 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x40 - movs r0, #0xb2 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x3f - movs r0, #0xb3 - adds r2, r4, #0 - bl sub_0807B314 - subs r1, r5, #1 - movs r0, #0xb4 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #1 - movs r0, #0xb7 - adds r2, r4, #0 - bl sub_0807B314 - cmp r4, #1 - bne _0805C11C - bl sub_08052670 - cmp r0, #0 - beq _0805C0D8 - movs r0, #0x4f - movs r1, #0xe - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0805C0E0 - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - adds r0, #8 - ldr r2, _0805C0D0 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r1, r1, r0 - strh r1, [r3, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - ldr r1, _0805C0D4 @ =0x0000FFF8 - adds r0, r0, r1 - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r3, #0x32] - b _0805C0E0 - .align 2, 0 -_0805C0D0: .4byte gUnk_03000BF0 -_0805C0D4: .4byte 0x0000FFF8 -_0805C0D8: - bl sub_08052660 - cmp r0, #0 - beq _0805C0EC -_0805C0E0: - movs r0, #0xb5 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - b _0805C0F6 -_0805C0EC: - movs r0, #0xb6 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 -_0805C0F6: - adds r1, r5, #0 - subs r1, #0x41 - movs r0, #0xb8 - movs r2, #2 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x40 - movs r0, #0xb9 - movs r2, #2 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x3f - movs r0, #0xba - movs r2, #2 - bl sub_0807B314 - b _0805C16E -_0805C11C: - movs r0, #0xb5 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - bl sub_08052660 - cmp r0, #0 - beq _0805C16E - bl sub_0805C608 - adds r1, r0, #0 - movs r0, #0x4f - movs r2, #6 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0805C16E - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - adds r0, #8 - ldr r2, _0805C170 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r1, r1, r0 - strh r1, [r3, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - ldr r1, _0805C174 @ =0x0000FFF0 - adds r0, r0, r1 - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r3, #0x32] - adds r1, r3, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] -_0805C16E: - pop {r4, r5, pc} - .align 2, 0 -_0805C170: .4byte gUnk_03000BF0 -_0805C174: .4byte 0x0000FFF0 - - thumb_func_start sub_0805C178 -sub_0805C178: @ 0x0805C178 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r1, r5, #0 - subs r1, #0x40 - movs r0, #0xf1 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x3f - movs r0, #0xf5 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #1 - movs r0, #0xf6 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x40 - movs r0, #0xf4 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x41 - movs r0, #0xf7 - adds r2, r4, #0 - bl sub_0807B314 - cmp r4, #1 - bne _0805C23E - bl sub_08052670 - cmp r0, #0 - beq _0805C1FC - movs r0, #0x4f - movs r1, #0xe - movs r2, #1 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805C204 - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - ldr r1, _0805C1F8 @ =gUnk_03000BF0 - adds r0, #0x18 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - adds r0, #8 - ldrh r1, [r1, #8] - adds r1, r1, r0 - strh r1, [r2, #0x32] - b _0805C204 - .align 2, 0 -_0805C1F8: .4byte gUnk_03000BF0 -_0805C1FC: - bl sub_08052660 - cmp r0, #0 - beq _0805C210 -_0805C204: - movs r0, #0xf2 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - b _0805C21A -_0805C210: - movs r0, #0xf3 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 -_0805C21A: - adds r1, r5, #0 - subs r1, #0x3f - movs r0, #0xf8 - movs r2, #2 - bl sub_0807B314 - adds r1, r5, #1 - movs r0, #0xf9 - movs r2, #2 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x41 - movs r0, #0xfa - movs r2, #2 - bl sub_0807B314 - b _0805C28E -_0805C23E: - movs r0, #0xf2 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - bl sub_08052660 - cmp r0, #0 - beq _0805C28E - bl sub_0805C608 - adds r1, r0, #0 - movs r0, #0x4f - movs r2, #7 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805C28E - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - ldr r1, _0805C290 @ =gUnk_03000BF0 - adds r0, #0x20 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - adds r0, #8 - ldrh r1, [r1, #8] - adds r1, r1, r0 - strh r1, [r2, #0x32] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] -_0805C28E: - pop {r4, r5, pc} - .align 2, 0 -_0805C290: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805C294 -sub_0805C294: @ 0x0805C294 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - subs r1, r5, #1 - movs r0, #0xd1 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #1 - movs r0, #0xd4 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0xd5 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x40 - movs r0, #0xd6 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x41 - movs r0, #0xd7 - adds r2, r4, #0 - bl sub_0807B314 - cmp r4, #1 - bne _0805C35C - bl sub_08052670 - cmp r0, #0 - beq _0805C318 - movs r0, #0x4f - movs r1, #0xe - movs r2, #2 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0805C320 - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - adds r0, #8 - ldr r2, _0805C314 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r1, r1, r0 - strh r1, [r3, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - adds r0, #0x20 - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r3, #0x32] - b _0805C320 - .align 2, 0 -_0805C314: .4byte gUnk_03000BF0 -_0805C318: - bl sub_08052660 - cmp r0, #0 - beq _0805C32C -_0805C320: - movs r0, #0xd2 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - b _0805C336 -_0805C32C: - movs r0, #0xd3 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 -_0805C336: - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0xd8 - movs r2, #2 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x40 - movs r0, #0xd9 - movs r2, #2 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x41 - movs r0, #0xda - movs r2, #2 - bl sub_0807B314 - b _0805C3AC -_0805C35C: - movs r0, #0xd2 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - bl sub_08052660 - cmp r0, #0 - beq _0805C3AC - bl sub_0805C608 - adds r1, r0, #0 - movs r0, #0x4f - movs r2, #8 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0805C3AC - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - adds r0, #8 - ldr r2, _0805C3B0 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r1, r1, r0 - strh r1, [r3, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - adds r0, #0x20 - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r3, #0x32] - adds r1, r3, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] -_0805C3AC: - pop {r4, r5, pc} - .align 2, 0 -_0805C3B0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805C3B4 -sub_0805C3B4: @ 0x0805C3B4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r1, r5, #0 - subs r1, #0x41 - movs r0, #0xe1 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x40 - movs r0, #0xe4 - adds r2, r4, #0 - bl sub_0807B314 - subs r1, r5, #1 - movs r0, #0xe2 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0xe3 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x40 - movs r0, #0xe7 - adds r2, r4, #0 - bl sub_0807B314 - cmp r4, #1 - bne _0805C482 - bl sub_08052670 - cmp r0, #0 - beq _0805C440 - movs r0, #0x4f - movs r1, #0xe - movs r2, #3 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805C448 - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - ldr r1, _0805C438 @ =gUnk_03000BF0 - ldr r3, _0805C43C @ =0x0000FFF0 - adds r0, r0, r3 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - adds r0, #8 - ldrh r1, [r1, #8] - adds r1, r1, r0 - strh r1, [r2, #0x32] - b _0805C448 - .align 2, 0 -_0805C438: .4byte gUnk_03000BF0 -_0805C43C: .4byte 0x0000FFF0 -_0805C440: - bl sub_08052660 - cmp r0, #0 - beq _0805C454 -_0805C448: - movs r0, #0xe5 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - b _0805C45E -_0805C454: - movs r0, #0xe6 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 -_0805C45E: - adds r1, r5, #0 - subs r1, #0x41 - movs r0, #0xe8 - movs r2, #2 - bl sub_0807B314 - subs r1, r5, #1 - movs r0, #0xe9 - movs r2, #2 - bl sub_0807B314 - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0xea - movs r2, #2 - bl sub_0807B314 - b _0805C4D4 -_0805C482: - movs r0, #0xe5 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - bl sub_08052660 - cmp r0, #0 - beq _0805C4D4 - bl sub_0805C608 - adds r1, r0, #0 - movs r0, #0x4f - movs r2, #9 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805C4D4 - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - ldr r1, _0805C4D8 @ =gUnk_03000BF0 - ldr r3, _0805C4DC @ =0x0000FFF0 - adds r0, r0, r3 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - adds r0, #8 - ldrh r1, [r1, #8] - adds r1, r1, r0 - strh r1, [r2, #0x32] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] -_0805C4D4: - pop {r4, r5, pc} - .align 2, 0 -_0805C4D8: .4byte gUnk_03000BF0 -_0805C4DC: .4byte 0x0000FFF0 - - thumb_func_start sub_0805C4E0 -sub_0805C4E0: @ 0x0805C4E0 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r1, r5, #0 - subs r1, #0x41 - movs r0, #0xc1 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x40 - movs r0, #0xc2 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x3f - movs r0, #0xc3 - adds r2, r4, #0 - bl sub_0807B314 - subs r1, r5, #1 - movs r0, #0xc4 - adds r2, r4, #0 - bl sub_0807B314 - adds r1, r5, #1 - movs r0, #0xc7 - adds r2, r4, #0 - bl sub_0807B314 - cmp r4, #1 - bne _0805C5AC - bl sub_08052670 - cmp r0, #0 - beq _0805C568 - movs r0, #0x4f - movs r1, #0xe - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0805C570 - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - adds r0, #8 - ldr r2, _0805C560 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r1, r1, r0 - strh r1, [r3, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - ldr r1, _0805C564 @ =0x0000FFF0 - adds r0, r0, r1 - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r3, #0x32] - b _0805C570 - .align 2, 0 -_0805C560: .4byte gUnk_03000BF0 -_0805C564: .4byte 0x0000FFF0 -_0805C568: - bl sub_08052660 - cmp r0, #0 - beq _0805C57C -_0805C570: - movs r0, #0xc5 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - b _0805C586 -_0805C57C: - movs r0, #0xc6 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 -_0805C586: - adds r1, r5, #0 - subs r1, #0x41 - movs r0, #0xc8 - movs r2, #2 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x40 - movs r0, #0xc9 - movs r2, #2 - bl sub_0807B314 - adds r1, r5, #0 - subs r1, #0x3f - movs r0, #0xca - movs r2, #2 - bl sub_0807B314 - b _0805C5FE -_0805C5AC: - movs r0, #0xc5 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - bl sub_08052660 - cmp r0, #0 - beq _0805C5FE - bl sub_0805C608 - adds r1, r0, #0 - movs r0, #0x4f - movs r2, #6 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _0805C5FE - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - adds r0, #8 - ldr r2, _0805C600 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r1, r1, r0 - strh r1, [r3, #0x2e] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - ldr r1, _0805C604 @ =0x0000FFF0 - adds r0, r0, r1 - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r3, #0x32] - adds r1, r3, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] -_0805C5FE: - pop {r4, r5, pc} - .align 2, 0 -_0805C600: .4byte gUnk_03000BF0 -_0805C604: .4byte 0x0000FFF0 - - thumb_func_start sub_0805C608 -sub_0805C608: @ 0x0805C608 - ldr r1, _0805C614 @ =gUnk_08108CFC - ldr r0, _0805C618 @ =gUnk_02033A90 - ldrb r0, [r0, #3] - adds r0, r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0805C614: .4byte gUnk_08108CFC -_0805C618: .4byte gUnk_02033A90 - - thumb_func_start sub_0805C61C -sub_0805C61C: @ 0x0805C61C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805C674 - movs r0, #0x38 - ldrsh r1, [r4, r0] - ldr r2, _0805C668 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x3a - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4, #0x38] - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r1, #2 - bl sub_080002B0 - cmp r0, #0x75 - bne _0805C670 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0805C66C @ =0x0000406A - movs r2, #0x38 - ldrsh r1, [r4, r2] - movs r2, #1 - bl sub_0800015E - b _0805C674 - .align 2, 0 -_0805C668: .4byte gUnk_03000BF0 -_0805C66C: .4byte 0x0000406A -_0805C670: - bl sub_0805E780 -_0805C674: - movs r5, #0x38 - ldrsh r0, [r4, r5] - movs r1, #1 - bl sub_080002B0 - ldr r5, _0805C6B4 @ =0x0000406B - cmp r0, r5 - bne _0805C694 - movs r0, #0x38 - ldrsh r1, [r4, r0] - movs r0, #0x76 - movs r2, #2 - bl sub_0807B7D8 - bl sub_0805E780 -_0805C694: - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r1, #2 - bl sub_080002B0 - cmp r0, #0x76 - bne _0805C6B2 - movs r2, #0x38 - ldrsh r1, [r4, r2] - adds r0, r5, #0 - movs r2, #1 - bl sub_0800015E - bl sub_0805E780 -_0805C6B2: - pop {r4, r5, pc} - .align 2, 0 -_0805C6B4: .4byte 0x0000406B - - thumb_func_start sub_0805C6B8 -sub_0805C6B8: @ 0x0805C6B8 - push {lr} - ldr r2, _0805C6CC @ =gUnk_08108D04 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805C6CC: .4byte gUnk_08108D04 - - thumb_func_start sub_0805C6D0 -sub_0805C6D0: @ 0x0805C6D0 - push {r4, r5, r6, r7, lr} - sub sp, #4 - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - bl sub_0804B128 - adds r4, r0, #0 - cmp r4, #0 - bne _0805C6EA - adds r0, r5, #0 - bl sub_0805E900 - b _0805C79A -_0805C6EA: - ldr r3, _0805C784 @ =gUnk_03000BF0 - ldrh r0, [r3, #8] - ldrb r1, [r5, #0xe] - adds r0, r0, r1 - movs r1, #0 - strh r0, [r5, #0x2a] - strb r1, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x28 - strb r1, [r0] - adds r2, r5, #0 - adds r2, #0x29 - strb r1, [r2] - ldrb r0, [r4] - cmp r0, #0xff - beq _0805C778 - ldrb r0, [r5, #0xe] - cmp r0, #0x1f - bhi _0805C778 - adds r7, r3, #0 - movs r3, #1 - adds r6, r2, #0 -_0805C716: - ldrb r1, [r4, #1] - ldrb r2, [r4, #2] - movs r0, #0x4c - str r3, [sp] - bl sub_080A2960 - adds r2, r0, #0 - ldr r3, [sp] - cmp r2, #0 - beq _0805C762 - ldrb r0, [r4, #3] - strb r0, [r2, #0xe] - ldrh r0, [r4, #4] - ldrh r1, [r7, #6] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - ldrh r0, [r4, #6] - ldrh r1, [r7, #8] - adds r0, r0, r1 - strh r0, [r2, #0x32] - str r5, [r2, #0x50] - adds r0, r2, #0 - adds r0, #0x38 - strb r3, [r0] - ldrb r0, [r5, #0xe] - adds r1, r2, #0 - adds r1, #0x83 - strb r0, [r1] - ldrb r1, [r4] - adds r0, r2, #0 - adds r0, #0x82 - strb r1, [r0] - adds r0, r3, #0 - ldrb r1, [r5, #0xe] - lsls r0, r1 - ldrb r1, [r6] - orrs r0, r1 - strb r0, [r6] -_0805C762: - adds r4, #8 - ldrb r0, [r5, #0xe] - adds r1, r0, #1 - strb r1, [r5, #0xe] - ldrb r0, [r4] - cmp r0, #0xff - beq _0805C778 - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1f - bls _0805C716 -_0805C778: - ldrb r0, [r5, #0xb] - cmp r0, #0xff - bne _0805C788 - movs r0, #2 - b _0805C798 - .align 2, 0 -_0805C784: .4byte gUnk_03000BF0 -_0805C788: - ldrb r0, [r5, #0xb] - bl sub_0807CBD0 - cmp r0, #0 - beq _0805C796 - movs r0, #2 - b _0805C798 -_0805C796: - movs r0, #1 -_0805C798: - strb r0, [r5, #0xc] -_0805C79A: - add sp, #4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0805C7A0 -sub_0805C7A0: @ 0x0805C7A0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x28 - adds r1, r4, #0 - adds r1, #0x29 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _0805C7BC - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xb] - bl sub_0807CCB4 -_0805C7BC: - adds r0, r4, #0 - bl sub_0805C7CC - pop {r4, pc} - - thumb_func_start sub_0805C7C4 -sub_0805C7C4: @ 0x0805C7C4 - push {lr} - bl sub_0805C7CC - pop {pc} - - thumb_func_start sub_0805C7CC -sub_0805C7CC: @ 0x0805C7CC - push {lr} - adds r2, r0, #0 - ldr r0, _0805C7F0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0805C7FC - ldr r0, _0805C7F4 @ =gUnk_03001160 - movs r3, #0x32 - ldrsh r1, [r0, r3] - ldrh r0, [r2, #0x2a] - adds r0, #0x10 - cmp r1, r0 - bge _0805C7F8 - movs r0, #1 - b _0805C816 - .align 2, 0 -_0805C7F0: .4byte gUnk_03003F80 -_0805C7F4: .4byte gUnk_03001160 -_0805C7F8: - movs r0, #0 - b _0805C816 -_0805C7FC: - ldr r0, _0805C810 @ =gUnk_03001160 - movs r3, #0x32 - ldrsh r1, [r0, r3] - ldrh r0, [r2, #0x2a] - adds r0, #0x28 - cmp r1, r0 - bge _0805C814 - movs r0, #3 - b _0805C816 - .align 2, 0 -_0805C810: .4byte gUnk_03001160 -_0805C814: - movs r0, #2 -_0805C816: - strb r0, [r2, #0xd] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805C81C -sub_0805C81C: @ 0x0805C81C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805C854 @ =gUnk_08108D10 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - movs r0, #0xc0 - lsls r0, r0, #2 - ldrb r1, [r4, #0xa] - adds r1, #0x67 - bl sub_0807CB10 - cmp r0, #0 - beq _0805C85C - ldr r0, _0805C858 @ =gUnk_030010A0 - adds r0, #0xac - movs r1, #1 - ldrb r4, [r4, #0xa] - lsls r1, r4 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] - b _0805C86C - .align 2, 0 -_0805C854: .4byte gUnk_08108D10 -_0805C858: .4byte gUnk_030010A0 -_0805C85C: - ldr r2, _0805C870 @ =gUnk_030010A0 - adds r2, #0xac - movs r1, #1 - ldrb r4, [r4, #0xa] - lsls r1, r4 - ldrh r0, [r2] - bics r0, r1 - strh r0, [r2] -_0805C86C: - pop {r4, pc} - .align 2, 0 -_0805C870: .4byte gUnk_030010A0 - - thumb_func_start sub_0805C874 -sub_0805C874: @ 0x0805C874 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805C920 - cmp r0, #0 - beq _0805C884 - movs r0, #2 - b _0805C886 -_0805C884: - movs r0, #1 -_0805C886: - strb r0, [r4, #0xc] - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805C894 -sub_0805C894: @ 0x0805C894 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805C920 - cmp r0, #0 - beq _0805C8B0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xe] - movs r0, #0x8d - lsls r0, r0, #1 - bl sub_080A3268 -_0805C8B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805C8B4 -sub_0805C8B4: @ 0x0805C8B4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0805C8F4 - movs r0, #0x14 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - ands r0, r2 - cmp r0, #5 - bls _0805C8DA - strb r1, [r4, #0xf] -_0805C8DA: - ldr r1, _0805C904 @ =gUnk_08108D20 - ldrb r0, [r4, #0xf] - adds r0, r0, r1 - ldrb r0, [r0] - bl sub_0801D714 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0805C8F4 - movs r0, #0x8d - lsls r0, r0, #1 - bl sub_080A3268 -_0805C8F4: - adds r0, r4, #0 - bl sub_0805C920 - cmp r0, #0 - bne _0805C902 - movs r0, #3 - strb r0, [r4, #0xc] -_0805C902: - pop {r4, pc} - .align 2, 0 -_0805C904: .4byte gUnk_08108D20 - - thumb_func_start sub_0805C908 -sub_0805C908: @ 0x0805C908 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xf] - cmp r0, #0 - bne _0805C918 - movs r0, #1 - strb r0, [r1, #0xc] - b _0805C91E -_0805C918: - adds r0, r1, #0 - bl sub_0805C8B4 -_0805C91E: - pop {pc} - - thumb_func_start sub_0805C920 -sub_0805C920: @ 0x0805C920 - push {lr} - movs r2, #0xc0 - lsls r2, r2, #2 - ldrb r1, [r0, #0xa] - adds r1, #0x67 - adds r0, r2, #0 - bl sub_0807CB10 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805C934 -sub_0805C934: @ 0x0805C934 - push {lr} - ldr r2, _0805C948 @ =gUnk_08108D28 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805C948: .4byte gUnk_08108D28 - - thumb_func_start sub_0805C94C -sub_0805C94C: @ 0x0805C94C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0805C9B0 - adds r6, r4, #0 - adds r6, #0x20 - adds r1, r6, #0 - movs r2, #0 - adds r0, r4, #0 - adds r0, #0x3c -_0805C962: - str r2, [r0] - subs r0, #4 - cmp r0, r1 - bge _0805C962 - adds r0, r4, #0 - bl sub_0805CA6C - adds r5, r0, #0 - cmp r5, #1 - ble _0805C9A8 - bl sub_0805E8D4 - adds r2, r0, #0 - cmp r2, #0 - beq _0805C9A8 - movs r0, #9 - strb r0, [r2, #8] - movs r0, #0x28 - strb r0, [r2, #9] - movs r0, #1 - strb r0, [r2, #0xa] - strb r5, [r2, #0xe] - adds r1, r2, #0 - adds r1, #0x20 - adds r0, r6, #0 - ldm r0!, {r3, r5, r6} - stm r1!, {r3, r5, r6} - ldm r0!, {r3, r5, r6} - stm r1!, {r3, r5, r6} - ldm r0!, {r3, r5} - stm r1!, {r3, r5} - adds r0, r2, #0 - movs r1, #6 - bl sub_0805EA2C -_0805C9A8: - adds r0, r4, #0 - bl sub_0805E900 - b _0805C9B8 -_0805C9B0: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xf] -_0805C9B8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0805C9BC -sub_0805C9BC: @ 0x0805C9BC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #4 - adds r6, r0, #0 - bl sub_0805CB48 - ldrb r0, [r6, #0xe] - subs r0, #1 - mov sb, r0 - ldrb r1, [r6, #0xf] - adds r0, r1, #1 - strb r0, [r6, #0xf] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805CA22 - movs r2, #0 - cmp r2, sb - bge _0805CA62 - movs r0, #0x20 - adds r0, r0, r6 - mov r8, r0 -_0805C9EC: - lsls r1, r2, #2 - adds r0, r6, #0 - adds r0, #0x20 - adds r0, r0, r1 - ldr r3, [r0] - adds r4, r2, #1 - adds r5, r4, #0 - ldrb r1, [r6, #0xe] - cmp r5, r1 - bge _0805CA1A - lsls r0, r5, #2 - mov r1, r8 - adds r7, r0, r1 -_0805CA06: - ldm r7!, {r1} - adds r0, r3, #0 - str r3, [sp] - bl sub_08004484 - adds r4, #1 - ldr r3, [sp] - ldrb r0, [r6, #0xe] - cmp r4, r0 - blt _0805CA06 -_0805CA1A: - adds r2, r5, #0 - cmp r2, sb - blt _0805C9EC - b _0805CA62 -_0805CA22: - movs r2, #0 - cmp r2, sb - bge _0805CA62 - movs r1, #0x20 - adds r1, r1, r6 - mov r8, r1 -_0805CA2E: - lsls r1, r2, #2 - adds r0, r6, #0 - adds r0, #0x20 - adds r0, r0, r1 - ldr r3, [r0] - adds r4, r2, #1 - adds r5, r4, #0 - ldrb r0, [r6, #0xe] - cmp r5, r0 - bge _0805CA5C - lsls r0, r5, #2 - mov r1, r8 - adds r7, r0, r1 -_0805CA48: - ldm r7!, {r0} - adds r1, r3, #0 - str r3, [sp] - bl sub_08004484 - adds r4, #1 - ldr r3, [sp] - ldrb r0, [r6, #0xe] - cmp r4, r0 - blt _0805CA48 -_0805CA5C: - adds r2, r5, #0 - cmp r2, sb - blt _0805CA2E -_0805CA62: - add sp, #4 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805CA6C -sub_0805CA6C: @ 0x0805CA6C - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r5, #0 - ldrb r0, [r6, #0xb] - bl sub_0804B128 - adds r4, r0, #0 - cmp r4, #0 - bne _0805CACE - movs r0, #0 - b _0805CAE4 -_0805CA82: - movs r0, #8 - b _0805CAE4 -_0805CA86: - movs r0, #0xf - ands r0, r2 - cmp r0, #3 - bne _0805CACC - adds r0, r4, #0 - bl sub_0805CAF0 - adds r2, r0, #0 - cmp r2, #0 - beq _0805CACC - movs r3, #0 - cmp r3, r5 - bhs _0805CAB8 - ldr r0, [r6, #0x20] - cmp r0, r2 - beq _0805CAB8 - adds r1, r6, #0 - adds r1, #0x20 -_0805CAAA: - adds r1, #4 - adds r3, #1 - cmp r3, r5 - bhs _0805CAB8 - ldr r0, [r1] - cmp r0, r2 - bne _0805CAAA -_0805CAB8: - cmp r3, r5 - bne _0805CACC - lsls r1, r5, #2 - adds r0, r6, #0 - adds r0, #0x20 - adds r0, r0, r1 - str r2, [r0] - adds r5, #1 - cmp r5, #8 - beq _0805CA82 -_0805CACC: - adds r4, #0x10 -_0805CACE: - ldrb r2, [r4] - adds r0, r2, #0 - cmp r0, #0xff - beq _0805CAE2 - ldr r0, [r4] - ldr r1, _0805CAE8 @ =0x00FF000F - ands r0, r1 - ldr r1, _0805CAEC @ =0x00280009 - cmp r0, r1 - bne _0805CA86 -_0805CAE2: - adds r0, r5, #0 -_0805CAE4: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805CAE8: .4byte 0x00FF000F -_0805CAEC: .4byte 0x00280009 - - thumb_func_start sub_0805CAF0 -sub_0805CAF0: @ 0x0805CAF0 - push {r4, r5, r6, lr} - adds r3, r0, #0 - ldrh r1, [r3, #8] - ldr r2, _0805CB34 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - adds r5, r1, r0 - ldrh r1, [r3, #0xa] - ldrh r0, [r2, #8] - adds r4, r1, r0 - ldr r1, _0805CB38 @ =gUnk_03003D90 - ldr r2, [r1, #4] - cmp r2, r1 - beq _0805CB42 -_0805CB0A: - movs r6, #0x2e - ldrsh r0, [r2, r6] - cmp r5, r0 - bne _0805CB3C - movs r6, #0x32 - ldrsh r0, [r2, r6] - cmp r4, r0 - bne _0805CB3C - ldrb r0, [r3, #2] - ldrb r6, [r2, #9] - cmp r0, r6 - bne _0805CB3C - ldrb r0, [r2, #8] - cmp r0, #3 - bne _0805CB3C - ldrb r0, [r3, #3] - ldrb r6, [r2, #0xa] - cmp r0, r6 - bne _0805CB3C - adds r0, r2, #0 - b _0805CB44 - .align 2, 0 -_0805CB34: .4byte gUnk_03000BF0 -_0805CB38: .4byte gUnk_03003D90 -_0805CB3C: - ldr r2, [r2, #4] - cmp r2, r1 - bne _0805CB0A -_0805CB42: - movs r0, #0 -_0805CB44: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0805CB48 -sub_0805CB48: @ 0x0805CB48 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r5, #0 - ldrb r1, [r4, #0xe] - cmp r5, r1 - bge _0805CB84 - adds r3, r4, #0 - adds r3, #0x20 - adds r6, r3, #0 -_0805CB5A: - ldr r0, [r3] - ldr r2, [r0, #4] - cmp r2, #0 - bne _0805CB7A - subs r0, r1, #1 - cmp r0, r5 - bne _0805CB6C - str r2, [r3] - b _0805CB74 -_0805CB6C: - lsls r0, r0, #2 - adds r0, r6, r0 - ldr r0, [r0] - str r0, [r3] -_0805CB74: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] -_0805CB7A: - adds r3, #4 - adds r5, #1 - ldrb r1, [r4, #0xe] - cmp r5, r1 - blt _0805CB5A -_0805CB84: - ldrb r0, [r4, #0xe] - cmp r0, #1 - bhi _0805CB8E - bl sub_0805E780 -_0805CB8E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0805CB90 -sub_0805CB90: @ 0x0805CB90 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805CBB8 - adds r0, r4, #0 - bl sub_0805CBD0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805CBCE - adds r0, r4, #0 - bl sub_0805CC3C - adds r0, r4, #0 - bl sub_0805E900 - b _0805CBCE -_0805CBB8: - adds r0, r4, #0 - bl sub_0805CF80 - cmp r0, #0 - beq _0805CBCE - ldrh r0, [r4, #0x3e] - bl sub_0807CCC8 - adds r0, r4, #0 - bl sub_0805E900 -_0805CBCE: - pop {r4, pc} - - thumb_func_start sub_0805CBD0 -sub_0805CBD0: @ 0x0805CBD0 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - ldrh r1, [r5, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r3, #0x3f - ands r1, r3 - ldrh r0, [r5, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r5, #0x38] - ldrh r2, [r5, #0x3c] - lsrs r2, r2, #4 - ands r2, r3 - adds r0, r5, #0 - adds r0, #0x36 - ldrb r1, [r0] - adds r0, #1 - ldrb r0, [r0] - lsls r0, r0, #8 - adds r1, r1, r0 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r2, r1 - strh r2, [r5, #0x3a] - movs r1, #0x38 - ldrsh r0, [r5, r1] - adds r4, r5, #0 - adds r4, #0x34 - ldrb r1, [r4] - bl sub_080002B0 - strh r0, [r5, #0x3c] - ldrb r0, [r4] - bl sub_0808094C - ldr r2, _0805CC38 @ =0x00005004 - adds r1, r0, r2 - str r1, [r5, #0x28] - movs r2, #0x3a - ldrsh r1, [r5, r2] - lsls r1, r1, #1 - adds r1, #4 - adds r0, r0, r1 - str r0, [r5, #0x2c] - pop {r4, r5, pc} - .align 2, 0 -_0805CC38: .4byte 0x00005004 - - thumb_func_start sub_0805CC3C -sub_0805CC3C: @ 0x0805CC3C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - movs r0, #0x38 - ldrsh r5, [r4, r0] - movs r0, #0x3a - ldrsh r1, [r4, r0] - mov r8, r1 - adds r7, r4, #0 - adds r7, #0x34 - ldrb r0, [r7] - ldr r6, _0805CC6C @ =0x00000322 - cmp r0, #1 - bne _0805CC5C - subs r6, #1 -_0805CC5C: - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _0805CCF4 - cmp r0, #2 - bgt _0805CC70 - cmp r0, #1 - beq _0805CC94 - b _0805CC76 - .align 2, 0 -_0805CC6C: .4byte 0x00000322 -_0805CC70: - cmp r0, #3 - bne _0805CC76 - b _0805CDE4 -_0805CC76: - adds r4, #0x34 - ldrb r2, [r4] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0807B7D8 - ldr r0, _0805CC90 @ =0x00000365 - ldrb r2, [r4] - mov r1, r8 - bl sub_0807B7D8 - b _0805CF68 - .align 2, 0 -_0805CC90: .4byte 0x00000365 -_0805CC94: - ldrb r2, [r7] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0807B7D8 - adds r1, r5, #1 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x40 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x41 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - ldrh r0, [r4, #0x3c] - ldrb r2, [r7] - mov r1, r8 - bl sub_0807B7D8 - ldr r0, _0805CCEC @ =0x0000036F - mov r1, r8 - adds r1, #1 - ldrb r2, [r7] - bl sub_0807B7D8 - movs r0, #0xdc - lsls r0, r0, #2 - mov r1, r8 - adds r1, #0x40 - ldrb r2, [r7] - bl sub_0807B7D8 - ldr r0, _0805CCF0 @ =0x00000371 - mov r1, r8 - adds r1, #0x41 - b _0805CDC2 - .align 2, 0 -_0805CCEC: .4byte 0x0000036F -_0805CCF0: .4byte 0x00000371 -_0805CCF4: - ldrb r2, [r7] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0807B7D8 - adds r1, r5, #1 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #2 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x40 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x41 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x42 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x80 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x81 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x82 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - ldrh r0, [r4, #0x3c] - ldrb r2, [r7] - mov r1, r8 - bl sub_0807B7D8 - ldr r0, _0805CDCC @ =0x00000372 - mov r1, r8 - adds r1, #1 - ldrb r2, [r7] - bl sub_0807B7D8 - ldr r0, _0805CDD0 @ =0x0000036F - mov r1, r8 - adds r1, #2 - ldrb r2, [r7] - bl sub_0807B7D8 - movs r0, #0xdd - lsls r0, r0, #2 - mov r1, r8 - adds r1, #0x40 - ldrb r2, [r7] - bl sub_0807B7D8 - ldr r0, _0805CDD4 @ =0x00000376 - mov r1, r8 - adds r1, #0x41 - ldrb r2, [r7] - bl sub_0807B7D8 - ldr r0, _0805CDD8 @ =0x00000375 - mov r1, r8 - adds r1, #0x42 - ldrb r2, [r7] - bl sub_0807B7D8 - movs r0, #0xdc - lsls r0, r0, #2 - mov r1, r8 - adds r1, #0x80 - ldrb r2, [r7] - bl sub_0807B7D8 - ldr r0, _0805CDDC @ =0x00000373 - mov r1, r8 - adds r1, #0x81 - ldrb r2, [r7] - bl sub_0807B7D8 - ldr r0, _0805CDE0 @ =0x00000371 - mov r1, r8 - adds r1, #0x82 -_0805CDC2: - ldrb r2, [r7] - bl sub_0807B7D8 - b _0805CF68 - .align 2, 0 -_0805CDCC: .4byte 0x00000372 -_0805CDD0: .4byte 0x0000036F -_0805CDD4: .4byte 0x00000376 -_0805CDD8: .4byte 0x00000375 -_0805CDDC: .4byte 0x00000373 -_0805CDE0: .4byte 0x00000371 -_0805CDE4: - ldrb r2, [r7] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0807B7D8 - adds r1, r5, #1 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #2 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #3 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x40 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x41 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x42 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x43 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x80 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x81 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x82 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0x83 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0xc0 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0xc1 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0xc2 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r5, #0 - adds r1, #0xc3 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - ldrh r0, [r4, #0x3c] - ldrb r2, [r7] - mov r1, r8 - bl sub_0807B7D8 - ldr r4, _0805CF70 @ =0x00000372 - mov r1, r8 - adds r1, #1 - ldrb r2, [r7] - adds r0, r4, #0 - bl sub_0807B7D8 - mov r1, r8 - adds r1, #2 - ldrb r2, [r7] - adds r0, r4, #0 - bl sub_0807B7D8 - ldr r0, _0805CF74 @ =0x0000036F - mov r1, r8 - adds r1, #3 - ldrb r2, [r7] - bl sub_0807B7D8 - movs r6, #0xdd - lsls r6, r6, #2 - mov r1, r8 - adds r1, #0x40 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r4, #4 - mov r1, r8 - adds r1, #0x41 - ldrb r2, [r7] - adds r0, r4, #0 - bl sub_0807B7D8 - mov r1, r8 - adds r1, #0x42 - ldrb r2, [r7] - adds r0, r4, #0 - bl sub_0807B7D8 - ldr r5, _0805CF78 @ =0x00000375 - mov r1, r8 - adds r1, #0x43 - ldrb r2, [r7] - adds r0, r5, #0 - bl sub_0807B7D8 - mov r1, r8 - adds r1, #0x80 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0807B7D8 - mov r1, r8 - adds r1, #0x81 - ldrb r2, [r7] - adds r0, r4, #0 - bl sub_0807B7D8 - mov r1, r8 - adds r1, #0x82 - ldrb r2, [r7] - adds r0, r4, #0 - bl sub_0807B7D8 - mov r1, r8 - adds r1, #0x83 - ldrb r2, [r7] - adds r0, r5, #0 - bl sub_0807B7D8 - movs r0, #0xdc - lsls r0, r0, #2 - mov r1, r8 - adds r1, #0xc0 - ldrb r2, [r7] - bl sub_0807B7D8 - subs r4, #3 - mov r1, r8 - adds r1, #0xc1 - ldrb r2, [r7] - adds r0, r4, #0 - bl sub_0807B7D8 - mov r1, r8 - adds r1, #0xc2 - ldrb r2, [r7] - adds r0, r4, #0 - bl sub_0807B7D8 - ldr r0, _0805CF7C @ =0x00000371 - mov r1, r8 - adds r1, #0xc3 - ldrb r2, [r7] - bl sub_0807B7D8 -_0805CF68: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805CF70: .4byte 0x00000372 -_0805CF74: .4byte 0x0000036F -_0805CF78: .4byte 0x00000375 -_0805CF7C: .4byte 0x00000371 - - thumb_func_start sub_0805CF80 -sub_0805CF80: @ 0x0805CF80 - push {lr} - ldr r1, [r0, #0x2c] - ldrh r1, [r1] - ldr r0, [r0, #0x28] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r1, [r1] - movs r2, #0 - ldr r0, _0805CFBC @ =0x00000365 - cmp r1, r0 - beq _0805CFB4 - adds r0, #4 - cmp r1, r0 - beq _0805CFB4 - adds r0, #1 - cmp r1, r0 - beq _0805CFB4 - adds r0, #1 - cmp r1, r0 - beq _0805CFB4 - adds r0, #2 - cmp r1, r0 - beq _0805CFB4 - subs r0, #1 - cmp r1, r0 - bne _0805CFB6 -_0805CFB4: - movs r2, #1 -_0805CFB6: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0805CFBC: .4byte 0x00000365 - - thumb_func_start sub_0805CFC0 -sub_0805CFC0: @ 0x0805CFC0 - push {r4, lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _0805CFCE - adds r0, #1 - strb r0, [r1, #0xc] -_0805CFCE: - movs r0, #3 - bl sub_0804B128 - adds r4, r0, #0 - cmp r4, #0 - beq _0805CFEE - b _0805CFE8 -_0805CFDC: - cmp r0, #0xa - bne _0805CFE6 - adds r0, r4, #0 - bl sub_0805CFF0 -_0805CFE6: - adds r4, #8 -_0805CFE8: - ldrb r0, [r4] - cmp r0, #0 - bne _0805CFDC -_0805CFEE: - pop {r4, pc} - - thumb_func_start sub_0805CFF0 -sub_0805CFF0: @ 0x0805CFF0 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #2] - bl sub_0807CBD0 - cmp r0, #0 - bne _0805D012 - ldrh r0, [r4, #4] - ldrb r1, [r4, #1] - bl sub_080002B0 - ldrh r1, [r4, #6] - cmp r1, r0 - bne _0805D012 - ldrh r0, [r4, #2] - bl sub_0807CCB4 -_0805D012: - pop {r4, pc} - - thumb_func_start sub_0805D014 -sub_0805D014: @ 0x0805D014 - push {lr} - ldr r2, _0805D028 @ =gUnk_08108D30 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805D028: .4byte gUnk_08108D30 - - thumb_func_start sub_0805D02C -sub_0805D02C: @ 0x0805D02C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r6, r0, #0 - ldrh r0, [r6, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805D046 - bl sub_0805E780 -_0805D046: - ldr r0, _0805D0BC @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x43 - bhi _0805D0B0 - ldrb r0, [r6, #0xa] - bl sub_0804B128 - adds r5, r0, #0 - movs r7, #0 - movs r0, #0x36 - adds r0, r0, r6 - mov sl, r0 - ldr r1, _0805D0C0 @ =gUnk_03000BF0 - mov r8, r1 - movs r0, #0x20 - adds r0, r0, r6 - mov sb, r0 -_0805D068: - ldrh r1, [r5, #4] - movs r0, #0xa0 - adds r2, r7, #0 - bl sub_080A2960 - adds r4, r0, #0 - mov r1, r8 - ldrh r0, [r1, #6] - ldrh r1, [r5] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - mov r1, r8 - ldrh r0, [r1, #8] - ldrh r1, [r5, #2] - adds r0, r0, r1 - strh r0, [r4, #0x32] - str r6, [r4, #0x50] - adds r0, r4, #0 - bl sub_08016A30 - mov r0, sb - adds r0, #4 - mov sb, r0 - subs r0, #4 - stm r0!, {r4} - adds r7, #1 - adds r5, #6 - cmp r7, #3 - bls _0805D068 - movs r0, #0 - movs r1, #1 - strb r1, [r6, #0xc] - movs r1, #0x3c - strb r1, [r6, #0xf] - mov r1, sl - strb r0, [r1] -_0805D0B0: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805D0BC: .4byte gUnk_03003DBC -_0805D0C0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805D0C4 -sub_0805D0C4: @ 0x0805D0C4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D0D8 - movs r0, #0xb4 - strb r0, [r4, #0xf] -_0805D0D8: - adds r5, r4, #0 - adds r5, #0x36 - ldrb r0, [r5] - cmp r0, #0xf - bne _0805D0F6 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0x72 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_0805D11C -_0805D0F6: - movs r0, #0 - strb r0, [r5] - pop {r4, r5, pc} - - thumb_func_start sub_0805D0FC -sub_0805D0FC: @ 0x0805D0FC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D118 - ldrh r0, [r4, #0x3e] - bl sub_0807CCC8 - adds r0, r4, #0 - bl sub_0805E900 -_0805D118: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805D11C -sub_0805D11C: @ 0x0805D11C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - movs r6, #0 - ldr r1, _0805D170 @ =gUnk_03000BF0 - mov r8, r1 - movs r7, #0x3f - adds r5, r0, #0 - adds r5, #0x20 -_0805D12E: - ldr r4, [r5] - movs r0, #0 - stm r5!, {r0} - movs r2, #0x2e - ldrsh r0, [r4, r2] - mov r3, r8 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r7 - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r3, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r7 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - adds r0, r4, #0 - bl sub_0805E7BC - adds r6, #1 - cmp r6, #3 - bls _0805D12E - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805D170: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805D174 -sub_0805D174: @ 0x0805D174 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xc] - cmp r1, #0 - bne _0805D184 - movs r0, #1 - strb r0, [r5, #0xc] - strh r1, [r5, #0x3a] -_0805D184: - movs r1, #0x38 - ldrsh r0, [r5, r1] - movs r2, #0x3a - ldrsh r1, [r5, r2] - movs r2, #0x14 - movs r3, #0x40 - bl sub_0800293E - cmp r0, #0 - beq _0805D1EE - ldr r0, _0805D1F0 @ =gUnk_03001160 - movs r4, #0x32 - ldrsh r1, [r0, r4] - ldr r3, _0805D1F4 @ =gUnk_03000BF0 - ldrh r2, [r3, #8] - subs r1, r1, r2 - movs r4, #0x36 - ldrsh r0, [r0, r4] - adds r1, r1, r0 - cmp r1, #0 - bge _0805D1EE - movs r1, #0xc - ldrsh r0, [r3, r1] - cmp r0, r2 - bne _0805D1EE - ldr r4, _0805D1F8 @ =gUnk_030010AC - adds r0, r4, #0 - movs r1, #0x20 - bl sub_0801D630 - subs r4, #0xc - movs r1, #0 - movs r0, #1 - strb r0, [r4, #8] - strb r1, [r4, #9] - movs r0, #0xb - strb r0, [r4, #0xf] - ldrb r0, [r5, #0xb] - strb r0, [r4, #0xc] - ldrb r0, [r5, #0xe] - strb r0, [r4, #0xd] - adds r0, r5, #0 - adds r0, #0x37 - ldrb r0, [r0] - strb r0, [r4, #0xe] - ldrh r0, [r5, #0x3c] - strh r0, [r4, #0x10] - ldrh r0, [r5, #0x3e] - strh r0, [r4, #0x12] - adds r0, r5, #0 - adds r0, #0x36 - ldrb r0, [r0] - strb r0, [r4, #0x14] -_0805D1EE: - pop {r4, r5, pc} - .align 2, 0 -_0805D1F0: .4byte gUnk_03001160 -_0805D1F4: .4byte gUnk_03000BF0 -_0805D1F8: .4byte gUnk_030010AC - - thumb_func_start sub_0805D1FC -sub_0805D1FC: @ 0x0805D1FC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _0805D240 @ =0x00004014 - ldr r1, _0805D244 @ =0x000005C3 - movs r2, #1 - bl sub_0800015E - ldr r3, _0805D248 @ =gUnk_03000BF0 - ldrh r0, [r3, #8] - adds r0, #0xc8 - ldr r2, _0805D24C @ =gUnk_03001160 - movs r5, #0x32 - ldrsh r1, [r2, r5] - cmp r0, r1 - bge _0805D236 - movs r1, #0x2e - ldrsh r0, [r2, r1] - ldrh r1, [r3, #6] - subs r0, r0, r1 - subs r0, #0x30 - cmp r0, #0x10 - bhi _0805D236 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08016A04 -_0805D236: - adds r0, r4, #0 - bl sub_0805E900 - pop {r4, r5, pc} - .align 2, 0 -_0805D240: .4byte 0x00004014 -_0805D244: .4byte 0x000005C3 -_0805D248: .4byte gUnk_03000BF0 -_0805D24C: .4byte gUnk_03001160 - - thumb_func_start sub_0805D250 -sub_0805D250: @ 0x0805D250 - push {lr} - ldr r2, _0805D264 @ =gUnk_08108D3C - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805D264: .4byte gUnk_08108D3C - - thumb_func_start sub_0805D268 -sub_0805D268: @ 0x0805D268 - push {lr} - ldr r2, _0805D27C @ =gUnk_08108D44 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805D27C: .4byte gUnk_08108D44 - - thumb_func_start sub_0805D280 -sub_0805D280: @ 0x0805D280 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805D292 - bl sub_0805E780 -_0805D292: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805D2A6 - ldrh r0, [r4, #0x3c] - bl sub_0807CCC8 - bl sub_0805E780 -_0805D2A6: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0805D2B4 - movs r0, #0x1e - strb r0, [r4, #0xe] -_0805D2B4: - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805D2C0 -sub_0805D2C0: @ 0x0805D2C0 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805D2EE - ldr r0, _0805D2F0 @ =gUnk_03003DC0 - ldrh r0, [r0, #8] - cmp r0, #1 - bhi _0805D2EE - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #1 - bne _0805D2E6 - adds r0, r4, #0 - bl sub_0805D2F4 -_0805D2E6: - ldrb r1, [r4, #0xe] - adds r0, r4, #0 - bl sub_0805E4E0 -_0805D2EE: - pop {r4, pc} - .align 2, 0 -_0805D2F0: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805D2F4 -sub_0805D2F4: @ 0x0805D2F4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0805D310 @ =gUnk_03003DC0 - ldrh r0, [r0, #8] - cmp r0, #0 - bne _0805D328 - movs r1, #0x38 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _0805D314 - bl sub_080A3268 - b _0805D31A - .align 2, 0 -_0805D310: .4byte gUnk_03003DC0 -_0805D314: - movs r0, #0x72 - bl sub_080A3268 -_0805D31A: - ldrh r0, [r4, #0x3c] - cmp r0, #0 - beq _0805D324 - bl sub_0807CCC8 -_0805D324: - bl sub_0805E780 -_0805D328: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805D32C -sub_0805D32C: @ 0x0805D32C - push {lr} - ldr r2, _0805D340 @ =gUnk_08108D50 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805D340: .4byte gUnk_08108D50 - - thumb_func_start sub_0805D344 -sub_0805D344: @ 0x0805D344 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0805D35C - movs r0, #0x1e - strb r0, [r4, #0xe] -_0805D35C: - ldrb r0, [r4, #0xe] - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805D36C -sub_0805D36C: @ 0x0805D36C - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805D382 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xf] - strb r0, [r4, #0xe] -_0805D382: - pop {r4, pc} - - thumb_func_start sub_0805D384 -sub_0805D384: @ 0x0805D384 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0805D3B2 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D3C6 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r1, #0x72 - cmp r0, #0 - beq _0805D3A4 - adds r1, r0, #0 -_0805D3A4: - adds r0, r1, #0 - bl sub_080A3268 - ldrh r0, [r4, #0x3c] - bl sub_0807CCC8 - b _0805D3C6 -_0805D3B2: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - bne _0805D3C6 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3c] - bl sub_0807CD48 -_0805D3C6: - pop {r4, pc} - - thumb_func_start sub_0805D3C8 -sub_0805D3C8: @ 0x0805D3C8 - push {r4, lr} - adds r4, r0, #0 - cmp r4, #0 - bne _0805D3F4 - ldr r0, _0805D3E8 @ =gUnk_02033A90 - ldr r1, _0805D3EC @ =0x0000088C - adds r0, r0, r1 - ldr r0, [r0] - ldr r1, _0805D3F0 @ =sub_0805D470 - cmp r0, r1 - beq _0805D45E - movs r0, #0 - bl _call_via_r1 - b _0805D45E - .align 2, 0 -_0805D3E8: .4byte gUnk_02033A90 -_0805D3EC: .4byte 0x0000088C -_0805D3F0: .4byte sub_0805D470 -_0805D3F4: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805D43A - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _0805D428 @ =gUnk_02033A90 - ldr r2, _0805D42C @ =0x0000088C - adds r0, r0, r2 - ldr r0, [r0] - cmp r0, #0 - bne _0805D434 - ldr r1, _0805D430 @ =sub_0805D470 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 - b _0805D45E - .align 2, 0 -_0805D428: .4byte gUnk_02033A90 -_0805D42C: .4byte 0x0000088C -_0805D430: .4byte sub_0805D470 -_0805D434: - bl sub_0805E780 - b _0805D45E -_0805D43A: - ldr r1, _0805D460 @ =gUnk_03000BF0 - ldr r0, [r1, #0x28] - ldr r3, _0805D464 @ =0xFFFFC000 - adds r0, r0, r3 - str r0, [r1, #0x28] - ldr r0, [r1, #0x2c] - ldr r2, _0805D468 @ =0xFFFFE000 - adds r0, r0, r2 - str r0, [r1, #0x2c] - ldr r2, _0805D46C @ =gUnk_03000F50 - ldrh r0, [r1, #0x2a] - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] -_0805D45E: - pop {r4, pc} - .align 2, 0 -_0805D460: .4byte gUnk_03000BF0 -_0805D464: .4byte 0xFFFFC000 -_0805D468: .4byte 0xFFFFE000 -_0805D46C: .4byte gUnk_03000F50 - - thumb_func_start sub_0805D470 -sub_0805D470: @ 0x0805D470 - push {lr} - movs r0, #0x4c - bl sub_0801D7EC - ldr r2, _0805D4A0 @ =gUnk_03000F50 - ldr r0, _0805D4A4 @ =0x00001E07 - strh r0, [r2, #0x2c] - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0805D4A8 @ =gUnk_03000BF0 - ldrh r0, [r1, #0x2a] - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] - pop {pc} - .align 2, 0 -_0805D4A0: .4byte gUnk_03000F50 -_0805D4A4: .4byte 0x00001E07 -_0805D4A8: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805D4AC -sub_0805D4AC: @ 0x0805D4AC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - ldrb r0, [r6, #0xc] - cmp r0, #1 - beq _0805D520 - cmp r0, #1 - bgt _0805D4C6 - cmp r0, #0 - beq _0805D4D2 - b _0805D628 -_0805D4C6: - cmp r0, #2 - beq _0805D5A4 - cmp r0, #3 - bne _0805D4D0 - b _0805D604 -_0805D4D0: - b _0805D628 -_0805D4D2: - movs r0, #1 - strb r0, [r6, #0xc] - ldrb r0, [r6, #0xe] - strb r0, [r6, #0xf] - ldrh r1, [r6, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r3, #0x3f - ands r1, r3 - ldrh r0, [r6, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r6, #0x28] - ldr r4, _0805D518 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0805D51C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r6, #0x2e] - strh r1, [r6, #0x2c] - b _0805D628 - .align 2, 0 -_0805D518: .4byte gUnk_03001160 -_0805D51C: .4byte gUnk_03000BF0 -_0805D520: - ldr r4, _0805D568 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _0805D56C @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - strh r5, [r6, #0x2e] - ldrh r2, [r6, #0x2c] - cmp r5, r2 - beq _0805D5A4 - strh r5, [r6, #0x2c] - ldrh r0, [r6, #0x2e] - ldrb r1, [r6, #0xb] - bl sub_080002B0 - adds r1, r0, #0 - ldr r3, _0805D570 @ =0x00000317 - cmp r1, r3 - beq _0805D574 - movs r0, #0xc6 - lsls r0, r0, #2 - cmp r1, r0 - beq _0805D580 - b _0805D5A4 - .align 2, 0 -_0805D568: .4byte gUnk_03001160 -_0805D56C: .4byte gUnk_03000BF0 -_0805D570: .4byte 0x00000317 -_0805D574: - movs r0, #2 - strb r0, [r6, #0xc] - movs r0, #0x6d - bl sub_080A3268 - b _0805D5A4 -_0805D580: - ldrh r1, [r6, #0x2e] - ldrb r2, [r6, #0xb] - adds r0, r3, #0 - bl sub_0807B7D8 - movs r0, #0x6b - bl sub_080A3268 - ldrb r0, [r6, #0xe] - subs r0, #1 - strb r0, [r6, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D5A4 - movs r0, #3 - strb r0, [r6, #0xc] - movs r0, #0x40 - strb r0, [r6, #0xe] -_0805D5A4: - ldrh r0, [r6, #0x3e] - cmp r0, #0 - beq _0805D628 - bl sub_0807CBE4 - cmp r0, #0 - beq _0805D628 - ldrh r0, [r6, #0x3e] - bl sub_0807CD48 - movs r0, #1 - strb r0, [r6, #0xc] - ldrb r0, [r6, #0xf] - strb r0, [r6, #0xe] - movs r1, #0 - adds r0, r6, #0 - adds r0, #0x37 - mov sb, r0 - ldrb r5, [r0] - cmp r1, r5 - bhs _0805D628 - movs r0, #0x36 - adds r0, r0, r6 - mov r8, r0 -_0805D5D4: - lsls r0, r1, #6 - ldrh r2, [r6, #0x28] - adds r5, r0, r2 - movs r4, #0 - adds r7, r1, #1 - mov r0, r8 - ldrb r0, [r0] - cmp r4, r0 - bhs _0805D5F8 -_0805D5E6: - adds r0, r5, r4 - ldrb r1, [r6, #0xb] - bl sub_0807BA8C - adds r4, #1 - mov r1, r8 - ldrb r1, [r1] - cmp r4, r1 - blo _0805D5E6 -_0805D5F8: - adds r1, r7, #0 - mov r2, sb - ldrb r2, [r2] - cmp r1, r2 - blo _0805D5D4 - b _0805D628 -_0805D604: - ldrb r0, [r6, #0xe] - cmp r0, #0 - beq _0805D628 - subs r0, #1 - strb r0, [r6, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _0805D622 - cmp r0, #0x20 - bne _0805D628 - ldrh r0, [r6, #0x3c] - bl sub_0807CCC8 - b _0805D628 -_0805D622: - movs r0, #0x72 - bl sub_080A3268 -_0805D628: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805D630 -sub_0805D630: @ 0x0805D630 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - ldrb r0, [r6, #0xc] - cmp r0, #0 - beq _0805D642 - b _0805D768 -_0805D642: - adds r0, #1 - strb r0, [r6, #0xc] - movs r0, #0x42 - bl sub_0807CC30 - cmp r0, #0 - beq _0805D6E4 - movs r0, #0x43 - bl sub_0807CC30 - cmp r0, #0 - beq _0805D6E4 - movs r0, #0x44 - bl sub_0807CC30 - cmp r0, #0 - beq _0805D6E4 - movs r0, #0x3e - bl sub_0807CC30 - cmp r0, #0 - bne _0805D680 - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - beq _0805D6E4 - movs r0, #0x3e - bl sub_0807CD04 - b _0805D6D2 -_0805D680: - movs r0, #0x3f - bl sub_0807CC30 - cmp r0, #0 - bne _0805D69C - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - beq _0805D6E4 - movs r0, #0x3f - bl sub_0807CD04 - b _0805D6D2 -_0805D69C: - movs r0, #0x40 - bl sub_0807CC30 - cmp r0, #0 - bne _0805D6B8 - movs r0, #4 - bl sub_0807CC30 - cmp r0, #0 - beq _0805D6E4 - movs r0, #0x40 - bl sub_0807CD04 - b _0805D6D2 -_0805D6B8: - movs r0, #0x41 - bl sub_0807CC30 - cmp r0, #0 - bne _0805D6E4 - movs r0, #5 - bl sub_0807CC30 - cmp r0, #0 - beq _0805D6E4 - movs r0, #0x41 - bl sub_0807CD04 -_0805D6D2: - movs r0, #0x42 - bl sub_0807CD80 - movs r0, #0x43 - bl sub_0807CD80 - movs r0, #0x44 - bl sub_0807CD80 -_0805D6E4: - adds r1, r6, #0 - adds r1, #0x22 - movs r0, #0 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - ldr r4, _0805D79C @ =gUnk_08108D5C - movs r5, #0 - mov sb, r1 - movs r7, #1 - ldr r0, _0805D7A0 @ =gUnk_03000BF0 - mov r8, r0 -_0805D700: - adds r0, r5, #0 - adds r0, #0x42 - bl sub_0807CC30 - cmp r0, #0 - bne _0805D760 - bl sub_08000E50 - ldrh r1, [r4, #2] - bl __modsi3 - adds r2, r0, #0 - ldrh r0, [r4] - adds r2, r2, r0 - movs r0, #2 - movs r1, #0x5c - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805D760 - strb r7, [r2, #0xe] - strb r5, [r2, #0xf] - mov r1, r8 - ldrh r0, [r1, #6] - ldrh r1, [r4, #4] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - mov r1, r8 - ldrh r0, [r1, #8] - ldrh r1, [r4, #6] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldrh r1, [r4, #4] - adds r0, r2, #0 - adds r0, #0x80 - strh r1, [r0] - ldrh r0, [r4, #6] - adds r1, r2, #0 - adds r1, #0x82 - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x38 - strb r7, [r0] - str r6, [r2, #0x50] - mov r1, sb - adds r0, r1, r5 - strb r7, [r0] -_0805D760: - adds r5, #1 - adds r4, #8 - cmp r5, #2 - ble _0805D700 -_0805D768: - movs r5, #0 -_0805D76A: - adds r4, r5, #0 - adds r4, #0x42 - adds r0, r4, #0 - bl sub_0807CC30 - cmp r0, #0 - bne _0805D78E - adds r0, r6, #0 - adds r0, #0x20 - adds r0, r0, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bge _0805D78E - adds r0, r4, #0 - bl sub_0807CD04 -_0805D78E: - adds r5, #1 - cmp r5, #2 - ble _0805D76A - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805D79C: .4byte gUnk_08108D5C -_0805D7A0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805D7A4 -sub_0805D7A4: @ 0x0805D7A4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805D7D4 @ =gUnk_08108D7C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r0, _0805D7D8 @ =gUnk_030010A0 - ldr r0, [r0] - lsls r0, r0, #4 - str r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0805D9D8 - ldr r0, [r4, #0x20] - ldr r1, [r4, #0x28] - ldr r2, [r4, #0x24] - bl sub_0805DA08 - pop {r4, pc} - .align 2, 0 -_0805D7D4: .4byte gUnk_08108D7C -_0805D7D8: .4byte gUnk_030010A0 - - thumb_func_start sub_0805D7DC -sub_0805D7DC: @ 0x0805D7DC - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - movs r2, #2 - cmp r0, #0 - bne _0805D7EA - movs r2, #1 -_0805D7EA: - movs r0, #0 - strb r2, [r1, #0xc] - str r0, [r1, #0x20] - str r0, [r1, #0x24] - ldr r0, _0805D80C @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #0x78 - beq _0805D83C - cmp r0, #0x78 - bgt _0805D816 - cmp r0, #7 - beq _0805D828 - cmp r0, #7 - bgt _0805D810 - cmp r0, #3 - beq _0805D82C - b _0805D828 - .align 2, 0 -_0805D80C: .4byte gUnk_03000BF0 -_0805D810: - cmp r0, #0x38 - beq _0805D840 - b _0805D828 -_0805D816: - cmp r0, #0x81 - beq _0805D830 - cmp r0, #0x81 - bgt _0805D824 - cmp r0, #0x80 - beq _0805D834 - b _0805D828 -_0805D824: - cmp r0, #0x88 - beq _0805D838 -_0805D828: - movs r1, #0 - b _0805D842 -_0805D82C: - movs r1, #1 - b _0805D842 -_0805D830: - movs r1, #2 - b _0805D842 -_0805D834: - movs r1, #3 - b _0805D842 -_0805D838: - movs r1, #4 - b _0805D842 -_0805D83C: - movs r1, #5 - b _0805D842 -_0805D840: - movs r1, #6 -_0805D842: - ldr r0, _0805D854 @ =gUnk_08108D74 - adds r0, r1, r0 - ldrb r0, [r0] - bl sub_0801D7EC - ldr r1, _0805D858 @ =gUnk_03000F50 - ldr r0, _0805D85C @ =0x00001E04 - strh r0, [r1, #0x2c] - pop {pc} - .align 2, 0 -_0805D854: .4byte gUnk_08108D74 -_0805D858: .4byte gUnk_03000F50 -_0805D85C: .4byte 0x00001E04 - - thumb_func_start sub_0805D860 -sub_0805D860: @ 0x0805D860 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #1 - beq _0805D89C - cmp r0, #1 - bgt _0805D874 - cmp r0, #0 - beq _0805D87E - b _0805D8D6 -_0805D874: - cmp r0, #2 - beq _0805D8B0 - cmp r0, #3 - beq _0805D8C2 - b _0805D8D6 -_0805D87E: - movs r0, #1 - strb r0, [r1, #0xd] - movs r0, #0x80 - str r0, [r1, #0x20] - ldr r2, _0805D898 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805D8F4 - .align 2, 0 -_0805D898: .4byte gUnk_03000F50 -_0805D89C: - ldr r0, [r1, #0x20] - subs r0, #1 - str r0, [r1, #0x20] - cmp r0, #0x10 - bne _0805D8F4 - movs r0, #2 - strb r0, [r1, #0xd] - movs r0, #0x2d - strb r0, [r1, #0xe] - b _0805D8F4 -_0805D8B0: - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D8F4 - movs r0, #3 - strb r0, [r1, #0xd] - b _0805D8F4 -_0805D8C2: - ldr r0, [r1, #0x20] - subs r0, #1 - str r0, [r1, #0x20] - cmp r0, #0 - bne _0805D8F4 - movs r0, #4 - strb r0, [r1, #0xd] - movs r0, #0x3c - strb r0, [r1, #0xe] - b _0805D8F4 -_0805D8D6: - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D8F4 - bl sub_0801E104 - ldr r2, _0805D8F8 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805D8FC @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] - bl sub_0805E780 -_0805D8F4: - pop {pc} - .align 2, 0 -_0805D8F8: .4byte gUnk_03000F50 -_0805D8FC: .4byte 0x0000F7FF - - thumb_func_start sub_0805D900 -sub_0805D900: @ 0x0805D900 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xd] - cmp r0, #1 - beq _0805D938 - cmp r0, #1 - bgt _0805D914 - cmp r0, #0 - beq _0805D91A - b _0805D966 -_0805D914: - cmp r0, #2 - beq _0805D94E - b _0805D966 -_0805D91A: - movs r1, #1 - strb r1, [r2, #0xd] - movs r0, #0x2d - strb r0, [r2, #0xe] - str r1, [r2, #0x20] - ldr r2, _0805D934 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805D982 - .align 2, 0 -_0805D934: .4byte gUnk_03000F50 -_0805D938: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D982 - movs r0, #2 - strb r0, [r2, #0xd] - movs r0, #0x14 - strb r0, [r2, #0xe] - b _0805D982 -_0805D94E: - ldr r0, [r2, #0x20] - adds r0, #1 - str r0, [r2, #0x20] - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D982 - movs r0, #3 - strb r0, [r2, #0xd] - b _0805D982 -_0805D966: - ldr r0, [r2, #0x20] - adds r0, #4 - str r0, [r2, #0x20] - cmp r0, #0x80 - bls _0805D982 - bl sub_0801E104 - ldr r2, _0805D984 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805D988 @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] - bl sub_0805E780 -_0805D982: - pop {pc} - .align 2, 0 -_0805D984: .4byte gUnk_03000F50 -_0805D988: .4byte 0x0000F7FF - - thumb_func_start sub_0805D98C -sub_0805D98C: @ 0x0805D98C - push {lr} - adds r2, r0, #0 - ldr r3, _0805D9D4 @ =gUnk_03000FF0 - ldrh r1, [r3] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0805D9A2 - ldr r0, [r2, #0x20] - subs r0, #1 - str r0, [r2, #0x20] -_0805D9A2: - ldrh r1, [r3] - movs r0, #0x80 - ands r0, r1 - adds r3, r1, #0 - cmp r0, #0 - beq _0805D9B4 - ldr r0, [r2, #0x20] - adds r0, #1 - str r0, [r2, #0x20] -_0805D9B4: - movs r0, #0x20 - ands r0, r3 - cmp r0, #0 - beq _0805D9C2 - ldr r0, [r2, #0x28] - subs r0, #1 - str r0, [r2, #0x28] -_0805D9C2: - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0805D9D0 - ldr r0, [r2, #0x28] - adds r0, #1 - str r0, [r2, #0x28] -_0805D9D0: - pop {pc} - .align 2, 0 -_0805D9D4: .4byte gUnk_03000FF0 - - thumb_func_start sub_0805D9D8 -sub_0805D9D8: @ 0x0805D9D8 - push {r4, lr} - ldr r4, [r0, #0x14] - cmp r4, #0 - beq _0805D9FC - ldr r3, _0805DA00 @ =gUnk_03000F50 - ldr r2, _0805DA04 @ =gUnk_03000BF0 - ldrh r1, [r4, #0x2e] - ldrh r0, [r2, #0xa] - subs r1, r1, r0 - movs r0, #0x80 - subs r0, r0, r1 - strh r0, [r3, #0x2e] - ldrh r1, [r4, #0x32] - ldrh r0, [r2, #0xc] - subs r1, r1, r0 - movs r0, #0x8c - subs r0, r0, r1 - strh r0, [r3, #0x30] -_0805D9FC: - pop {r4, pc} - .align 2, 0 -_0805DA00: .4byte gUnk_03000F50 -_0805DA04: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805DA08 -sub_0805DA08: @ 0x0805DA08 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov sl, r0 - adds r5, r1, #0 - adds r6, r2, #0 - ldr r2, _0805DA78 @ =gUnk_03003DE4 - ldrb r1, [r2] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _0805DA7C @ =gUnk_02017AA0 - adds r4, r0, r1 - movs r3, #0 - mov r8, r2 - mov sb, r1 - ldr r0, _0805DA80 @ =gUnk_080C9160 - mov ip, r0 - movs r2, #0xff - ldr r1, _0805DA84 @ =gUnk_03000F50 -_0805DA34: - adds r0, r6, r3 - adds r0, r0, r5 - ands r0, r2 - lsls r0, r0, #1 - add r0, ip - movs r7, #0 - ldrsh r0, [r0, r7] - mov r7, sl - muls r7, r0, r7 - adds r0, r7, #0 - lsrs r0, r0, #8 - ldrh r7, [r1, #0x2e] - adds r0, r0, r7 - strh r0, [r4] - adds r4, #2 - adds r3, #1 - adds r5, #0x17 - cmp r3, #0x9f - bls _0805DA34 - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - add r0, sb - ldr r1, _0805DA88 @ =0x0400001C - ldr r2, _0805DA8C @ =0xA2600001 - bl sub_0805622C - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805DA78: .4byte gUnk_03003DE4 -_0805DA7C: .4byte gUnk_02017AA0 -_0805DA80: .4byte gUnk_080C9160 -_0805DA84: .4byte gUnk_03000F50 -_0805DA88: .4byte 0x0400001C -_0805DA8C: .4byte 0xA2600001 - - thumb_func_start sub_0805DA90 -sub_0805DA90: @ 0x0805DA90 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_0805E8D4 - adds r1, r0, #0 - cmp r1, #0 - beq _0805DAB4 - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x32 - strb r0, [r1, #9] - strb r4, [r1, #0xa] - str r5, [r1, #0x14] - adds r0, r1, #0 - movs r1, #8 - bl sub_0805EA2C -_0805DAB4: - ldr r0, _0805DAD8 @ =gUnk_02033A90 - ldr r1, _0805DADC @ =0x0000088C - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, #0 - beq _0805DAD4 - ldr r2, _0805DAE0 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0805DAE4 @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] - bl sub_080528F0 - ldr r0, [r4] - bl sub_0805E900 -_0805DAD4: - pop {r4, r5, pc} - .align 2, 0 -_0805DAD8: .4byte gUnk_02033A90 -_0805DADC: .4byte 0x0000088C -_0805DAE0: .4byte gUnk_03000F50 -_0805DAE4: .4byte 0x0000F7FF - - thumb_func_start sub_0805DAE8 -sub_0805DAE8: @ 0x0805DAE8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r2, r0, #0 - ldr r5, _0805DB4C @ =gUnk_03000BF0 - ldrh r0, [r5, #6] - movs r1, #0xfc - lsls r1, r1, #1 - mov r8, r1 - add r0, r8 - ldr r3, _0805DB50 @ =gUnk_03001160 - movs r4, #0x2e - ldrsh r1, [r3, r4] - subs r0, r0, r1 - adds r4, r0, #0 - adds r4, #0x10 - ldrh r0, [r5, #8] - movs r7, #0xa0 - lsls r7, r7, #1 - adds r0, r0, r7 - movs r6, #0x32 - ldrsh r1, [r3, r6] - subs r0, r0, r1 - adds r0, #0x10 - ldrb r6, [r2, #0xc] - cmp r6, #0 - bne _0805DB58 - cmp r4, #0x1f - bhi _0805DB88 - cmp r0, #0x1f - bhi _0805DB88 - movs r0, #0x36 - ldrsh r1, [r3, r0] - movs r0, #0x18 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0805DB88 - ldr r0, _0805DB54 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x14 - bne _0805DB88 - adds r0, r6, #1 - strb r0, [r2, #0xc] - movs r0, #0x5a - strb r0, [r2, #0xe] - adds r0, #0xb0 - bl sub_080A3268 - b _0805DB88 - .align 2, 0 -_0805DB4C: .4byte gUnk_03000BF0 -_0805DB50: .4byte gUnk_03001160 -_0805DB54: .4byte gUnk_03003F80 -_0805DB58: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805DB88 - movs r0, #0x96 - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0805DB84 - ldrh r0, [r5, #6] - add r0, r8 - strh r0, [r1, #0x2e] - ldrh r0, [r5, #8] - adds r0, r0, r7 - strh r0, [r1, #0x32] - ldr r0, _0805DB90 @ =0x0000FFE8 - strh r0, [r1, #0x36] -_0805DB84: - bl sub_0805E780 -_0805DB88: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805DB90: .4byte 0x0000FFE8 - - thumb_func_start sub_0805DB94 -sub_0805DB94: @ 0x0805DB94 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805DBB0 @ =gUnk_08108D8C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0805DBF0 - pop {r4, pc} - .align 2, 0 -_0805DBB0: .4byte gUnk_08108D8C - - thumb_func_start sub_0805DBB4 -sub_0805DBB4: @ 0x0805DBB4 - movs r1, #1 - strb r1, [r0, #0xc] - ldr r1, _0805DBC8 @ =gUnk_030010A0 - adds r1, #0x3d - ldrb r2, [r1] - lsls r1, r2, #4 - subs r1, r1, r2 - lsls r1, r1, #2 - strh r1, [r0, #0x20] - bx lr - .align 2, 0 -_0805DBC8: .4byte gUnk_030010A0 - - thumb_func_start sub_0805DBCC -sub_0805DBCC: @ 0x0805DBCC - push {lr} - adds r1, r0, #0 - ldr r0, [r1, #0x14] - ldr r0, [r0, #4] - cmp r0, #0 - bne _0805DBE6 - movs r0, #2 - strb r0, [r1, #0xc] - ldrh r0, [r1, #0x20] - ldr r2, _0805DBE8 @ =0x0000012D - cmp r0, r2 - bls _0805DBE6 - strh r2, [r1, #0x20] -_0805DBE6: - pop {pc} - .align 2, 0 -_0805DBE8: .4byte 0x0000012D - - thumb_func_start nullsub_498 -nullsub_498: @ 0x0805DBEC - bx lr - .align 2, 0 - - thumb_func_start sub_0805DBF0 -sub_0805DBF0: @ 0x0805DBF0 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x20] - subs r1, r0, #1 - strh r1, [r4, #0x20] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _0805DC06 - bl sub_0805DC70 - b _0805DC6C -_0805DC06: - lsls r0, r1, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #0x78 - bne _0805DC18 - movs r0, #0x78 - movs r1, #2 - bl sub_08080964 - b _0805DC36 -_0805DC18: - cmp r1, #0xd2 - bne _0805DC26 - movs r0, #0x5a - movs r1, #1 - bl sub_08080964 - b _0805DC36 -_0805DC26: - movs r0, #0x96 - lsls r0, r0, #1 - cmp r1, r0 - bne _0805DC36 - movs r0, #0x5a - movs r1, #0 - bl sub_08080964 -_0805DC36: - ldrh r1, [r4, #0x20] - adds r0, r1, #0 - cmp r0, #0x77 - bhi _0805DC42 - movs r0, #0xf - b _0805DC48 -_0805DC42: - cmp r0, #0xd1 - bhi _0805DC58 - movs r0, #0x1f -_0805DC48: - ands r0, r1 - cmp r0, #0 - bne _0805DC6C - movs r0, #0x93 - lsls r0, r0, #1 - bl sub_080A3268 - b _0805DC6C -_0805DC58: - cmp r0, #0xc7 - bhi _0805DC6C - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - bne _0805DC6C - movs r0, #0x93 - lsls r0, r0, #1 - bl sub_080A3268 -_0805DC6C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805DC70 -sub_0805DC70: @ 0x0805DC70 - push {lr} - bl sub_0805E5A8 - ldr r0, _0805DC80 @ =gUnk_0813AC48 - bl sub_08080840 - pop {pc} - .align 2, 0 -_0805DC80: .4byte gUnk_0813AC48 - - thumb_func_start sub_0805DC84 -sub_0805DC84: @ 0x0805DC84 - push {lr} - ldr r2, _0805DC98 @ =gUnk_08108D98 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805DC98: .4byte gUnk_08108D98 - - thumb_func_start sub_0805DC9C -sub_0805DC9C: @ 0x0805DC9C - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3c] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805DCAE - bl sub_0805E780 -_0805DCAE: - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805DCC2 - ldrh r0, [r4, #0x3c] - bl sub_0807CCC8 - bl sub_0805E780 -_0805DCC2: - movs r0, #1 - strb r0, [r4, #0xc] - pop {r4, pc} - - thumb_func_start sub_0805DCC8 -sub_0805DCC8: @ 0x0805DCC8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl sub_0807CBE4 - cmp r0, #0 - beq _0805DD1E - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x35 - ldrb r0, [r0] - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805DCEC - movs r0, #0x1e - strb r0, [r4, #0xe] -_0805DCEC: - ldr r5, _0805DD20 @ =gUnk_03000BF0 - ldr r0, [r5, #0x30] - str r0, [r4, #0x14] - movs r0, #0x69 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0805DD1E - ldrh r0, [r5, #6] - ldrh r2, [r4, #0x38] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - ldrh r0, [r5, #8] - ldrh r2, [r4, #0x3a] - adds r0, r0, r2 - strh r0, [r1, #0x32] - str r1, [r4, #0x18] - str r1, [r5, #0x30] - adds r0, r1, #0 - movs r1, #0x1e - bl sub_0805E4E0 -_0805DD1E: - pop {r4, r5, pc} - .align 2, 0 -_0805DD20: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805DD24 -sub_0805DD24: @ 0x0805DD24 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #8 - bl sub_0805E4E0 - ldr r0, _0805DD64 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _0805DD60 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805DD60 - movs r0, #3 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3c] - bl sub_0807CCC8 - adds r1, r4, #0 - adds r1, #0x36 - ldrb r0, [r1] - cmp r0, #0 - bne _0805DD60 - movs r0, #1 - strb r0, [r1] -_0805DD60: - pop {r4, pc} - .align 2, 0 -_0805DD64: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805DD68 -sub_0805DD68: @ 0x0805DD68 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #8 - bl sub_0805E4E0 - adds r1, r4, #0 - adds r1, #0x36 - ldrb r0, [r1] - cmp r0, #0 - beq _0805DD94 - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805DDAE - ldr r1, _0805DD90 @ =gUnk_03000BF0 - ldr r0, [r4, #0x14] - str r0, [r1, #0x30] - b _0805DDAE - .align 2, 0 -_0805DD90: .4byte gUnk_03000BF0 -_0805DD94: - ldr r0, _0805DDB0 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _0805DDAE - ldr r0, [r4, #0x18] - cmp r0, #0 - beq _0805DDAA - bl sub_0805E7BC -_0805DDAA: - bl sub_0805E780 -_0805DDAE: - pop {r4, pc} - .align 2, 0 -_0805DDB0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805DDB4 -sub_0805DDB4: @ 0x0805DDB4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - lsls r0, r0, #2 - ldr r1, _0805DDE0 @ =gUnk_08108DA8 - adds r3, r0, r1 - ldrb r0, [r2, #0xc] - adds r1, r0, #0 - cmp r1, #0 - bne _0805DDCE - adds r0, #1 - strb r0, [r2, #0xc] - strb r1, [r2, #0xe] -_0805DDCE: - ldrb r0, [r2, #0xe] - cmp r0, #0 - bne _0805DDE4 - ldrh r0, [r3] - strb r0, [r2, #0xe] - ldrh r0, [r3, #2] - bl sub_080A3268 - b _0805DDE8 - .align 2, 0 -_0805DDE0: .4byte gUnk_08108DA8 -_0805DDE4: - subs r0, #1 - strb r0, [r2, #0xe] -_0805DDE8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805DDEC -sub_0805DDEC: @ 0x0805DDEC - push {r4, r5, lr} - adds r5, r1, #0 - bl sub_0805E8D4 - adds r4, r0, #0 - cmp r4, #0 - beq _0805DE16 - movs r0, #9 - strb r0, [r4, #8] - movs r0, #0x36 - strb r0, [r4, #9] - ldr r0, [r5, #4] - strb r0, [r4, #0xa] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805EA2C - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 -_0805DE16: - pop {r4, r5, pc} - - thumb_func_start sub_0805DE18 -sub_0805DE18: @ 0x0805DE18 - push {lr} - sub sp, #4 - ldr r3, [r1, #4] - movs r0, #0 - str r0, [sp] - movs r0, #9 - movs r1, #0x36 - movs r2, #6 - bl sub_0805EB2C - cmp r0, #0 - beq _0805DE34 - bl sub_0805E79C -_0805DE34: - add sp, #4 - pop {pc} - - thumb_func_start sub_0805DE38 -sub_0805DE38: @ 0x0805DE38 - push {lr} - ldr r2, _0805DE4C @ =gUnk_08108DBC - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805DE4C: .4byte gUnk_08108DBC - - thumb_func_start sub_0805DE50 -sub_0805DE50: @ 0x0805DE50 - push {lr} - ldr r2, _0805DE64 @ =gUnk_08108DC4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805DE64: .4byte gUnk_08108DC4 - - thumb_func_start sub_0805DE68 -sub_0805DE68: @ 0x0805DE68 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x7b - bl sub_0807CBD0 - cmp r0, #0 - bne _0805DE7A - bl sub_0805E780 -_0805DE7A: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0805DEAC @ =gUnk_030010A0 - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r1, r2, #0 - adds r1, #0x39 - movs r0, #0xf - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3a - movs r1, #0x20 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - ldr r0, _0805DEB0 @ =gUnk_02002A40 - movs r1, #0x93 - lsls r1, r1, #3 - adds r0, r0, r1 - ldr r1, _0805DEB4 @ =0x00001194 - str r1, [r0] - pop {r4, pc} - .align 2, 0 -_0805DEAC: .4byte gUnk_030010A0 -_0805DEB0: .4byte gUnk_02002A40 -_0805DEB4: .4byte 0x00001194 - - thumb_func_start sub_0805DEB8 -sub_0805DEB8: @ 0x0805DEB8 - push {r4, r5, lr} - adds r3, r0, #0 - ldr r5, _0805DF44 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r2, [r5, r0] - subs r2, #0x88 - ldr r4, _0805DF48 @ =gUnk_03000BF0 - ldrh r0, [r4, #6] - subs r2, r2, r0 - movs r1, #0x32 - ldrsh r0, [r5, r1] - subs r0, #0x40 - ldrh r1, [r4, #8] - subs r0, r0, r1 - adds r1, r2, #0 - muls r1, r2, r1 - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - adds r1, r1, r0 - movs r0, #0x90 - lsls r0, r0, #4 - cmp r1, r0 - bgt _0805DF42 - movs r0, #0 - movs r1, #2 - strb r1, [r3, #0xc] - strb r0, [r3, #0xd] - movs r0, #0x78 - strb r0, [r3, #0xe] - movs r0, #2 - bl sub_08078A90 - bl sub_08078B48 - movs r0, #0x64 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0805DF1A - ldrh r0, [r4, #6] - adds r0, #0x88 - strh r0, [r2, #0x2e] - ldrh r0, [r4, #8] - adds r0, #0x48 - strh r0, [r2, #0x32] -_0805DF1A: - movs r2, #0x10 - rsbs r2, r2, #0 - adds r0, r5, #0 - movs r1, #8 - bl sub_080A2CFC - adds r2, r0, #0 - cmp r2, #0 - beq _0805DF3C - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_0805DF3C: - movs r0, #0x32 - bl sub_080A3268 -_0805DF42: - pop {r4, r5, pc} - .align 2, 0 -_0805DF44: .4byte gUnk_03001160 -_0805DF48: .4byte gUnk_03000BF0 - - thumb_func_start sub_0805DF4C -sub_0805DF4C: @ 0x0805DF4C - push {lr} - adds r1, r0, #0 - ldr r2, _0805DF70 @ =gUnk_03001160 - movs r0, #0 - strb r0, [r2, #0x14] - movs r3, #0x36 - ldrsh r0, [r2, r3] - cmp r0, #0 - beq _0805DF78 - movs r1, #0x32 - ldrsh r0, [r2, r1] - ldr r1, _0805DF74 @ =gUnk_03000BF0 - ldrh r1, [r1, #8] - adds r1, #0x48 - cmp r0, r1 - bge _0805DF92 - strh r1, [r2, #0x32] - b _0805DF92 - .align 2, 0 -_0805DF70: .4byte gUnk_03001160 -_0805DF74: .4byte gUnk_03000BF0 -_0805DF78: - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805DF92 - movs r0, #3 - strb r0, [r1, #0xc] - movs r0, #0x1e - strb r0, [r1, #0xe] - ldr r0, _0805DF94 @ =0x0000164F - bl sub_08056378 -_0805DF92: - pop {pc} - .align 2, 0 -_0805DF94: .4byte 0x0000164F - - thumb_func_start sub_0805DF98 -sub_0805DF98: @ 0x0805DF98 - push {lr} - adds r2, r0, #0 - ldr r0, _0805DFB4 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0805DFCA - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _0805DFB8 - subs r0, #1 - strb r0, [r2, #0xe] - b _0805DFCA - .align 2, 0 -_0805DFB4: .4byte gUnk_02000050 -_0805DFB8: - movs r0, #4 - strb r0, [r2, #0xc] - movs r0, #7 - movs r1, #4 - bl sub_08050054 - movs r0, #0xf6 - bl sub_080A3268 -_0805DFCA: - pop {pc} - - thumb_func_start sub_0805DFCC -sub_0805DFCC: @ 0x0805DFCC - push {lr} - ldr r0, _0805DFE4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805DFE0 - movs r0, #0x1c - bl sub_0807CD80 - bl sub_0805E094 -_0805DFE0: - pop {pc} - .align 2, 0 -_0805DFE4: .4byte gUnk_03000FD0 - - thumb_func_start sub_0805DFE8 -sub_0805DFE8: @ 0x0805DFE8 - push {lr} - ldr r2, _0805DFFC @ =gUnk_08108DD8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805DFFC: .4byte gUnk_08108DD8 - - thumb_func_start sub_0805E000 -sub_0805E000: @ 0x0805E000 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r0, #0x51 - movs r1, #0 - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _0805E062 - ldr r1, _0805E064 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0xb0 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #8] - adds r0, #0x48 - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x38 - movs r5, #1 - strb r5, [r0] - adds r0, r4, #0 - bl sub_08016A04 - ldr r0, _0805E068 @ =gUnk_030010A0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _0805E040 - bl sub_0805E780 -_0805E040: - str r4, [r6, #0x18] - strb r5, [r6, #0xc] - movs r0, #3 - bl sub_08078A90 - ldr r0, _0805E06C @ =gUnk_02033A90 - ldr r1, _0805E070 @ =0x00000864 - adds r0, r0, r1 - ldr r1, _0805E074 @ =0x80010000 - str r1, [r0] - movs r0, #6 - movs r1, #4 - bl sub_08050054 - movs r0, #0xf7 - bl sub_080A3268 -_0805E062: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805E064: .4byte gUnk_03000BF0 -_0805E068: .4byte gUnk_030010A0 -_0805E06C: .4byte gUnk_02033A90 -_0805E070: .4byte 0x00000864 -_0805E074: .4byte 0x80010000 - - thumb_func_start sub_0805E078 -sub_0805E078: @ 0x0805E078 - push {lr} - adds r1, r0, #0 - ldr r0, _0805E090 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805E08E - ldr r1, [r1, #0x18] - movs r0, #1 - strb r0, [r1, #0xd] - bl sub_0805E780 -_0805E08E: - pop {pc} - .align 2, 0 -_0805E090: .4byte gUnk_03000FD0 - - thumb_func_start sub_0805E094 -sub_0805E094: @ 0x0805E094 - push {lr} - bl sub_0805E5A8 - ldr r0, _0805E0A4 @ =gUnk_0813AC34 - movs r1, #7 - bl sub_0808091C - pop {pc} - .align 2, 0 -_0805E0A4: .4byte gUnk_0813AC34 - - thumb_func_start sub_0805E0A8 -sub_0805E0A8: @ 0x0805E0A8 - push {lr} - ldr r2, _0805E0BC @ =gUnk_08108DE0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805E0BC: .4byte gUnk_08108DE0 - - thumb_func_start sub_0805E0C0 -sub_0805E0C0: @ 0x0805E0C0 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0 - movs r1, #1 - strb r1, [r5, #0xc] - strb r0, [r5, #0xe] - ldrb r0, [r5, #0xa] - bl sub_0804B128 - adds r4, r0, #0 - cmp r4, #0 - bne _0805E0EC - bl sub_0805E780 - b _0805E0EC -_0805E0DE: - adds r0, r4, #0 - adds r4, #0x10 - bl sub_0804ADF8 - str r5, [r0, #0x50] - movs r1, #0xff - strb r1, [r0, #0xe] -_0805E0EC: - ldrb r0, [r4] - cmp r0, #0xff - bne _0805E0DE - pop {r4, r5, pc} - - thumb_func_start sub_0805E0F4 -sub_0805E0F4: @ 0x0805E0F4 - movs r1, #0 - strb r1, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_0805E0FC -sub_0805E0FC: @ 0x0805E0FC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805E134 @ =gUnk_08108E28 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r0, _0805E138 @ =gUnk_03000BF0 - adds r1, r4, #0 - adds r1, #0x20 - ldrb r0, [r0, #5] - ldrb r1, [r1] - cmp r0, r1 - bne _0805E12A - ldr r0, _0805E13C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _0805E130 -_0805E12A: - adds r0, r4, #0 - bl sub_0805E1D8 -_0805E130: - pop {r4, pc} - .align 2, 0 -_0805E134: .4byte gUnk_08108E28 -_0805E138: .4byte gUnk_03000BF0 -_0805E13C: .4byte gUnk_02000050 - - thumb_func_start sub_0805E140 -sub_0805E140: @ 0x0805E140 - push {r4, lr} - ldrb r2, [r0, #0x10] - movs r1, #0x20 - orrs r1, r2 - strb r1, [r0, #0x10] - movs r1, #1 - strb r1, [r0, #0xc] - ldr r1, _0805E180 @ =gUnk_03000BF0 - ldrb r2, [r1, #5] - adds r1, r0, #0 - adds r1, #0x20 - strb r2, [r1] - movs r1, #0x78 - strb r1, [r0, #0xe] - movs r1, #0x3c - strb r1, [r0, #0xf] - movs r1, #7 - bl sub_0805E3A0 - ldr r1, _0805E184 @ =gUnk_08108DE8 - ldr r0, _0805E188 @ =gUnk_02033A90 - ldrb r0, [r0, #1] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r4, [r0] - bl sub_08052660 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0805E1F8 - pop {r4, pc} - .align 2, 0 -_0805E180: .4byte gUnk_03000BF0 -_0805E184: .4byte gUnk_08108DE8 -_0805E188: .4byte gUnk_02033A90 - - thumb_func_start sub_0805E18C -sub_0805E18C: @ 0x0805E18C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0805E1D0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _0805E1CC - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0805E1BA - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0805E1BA - strb r0, [r4, #0xb] - ldr r0, _0805E1D4 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bl sub_0805E5B4 -_0805E1BA: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805E1CC - adds r0, r4, #0 - bl sub_0805E1D8 -_0805E1CC: - pop {r4, pc} - .align 2, 0 -_0805E1D0: .4byte gUnk_03000FD0 -_0805E1D4: .4byte gUnk_03003F80 - - thumb_func_start sub_0805E1D8 -sub_0805E1D8: @ 0x0805E1D8 - push {lr} - ldr r0, _0805E1F0 @ =gUnk_02034DF0 - movs r1, #0x80 - bl sub_0801D630 - ldr r1, _0805E1F4 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0xe] - bl sub_0805E780 - pop {pc} - .align 2, 0 -_0805E1F0: .4byte gUnk_02034DF0 -_0805E1F4: .4byte gUnk_03000F50 - - thumb_func_start sub_0805E1F8 -sub_0805E1F8: @ 0x0805E1F8 - push {r4, r5, lr} - sub sp, #0xc - adds r4, r0, #0 - adds r5, r1, #0 - ldr r0, _0805E234 @ =gUnk_02034DF0 - movs r1, #0x80 - bl sub_0801D630 - ldr r0, _0805E238 @ =gUnk_08108E60 - mov r1, sp - movs r2, #9 - bl sub_0801D66C - mov r1, sp - lsrs r0, r4, #8 - strb r0, [r1, #4] - mov r0, sp - strb r4, [r0, #5] - ldr r1, _0805E23C @ =gUnk_08108E48 - cmp r5, #0 - bne _0805E224 - ldr r1, _0805E240 @ =gUnk_08108E30 -_0805E224: - mov r0, sp - bl sub_0805F46C - ldr r1, _0805E244 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0xe] - add sp, #0xc - pop {r4, r5, pc} - .align 2, 0 -_0805E234: .4byte gUnk_02034DF0 -_0805E238: .4byte gUnk_08108E60 -_0805E23C: .4byte gUnk_08108E48 -_0805E240: .4byte gUnk_08108E30 -_0805E244: .4byte gUnk_03000F50 - - thumb_func_start sub_0805E248 -sub_0805E248: @ 0x0805E248 - push {r4, r5, lr} - ldr r0, _0805E2C8 @ =gUnk_03004030 - ldr r0, [r0] - ldrh r5, [r0, #6] - ldr r0, _0805E2CC @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #0xa - beq _0805E25C - cmp r0, #0x16 - bne _0805E2E8 -_0805E25C: - movs r0, #0x9f - lsls r0, r0, #2 - adds r4, r5, #0 - subs r4, #0x41 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0805E2D0 @ =0x00000283 - adds r1, r4, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0805E2D4 @ =0x0000027D - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r0, #0xa1 - lsls r0, r0, #2 - adds r1, r4, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0805E2D8 @ =0x0000027E - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0805E2DC @ =0x00000285 - adds r1, r4, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0805E2E0 @ =0x0000027F - subs r1, r5, #1 - movs r2, #1 - bl sub_0807B314 - movs r0, #0xa0 - lsls r0, r0, #2 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0805E2E4 @ =0x00000282 - adds r1, r5, #1 - movs r2, #1 - bl sub_0807B314 - b _0805E350 - .align 2, 0 -_0805E2C8: .4byte gUnk_03004030 -_0805E2CC: .4byte gUnk_03000BF0 -_0805E2D0: .4byte 0x00000283 -_0805E2D4: .4byte 0x0000027D -_0805E2D8: .4byte 0x0000027E -_0805E2DC: .4byte 0x00000285 -_0805E2E0: .4byte 0x0000027F -_0805E2E4: .4byte 0x00000282 -_0805E2E8: - movs r0, #0x9b - lsls r0, r0, #2 - adds r4, r5, #0 - subs r4, #0x41 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0805E358 @ =0x00000273 - adds r1, r4, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0805E35C @ =0x0000026D - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - movs r0, #0x9d - lsls r0, r0, #2 - adds r1, r4, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0805E360 @ =0x0000026E - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0805E364 @ =0x00000275 - adds r1, r4, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0805E368 @ =0x0000026F - subs r1, r5, #1 - movs r2, #1 - bl sub_0807B314 - movs r0, #0x9c - lsls r0, r0, #2 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0805E36C @ =0x00000272 - adds r1, r5, #1 - movs r2, #1 - bl sub_0807B314 -_0805E350: - ldr r1, _0805E370 @ =gUnk_02000070 - movs r0, #0 - strb r0, [r1] - pop {r4, r5, pc} - .align 2, 0 -_0805E358: .4byte 0x00000273 -_0805E35C: .4byte 0x0000026D -_0805E360: .4byte 0x0000026E -_0805E364: .4byte 0x00000275 -_0805E368: .4byte 0x0000026F -_0805E36C: .4byte 0x00000272 -_0805E370: .4byte gUnk_02000070 - - thumb_func_start sub_0805E374 -sub_0805E374: @ 0x0805E374 - push {lr} - adds r2, r0, #0 - ldr r0, _0805E394 @ =gUnk_030010A0 - adds r0, #0x2c - ldrb r0, [r0] - ldr r1, _0805E398 @ =gUnk_081091F8 - cmp r0, #2 - beq _0805E386 - ldr r1, _0805E39C @ =gUnk_081091EE -_0805E386: - ldrb r0, [r2, #8] - adds r0, r1, r0 - ldrb r1, [r0] - adds r0, r2, #0 - bl sub_0805E3A0 - pop {pc} - .align 2, 0 -_0805E394: .4byte gUnk_030010A0 -_0805E398: .4byte gUnk_081091F8 -_0805E39C: .4byte gUnk_081091EE - - thumb_func_start sub_0805E3A0 -sub_0805E3A0: @ 0x0805E3A0 - movs r3, #0xf - adds r2, r1, #0 - ands r2, r3 - lsls r1, r1, #4 - orrs r1, r2 - strb r1, [r0, #0x11] - bx lr - .align 2, 0 - - thumb_func_start sub_0805E3B0 -sub_0805E3B0: @ 0x0805E3B0 - push {lr} - adds r3, r0, #0 - ldrb r1, [r3, #0x10] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0805E3C2 - movs r0, #1 - b _0805E404 -_0805E3C2: - ldrb r0, [r3, #0xc] - cmp r0, #0 - bne _0805E3CC - movs r0, #0 - b _0805E404 -_0805E3CC: - ldr r1, _0805E3DC @ =gUnk_03003DC0 - ldrb r0, [r1] - ldrb r2, [r1, #1] - cmp r0, r2 - bls _0805E3E0 - adds r2, r0, #0 - b _0805E3E2 - .align 2, 0 -_0805E3DC: .4byte gUnk_03003DC0 -_0805E3E0: - ldrb r2, [r1, #1] -_0805E3E2: - ldr r0, _0805E408 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _0805E3F4 - cmp r2, #2 - bhs _0805E3F4 - movs r2, #2 -_0805E3F4: - movs r1, #0 - ldrb r0, [r3, #0x11] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - cmp r2, r0 - bls _0805E402 - movs r1, #1 -_0805E402: - adds r0, r1, #0 -_0805E404: - pop {pc} - .align 2, 0 -_0805E408: .4byte gUnk_02000050 - - thumb_func_start sub_0805E40C -sub_0805E40C: @ 0x0805E40C - push {lr} - ldr r1, _0805E424 @ =gUnk_03003DC0 - ldrb r0, [r1] - ldrb r2, [r1, #1] - cmp r0, r2 - bhi _0805E41A - ldrb r0, [r1, #1] -_0805E41A: - cmp r0, #0 - beq _0805E420 - movs r0, #1 -_0805E420: - pop {pc} - .align 2, 0 -_0805E424: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E428 -sub_0805E428: @ 0x0805E428 - push {lr} - bl sub_0805E524 - ldr r2, _0805E440 @ =gUnk_03003DC0 - ldrb r3, [r2, #2] - adds r1, r3, #0 - cmp r1, #0 - beq _0805E444 - movs r0, #0 - strb r3, [r2, #1] - strb r0, [r2, #2] - b _0805E44E - .align 2, 0 -_0805E440: .4byte gUnk_03003DC0 -_0805E444: - ldrb r0, [r2, #3] - cmp r0, #0 - beq _0805E44E - strb r1, [r2, #3] - strb r1, [r2, #1] -_0805E44E: - pop {pc} - - thumb_func_start sub_0805E450 -sub_0805E450: @ 0x0805E450 - push {lr} - ldr r1, _0805E464 @ =gUnk_03003DC0 - ldrb r2, [r1, #2] - cmp r0, r2 - blo _0805E460 - ldrb r2, [r1, #1] - cmp r0, r2 - bhs _0805E468 -_0805E460: - movs r0, #0 - b _0805E46C - .align 2, 0 -_0805E464: .4byte gUnk_03003DC0 -_0805E468: - strb r0, [r1, #2] - movs r0, #1 -_0805E46C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805E470 -sub_0805E470: @ 0x0805E470 - ldr r1, _0805E478 @ =gUnk_03003DC0 - movs r0, #1 - strb r0, [r1, #3] - bx lr - .align 2, 0 -_0805E478: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E47C -sub_0805E47C: @ 0x0805E47C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x11] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x18 - movs r1, #2 - orrs r0, r1 - strb r0, [r4, #0x11] - movs r0, #2 - bl sub_0805E450 - cmp r0, #0 - beq _0805E49A - ldr r0, _0805E49C @ =gUnk_03003DC0 - str r4, [r0, #4] -_0805E49A: - pop {r4, pc} - .align 2, 0 -_0805E49C: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E4A0 -sub_0805E4A0: @ 0x0805E4A0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_08078A90 - ldrb r0, [r4, #0x11] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x18 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - movs r0, #1 - bl sub_0805E450 - cmp r0, #0 - beq _0805E4C4 - ldr r0, _0805E4C8 @ =gUnk_03003DC0 - str r4, [r0, #4] -_0805E4C4: - pop {r4, pc} - .align 2, 0 -_0805E4C8: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E4CC -sub_0805E4CC: @ 0x0805E4CC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - bl sub_08078A90 - adds r0, r4, #0 - bl sub_0805E584 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805E4E0 -sub_0805E4E0: @ 0x0805E4E0 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - cmp r4, #0 - beq _0805E4F6 - ldrb r0, [r4, #0x11] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x18 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] -_0805E4F6: - movs r0, #1 - bl sub_0805E450 - cmp r0, #0 - beq _0805E504 - ldr r0, _0805E50C @ =gUnk_03003DC0 - str r4, [r0, #4] -_0805E504: - adds r0, r5, #0 - bl sub_0805E510 - pop {r4, r5, pc} - .align 2, 0 -_0805E50C: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E510 -sub_0805E510: @ 0x0805E510 - push {lr} - adds r1, r0, #0 - ldr r2, _0805E520 @ =gUnk_03003DC0 - ldrh r0, [r2, #8] - cmp r0, r1 - bhs _0805E51E - strh r1, [r2, #8] -_0805E51E: - pop {pc} - .align 2, 0 -_0805E520: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E524 -sub_0805E524: @ 0x0805E524 - push {lr} - ldr r1, _0805E540 @ =gUnk_03003DC0 - ldrh r0, [r1, #8] - cmp r0, #0 - beq _0805E53C - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805E53C - bl sub_0805E470 -_0805E53C: - pop {pc} - .align 2, 0 -_0805E540: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E544 -sub_0805E544: @ 0x0805E544 - ldr r1, _0805E55C @ =gUnk_03003DC0 - movs r3, #6 - movs r0, #6 - strb r0, [r1] - ldr r2, _0805E560 @ =gUnk_03001160 - ldrb r1, [r2, #0x11] - subs r0, #0x16 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, #0x11] - bx lr - .align 2, 0 -_0805E55C: .4byte gUnk_03003DC0 -_0805E560: .4byte gUnk_03001160 - - thumb_func_start sub_0805E564 -sub_0805E564: @ 0x0805E564 - ldr r1, _0805E57C @ =gUnk_03003DC0 - movs r0, #0 - strb r0, [r1] - ldr r2, _0805E580 @ =gUnk_03001160 - ldrb r1, [r2, #0x11] - subs r0, #0x10 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x11] - bx lr - .align 2, 0 -_0805E57C: .4byte gUnk_03003DC0 -_0805E580: .4byte gUnk_03001160 - - thumb_func_start sub_0805E584 -sub_0805E584: @ 0x0805E584 - push {lr} - ldrb r2, [r0, #0x11] - lsrs r3, r2, #4 - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x11] - bl sub_0805E470 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805E59C -sub_0805E59C: @ 0x0805E59C - ldr r1, _0805E5A4 @ =gUnk_03003DC0 - movs r0, #6 - strb r0, [r1] - bx lr - .align 2, 0 -_0805E5A4: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E5A8 -sub_0805E5A8: @ 0x0805E5A8 - ldr r1, _0805E5B0 @ =gUnk_03003DC0 - movs r0, #7 - strb r0, [r1] - bx lr - .align 2, 0 -_0805E5B0: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E5B4 -sub_0805E5B4: @ 0x0805E5B4 - ldr r1, _0805E5BC @ =gUnk_03003DC0 - movs r0, #0 - strb r0, [r1] - bx lr - .align 2, 0 -_0805E5BC: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805E5C0 -sub_0805E5C0: @ 0x0805E5C0 - push {lr} - ldr r0, _0805E5F0 @ =gUnk_02034350 - ldrb r1, [r0, #4] - movs r2, #0 - strb r1, [r0, #5] - strb r2, [r0, #4] - bl sub_0805ED30 - bl sub_0805E428 - bl sub_080175E8 - bl sub_0806F0A4 - ldr r1, _0805E5F4 @ =gUnk_03005F40 - movs r0, #0 - bl _call_via_r1 - bl sub_0805E84C - bl sub_0805EE88 - pop {pc} - .align 2, 0 -_0805E5F0: .4byte gUnk_02034350 -_0805E5F4: .4byte gUnk_03005F40 - - thumb_func_start sub_0805E5F8 -sub_0805E5F8: @ 0x0805E5F8 - push {lr} - ldr r1, _0805E608 @ =gUnk_03005F40 - movs r0, #1 - bl _call_via_r1 - bl sub_0805E84C - pop {pc} - .align 2, 0 -_0805E608: .4byte gUnk_03005F40 - - thumb_func_start sub_0805E60C -sub_0805E60C: @ 0x0805E60C - push {lr} - bl sub_0805E89C - ldr r0, _0805E654 @ =gUnk_03003DC0 - movs r1, #0xc - bl sub_0801D630 - ldr r0, _0805E658 @ =gUnk_03001160 - movs r1, #0xaa - lsls r1, r1, #6 - bl sub_0801D630 - ldr r0, _0805E65C @ =gUnk_02033290 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - bl sub_0805E98C - ldr r0, _0805E660 @ =gUnk_03003DBC - movs r1, #0 - strb r1, [r0] - ldr r0, _0805E664 @ =gUnk_020354B4 - strb r1, [r0] - ldr r1, _0805E668 @ =gUnk_03000000 - ldr r2, _0805E66C @ =0x00000427 - adds r0, r1, r2 - movs r2, #1 - strb r2, [r0] - ldr r3, _0805E670 @ =0x00000426 - adds r0, r1, r3 - strb r2, [r0] - ldr r0, _0805E674 @ =0x0000042E - adds r1, r1, r0 - strb r2, [r1] - pop {pc} - .align 2, 0 -_0805E654: .4byte gUnk_03003DC0 -_0805E658: .4byte gUnk_03001160 -_0805E65C: .4byte gUnk_02033290 -_0805E660: .4byte gUnk_03003DBC -_0805E664: .4byte gUnk_020354B4 -_0805E668: .4byte gUnk_03000000 -_0805E66C: .4byte 0x00000427 -_0805E670: .4byte 0x00000426 -_0805E674: .4byte 0x0000042E - - thumb_func_start sub_0805E678 -sub_0805E678: @ 0x0805E678 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r0, _0805E698 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x46 - bhi _0805E6A6 - ldr r4, _0805E69C @ =gUnk_030015A0 - movs r0, #0x99 - lsls r0, r0, #6 - adds r1, r4, r0 -_0805E68E: - ldr r0, [r4] - cmp r0, #0 - bne _0805E6A0 - adds r0, r4, #0 - b _0805E730 - .align 2, 0 -_0805E698: .4byte gUnk_03003DBC -_0805E69C: .4byte gUnk_030015A0 -_0805E6A0: - adds r4, #0x88 - cmp r4, r1 - blo _0805E68E -_0805E6A6: - ldr r4, _0805E6CC @ =gUnk_03001160 -_0805E6A8: - ldr r0, [r4] - cmp r0, #0 - bge _0805E6D4 - ldrb r1, [r4, #0x10] - movs r0, #0xc - ands r0, r1 - cmp r0, #0 - beq _0805E6D4 - ldr r0, _0805E6D0 @ =gUnk_03003DD0 - ldr r0, [r0, #8] - cmp r4, r0 - beq _0805E6D4 - adds r0, r4, #0 - bl sub_0805E870 - adds r0, r4, #0 - b _0805E730 - .align 2, 0 -_0805E6CC: .4byte gUnk_03001160 -_0805E6D0: .4byte gUnk_03003DD0 -_0805E6D4: - adds r4, #0x88 - ldr r0, _0805E738 @ =gUnk_03003BE0 - cmp r4, r0 - blo _0805E6A8 - movs r0, #0 - mov ip, r0 - movs r5, #0 - ldr r2, _0805E73C @ =gUnk_03003D70 - movs r0, #0x48 - adds r0, r0, r2 - mov r8, r0 -_0805E6EA: - ldr r4, [r2, #4] - adds r3, r2, #0 - adds r3, #8 - cmp r4, r2 - beq _0805E718 - movs r7, #0x1c - ldr r6, _0805E740 @ =gUnk_03003DD0 -_0805E6F8: - ldrb r0, [r4, #8] - cmp r0, #9 - beq _0805E712 - ldrb r0, [r4, #0x10] - adds r1, r7, #0 - ands r1, r0 - cmp ip, r1 - bhs _0805E712 - ldr r0, [r6, #8] - cmp r0, r4 - beq _0805E712 - mov ip, r1 - adds r5, r4, #0 -_0805E712: - ldr r4, [r4, #4] - cmp r4, r2 - bne _0805E6F8 -_0805E718: - adds r2, r3, #0 - cmp r2, r8 - blo _0805E6EA - cmp r5, #0 - beq _0805E72E - adds r0, r5, #0 - bl sub_0805E7BC - adds r0, r5, #0 - bl sub_0805E870 -_0805E72E: - adds r0, r5, #0 -_0805E730: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805E738: .4byte gUnk_03003BE0 -_0805E73C: .4byte gUnk_03003D70 -_0805E740: .4byte gUnk_03003DD0 - - thumb_func_start sub_0805E744 -sub_0805E744: @ 0x0805E744 - push {lr} - ldr r1, _0805E760 @ =gUnk_030011E8 - movs r0, #0xee - lsls r0, r0, #2 - adds r2, r1, r0 -_0805E74E: - ldr r0, [r1] - cmp r0, #0 - beq _0805E764 - adds r1, #0x88 - cmp r1, r2 - blo _0805E74E - movs r0, #0 - b _0805E766 - .align 2, 0 -_0805E760: .4byte gUnk_030011E8 -_0805E764: - adds r0, r1, #0 -_0805E766: - pop {pc} - - thumb_func_start sub_0805E768 -sub_0805E768: @ 0x0805E768 - push {lr} - ldr r1, _0805E778 @ =sub_0805E678 - cmp r0, #9 - bne _0805E772 - ldr r1, _0805E77C @ =sub_0805E8D4 -_0805E772: - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805E778: .4byte sub_0805E678 -_0805E77C: .4byte sub_0805E8D4 - - thumb_func_start sub_0805E780 -sub_0805E780: @ 0x0805E780 - push {lr} - ldr r0, _0805E794 @ =gUnk_03003DD0 - ldr r0, [r0, #8] - bl sub_0805E79C - ldr r0, _0805E798 @ =gUnk_03005F24 - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805E794: .4byte gUnk_03003DD0 -_0805E798: .4byte gUnk_03005F24 - - thumb_func_start sub_0805E79C -sub_0805E79C: @ 0x0805E79C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #8] - ldr r2, _0805E7B4 @ =sub_0805E7BC - cmp r0, #9 - bne _0805E7AA - ldr r2, _0805E7B8 @ =sub_0805E900 -_0805E7AA: - adds r0, r1, #0 - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0805E7B4: .4byte sub_0805E7BC -_0805E7B8: .4byte sub_0805E900 - - thumb_func_start sub_0805E7BC -sub_0805E7BC: @ 0x0805E7BC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #4] - cmp r0, #0 - beq _0805E84A - adds r0, r4, #0 - bl sub_080AE068 - adds r0, r4, #0 - bl sub_0801D230 - adds r0, r4, #0 - bl sub_0806FE84 - adds r0, r4, #0 - bl sub_080788E0 - adds r0, r4, #0 - bl sub_08078954 - adds r0, r4, #0 - bl sub_0805EC60 - adds r0, r4, #0 - bl sub_08017744 - adds r0, r4, #0 - bl sub_0805E92C - adds r0, r4, #0 - bl sub_0807DB08 - adds r0, r4, #0 - bl sub_0806FBEC - ldr r0, [r4, #0x64] - bl sub_0801DA0C - movs r5, #0 - str r5, [r4, #0x64] - ldrb r0, [r4, #8] - cmp r0, #3 - bne _0805E818 - adds r0, r4, #0 - bl sub_0804AA1C -_0805E818: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x3c - strb r5, [r0] - adds r0, #5 - strb r5, [r0] - adds r0, #1 - strb r5, [r0] - adds r0, #3 - strb r5, [r0] - adds r0, r4, #0 - bl sub_0805EA98 - str r5, [r4, #4] - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r4] -_0805E84A: - pop {r4, r5, pc} - - thumb_func_start sub_0805E84C -sub_0805E84C: @ 0x0805E84C - push {r4, r5, lr} - ldr r4, _0805E86C @ =gUnk_03001160 - movs r0, #0xaa - lsls r0, r0, #6 - adds r5, r4, r0 -_0805E856: - ldr r0, [r4] - cmp r0, #0 - bge _0805E862 - adds r0, r4, #0 - bl sub_0805E870 -_0805E862: - adds r4, #0x88 - cmp r4, r5 - blo _0805E856 - pop {r4, r5, pc} - .align 2, 0 -_0805E86C: .4byte gUnk_03001160 - - thumb_func_start sub_0805E870 -sub_0805E870: @ 0x0805E870 - sub sp, #4 - movs r1, #0 - str r1, [sp] - ldr r1, _0805E890 @ =0x040000D4 - mov r2, sp - str r2, [r1] - str r0, [r1, #4] - ldr r0, _0805E894 @ =0x85000022 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0805E898 @ =gUnk_03003DBC - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - add sp, #4 - bx lr - .align 2, 0 -_0805E890: .4byte 0x040000D4 -_0805E894: .4byte 0x85000022 -_0805E898: .4byte gUnk_03003DBC - - thumb_func_start sub_0805E89C -sub_0805E89C: @ 0x0805E89C - push {r4, r5, r6, lr} - ldr r5, _0805E8CC @ =gUnk_03003D70 - ldr r0, [r5, #4] - cmp r0, #0 - beq _0805E8C8 -_0805E8A6: - ldr r0, [r5, #4] - adds r6, r5, #0 - adds r6, #8 - cmp r0, r5 - beq _0805E8BC -_0805E8B0: - ldr r4, [r0, #4] - bl sub_0805E79C - adds r0, r4, #0 - cmp r0, r5 - bne _0805E8B0 -_0805E8BC: - adds r5, r6, #0 - ldr r0, _0805E8D0 @ =gUnk_03003DB8 - cmp r5, r0 - blo _0805E8A6 - bl sub_0805E84C -_0805E8C8: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805E8CC: .4byte gUnk_03003D70 -_0805E8D0: .4byte gUnk_03003DB8 - - thumb_func_start sub_0805E8D4 -sub_0805E8D4: @ 0x0805E8D4 - push {lr} - ldr r1, _0805E8F0 @ =gUnk_02033290 - movs r2, #0x80 - lsls r2, r2, #4 - adds r0, r1, r2 - cmp r1, r0 - bhs _0805E8FA - adds r2, r0, #0 -_0805E8E4: - ldr r0, [r1] - cmp r0, #0 - bne _0805E8F4 - adds r0, r1, #0 - b _0805E8FC - .align 2, 0 -_0805E8F0: .4byte gUnk_02033290 -_0805E8F4: - adds r1, #0x40 - cmp r1, r2 - blo _0805E8E4 -_0805E8FA: - movs r0, #0 -_0805E8FC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805E900 -sub_0805E900: @ 0x0805E900 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #4] - cmp r0, #0 - beq _0805E926 - adds r0, r4, #0 - bl sub_0805E92C - adds r0, r4, #0 - bl sub_0805EA98 - adds r0, r4, #0 - movs r1, #0x40 - bl sub_0801D630 - ldr r1, _0805E928 @ =gUnk_020354B4 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] -_0805E926: - pop {r4, pc} - .align 2, 0 -_0805E928: .4byte gUnk_020354B4 - - thumb_func_start sub_0805E92C -sub_0805E92C: @ 0x0805E92C - push {lr} - ldr r2, _0805E94C @ =gUnk_02033A90 - ldr r1, _0805E950 @ =0x00000888 - adds r3, r2, r1 - ldr r1, [r3] - cmp r0, r1 - bne _0805E94A - movs r0, #0 - str r0, [r3] - ldr r3, _0805E954 @ =0x0000088C - adds r1, r2, r3 - str r0, [r1] - adds r3, #4 - adds r1, r2, r3 - str r0, [r1] -_0805E94A: - pop {pc} - .align 2, 0 -_0805E94C: .4byte gUnk_02033A90 -_0805E950: .4byte 0x00000888 -_0805E954: .4byte 0x0000088C - - thumb_func_start sub_0805E958 -sub_0805E958: @ 0x0805E958 - push {lr} - ldr r0, _0805E96C @ =gUnk_03003D70 - ldr r1, _0805E970 @ =gUnk_020369F0 - movs r2, #0x48 - bl sub_0801D66C - bl sub_0805E98C - pop {pc} - .align 2, 0 -_0805E96C: .4byte gUnk_03003D70 -_0805E970: .4byte gUnk_020369F0 - - thumb_func_start sub_0805E974 -sub_0805E974: @ 0x0805E974 - push {lr} - ldr r0, _0805E984 @ =gUnk_020369F0 - ldr r1, _0805E988 @ =gUnk_03003D70 - movs r2, #0x48 - bl sub_0801D66C - pop {pc} - .align 2, 0 -_0805E984: .4byte gUnk_020369F0 -_0805E988: .4byte gUnk_03003D70 - - thumb_func_start sub_0805E98C -sub_0805E98C: @ 0x0805E98C - push {lr} - ldr r0, _0805E9A4 @ =gUnk_03003D70 - adds r1, r0, #0 - adds r1, #0x48 - cmp r0, r1 - bhs _0805E9A2 -_0805E998: - str r0, [r0] - str r0, [r0, #4] - adds r0, #8 - cmp r0, r1 - blo _0805E998 -_0805E9A2: - pop {pc} - .align 2, 0 -_0805E9A4: .4byte gUnk_03003D70 - - thumb_func_start sub_0805E9A8 -sub_0805E9A8: @ 0x0805E9A8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r3, _0805E9F0 @ =gUnk_03003D70 - movs r7, #0x10 - movs r0, #0x48 - adds r0, r0, r3 - mov r8, r0 -_0805E9B8: - ldr r2, [r3, #4] - adds r4, r3, #0 - adds r4, #8 - cmp r2, r3 - beq _0805E9E2 - movs r6, #0xfd - movs r5, #0x20 -_0805E9C6: - ldrb r0, [r2, #0x10] - adds r1, r6, #0 - ands r1, r0 - strb r1, [r2, #0x10] - adds r0, r1, #0 - ands r0, r5 - cmp r0, #0 - bne _0805E9DC - adds r0, r1, #0 - orrs r0, r7 - strb r0, [r2, #0x10] -_0805E9DC: - ldr r2, [r2, #4] - cmp r2, r3 - bne _0805E9C6 -_0805E9E2: - adds r3, r4, #0 - cmp r3, r8 - blo _0805E9B8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805E9F0: .4byte gUnk_03003D70 - - thumb_func_start sub_0805E9F4 -sub_0805E9F4: @ 0x0805E9F4 - push {r4, r5, r6, lr} - ldr r5, _0805EA24 @ =gUnk_03003D70 -_0805E9F8: - ldr r2, [r5, #4] - adds r6, r5, #0 - adds r6, #8 - cmp r2, r5 - beq _0805EA1A -_0805EA02: - ldr r4, [r2, #4] - ldrb r1, [r2, #0x10] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0805EA14 - adds r0, r2, #0 - bl sub_0805E79C -_0805EA14: - adds r2, r4, #0 - cmp r2, r5 - bne _0805EA02 -_0805EA1A: - adds r5, r6, #0 - ldr r0, _0805EA28 @ =gUnk_03003DB8 - cmp r5, r0 - blo _0805E9F8 - pop {r4, r5, r6, pc} - .align 2, 0 -_0805EA24: .4byte gUnk_03003D70 -_0805EA28: .4byte gUnk_03003DB8 - - thumb_func_start sub_0805EA2C -sub_0805EA2C: @ 0x0805EA2C - push {lr} - adds r2, r0, #0 - lsls r1, r1, #3 - ldr r0, _0805EA5C @ =gUnk_03003D70 - adds r1, r1, r0 - str r1, [r2, #4] - ldr r0, [r1] - str r0, [r2] - str r2, [r0, #4] - str r2, [r1] - ldrb r0, [r2, #8] - cmp r0, #9 - beq _0805EA64 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r3] - ldr r1, _0805EA60 @ =gUnk_03003DBC - b _0805EA66 - .align 2, 0 -_0805EA5C: .4byte gUnk_03003D70 -_0805EA60: .4byte gUnk_03003DBC -_0805EA64: - ldr r1, _0805EA74 @ =gUnk_020354B4 -_0805EA66: - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r0, r2, #0 - bl sub_0805E374 - pop {pc} - .align 2, 0 -_0805EA74: .4byte gUnk_020354B4 - - thumb_func_start sub_0805EA78 -sub_0805EA78: @ 0x0805EA78 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_0805EA98 - lsls r4, r4, #3 - ldr r0, _0805EA94 @ =gUnk_03003D70 - adds r4, r4, r0 - str r4, [r5] - ldr r0, [r4, #4] - str r0, [r5, #4] - str r5, [r0] - str r5, [r4, #4] - pop {r4, r5, pc} - .align 2, 0 -_0805EA94: .4byte gUnk_03003D70 - - thumb_func_start sub_0805EA98 -sub_0805EA98: @ 0x0805EA98 - push {lr} - adds r2, r0, #0 - ldr r1, _0805EAB8 @ =gUnk_03003DD0 - ldr r0, [r1, #8] - cmp r2, r0 - bne _0805EAA8 - ldr r0, [r2] - str r0, [r1, #8] -_0805EAA8: - ldr r1, [r2] - ldr r0, [r2, #4] - str r0, [r1, #4] - ldr r1, [r2, #4] - ldr r0, [r2] - str r0, [r1] - pop {pc} - .align 2, 0 -_0805EAB8: .4byte gUnk_03003DD0 - - thumb_func_start sub_0805EABC -sub_0805EABC: @ 0x0805EABC - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldr r4, _0805EAE8 @ =gUnk_03003D70 - adds r7, r4, #0 - adds r7, #0x48 -_0805EAC6: - ldr r3, [r4, #4] - cmp r3, r4 - beq _0805EAF6 - ldr r5, _0805EAEC @ =0x0000FFFF -_0805EACE: - cmp r3, r6 - beq _0805EAF0 - ldrh r0, [r3, #8] - ldrh r2, [r6, #8] - adds r1, r5, #0 - ands r1, r0 - adds r0, r5, #0 - ands r0, r2 - cmp r1, r0 - bne _0805EAF0 - movs r0, #1 - b _0805EAFE - .align 2, 0 -_0805EAE8: .4byte gUnk_03003D70 -_0805EAEC: .4byte 0x0000FFFF -_0805EAF0: - ldr r3, [r3, #4] - cmp r3, r4 - bne _0805EACE -_0805EAF6: - adds r4, #8 - cmp r4, r7 - blo _0805EAC6 - movs r0, #0 -_0805EAFE: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805EB00 -sub_0805EB00: @ 0x0805EB00 - push {r4, lr} - adds r3, r0, #0 - lsls r2, r2, #3 - ldr r0, _0805EB28 @ =gUnk_03003D70 - adds r2, r2, r0 - ldr r0, [r2, #4] - cmp r0, r2 - beq _0805EB22 -_0805EB10: - ldrb r4, [r0, #8] - cmp r3, r4 - bne _0805EB1C - ldrb r4, [r0, #9] - cmp r1, r4 - beq _0805EB24 -_0805EB1C: - ldr r0, [r0, #4] - cmp r0, r2 - bne _0805EB10 -_0805EB22: - movs r0, #0 -_0805EB24: - pop {r4, pc} - .align 2, 0 -_0805EB28: .4byte gUnk_03003D70 - - thumb_func_start sub_0805EB2C -sub_0805EB2C: @ 0x0805EB2C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, [sp, #0x10] - lsls r2, r2, #3 - ldr r0, _0805EB60 @ =gUnk_03003D70 - adds r2, r2, r0 - ldr r0, [r2, #4] - cmp r0, r2 - beq _0805EB5C -_0805EB3E: - ldrb r6, [r0, #8] - cmp r4, r6 - bne _0805EB56 - ldrb r6, [r0, #9] - cmp r1, r6 - bne _0805EB56 - ldrb r6, [r0, #0xa] - cmp r3, r6 - bne _0805EB56 - ldrb r6, [r0, #0xb] - cmp r5, r6 - beq _0805EB5E -_0805EB56: - ldr r0, [r0, #4] - cmp r0, r2 - bne _0805EB3E -_0805EB5C: - movs r0, #0 -_0805EB5E: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805EB60: .4byte gUnk_03003D70 - - thumb_func_start sub_0805EB64 -sub_0805EB64: @ 0x0805EB64 - push {r4, r5, lr} - adds r4, r0, #0 - lsls r1, r1, #3 - ldr r0, _0805EB88 @ =gUnk_03003D70 - adds r3, r1, r0 - ldr r2, [r4, #4] - cmp r2, r3 - beq _0805EB96 - ldr r5, _0805EB8C @ =0x0000FFFF - ldrh r4, [r4, #8] -_0805EB78: - ldrh r1, [r2, #8] - adds r0, r5, #0 - ands r0, r1 - cmp r0, r4 - bne _0805EB90 - adds r0, r2, #0 - b _0805EB98 - .align 2, 0 -_0805EB88: .4byte gUnk_03003D70 -_0805EB8C: .4byte 0x0000FFFF -_0805EB90: - ldr r2, [r2, #4] - cmp r2, r3 - bne _0805EB78 -_0805EB96: - movs r0, #0 -_0805EB98: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805EB9C -sub_0805EB9C: @ 0x0805EB9C - push {r4, r5, lr} - adds r3, r0, #0 - ldr r2, _0805EBC8 @ =gUnk_03003D70 - adds r4, r2, #0 - adds r4, #0x48 -_0805EBA6: - ldr r0, [r2, #4] - cmp r0, r2 - beq _0805EBBE -_0805EBAC: - ldrb r5, [r0, #8] - cmp r3, r5 - bne _0805EBB8 - ldrb r5, [r0, #9] - cmp r1, r5 - beq _0805EBC6 -_0805EBB8: - ldr r0, [r0, #4] - cmp r0, r2 - bne _0805EBAC -_0805EBBE: - adds r2, #8 - cmp r2, r4 - blo _0805EBA6 - movs r0, #0 -_0805EBC6: - pop {r4, r5, pc} - .align 2, 0 -_0805EBC8: .4byte gUnk_03003D70 - - thumb_func_start sub_0805EBCC -sub_0805EBCC: @ 0x0805EBCC - push {r4, r5, r6, lr} - ldr r5, _0805EBFC @ =gUnk_03003D70 -_0805EBD0: - ldr r1, [r5, #4] - adds r6, r5, #0 - adds r6, #8 - cmp r1, r5 - beq _0805EBEE -_0805EBDA: - ldr r4, [r1, #4] - ldrb r0, [r1, #8] - cmp r0, #3 - bne _0805EBE8 - adds r0, r1, #0 - bl sub_0805E7BC -_0805EBE8: - adds r1, r4, #0 - cmp r1, r5 - bne _0805EBDA -_0805EBEE: - adds r5, r6, #0 - ldr r0, _0805EC00 @ =gUnk_03003DB8 - cmp r5, r0 - blo _0805EBD0 - bl sub_0805E84C - pop {r4, r5, r6, pc} - .align 2, 0 -_0805EBFC: .4byte gUnk_03003D70 -_0805EC00: .4byte gUnk_03003DB8 - - thumb_func_start sub_0805EC04 -sub_0805EC04: @ 0x0805EC04 - push {r4, r5, r6, r7, lr} - adds r3, r0, #0 - movs r2, #1 - ldr r0, _0805EC4C @ =gUnk_03000000 - movs r5, #1 - movs r6, #0x3f - rsbs r6, r6, #0 - movs r7, #4 - rsbs r7, r7, #0 - adds r4, r0, #0 - adds r4, #8 -_0805EC1A: - ldr r0, _0805EC50 @ =0x00000426 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, #0 - bne _0805EC54 - strb r5, [r1] - movs r0, #0x1f - ands r2, r0 - lsls r2, r2, #1 - ldrb r1, [r3, #0x1b] - adds r0, r6, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #0x1b] - ldrb r2, [r3, #0x19] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - orrs r1, r5 - adds r0, r7, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x19] - movs r0, #1 - b _0805EC5E - .align 2, 0 -_0805EC4C: .4byte gUnk_03000000 -_0805EC50: .4byte 0x00000426 -_0805EC54: - adds r4, #8 - adds r2, #1 - cmp r2, #0x1f - bls _0805EC1A - movs r0, #0 -_0805EC5E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805EC60 -sub_0805EC60: @ 0x0805EC60 - push {lr} - adds r3, r0, #0 - ldrb r1, [r3, #0x19] - lsls r0, r1, #0x1e - cmp r0, #0 - beq _0805EC90 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r3, #0x19] - ldrb r2, [r3, #0x1b] - lsls r1, r2, #0x1a - lsrs r1, r1, #0x1b - movs r0, #0x3f - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r3, #0x1b] - ldr r0, _0805EC94 @ =gUnk_03000000 - lsls r1, r1, #3 - adds r1, r1, r0 - ldr r0, _0805EC98 @ =0x00000426 - adds r1, r1, r0 - movs r0, #0 - strb r0, [r1] -_0805EC90: - pop {pc} - .align 2, 0 -_0805EC94: .4byte gUnk_03000000 -_0805EC98: .4byte 0x00000426 - - thumb_func_start sub_0805EC9C -sub_0805EC9C: @ 0x0805EC9C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - adds r7, r3, #0 - ldrb r0, [r4, #0x1b] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1b - cmp r0, #0 - bne _0805ECBE - adds r0, r4, #0 - bl sub_0805EC04 - cmp r0, #0 - bne _0805ECBE - movs r0, #0 - b _0805ECE0 -_0805ECBE: - ldr r1, _0805ECE4 @ =gUnk_03000000 - ldr r0, _0805ECE8 @ =0x00000427 - adds r2, r1, r0 - movs r0, #1 - strb r0, [r2] - ldrb r0, [r4, #0x1b] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1b - lsls r0, r0, #3 - movs r2, #0x84 - lsls r2, r2, #3 - adds r1, r1, r2 - adds r0, r0, r1 - strh r5, [r0] - strh r6, [r0, #2] - strh r7, [r0, #4] - movs r0, #1 -_0805ECE0: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805ECE4: .4byte gUnk_03000000 -_0805ECE8: .4byte 0x00000427 - - thumb_func_start sub_0805ECEC -sub_0805ECEC: @ 0x0805ECEC - push {r4, r5, r6, lr} - ldr r5, _0805ED0C @ =gUnk_03000000 - ldr r4, _0805ED10 @ =0x00000427 - adds r6, r5, r4 - movs r4, #1 - strb r4, [r6] - lsls r0, r0, #3 - movs r4, #0x84 - lsls r4, r4, #3 - adds r5, r5, r4 - adds r0, r0, r5 - strh r1, [r0] - strh r2, [r0, #2] - strh r3, [r0, #4] - pop {r4, r5, r6, pc} - .align 2, 0 -_0805ED0C: .4byte gUnk_03000000 -_0805ED10: .4byte 0x00000427 - - thumb_func_start sub_0805ED14 -sub_0805ED14: @ 0x0805ED14 - ldr r2, _0805ED2C @ =gUnk_03003F80 - adds r1, r2, #0 - adds r1, #0x9c - str r0, [r1] - adds r0, r2, #0 - adds r0, #0x98 - movs r1, #0 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - bx lr - .align 2, 0 -_0805ED2C: .4byte gUnk_03003F80 - - thumb_func_start sub_0805ED30 -sub_0805ED30: @ 0x0805ED30 - push {r4, lr} - ldr r2, _0805ED50 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x9c - ldr r0, [r0] - adds r4, r2, #0 - cmp r0, #0 - beq _0805ED88 - adds r1, r4, #0 - adds r1, #0x90 - ldr r2, [r1, #0xc] - ldrh r0, [r1, #8] - cmp r0, #0 - bne _0805ED7E - movs r4, #0 - b _0805ED62 - .align 2, 0 -_0805ED50: .4byte gUnk_03003F80 -_0805ED54: - cmp r0, #2 - beq _0805ED5E - strh r3, [r1, #8] - ldrh r0, [r2, #2] - strh r0, [r1, #0xa] -_0805ED5E: - adds r2, #4 - b _0805ED7C -_0805ED62: - ldrh r3, [r2] - lsrs r0, r3, #0xe - cmp r0, #1 - bne _0805ED72 - movs r3, #2 - ldrsh r0, [r2, r3] - adds r2, r2, r0 - b _0805ED62 -_0805ED72: - cmp r0, #3 - bne _0805ED54 - strh r4, [r1, #8] - strh r4, [r1, #0xa] - movs r2, #0 -_0805ED7C: - str r2, [r1, #0xc] -_0805ED7E: - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - ldrh r1, [r1, #0xa] - b _0805EDCA -_0805ED88: - adds r0, r4, #0 - adds r0, #0x8b - ldrb r0, [r0] - cmp r0, #3 - bgt _0805ED98 - cmp r0, #0 - blt _0805ED98 - movs r1, #0 -_0805ED98: - adds r2, r4, #0 - adds r2, #0x8b - ldrb r0, [r2] - cmp r0, #1 - beq _0805EDB4 - cmp r0, #1 - bgt _0805EDAC - cmp r0, #0 - beq _0805EDC6 - b _0805EDCA -_0805EDAC: - cmp r0, #3 - bgt _0805EDCA - movs r1, #0 - b _0805EDCA -_0805EDB4: - movs r0, #0 - strb r0, [r2] - ldr r0, _0805EDF8 @ =gUnk_03000FF0 - ldrh r0, [r0] - bl sub_0805EE04 - adds r1, r4, #0 - adds r1, #0x90 - strh r0, [r1] -_0805EDC6: - ldr r0, _0805EDF8 @ =gUnk_03000FF0 - ldrh r1, [r0] -_0805EDCA: - adds r0, r1, #0 - bl sub_0805EE04 - ldr r3, _0805EDFC @ =gUnk_03003F80 - adds r1, r3, #0 - adds r1, #0x90 - ldrh r2, [r1] - strh r0, [r1] - adds r1, r0, #0 - bics r1, r2 - adds r2, r3, #0 - adds r2, #0x92 - strh r1, [r2] - ldr r2, _0805EE00 @ =gUnk_08109202 - movs r1, #0xf0 - lsls r1, r1, #4 - ands r1, r0 - lsrs r1, r1, #8 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r3, #0xd] - pop {r4, pc} - .align 2, 0 -_0805EDF8: .4byte gUnk_03000FF0 -_0805EDFC: .4byte gUnk_03003F80 -_0805EE00: .4byte gUnk_08109202 - - thumb_func_start sub_0805EE04 -sub_0805EE04: @ 0x0805EE04 - push {r4, r5, lr} - adds r2, r0, #0 - movs r5, #0x80 - lsls r5, r5, #2 - ands r0, r5 - rsbs r0, r0, #0 - asrs r1, r0, #0x1f - movs r0, #0x80 - lsls r0, r0, #5 - ands r1, r0 - movs r4, #0x80 - lsls r4, r4, #1 - adds r0, r2, #0 - ands r0, r4 - cmp r0, #0 - beq _0805EE32 - movs r0, #0x20 - orrs r1, r0 - movs r0, #0x80 - lsls r0, r0, #8 - orrs r1, r0 - movs r0, #0x80 - orrs r1, r0 -_0805EE32: - movs r0, #1 - ands r0, r2 - cmp r0, #0 - beq _0805EE42 - movs r0, #8 - orrs r1, r0 - movs r0, #0x41 - orrs r1, r0 -_0805EE42: - movs r3, #2 - adds r0, r2, #0 - ands r0, r3 - cmp r0, #0 - beq _0805EE52 - movs r0, #0x10 - orrs r1, r0 - orrs r1, r3 -_0805EE52: - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - beq _0805EE5C - orrs r1, r4 -_0805EE5C: - movs r0, #0x20 - ands r0, r2 - cmp r0, #0 - beq _0805EE66 - orrs r1, r5 -_0805EE66: - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _0805EE74 - movs r0, #0x80 - lsls r0, r0, #3 - orrs r1, r0 -_0805EE74: - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _0805EE82 - movs r0, #0x80 - lsls r0, r0, #4 - orrs r1, r0 -_0805EE82: - adds r0, r1, #0 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805EE88 -sub_0805EE88: @ 0x0805EE88 - push {lr} - ldr r1, _0805EEB0 @ =gUnk_030010A0 - adds r0, r1, #0 - adds r0, #0x2f - ldrb r0, [r0] - cmp r0, #0 - beq _0805EEAC - ldr r1, [r1] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _0805EEAC - movs r0, #0xc - ands r1, r0 - lsrs r0, r1, #2 - adds r0, #0x2f - bl sub_0801D714 -_0805EEAC: - pop {pc} - .align 2, 0 -_0805EEB0: .4byte gUnk_030010A0 - - thumb_func_start sub_0805EEB4 -sub_0805EEB4: @ 0x0805EEB4 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r3, r1, #0 - strh r3, [r7, #8] - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r1, [r0, #7] - cmp r1, #1 - bls _0805EED6 - lsrs r0, r3, #8 - cmp r0, #1 - bne _0805EED6 - movs r0, #0x8c - lsls r0, r0, #1 - cmp r3, r0 - bhi _0805EED6 - movs r1, #3 -_0805EED6: - ldr r0, _0805EF14 @ =gUnk_08109214 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r2, [r1] - lsrs r0, r3, #8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x16 - adds r0, r0, r2 - ldr r4, [r0] - adds r2, r2, r4 - lsls r0, r3, #0x18 - lsrs r0, r0, #0x16 - adds r0, r0, r2 - ldr r4, [r0] - ldr r0, [r1] - ldr r1, [r0] - lsrs r1, r1, #2 - ldr r0, [r2] - lsrs r6, r0, #2 - movs r5, #0 - ldrh r3, [r7, #8] - lsrs r0, r3, #8 - cmp r0, r1 - bhs _0805EF0E - lsls r0, r3, #0x18 - lsrs r0, r0, #0x18 - cmp r0, r6 - blo _0805EF18 -_0805EF0E: - movs r5, #1 - b _0805EF22 - .align 2, 0 -_0805EF14: .4byte gUnk_08109214 -_0805EF18: - adds r0, r2, r4 - ldrb r0, [r0] - cmp r0, #0 - bne _0805EF22 - movs r5, #2 -_0805EF22: - cmp r5, #2 - bhi _0805EF2E - cmp r5, #1 - blo _0805EF2E - ldr r2, _0805EF3C @ =gUnk_08109244 - movs r4, #0 -_0805EF2E: - adds r2, r2, r4 - adds r0, r7, #0 - adds r1, r2, #0 - bl sub_0805EF40 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805EF3C: .4byte gUnk_08109244 - - thumb_func_start sub_0805EF40 -sub_0805EF40: @ 0x0805EF40 - push {r4, lr} - adds r3, r0, #0 - adds r4, r1, #0 - ldrb r2, [r3] - movs r0, #1 - ands r0, r2 - cmp r0, #0 - beq _0805EF70 - lsls r1, r2, #0x1b - lsrs r0, r1, #0x1c - cmp r0, #6 - bls _0805EF5C - movs r0, #0 - b _0805EF8A -_0805EF5C: - lsrs r0, r1, #0x1c - adds r0, #1 - movs r1, #0xf - ands r0, r1 - lsls r0, r0, #1 - movs r1, #0x1f - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] -_0805EF70: - ldrb r0, [r3] - lsls r0, r0, #0x1b - lsrs r0, r0, #0x1c - lsls r0, r0, #2 - adds r1, r3, #0 - adds r1, #0x10 - adds r1, r1, r0 - str r4, [r1] - ldrb r0, [r3] - movs r1, #1 - orrs r0, r1 - strb r0, [r3] - movs r0, #1 -_0805EF8A: - pop {r4, pc} - - thumb_func_start sub_0805EF8C -sub_0805EF8C: @ 0x0805EF8C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805EFAE - lsls r0, r1, #0x1b - lsrs r0, r0, #0x1c - lsls r0, r0, #2 - adds r2, #0x10 - adds r2, r2, r0 - ldr r1, [r2] - ldrb r0, [r1] - adds r1, #1 - str r1, [r2] - b _0805EFB0 -_0805EFAE: - movs r0, #0 -_0805EFB0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805EFB4 -sub_0805EFB4: @ 0x0805EFB4 - push {r4, lr} - adds r3, r0, #0 - ldrb r2, [r3] - lsls r1, r2, #0x1b - lsrs r4, r1, #0x1c - movs r0, #0x1e - ands r0, r2 - cmp r0, #0 - beq _0805EFDC - adds r0, r4, #0 - subs r0, #1 - movs r1, #0xf - ands r0, r1 - lsls r0, r0, #1 - movs r1, #0x1f - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - b _0805EFE4 -_0805EFDC: - movs r0, #2 - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r3] -_0805EFE4: - adds r0, r4, #0 - pop {r4, pc} - - thumb_func_start sub_0805EFE8 -sub_0805EFE8: @ 0x0805EFE8 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 -_0805EFEC: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - strb r5, [r6, #1] - movs r7, #0 - cmp r5, #0xf - bls _0805EFFE - b _0805F22C -_0805EFFE: - lsls r0, r5, #2 - ldr r1, _0805F008 @ =_0805F00C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F008: .4byte _0805F00C -_0805F00C: @ jump table - .4byte _0805F04C @ case 0 - .4byte _0805F058 @ case 1 - .4byte _0805F06E @ case 2 - .4byte _0805F07A @ case 3 - .4byte _0805F090 @ case 4 - .4byte _0805F130 @ case 5 - .4byte _0805F150 @ case 6 - .4byte _0805F196 @ case 7 - .4byte _0805F1C0 @ case 8 - .4byte _0805F1CC @ case 9 - .4byte _0805F1D8 @ case 10 - .4byte _0805F1DC @ case 11 - .4byte _0805F1EC @ case 12 - .4byte _0805F1FC @ case 13 - .4byte _0805F20C @ case 14 - .4byte _0805F21C @ case 15 -_0805F04C: - adds r0, r6, #0 - bl sub_0805EFB4 - adds r7, r0, #0 - movs r5, #0 - b _0805F232 -_0805F058: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - strh r4, [r6, #2] - movs r5, #6 - cmp r4, #0xa - bls _0805F06A - b _0805F232 -_0805F06A: - movs r5, #5 - b _0805F232 -_0805F06E: - adds r0, r6, #0 - bl sub_0805EF8C - strh r0, [r6, #2] - movs r5, #7 - b _0805F232 -_0805F07A: - adds r0, r6, #0 - bl sub_0805EF8C - lsls r4, r0, #8 - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r4, r0 - strh r4, [r6, #2] - movs r5, #8 - b _0805F232 -_0805F090: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - cmp r4, #0x15 - bhi _0805F12C - lsls r0, r4, #2 - ldr r1, _0805F0A8 @ =_0805F0AC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F0A8: .4byte _0805F0AC -_0805F0AC: @ jump table - .4byte _0805F104 @ case 0 - .4byte _0805F104 @ case 1 - .4byte _0805F104 @ case 2 - .4byte _0805F104 @ case 3 - .4byte _0805F104 @ case 4 - .4byte _0805F104 @ case 5 - .4byte _0805F104 @ case 6 - .4byte _0805F104 @ case 7 - .4byte _0805F104 @ case 8 - .4byte _0805F104 @ case 9 - .4byte _0805F104 @ case 10 - .4byte _0805F104 @ case 11 - .4byte _0805F104 @ case 12 - .4byte _0805F104 @ case 13 - .4byte _0805F104 @ case 14 - .4byte _0805F104 @ case 15 - .4byte _0805F108 @ case 16 - .4byte _0805F114 @ case 17 - .4byte _0805F118 @ case 18 - .4byte _0805F11C @ case 19 - .4byte _0805F120 @ case 20 - .4byte _0805F120 @ case 21 -_0805F104: - movs r5, #9 - b _0805F12C -_0805F108: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - movs r5, #0xa - b _0805F12C -_0805F114: - movs r5, #2 - b _0805F12C -_0805F118: - movs r5, #3 - b _0805F12C -_0805F11C: - movs r5, #4 - b _0805F12C -_0805F120: - movs r5, #0xb - movs r1, #0x14 - eors r1, r4 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r4, r0, #0x1f -_0805F12C: - strh r4, [r6, #2] - b _0805F232 -_0805F130: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - cmp r4, #0xff - bne _0805F140 - movs r4, #0 - b _0805F14A -_0805F140: - lsls r4, r4, #8 - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r4, r0 -_0805F14A: - strh r4, [r6, #6] - movs r5, #0xc - b _0805F232 -_0805F150: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - cmp r4, #4 - bls _0805F162 - cmp r4, #5 - beq _0805F17C - b _0805EFEC -_0805F162: - ldr r1, [r6, #0xc] - cmp r1, #0 - bne _0805F16A - ldr r1, _0805F178 @ =gUnk_08109230 -_0805F16A: - lsls r0, r4, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r6, #0 - bl sub_0805EF40 - b _0805EFEC - .align 2, 0 -_0805F178: .4byte gUnk_08109230 -_0805F17C: - adds r0, r6, #0 - bl sub_0805EF8C - lsls r4, r0, #8 - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r4, r0 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0805EEB4 - b _0805EFEC -_0805F196: - adds r0, r6, #0 - bl sub_0805EF8C - lsls r4, r0, #8 - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r4, r0 - ldrb r1, [r6] - movs r0, #2 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x1f - rsbs r1, r1, #0 - ands r0, r1 - strb r0, [r6] - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0805EEB4 - b _0805EFEC -_0805F1C0: - adds r0, r6, #0 - bl sub_0805EF8C - strh r0, [r6, #2] - movs r5, #0xd - b _0805F232 -_0805F1CC: - adds r0, r6, #0 - bl sub_0805EF8C - strh r0, [r6, #2] - movs r5, #0xe - b _0805F232 -_0805F1D8: - movs r5, #1 - b _0805F232 -_0805F1DC: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0x80 - lsls r0, r0, #3 - orrs r5, r0 - b _0805F232 -_0805F1EC: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0xe0 - lsls r0, r0, #3 - orrs r5, r0 - b _0805F232 -_0805F1FC: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0xa0 - lsls r0, r0, #3 - orrs r5, r0 - b _0805F232 -_0805F20C: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #3 - orrs r5, r0 - b _0805F232 -_0805F21C: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #2 - orrs r5, r0 - b _0805F232 -_0805F22C: - movs r0, #0x80 - lsls r0, r0, #1 - adds r5, r5, r0 -_0805F232: - cmp r7, #0 - beq _0805F238 - b _0805EFEC -_0805F238: - lsrs r0, r5, #8 - cmp r0, #0 - beq _0805F256 - ldrb r0, [r6] - lsls r0, r0, #0x19 - lsrs r0, r0, #0x1e - cmp r0, #0 - beq _0805F254 - cmp r0, #1 - bne _0805F254 - adds r0, r5, #0 - bl sub_0805F9A0 - adds r5, r0, #0 -_0805F254: - strh r5, [r6, #4] -_0805F256: - adds r0, r5, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0805F25C -sub_0805F25C: @ 0x0805F25C - push {lr} - adds r2, r0, #0 - lsrs r3, r2, #8 - movs r0, #0xf - ands r3, r0 - movs r0, #0xff - ands r2, r0 - cmp r3, #8 - bhi _0805F2B6 - lsls r0, r3, #2 - ldr r1, _0805F278 @ =_0805F27C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F278: .4byte _0805F27C -_0805F27C: @ jump table - .4byte _0805F2A0 @ case 0 - .4byte _0805F2A0 @ case 1 - .4byte _0805F2B6 @ case 2 - .4byte _0805F2B6 @ case 3 - .4byte _0805F2B6 @ case 4 - .4byte _0805F2B4 @ case 5 - .4byte _0805F2B4 @ case 6 - .4byte _0805F2B4 @ case 7 - .4byte _0805F2B4 @ case 8 -_0805F2A0: - cmp r2, #0x7f - bls _0805F2B6 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _0805F2B6 - subs r2, #0x80 - movs r3, #2 - b _0805F2B6 -_0805F2B4: - lsls r2, r2, #1 -_0805F2B6: - ldr r1, _0805F2C4 @ =gUnk_08109248 - lsls r0, r3, #2 - adds r0, r0, r1 - lsls r1, r2, #6 - ldr r0, [r0] - adds r0, r0, r1 - pop {pc} - .align 2, 0 -_0805F2C4: .4byte gUnk_08109248 - - thumb_func_start sub_0805F2C8 -sub_0805F2C8: @ 0x0805F2C8 - push {r4, r5, lr} - movs r1, #0 - ldr r4, _0805F2EC @ =gUnk_02036540 - adds r5, r4, #0 -_0805F2D0: - ldrb r0, [r4] - lsls r0, r0, #0x1f - cmp r0, #0 - bne _0805F2F0 - adds r0, r5, #0 - movs r1, #0xc - bl sub_0801D630 - ldrb r0, [r4] - movs r1, #1 - orrs r0, r1 - strb r0, [r4] - adds r0, r5, #0 - b _0805F2FC - .align 2, 0 -_0805F2EC: .4byte gUnk_02036540 -_0805F2F0: - adds r4, #0xc - adds r5, #0xc - adds r1, #1 - cmp r1, #3 - bls _0805F2D0 - movs r0, #0 -_0805F2FC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805F300 -sub_0805F300: @ 0x0805F300 - push {lr} - adds r2, r0, #0 - movs r1, #0 - ldr r0, _0805F314 @ =gUnk_02036540 -_0805F308: - cmp r0, r2 - bne _0805F318 - movs r1, #0xc - bl sub_0801D630 - b _0805F320 - .align 2, 0 -_0805F314: .4byte gUnk_02036540 -_0805F318: - adds r0, #0xc - adds r1, #1 - cmp r1, #3 - bls _0805F308 -_0805F320: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805F324 -sub_0805F324: @ 0x0805F324 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x38 - adds r7, r1, #0 - mov r1, sp - movs r2, #0x30 - bl sub_0801D66C - movs r0, #0 - str r0, [sp, #0x34] - movs r1, #0 - str r1, [sp, #0x30] - mov sl, r1 - mov r8, r1 - b _0805F34C -_0805F348: - cmp r6, #0 - beq _0805F41E -_0805F34C: - movs r5, #0 - movs r2, #1 - mov sb, r2 -_0805F352: - mov r0, sp - bl sub_0805EFE8 - adds r6, r0, #0 - cmp r6, #0xe - bhi _0805F3B4 - lsls r0, r6, #2 - ldr r1, _0805F368 @ =_0805F36C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F368: .4byte _0805F36C -_0805F36C: @ jump table - .4byte _0805F402 @ case 0 - .4byte _0805F402 @ case 1 - .4byte _0805F3FC @ case 2 - .4byte _0805F3FC @ case 3 - .4byte _0805F3FC @ case 4 - .4byte _0805F3FC @ case 5 - .4byte _0805F3FC @ case 6 - .4byte _0805F3FC @ case 7 - .4byte _0805F3FC @ case 8 - .4byte _0805F3FC @ case 9 - .4byte _0805F3FC @ case 10 - .4byte _0805F3AC @ case 11 - .4byte _0805F3A8 @ case 12 - .4byte _0805F3FC @ case 13 - .4byte _0805F3FC @ case 14 -_0805F3A8: - adds r5, #8 - b _0805F3FC -_0805F3AC: - mov r0, sp - ldrh r0, [r0, #2] - mov r8, r0 - b _0805F3FC -_0805F3B4: - mov r0, r8 - cmp r0, #0 - bne _0805F3DE - adds r0, r6, #0 - bl sub_0805F25C - adds r4, r0, #0 - lsrs r0, r6, #8 - cmp r0, #4 - bls _0805F3D2 - ldr r0, [r4, #0x40] - bl sub_0805F7A0 - lsrs r0, r0, #8 - adds r5, r5, r0 -_0805F3D2: - ldr r0, [r4] - bl sub_0805F7A0 - lsrs r0, r0, #8 - adds r5, r5, r0 - b _0805F3EA -_0805F3DE: - lsrs r0, r6, #8 - cmp r0, #4 - bls _0805F3E8 - adds r5, #0x10 - b _0805F3EA -_0805F3E8: - adds r5, #8 -_0805F3EA: - mov r0, sp - ldrb r1, [r0] - movs r0, #0x60 - ands r0, r1 - cmp r0, #0x20 - bne _0805F3FC - cmp r5, #1 - bls _0805F3FC - subs r5, #1 -_0805F3FC: - mov r1, sb - cmp r1, #0 - bne _0805F352 -_0805F402: - cmp r5, sl - bls _0805F408 - mov sl, r5 -_0805F408: - cmp r5, #0 - beq _0805F414 - ldr r2, [sp, #0x30] - adds r2, #1 - str r2, [sp, #0x30] - b _0805F41A -_0805F414: - ldr r0, [sp, #0x34] - adds r0, #1 - str r0, [sp, #0x34] -_0805F41A: - cmp r7, #0 - bne _0805F348 -_0805F41E: - cmp r7, #0 - bne _0805F426 - mov r0, sl - b _0805F434 -_0805F426: - ldr r1, [sp, #0x34] - lsls r0, r1, #0x18 - ldr r2, [sp, #0x30] - lsls r1, r2, #0x10 - orrs r0, r1 - mov r1, sl - orrs r0, r1 -_0805F434: - add sp, #0x38 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805F440 -sub_0805F440: @ 0x0805F440 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0x30 - bl sub_0801D630 - ldr r0, _0805F45C @ =0x0000FFFF - cmp r5, r0 - bls _0805F460 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0805EF40 - b _0805F468 - .align 2, 0 -_0805F45C: .4byte 0x0000FFFF -_0805F460: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0805EEB4 -_0805F468: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805F46C -sub_0805F46C: @ 0x0805F46C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0x48 - adds r6, r0, #0 - adds r5, r1, #0 - bl sub_0805F2C8 - mov r8, r0 - cmp r0, #0 - bne _0805F486 - b _0805F5BC -_0805F486: - add r4, sp, #0x30 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x18 - bl sub_0801D66C - mov r0, sp - adds r1, r6, #0 - bl sub_0805F440 - mov r3, sp - ldrb r0, [r4, #0x17] - movs r1, #3 - ands r1, r0 - lsls r1, r1, #5 - ldrb r2, [r3] - movs r0, #0x61 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r4, #0x17] - lsls r1, r1, #4 - mov r0, r8 - ldrb r2, [r0] - movs r0, #0xf - ands r0, r2 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - ldrb r0, [r4, #0x12] - strh r0, [r1, #4] - ldr r0, [r4, #8] - str r0, [r1, #8] - ldrb r0, [r4, #0x15] - strb r0, [r1, #2] - ldrb r0, [r4, #0x14] - strb r0, [r1, #3] - ldrb r1, [r4, #0x13] - movs r0, #8 - ands r0, r1 - mov sb, r4 - cmp r0, #0 - beq _0805F59E - lsrs r0, r1, #4 - ldrb r1, [r4, #0x14] - ldr r2, [r4, #4] - bl sub_0805F918 - ldr r0, [r4, #4] - adds r0, #0xe0 - str r0, [r4, #4] - mov r0, sp - movs r1, #1 - bl sub_0805F324 - lsrs r2, r0, #0x18 - ldrb r1, [r4, #0x16] - muls r2, r1, r2 - asrs r1, r0, #0x10 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x17 - adds r7, r2, r1 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - adds r1, r4, #0 - mov r2, sb - ldrb r3, [r2, #0x12] - cmp r3, r1 - bge _0805F514 - adds r1, r3, #0 -_0805F514: - adds r4, r1, #7 - movs r2, #8 - rsbs r2, r2, #0 - mov r0, sb - ldrb r1, [r0, #0x13] - movs r0, #2 - ands r0, r1 - ands r4, r2 - cmp r0, #0 - bne _0805F52A - adds r4, r3, #0 -_0805F52A: - ldr r5, [sp, #0x30] - adds r0, r5, #0 - adds r0, #0x40 - str r0, [sp, #0x30] - mov r2, sb - ldrb r1, [r2, #0x13] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805F54E - adds r4, #0xf - movs r0, #0x10 - rsbs r0, r0, #0 - ands r4, r0 - lsrs r0, r4, #3 - adds r0, #2 - subs r5, r5, r0 - b _0805F554 -_0805F54E: - adds r0, r5, #0 - adds r0, #0x42 - str r0, [sp, #0x30] -_0805F554: - lsrs r4, r4, #3 - mov r3, sb - ldrh r6, [r3, #0x10] - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - adds r3, r6, #0 - bl sub_08056DC8 - adds r5, #2 - mov r1, sb - ldrh r0, [r1, #0x10] - adds r0, #7 - strh r0, [r1, #0x10] - ldrh r0, [r1, #0x10] - subs r6, r0, #1 - adds r0, r7, #0 - subs r7, #1 - cmp r0, #0 - beq _0805F59E -_0805F57C: - adds r1, r5, #0 - adds r1, #0x40 - adds r5, r1, #0 - subs r2, r4, #1 - subs r3, r7, #1 - cmp r4, #0 - ble _0805F596 -_0805F58A: - strh r6, [r1] - adds r1, #2 - adds r0, r2, #0 - subs r2, #1 - cmp r0, #0 - bgt _0805F58A -_0805F596: - adds r0, r7, #0 - adds r7, r3, #0 - cmp r0, #0 - bne _0805F57C -_0805F59E: - ldr r0, _0805F5C8 @ =gUnk_02034330 - movs r1, #0x18 - bl sub_0801D630 -_0805F5A6: - mov r0, sb - mov r1, sp - mov r2, r8 - bl sub_0805F5CC - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805F5A6 - mov r0, r8 - bl sub_0805F300 -_0805F5BC: - movs r0, #0 - add sp, #0x48 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805F5C8: .4byte gUnk_02034330 - - thumb_func_start sub_0805F5CC -sub_0805F5CC: @ 0x0805F5CC - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - adds r5, r2, #0 - ldrb r0, [r4, #0x14] - bl sub_0805F8F8 - ldr r1, [r4, #8] - ldrb r2, [r4, #0x12] - adds r2, #7 - movs r3, #0xfc - lsls r3, r3, #1 - ands r2, r3 - lsls r2, r2, #3 - bl sub_0801D610 - adds r0, r6, #0 - movs r1, #0 - bl sub_0805F324 - adds r2, r0, #0 - ldrb r1, [r4, #0x13] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805F60E - adds r0, r2, #1 - lsrs r0, r0, #1 - movs r1, #8 - subs r1, r1, r0 - movs r0, #7 - ands r0, r1 - b _0805F610 -_0805F60E: - movs r0, #0 -_0805F610: - strh r0, [r5, #6] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0805F6A4 - adds r2, r0, #0 - cmp r2, #0 - beq _0805F660 - ldrh r1, [r5, #6] - adds r0, r1, #7 - asrs r5, r0, #3 - ldr r2, [r4] - ldrb r1, [r4, #0x13] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805F63A - adds r0, r5, #1 - lsrs r0, r0, #1 - lsls r0, r0, #1 - subs r2, r2, r0 -_0805F63A: - ldrh r1, [r4, #0x10] - adds r0, r2, #0 - adds r2, r5, #0 - bl sub_0805F67C - strh r0, [r4, #0x10] - ldr r0, [r4] - adds r0, #0x80 - str r0, [r4] - lsls r5, r5, #6 - ldr r0, [r4, #8] - ldr r1, [r4, #4] - adds r2, r5, #0 - bl sub_0801D66C - ldr r0, [r4, #4] - adds r0, r0, r5 - str r0, [r4, #4] - b _0805F670 -_0805F660: - ldrb r0, [r6, #1] - cmp r0, #0xa - bne _0805F670 - ldrb r1, [r4, #0x16] - lsls r1, r1, #6 - ldr r0, [r4] - adds r0, r0, r1 - str r0, [r4] -_0805F670: - ldrb r1, [r6, #1] - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0805F67C -sub_0805F67C: @ 0x0805F67C - push {r4, lr} - adds r3, r0, #0 - subs r2, #1 - movs r0, #1 - rsbs r0, r0, #0 - cmp r2, r0 - beq _0805F6A0 - adds r4, r0, #0 -_0805F68C: - strh r1, [r3] - adds r1, #1 - adds r0, r3, #0 - adds r0, #0x40 - strh r1, [r0] - adds r1, #1 - adds r3, #2 - subs r2, #1 - cmp r2, r4 - bne _0805F68C -_0805F6A0: - adds r0, r1, #0 - pop {r4, pc} - - thumb_func_start sub_0805F6A4 -sub_0805F6A4: @ 0x0805F6A4 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r1, #0 - movs r6, #0 -_0805F6AC: - adds r0, r5, #0 - bl sub_0805EFE8 - movs r7, #1 - cmp r0, #0xe - bhi _0805F746 - lsls r0, r0, #2 - ldr r1, _0805F6C4 @ =_0805F6C8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F6C4: .4byte _0805F6C8 -_0805F6C8: @ jump table - .4byte _0805F768 @ case 0 - .4byte _0805F768 @ case 1 - .4byte _0805F764 @ case 2 - .4byte _0805F764 @ case 3 - .4byte _0805F764 @ case 4 - .4byte _0805F764 @ case 5 - .4byte _0805F764 @ case 6 - .4byte _0805F704 @ case 7 - .4byte _0805F764 @ case 8 - .4byte _0805F764 @ case 9 - .4byte _0805F764 @ case 10 - .4byte _0805F740 @ case 11 - .4byte _0805F70E @ case 12 - .4byte _0805F764 @ case 13 - .4byte _0805F764 @ case 14 -_0805F704: - ldrh r0, [r5, #2] - cmp r0, #0xd - bhi _0805F764 - strb r0, [r4, #2] - b _0805F764 -_0805F70E: - ldr r3, _0805F73C @ =gUnk_02034330 - movs r2, #2 - ldrsb r2, [r3, r2] - cmp r2, #3 - bhi _0805F732 - adds r0, r2, #1 - strb r0, [r3, #2] - lsls r2, r2, #1 - adds r0, r3, #0 - adds r0, #0x10 - adds r0, r2, r0 - ldrh r1, [r5, #6] - strh r1, [r0] - adds r0, r3, #0 - adds r0, #8 - adds r2, r2, r0 - ldrh r0, [r4, #6] - strh r0, [r2] -_0805F732: - ldrh r0, [r4, #6] - adds r0, #8 - strh r0, [r4, #6] - adds r6, #8 - b _0805F764 - .align 2, 0 -_0805F73C: .4byte gUnk_02034330 -_0805F740: - ldrh r0, [r5, #2] - strb r0, [r4, #1] - b _0805F764 -_0805F746: - adds r1, r4, #0 - bl sub_0805F7DC - adds r6, r6, r0 - ldrb r1, [r5] - movs r0, #0x60 - ands r0, r1 - cmp r0, #0x20 - bne _0805F764 - ldrh r0, [r4, #6] - cmp r0, #1 - bls _0805F764 - subs r6, #1 - subs r0, #1 - strh r0, [r4, #6] -_0805F764: - cmp r7, #0 - bne _0805F6AC -_0805F768: - adds r0, r6, #0 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805F76C -sub_0805F76C: @ 0x0805F76C - push {r4, lr} - sub sp, #0x30 - adds r2, r0, #0 - adds r4, r1, #0 - mov r0, sp - adds r1, r2, #0 - bl sub_0805F440 - mov r3, sp - ldrb r0, [r4] - lsrs r0, r0, #4 - movs r1, #3 - ands r1, r0 - lsls r1, r1, #5 - ldrb r2, [r3] - movs r0, #0x61 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - mov r0, sp - adds r1, r4, #0 - bl sub_0805F6A4 - add sp, #0x30 - pop {r4, pc} - - thumb_func_start sub_0805F7A0 -sub_0805F7A0: @ 0x0805F7A0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xf - movs r2, #0 - b _0805F7B4 -_0805F7AA: - lsls r1, r1, #4 - adds r2, #1 - cmp r2, #7 - bhi _0805F7BA - adds r0, r4, #0 -_0805F7B4: - ands r0, r1 - cmp r1, r0 - beq _0805F7AA -_0805F7BA: - adds r3, r2, #0 - cmp r3, #7 - bhi _0805F7D2 - b _0805F7CA -_0805F7C2: - lsls r1, r1, #4 - adds r2, #1 - cmp r2, #7 - bhi _0805F7D2 -_0805F7CA: - adds r0, r4, #0 - ands r0, r1 - cmp r1, r0 - bne _0805F7C2 -_0805F7D2: - subs r2, r2, r3 - lsls r0, r2, #8 - orrs r0, r3 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805F7DC -sub_0805F7DC: @ 0x0805F7DC - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r4, r1, #0 - ldrh r0, [r4, #4] - ldrh r1, [r4, #6] - cmp r0, r1 - bhi _0805F7EE - movs r0, #0 - b _0805F81E -_0805F7EE: - adds r0, r6, #0 - bl sub_0805F25C - adds r5, r0, #0 - ldrh r7, [r4, #6] - lsrs r0, r6, #8 - cmp r0, #4 - bls _0805F808 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0805F820 - adds r5, #0x40 -_0805F808: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0805F820 - ldrh r1, [r4, #4] - ldrh r0, [r4, #6] - cmp r0, r1 - bls _0805F81A - strh r1, [r4, #6] -_0805F81A: - ldrh r0, [r4, #6] - subs r0, r0, r7 -_0805F81E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805F820 -sub_0805F820: @ 0x0805F820 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - adds r4, r1, #0 - ldrh r0, [r7, #4] - ldrh r1, [r7, #6] - subs r0, r0, r1 - cmp r0, #0 - ble _0805F8DC - ldr r1, _0805F854 @ =gUnk_02036A58 - adds r0, r4, #0 - bl sub_08002724 - ldrb r0, [r7, #1] - cmp r0, #0 - bne _0805F858 - ldr r0, [r4] - bl sub_0805F7A0 - movs r1, #0xf - ands r1, r0 - lsrs r4, r0, #8 - b _0805F85C - .align 2, 0 -_0805F854: .4byte gUnk_02036A58 -_0805F858: - movs r1, #0 - movs r4, #8 -_0805F85C: - ldrh r0, [r7, #4] - ldrh r3, [r7, #6] - subs r0, r0, r3 - cmp r0, #8 - ble _0805F868 - movs r0, #8 -_0805F868: - cmp r0, r4 - bge _0805F86E - adds r4, r0, #0 -_0805F86E: - ldr r0, _0805F8BC @ =gUnk_02036A58 - adds r6, r1, r0 - ldr r0, [r7, #8] - mov sb, r0 - ldrb r0, [r7, #3] - lsls r2, r0, #1 - adds r2, r2, r0 - lsls r2, r2, #6 - ldrb r0, [r7, #2] - lsls r0, r0, #5 - ldr r1, _0805F8C0 @ =gUnk_0810942E - adds r0, r0, r1 - adds r2, r2, r0 - mov r8, r2 - adds r5, r3, #0 - adds r0, r5, r4 - strh r0, [r7, #6] - ldrb r0, [r7] - lsrs r0, r0, #4 - cmp r0, #1 - beq _0805F8D4 - adds r0, r4, #0 - subs r4, #1 - cmp r0, #0 - ble _0805F8DC -_0805F8A0: - adds r0, r6, #0 - mov r1, sb - mov r2, r8 - adds r3, r5, #0 - bl sub_080026C4 - adds r6, #1 - adds r5, #1 - adds r0, r4, #0 - subs r4, #1 - cmp r0, #0 - bgt _0805F8A0 - b _0805F8DC - .align 2, 0 -_0805F8BC: .4byte gUnk_02036A58 -_0805F8C0: .4byte gUnk_0810942E -_0805F8C4: - adds r0, r6, #0 - mov r1, sb - mov r2, r8 - adds r3, r5, #0 - bl sub_080026F2 - adds r6, #1 - adds r5, #1 -_0805F8D4: - adds r0, r4, #0 - subs r4, #1 - cmp r0, #0 - bgt _0805F8C4 -_0805F8DC: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805F8E4 -sub_0805F8E4: @ 0x0805F8E4 - push {r4, r5, lr} - adds r4, r1, #0 - ldrb r5, [r4, #1] - movs r1, #1 - strb r1, [r4, #1] - adds r1, r4, #0 - bl sub_0805F7DC - strb r5, [r4, #1] - pop {r4, r5, pc} - - thumb_func_start sub_0805F8F8 -sub_0805F8F8: @ 0x0805F8F8 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #6 - ldr r0, _0805F910 @ =gUnk_081094CE - adds r1, r1, r0 - ldr r2, _0805F914 @ =gUnk_0810926C - ldrb r0, [r1, #0xa] - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r0, [r0] - bx lr - .align 2, 0 -_0805F910: .4byte gUnk_081094CE -_0805F914: .4byte gUnk_0810926C - - thumb_func_start sub_0805F918 -sub_0805F918: @ 0x0805F918 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r4, r0, #0 - adds r5, r1, #0 - mov sl, r2 - adds r0, r5, #0 - bl sub_0805F8F8 - ldr r1, _0805F990 @ =gUnk_02036AD8 - movs r2, #0xe0 - bl sub_0801D610 - ldr r0, _0805F994 @ =gUnk_081092AC - lsls r4, r4, #2 - adds r4, r4, r0 - ldr r4, [r4] - mov r8, r4 - lsls r0, r5, #1 - adds r0, r0, r5 - lsls r0, r0, #6 - ldr r1, _0805F998 @ =gUnk_081094CE - adds r0, r0, r1 - mov sb, r0 - movs r7, #0 - movs r6, #0 -_0805F950: - ldr r4, _0805F99C @ =gUnk_02036A58 - mov r0, r8 - adds r1, r4, #0 - bl sub_08002724 - movs r0, #0x40 - add r8, r0 - movs r5, #0 - adds r6, #1 -_0805F962: - adds r0, r4, #0 - ldr r1, _0805F990 @ =gUnk_02036AD8 - mov r2, sb - adds r3, r7, #0 - bl sub_080026C4 - adds r4, #1 - adds r7, #1 - adds r5, #1 - cmp r5, #7 - bls _0805F962 - cmp r6, #2 - bls _0805F950 - ldr r0, _0805F990 @ =gUnk_02036AD8 - mov r1, sl - movs r2, #0xe0 - bl sub_08000E96 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805F990: .4byte gUnk_02036AD8 -_0805F994: .4byte gUnk_081092AC -_0805F998: .4byte gUnk_081094CE -_0805F99C: .4byte gUnk_02036A58 - - thumb_func_start sub_0805F9A0 -sub_0805F9A0: @ 0x0805F9A0 - push {lr} - adds r2, r0, #0 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - bne _0805F9D0 - ldr r1, _0805F9C4 @ =gUnk_081092D4 - movs r3, #0 -_0805F9B2: - ldrh r0, [r1] - cmp r0, r2 - beq _0805F9C8 - adds r3, #1 - adds r1, #2 - ldrh r0, [r1] - cmp r0, #0 - bne _0805F9B2 - b _0805F9D8 - .align 2, 0 -_0805F9C4: .4byte gUnk_081092D4 -_0805F9C8: - movs r1, #0x80 - lsls r1, r1, #4 - adds r0, r3, r1 - b _0805F9E2 -_0805F9D0: - ldr r0, _0805F9E4 @ =0x0000031A - cmp r2, r0 - bne _0805F9D8 - movs r2, #1 -_0805F9D8: - movs r0, #0xff - ands r0, r2 - movs r1, #0x80 - lsls r1, r1, #4 - adds r0, r0, r1 -_0805F9E2: - pop {pc} - .align 2, 0 -_0805F9E4: .4byte 0x0000031A - - thumb_func_start sub_0805F9E8 -sub_0805F9E8: @ 0x0805F9E8 - push {lr} - ldr r1, _0805F9FC @ =gUnk_08109A30 - ldr r0, _0805FA00 @ =gUnk_03001000 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805F9FC: .4byte gUnk_08109A30 -_0805FA00: .4byte gUnk_03001000 - - thumb_func_start sub_0805FA04 -sub_0805FA04: @ 0x0805FA04 - push {r4, r5, lr} - movs r0, #1 - bl sub_0801DA90 - ldr r0, _0805FA78 @ =gUnk_02034CB0 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - ldr r0, _0805FA7C @ =gUnk_02001A40 - movs r1, #0x80 - lsls r1, r1, #5 - bl sub_0801D630 - ldr r0, _0805FA80 @ =gUnk_03000F50 - movs r2, #0 - movs r1, #0x94 - lsls r1, r1, #4 - strh r1, [r0] - strh r2, [r0, #0xa] - strh r2, [r0, #0xc] - strh r2, [r0, #0x2e] - strh r2, [r0, #0x30] - ldr r1, _0805FA84 @ =0x00001E0F - strh r1, [r0, #0x2c] - movs r5, #1 - movs r1, #1 - strh r1, [r0, #0x32] - bl sub_08056418 - ldr r0, _0805FA88 @ =gUnk_02032EC0 - movs r1, #0xed - lsls r1, r1, #2 - bl sub_0801D630 - ldr r4, _0805FA8C @ =gUnk_02000080 - adds r0, r4, #0 - movs r1, #0x30 - bl sub_0801D630 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - strb r0, [r4, #0x16] - bl sub_08053320 - ldr r1, _0805FA90 @ =0x00001144 - movs r0, #0 - bl sub_0801D79C - ldr r0, _0805FA94 @ =gUnk_03001000 - strb r5, [r0, #3] - bl sub_080A3210 - bl sub_08050008 - pop {r4, r5, pc} - .align 2, 0 -_0805FA78: .4byte gUnk_02034CB0 -_0805FA7C: .4byte gUnk_02001A40 -_0805FA80: .4byte gUnk_03000F50 -_0805FA84: .4byte 0x00001E0F -_0805FA88: .4byte gUnk_02032EC0 -_0805FA8C: .4byte gUnk_02000080 -_0805FA90: .4byte 0x00001144 -_0805FA94: .4byte gUnk_03001000 - - thumb_func_start sub_0805FA98 -sub_0805FA98: @ 0x0805FA98 - push {r4, lr} - ldr r0, _0805FAB4 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - adds r2, r0, #0 - cmp r1, #0x80 - beq _0805FAD8 - cmp r1, #0x80 - bgt _0805FAB8 - cmp r1, #2 - beq _0805FB44 - cmp r1, #0x40 - beq _0805FACA - b _0805FB4A - .align 2, 0 -_0805FAB4: .4byte gUnk_03000FF0 -_0805FAB8: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _0805FB28 - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - beq _0805FAE8 - b _0805FB4A -_0805FACA: - ldr r1, _0805FAD4 @ =gUnk_02000080 - ldrb r0, [r1, #0x11] - subs r0, #1 - strb r0, [r1, #0x11] - b _0805FBA4 - .align 2, 0 -_0805FAD4: .4byte gUnk_02000080 -_0805FAD8: - ldr r1, _0805FAE4 @ =gUnk_02000080 - ldrb r0, [r1, #0x11] - adds r0, #1 - strb r0, [r1, #0x11] - b _0805FBA4 - .align 2, 0 -_0805FAE4: .4byte gUnk_02000080 -_0805FAE8: - ldr r0, _0805FB04 @ =gUnk_02000080 - ldrb r1, [r0, #0x10] - movs r2, #1 - eors r1, r2 - strb r1, [r0, #0x10] - cmp r1, #0 - bne _0805FB10 - ldr r0, _0805FB08 @ =gUnk_03000F50 - ldr r1, _0805FB0C @ =0x00001F0C - strh r1, [r0, #8] - subs r1, #0xfd - strh r1, [r0, #0x2c] - b _0805FBA4 - .align 2, 0 -_0805FB04: .4byte gUnk_02000080 -_0805FB08: .4byte gUnk_03000F50 -_0805FB0C: .4byte 0x00001F0C -_0805FB10: - ldr r0, _0805FB1C @ =gUnk_03000F50 - ldr r1, _0805FB20 @ =0x00001F0F - strh r1, [r0, #8] - ldr r1, _0805FB24 @ =0x00001E0C - strh r1, [r0, #0x2c] - b _0805FBA4 - .align 2, 0 -_0805FB1C: .4byte gUnk_03000F50 -_0805FB20: .4byte 0x00001F0F -_0805FB24: .4byte 0x00001E0C -_0805FB28: - movs r2, #0x80 - lsls r2, r2, #0x12 - ldr r1, _0805FB40 @ =gUnk_02000080 - ldrb r0, [r1, #0x16] - strb r0, [r2, #7] - ldrb r0, [r1, #0x14] - lsls r0, r0, #8 - ldrb r1, [r1, #0x15] - adds r0, r0, r1 - bl sub_08056378 - b _0805FBA4 - .align 2, 0 -_0805FB40: .4byte gUnk_02000080 -_0805FB44: - bl sub_08056418 - b _0805FBA4 -_0805FB4A: - ldrh r0, [r2, #4] - cmp r0, #0x10 - beq _0805FB5A - cmp r0, #0x20 - bne _0805FB5E - movs r1, #1 - rsbs r1, r1, #0 - b _0805FB60 -_0805FB5A: - movs r1, #1 - b _0805FB60 -_0805FB5E: - movs r1, #0 -_0805FB60: - ldr r4, _0805FB74 @ =gUnk_02000080 - ldrb r0, [r4, #0x11] - cmp r0, #1 - beq _0805FB8E - cmp r0, #1 - bgt _0805FB78 - cmp r0, #0 - beq _0805FB7E - b _0805FBA4 - .align 2, 0 -_0805FB74: .4byte gUnk_02000080 -_0805FB78: - cmp r0, #2 - beq _0805FB96 - b _0805FBA4 -_0805FB7E: - ldrb r0, [r4, #0x14] - adds r0, r0, r1 - adds r0, #0x50 - movs r1, #0x50 - bl __modsi3 - strb r0, [r4, #0x14] - b _0805FBA4 -_0805FB8E: - ldrb r0, [r4, #0x15] - adds r0, r0, r1 - strb r0, [r4, #0x15] - b _0805FBA4 -_0805FB96: - ldrb r0, [r4, #0x16] - adds r0, r0, r1 - adds r0, #7 - movs r1, #7 - bl __modsi3 - strb r0, [r4, #0x16] -_0805FBA4: - ldr r4, _0805FBBC @ =gUnk_02000080 - ldrb r0, [r4, #0x11] - adds r0, #3 - movs r1, #3 - bl __modsi3 - strb r0, [r4, #0x11] - ldr r1, _0805FBC0 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0x32] - pop {r4, pc} - .align 2, 0 -_0805FBBC: .4byte gUnk_02000080 -_0805FBC0: .4byte gUnk_03000F50 - - thumb_func_start sub_0805FBC4 -sub_0805FBC4: @ 0x0805FBC4 - push {lr} - movs r0, #0 - bl sub_08056010 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805FBD0 -sub_0805FBD0: @ 0x0805FBD0 - push {lr} - ldr r2, _0805FBE4 @ =gUnk_08109AC8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805FBE4: .4byte gUnk_08109AC8 - - thumb_func_start sub_0805FBE8 -sub_0805FBE8: @ 0x0805FBE8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0805FC68 @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r4, #0x3c - ldrb r0, [r4] - adds r0, #1 - adds r1, r5, #0 - adds r1, #0x3c - strb r0, [r1] - ldr r0, _0805FC6C @ =gUnk_08109AD0 - str r0, [r5, #0x48] - movs r0, #0xe0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - ldrb r1, [r5, #0x14] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #2 - bne _0805FC36 - movs r0, #1 - strb r0, [r5, #0xb] -_0805FC36: - ldrb r1, [r5, #0x14] - lsls r0, r1, #2 - strb r0, [r5, #0x15] - movs r0, #0x3c - str r0, [r5, #0x6c] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x19 - adds r1, #0xc - adds r0, r5, #0 - bl sub_08004260 - adds r0, r5, #0 - bl sub_0801766C - adds r0, r5, #0 - bl sub_0806F69C - adds r0, r5, #0 - bl sub_0805FC74 - ldr r0, _0805FC70 @ =0x0000013F - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_0805FC68: .4byte gUnk_03001160 -_0805FC6C: .4byte gUnk_08109AD0 -_0805FC70: .4byte 0x0000013F - - thumb_func_start sub_0805FC74 -sub_0805FC74: @ 0x0805FC74 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x6c] - subs r0, #1 - str r0, [r4, #0x6c] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - beq _0805FD1C - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0805FCA4 - adds r0, r4, #0 - bl sub_0800451C -_0805FCA4: - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _0805FD10 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - ldr r1, _0805FD14 @ =gUnk_03001160 - adds r1, #0x38 - ldrb r1, [r1] - movs r2, #0x80 - bl sub_080002F0 - cmp r0, #0 - bne _0805FCF6 - ldr r1, _0805FD18 @ =gUnk_08003E44 - movs r0, #0x2e - ldrsh r2, [r4, r0] - movs r5, #0x32 - ldrsh r3, [r4, r5] - adds r0, r4, #0 - bl sub_080040D8 - cmp r0, #0 - beq _0805FCF6 - adds r0, r4, #0 - movs r1, #0x19 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_0805FCF6: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0 - beq _0805FD20 - adds r0, r4, #0 - movs r1, #0x19 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 - b _0805FD20 - .align 2, 0 -_0805FD10: .4byte gUnk_03000BF0 -_0805FD14: .4byte gUnk_03001160 -_0805FD18: .4byte gUnk_08003E44 -_0805FD1C: - bl sub_0805E780 -_0805FD20: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805FD24 -sub_0805FD24: @ 0x0805FD24 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0805FD72 - cmp r0, #1 - bgt _0805FD38 - cmp r0, #0 - beq _0805FD3E - b _0805FDBC -_0805FD38: - cmp r0, #2 - beq _0805FDAE - b _0805FDBC -_0805FD3E: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - adds r0, r4, #0 - bl sub_0807DD50 - b _0805FDBC -_0805FD72: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0805FDA4 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _0805FDA0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _0805FDBC - .align 2, 0 -_0805FDA0: .4byte gUnk_03001160 -_0805FDA4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _0805FDBC -_0805FDAE: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0805FDBC - movs r0, #1 - strb r0, [r4, #0xc] -_0805FDBC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805FDC0 -sub_0805FDC0: @ 0x0805FDC0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805FDEE - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0xa - bl sub_080042AC - b _0805FDF4 -_0805FDEE: - adds r0, r4, #0 - bl sub_080042B8 -_0805FDF4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805FDF8 -sub_0805FDF8: @ 0x0805FDF8 - push {lr} - ldr r2, _0805FE0C @ =gUnk_08109BBC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805FE0C: .4byte gUnk_08109BBC - - thumb_func_start sub_0805FE10 -sub_0805FE10: @ 0x0805FE10 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - adds r0, r4, #0 - bl sub_0807DD50 - pop {r4, pc} - - thumb_func_start sub_0805FE48 -sub_0805FE48: @ 0x0805FE48 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0805FE80 - movs r0, #0 - strb r1, [r5, #0xc] - strb r0, [r2] - ldr r1, _0805FE7C @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r5, #0 - bl sub_080042AC - adds r0, r5, #0 - bl sub_0806F118 - b _0805FF14 - .align 2, 0 -_0805FE7C: .4byte gUnk_03001160 -_0805FE80: - adds r4, r5, #0 - adds r4, #0x84 - ldr r1, [r4] - adds r0, r5, #0 - bl sub_0807DF74 - ldr r1, [r4] - adds r0, r5, #0 - bl sub_0805FF2C - adds r0, r5, #0 - adds r0, #0x80 - ldrh r3, [r0] - adds r7, r0, #0 - adds r6, r5, #0 - adds r6, #0x82 - cmp r3, #7 - bhi _0805FEC6 - ldrh r1, [r6] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805FEBA - movs r1, #0xfc - ands r1, r3 - ldrb r0, [r5, #0xf] - lsrs r0, r0, #1 - adds r3, r1, r0 - b _0805FEC6 -_0805FEBA: - movs r0, #0xfc - ands r0, r3 - ldrb r2, [r5, #0x14] - lsrs r1, r2, #1 - adds r3, r0, r1 - strb r2, [r5, #0xf] -_0805FEC6: - adds r4, r5, #0 - adds r4, #0x58 - ldrb r0, [r4] - cmp r3, r0 - beq _0805FED8 - adds r0, r5, #0 - adds r1, r3, #0 - bl sub_080042AC -_0805FED8: - adds r0, r5, #0 - bl sub_080042B8 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0805FF02 - ldrb r0, [r4] - cmp r0, #8 - beq _0805FEFE - cmp r0, #8 - blt _0805FF02 - cmp r0, #0xc - bgt _0805FF02 - cmp r0, #0xa - blt _0805FF02 -_0805FEFE: - movs r0, #0 - strh r0, [r7] -_0805FF02: - ldrh r1, [r6] - mvns r0, r1 - adds r0, #1 - ands r1, r0 - cmp r1, #2 - bne _0805FF14 - adds r0, r5, #0 - bl sub_0806ED78 -_0805FF14: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0805FF18 -sub_0805FF18: @ 0x0805FF18 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0805FF28 - movs r0, #1 - strb r0, [r4, #0xc] -_0805FF28: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805FF2C -sub_0805FF2C: @ 0x0805FF2C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r0, [r5, #8] - ldr r1, _0805FF60 @ =0xFFF00004 - ands r1, r0 - eors r0, r1 - str r0, [r5, #8] - cmp r1, #0 - beq _0805FF94 - movs r6, #0x80 - lsls r6, r6, #0xd - adds r3, r4, #0 - adds r3, #0x80 -_0805FF48: - mvns r0, r1 - adds r2, r0, #1 - ands r2, r1 - eors r1, r2 - cmp r2, r6 - beq _0805FF8C - cmp r2, r6 - bhi _0805FF64 - cmp r2, #4 - beq _0805FF76 - b _0805FF90 - .align 2, 0 -_0805FF60: .4byte 0xFFF00004 -_0805FF64: - movs r0, #0x80 - lsls r0, r0, #0xe - cmp r2, r0 - beq _0805FF7A - movs r0, #0x80 - lsls r0, r0, #0xf - cmp r2, r0 - beq _0805FF7E - b _0805FF90 -_0805FF76: - movs r0, #9 - b _0805FF8E -_0805FF7A: - movs r0, #0xa - b _0805FF8E -_0805FF7E: - ldrb r0, [r4, #0x14] - cmp r0, #2 - bne _0805FF88 - movs r0, #0xb - b _0805FF8E -_0805FF88: - movs r0, #0xc - b _0805FF8E -_0805FF8C: - movs r0, #8 -_0805FF8E: - strh r0, [r3] -_0805FF90: - cmp r1, #0 - bne _0805FF48 -_0805FF94: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807DB98 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0805FFA0 -sub_0805FFA0: @ 0x0805FFA0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805FFCE - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #8 - bl sub_080042AC - b _0805FFD4 -_0805FFCE: - adds r0, r4, #0 - bl sub_080042B8 -_0805FFD4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805FFD8 -sub_0805FFD8: @ 0x0805FFD8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #1 - beq _08060044 - cmp r5, #1 - bgt _0805FFEC - cmp r5, #0 - beq _0805FFF2 - b _0806008C -_0805FFEC: - cmp r5, #2 - beq _0806007E - b _0806008C -_0805FFF2: - ldr r1, _0806003C @ =gUnk_0810A348 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806008C - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - lsls r0, r0, #1 - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - strb r5, [r4, #0xe] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - ldr r1, _08060040 @ =gUnk_08109D18 - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0807DAD0 - adds r0, r4, #0 - bl sub_0807DD50 - b _0806008C - .align 2, 0 -_0806003C: .4byte gUnk_0810A348 -_08060040: .4byte gUnk_08109D18 -_08060044: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806005E - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - bl sub_0806F118 - b _0806008C -_0806005E: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - adds r0, #0x59 - ldrb r0, [r0] - cmp r0, #0xf0 - beq _0806008C - adds r0, r4, #0 - bl sub_080600F0 - b _0806008C -_0806007E: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806008C - movs r0, #1 - strb r0, [r4, #0xc] -_0806008C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08060090 -sub_08060090: @ 0x08060090 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_080600A8 -sub_080600A8: @ 0x080600A8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r2, [r0] - cmp r2, #0xff - beq _080600BA - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 -_080600BA: - adds r0, r4, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080600CA - movs r2, #0xff -_080600CA: - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080600F0 -sub_080600F0: @ 0x080600F0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r3, [r0] - cmp r3, #7 - bhi _08060120 - adds r0, #2 - ldrh r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08060114 - movs r1, #0xfc - ands r1, r3 - ldrb r0, [r4, #0xf] - lsrs r0, r0, #1 - adds r3, r1, r0 - b _08060120 -_08060114: - movs r0, #0xfc - ands r0, r3 - ldrb r2, [r4, #0x14] - lsrs r1, r2, #1 - adds r3, r0, r1 - strb r2, [r4, #0xf] -_08060120: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r3, r0 - beq _08060132 - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_080042AC -_08060132: - adds r0, r4, #0 - adds r0, #0x82 - ldrh r1, [r0] - movs r0, #4 - ands r0, r1 - movs r1, #1 - cmp r0, #0 - beq _08060144 - movs r1, #2 -_08060144: - adds r0, r4, #0 - bl sub_080042BA - pop {r4, pc} - - thumb_func_start sub_0806014C -sub_0806014C: @ 0x0806014C - push {lr} - movs r1, #0 - strb r1, [r0, #0xe] - bl sub_08060158 - pop {pc} - - thumb_func_start sub_08060158 -sub_08060158: @ 0x08060158 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - adds r7, r0, #0 - cmp r7, #0 - beq _0806016A - subs r0, #1 - strb r0, [r4, #0xe] - b _080601CC -_0806016A: - movs r0, #2 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806EDD8 - adds r3, r0, #0 - cmp r3, #0 - bge _08060188 - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - strb r0, [r4, #0x14] - lsls r3, r0, #2 -_08060188: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #5 - asrs r1, r3, #1 - lsls r1, r1, #1 - ldr r2, _080601D0 @ =gUnk_08109C98 - adds r1, r1, r2 - adds r0, r0, r1 - ldrb r6, [r0] - ldrb r5, [r0, #1] - movs r0, #0x80 - ands r0, r5 - cmp r0, #0 - beq _080601AC - adds r0, r3, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] -_080601AC: - movs r0, #0x7f - ands r5, r0 - adds r0, r4, #0 - adds r0, #0x5a - strb r6, [r0] - strb r5, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x5b - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x58 - strb r7, [r0] - subs r1, #2 - movs r0, #0xf0 - strb r0, [r1] -_080601CC: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080601D0: .4byte gUnk_08109C98 - - thumb_func_start sub_080601D4 -sub_080601D4: @ 0x080601D4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #4 - bl sub_0807CC30 - cmp r0, #0 - bne _080601E6 - movs r1, #2 - b _080601F2 -_080601E6: - movs r0, #0x17 - bl sub_0801E7F4 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f -_080601F2: - ldr r0, _08060204 @ =gUnk_0810A354 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, pc} - .align 2, 0 -_08060204: .4byte gUnk_0810A354 - - thumb_func_start sub_08060208 -sub_08060208: @ 0x08060208 - push {lr} - ldrb r1, [r0, #0xb] - lsls r1, r1, #5 - ldr r2, _08060218 @ =gUnk_08109DC8 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_08060218: .4byte gUnk_08109DC8 - - thumb_func_start sub_0806021C -sub_0806021C: @ 0x0806021C - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x5b - bl sub_0807CA84 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f - movs r0, #0x40 - bl sub_0807CA84 - cmp r0, #0 - beq _08060238 - movs r4, #2 -_08060238: - movs r0, #0x13 - bl sub_0807CA84 - cmp r0, #0 - beq _08060244 - movs r4, #3 -_08060244: - ldrb r1, [r5, #0xb] - lsls r1, r1, #5 - lsls r0, r4, #3 - ldr r2, _08060258 @ =gUnk_08109DC8 - adds r0, r0, r2 - adds r1, r1, r0 - adds r0, r5, #0 - bl sub_0806F1AC - pop {r4, r5, pc} - .align 2, 0 -_08060258: .4byte gUnk_08109DC8 - - thumb_func_start sub_0806025C -sub_0806025C: @ 0x0806025C - push {lr} - ldrb r1, [r0, #0xb] - lsls r1, r1, #5 - ldr r2, _0806026C @ =gUnk_08109DC8 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806026C: .4byte gUnk_08109DC8 - - thumb_func_start sub_08060270 -sub_08060270: @ 0x08060270 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _08060294 - movs r4, #1 - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - bne _080602A8 - movs r4, #0 - movs r0, #0x29 - bl sub_0807CD04 - b _080602A8 -_08060294: - movs r4, #3 - movs r0, #0x76 - bl sub_0807CBD0 - cmp r0, #0 - bne _080602A8 - movs r4, #2 - movs r0, #0x76 - bl sub_0807CCB4 -_080602A8: - ldr r0, _080602B8 @ =gUnk_0810A35A - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_080602B8: .4byte gUnk_0810A35A - - thumb_func_start sub_080602BC -sub_080602BC: @ 0x080602BC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x48 - bl sub_0807CA84 - cmp r0, #0 - beq _080602D6 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - adds r2, r1, #2 - b _080602F0 -_080602D6: - ldr r0, _08060300 @ =gUnk_02002A40 - adds r2, r0, #0 - adds r2, #0xac - ldr r1, _08060304 @ =gUnk_080FD5A0 - adds r0, #0xae - ldrb r0, [r0] - adds r0, r0, r1 - ldrb r1, [r2] - movs r2, #0 - ldrb r0, [r0] - cmp r1, r0 - bhs _080602F0 - movs r2, #1 -_080602F0: - ldr r0, _08060308 @ =gUnk_0810A362 - lsls r1, r2, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, pc} - .align 2, 0 -_08060300: .4byte gUnk_02002A40 -_08060304: .4byte gUnk_080FD5A0 -_08060308: .4byte gUnk_0810A362 - - thumb_func_start sub_0806030C -sub_0806030C: @ 0x0806030C - push {lr} - ldr r0, [r1, #4] - bl sub_080542F4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08060318 -sub_08060318: @ 0x08060318 - push {r4, r5, lr} - movs r5, #2 -_0806031C: - movs r0, #8 - movs r1, #2 - movs r2, #2 - bl sub_0805EB00 - adds r4, r0, #0 - cmp r4, #0 - beq _08060336 - bl sub_080A29BC - adds r0, r4, #0 - bl sub_0805E7BC -_08060336: - subs r5, #1 - cmp r5, #0 - bge _0806031C - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08060340 -sub_08060340: @ 0x08060340 - ldr r0, _08060350 @ =gUnk_02002A40 - movs r2, #0x92 - lsls r2, r2, #3 - adds r1, r0, r2 - ldr r0, [r0, #0x50] - str r0, [r1] - bx lr - .align 2, 0 -_08060350: .4byte gUnk_02002A40 - - thumb_func_start sub_08060354 -sub_08060354: @ 0x08060354 - push {r4, lr} - ldr r0, _08060378 @ =gUnk_02002A40 - movs r2, #0x92 - lsls r2, r2, #3 - adds r1, r0, r2 - ldr r2, [r0, #0x50] - ldr r0, [r1] - subs r4, r2, r0 - movs r0, #0x3b - bl sub_0807CC30 - cmp r0, #0 - bne _08060380 - cmp r4, #4 - ble _080603B0 - ldr r0, _0806037C @ =0x00008444 - b _080603B2 - .align 2, 0 -_08060378: .4byte gUnk_02002A40 -_0806037C: .4byte 0x00008444 -_08060380: - movs r0, #0x3c - bl sub_0807CC30 - cmp r0, #0 - bne _08060398 - cmp r4, #9 - ble _080603B0 - ldr r0, _08060394 @ =0x00008444 - b _080603B2 - .align 2, 0 -_08060394: .4byte 0x00008444 -_08060398: - movs r0, #0x3d - bl sub_0807CC30 - cmp r0, #0 - bne _080603B0 - cmp r4, #0xe - ble _080603B0 - ldr r0, _080603AC @ =0x00008444 - b _080603B2 - .align 2, 0 -_080603AC: .4byte 0x00008444 -_080603B0: - movs r0, #0 -_080603B2: - pop {r4, pc} - - thumb_func_start sub_080603B4 -sub_080603B4: @ 0x080603B4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080603F4 - ldr r1, _080603F0 @ =gUnk_0810A348 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _080603FA - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _080603FA - .align 2, 0 -_080603F0: .4byte gUnk_0810A348 -_080603F4: - adds r0, r4, #0 - bl sub_08004274 -_080603FA: - pop {r4, pc} - - thumb_func_start sub_080603FC -sub_080603FC: @ 0x080603FC - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08060412 - adds r0, r2, #0 - bl sub_08060528 - b _08060422 -_08060412: - ldr r0, _08060424 @ =gUnk_0810AA24 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_08060422: - pop {pc} - .align 2, 0 -_08060424: .4byte gUnk_0810AA24 - - thumb_func_start sub_08060428 -sub_08060428: @ 0x08060428 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x5a - strb r0, [r4, #0xe] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08060444 - bl sub_0804B128 - adds r1, r0, #0 - b _08060446 -_08060444: - movs r1, #0 -_08060446: - adds r0, r4, #0 - movs r2, #0 - bl sub_0806EE04 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #4 - bl sub_080042AC - pop {r4, pc} - - thumb_func_start sub_0806045C -sub_0806045C: @ 0x0806045C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080604DC - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bgt _08060488 - cmp r0, #1 - blt _08060488 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0 - bl sub_08056378 - b _080604C0 -_08060488: - adds r0, r4, #0 - adds r0, #0x3e - ldrb r1, [r0] - ldrb r0, [r4, #0x14] - cmp r1, r0 - beq _0806049E - strb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC -_0806049E: - adds r0, r4, #0 - movs r1, #0x18 - movs r2, #0x18 - bl sub_0806ED9C - movs r1, #0 - cmp r0, #0 - blt _080604B6 - ldrb r2, [r4, #0x14] - cmp r0, r2 - bne _080604B6 - movs r1, #1 -_080604B6: - cmp r1, #0 - bne _080604C0 - adds r0, r4, #0 - bl sub_0806EE20 -_080604C0: - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - - thumb_func_start sub_080604C8 -sub_080604C8: @ 0x080604C8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080604DC - movs r0, #1 - strb r0, [r4, #0xc] - pop {r4, pc} - - thumb_func_start sub_080604DC -sub_080604DC: @ 0x080604DC - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x1e - lsrs r4, r0, #0x1e - cmp r4, #1 - bne _08060524 - adds r0, r5, #0 - bl sub_080040A8 - cmp r0, #0 - beq _08060524 - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - ands r4, r1 - cmp r4, #0 - beq _08060524 - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r5, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08060524 - ldrh r0, [r1, #0x32] - adds r0, #1 - strh r0, [r1, #0x32] - adds r0, r1, #0 - movs r1, #3 - bl sub_0805E3A0 -_08060524: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08060528 -sub_08060528: @ 0x08060528 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r3, [r4, #0xc] - cmp r3, #1 - beq _08060582 - cmp r3, #1 - bgt _0806053C - cmp r3, #0 - beq _08060546 - b _080605EC -_0806053C: - cmp r3, #2 - beq _080605F6 - cmp r3, #3 - beq _08060618 - b _080605EC -_08060546: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x68 - strb r3, [r0] - adds r0, #1 - strb r3, [r0] - adds r5, r4, #0 - adds r5, #0x6a - movs r0, #0 - strh r3, [r5] - adds r6, r4, #0 - adds r6, #0x6d - strb r0, [r6] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x6c - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807DD50 - b _08060634 -_08060582: - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - bne _080605B8 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r2] - adds r0, r4, #0 - bl sub_0806F118 - ldr r1, _080605B4 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - b _080605EC - .align 2, 0 -_080605B4: .4byte gUnk_03001160 -_080605B8: - cmp r0, #0 - beq _080605E4 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r2] - adds r0, r4, #0 - bl sub_080606D8 - ldr r1, _080605E0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - b _080605EC - .align 2, 0 -_080605E0: .4byte gUnk_03001160 -_080605E4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 -_080605EC: - adds r5, r4, #0 - adds r5, #0x6a - adds r6, r4, #0 - adds r6, #0x6d - b _08060634 -_080605F6: - adds r0, r4, #0 - bl sub_080042B8 - ldr r0, _08060614 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - adds r5, r4, #0 - adds r5, #0x6a - adds r6, r4, #0 - adds r6, #0x6d - cmp r0, #0 - bne _08060634 - b _08060630 - .align 2, 0 -_08060614: .4byte gUnk_02000050 -_08060618: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F148 - adds r5, r4, #0 - adds r5, #0x6a - adds r6, r4, #0 - adds r6, #0x6d - cmp r0, #0 - beq _08060634 -_08060630: - movs r0, #1 - strb r0, [r4, #0xc] -_08060634: - adds r0, r4, #0 - bl sub_080604DC - adds r1, r5, #0 - ldrh r3, [r1] - movs r0, #0 - ldrsh r2, [r1, r0] - cmp r2, #0 - ble _08060670 - ldr r0, _08060668 @ =0x0000012B - cmp r2, r0 - ble _0806066C - movs r0, #0 - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #1 - strb r0, [r6] - adds r0, r4, #0 - bl sub_080788E0 - movs r0, #0x7c - bl sub_08004488 - b _08060670 - .align 2, 0 -_08060668: .4byte 0x0000012B -_0806066C: - subs r0, r3, #1 - strh r0, [r5] -_08060670: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - ldrb r0, [r6] - cmp r0, #0 - beq _08060694 - ldr r0, [r4, #0x20] - cmp r0, #0 - bne _08060694 - ldr r0, [r4, #0x34] - cmp r0, #0 - bne _08060694 - strb r0, [r6] - adds r0, r4, #0 - bl sub_080606C0 -_08060694: - ldr r0, [r4, #0x34] - cmp r0, #0 - blt _080606B4 - ldr r0, _080606BC @ =gUnk_03001160 - adds r0, #0x38 - ldrb r1, [r0] - cmp r1, #0 - beq _080606AE - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, r1 - bne _080606B4 -_080606AE: - adds r0, r4, #0 - bl sub_0806ED78 -_080606B4: - adds r0, r4, #0 - bl sub_0800451C - pop {r4, r5, r6, pc} - .align 2, 0 -_080606BC: .4byte gUnk_03001160 - - thumb_func_start sub_080606C0 -sub_080606C0: @ 0x080606C0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x6c - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_080606D8 -sub_080606D8: @ 0x080606D8 - push {lr} - adds r2, r0, #0 - ldr r0, _080606F8 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _080606E8 - movs r0, #0 -_080606E8: - lsls r1, r0, #3 - ldr r0, _080606FC @ =gUnk_0810AA30 - adds r1, r1, r0 - adds r0, r2, #0 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_080606F8: .4byte gUnk_02002A40 -_080606FC: .4byte gUnk_0810AA30 - - thumb_func_start sub_08060700 -sub_08060700: @ 0x08060700 - push {r4, r5, lr} - ldr r3, _0806074C @ =gUnk_0810A918 - adds r2, r0, #0 - adds r2, #0x68 - ldrb r2, [r2] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - adds r3, r0, #0 - adds r3, #0x69 - ldrb r3, [r3] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - adds r2, r2, r3 - movs r3, #0 - ldrsb r3, [r2, r3] - lsls r3, r3, #2 - ldr r2, _08060750 @ =gUnk_0810A66C - adds r3, r3, r2 - ldr r4, _08060754 @ =gUnk_03000BF0 - movs r5, #0 - ldrsh r2, [r3, r5] - ldrh r5, [r4, #6] - adds r2, r2, r5 - movs r5, #2 - ldrsh r3, [r3, r5] - ldrh r4, [r4, #8] - adds r3, r3, r4 - bl sub_0807DEDC - ldr r2, _08060758 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, pc} - .align 2, 0 -_0806074C: .4byte gUnk_0810A918 -_08060750: .4byte gUnk_0810A66C -_08060754: .4byte gUnk_03000BF0 -_08060758: .4byte gUnk_02033280 - - thumb_func_start sub_0806075C -sub_0806075C: @ 0x0806075C - adds r2, r0, #0 - adds r2, #0x68 - movs r1, #0xb - strb r1, [r2] - adds r0, #0x69 - movs r1, #0xff - strb r1, [r0] - bx lr - - thumb_func_start sub_0806076C -sub_0806076C: @ 0x0806076C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - adds r7, r0, #0 - mov sb, r1 - ldr r0, [r7, #0x34] - cmp r0, #0 - bge _08060790 - ldr r1, _0806078C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _080608D8 - .align 2, 0 -_0806078C: .4byte gUnk_02033280 -_08060790: - adds r4, r7, #0 - adds r4, #0x69 - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - adds r5, r7, #0 - adds r5, #0x38 - movs r0, #1 - strb r0, [r5] - adds r0, r7, #0 - bl sub_080606C0 - ldr r1, _080607DC @ =gUnk_0810A918 - adds r2, r7, #0 - adds r2, #0x68 - movs r0, #0 - ldrsb r0, [r2, r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r6, [r0] - movs r0, #0 - ldrsb r0, [r4, r0] - adds r6, r6, r0 - mov sl, r4 - mov r8, r2 -_080607C2: - ldrb r0, [r6] - adds r0, #5 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #5 - bls _080607D0 - b _080608D8 -_080607D0: - lsls r0, r0, #2 - ldr r1, _080607E0 @ =_080607E4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080607DC: .4byte gUnk_0810A918 -_080607E0: .4byte _080607E4 -_080607E4: @ jump table - .4byte _08060846 @ case 0 - .4byte _08060836 @ case 1 - .4byte _08060830 @ case 2 - .4byte _0806082A @ case 3 - .4byte _0806081E @ case 4 - .4byte _080607FC @ case 5 -_080607FC: - adds r6, #1 - movs r5, #0 - ldrsb r5, [r6, r5] - adds r6, #1 - bl sub_08000E50 - adds r1, r5, #0 - bl __modsi3 - adds r0, r6, r0 - ldrb r0, [r0] - movs r1, #0 - mov r2, r8 - strb r0, [r2] - mov r3, sl - strb r1, [r3] - b _080608D8 -_0806081E: - adds r1, r7, #0 - adds r1, #0x6a - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1] - b _080608CC -_0806082A: - movs r0, #1 - strb r0, [r5] - b _080608CC -_08060830: - movs r0, #2 - strb r0, [r5] - b _080608CC -_08060836: - movs r0, #0x1e - mov r4, sb - strh r0, [r4, #0x10] - ldrb r1, [r7, #0x18] - subs r0, #0x22 - ands r0, r1 - strb r0, [r7, #0x18] - b _080608CC -_08060846: - adds r6, #1 - movs r5, #0 - ldrsb r5, [r6, r5] - adds r6, #1 - bl sub_08000E50 - adds r1, r5, #0 - bl __modsi3 - str r0, [sp, #4] - movs r2, #0 - cmp r2, r5 - bhs _080608B8 - ldr r0, _080608C0 @ =gUnk_03000BF0 - mov sb, r0 -_08060864: - ldr r1, [sp, #4] - adds r0, r6, r1 - ldrb r0, [r0] - mov r3, r8 - strb r0, [r3] - movs r0, #0 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - ldr r4, _080608C4 @ =gUnk_0810A918 - adds r0, r0, r4 - ldr r0, [r0] - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r1, r1, #2 - ldr r0, _080608C8 @ =gUnk_0810A66C - adds r1, r1, r0 - ldrh r0, [r1] - mov r3, sb - ldrh r3, [r3, #6] - adds r0, r0, r3 - strh r0, [r7, #0x2e] - ldrh r0, [r1, #2] - mov r4, sb - ldrh r4, [r4, #8] - adds r0, r0, r4 - strh r0, [r7, #0x32] - adds r0, r7, #0 - str r2, [sp] - bl sub_080040A8 - cmp r0, #0 - beq _080608B8 - ldr r0, [sp, #4] - adds r0, #1 - adds r1, r5, #0 - bl __modsi3 - str r0, [sp, #4] - ldr r2, [sp] - adds r2, #1 - cmp r2, r5 - blo _08060864 -_080608B8: - movs r0, #0 - mov r1, sl - strb r0, [r1] - b _080608D8 - .align 2, 0 -_080608C0: .4byte gUnk_03000BF0 -_080608C4: .4byte gUnk_0810A918 -_080608C8: .4byte gUnk_0810A66C -_080608CC: - mov r2, sl - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - adds r6, #1 - b _080607C2 -_080608D8: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080608E4 -sub_080608E4: @ 0x080608E4 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #0 - str r0, [r5, #0x14] - ldr r0, [r4, #0x34] - cmp r0, #0 - blt _08060970 - adds r0, r4, #0 - adds r0, #0x38 - ldrb r1, [r0] - ldr r6, _08060974 @ =gUnk_03001160 - cmp r1, #1 - bne _0806090A - adds r0, r6, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #2 - beq _08060970 -_0806090A: - cmp r1, #2 - bne _08060918 - adds r0, r6, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - beq _08060970 -_08060918: - ldr r2, [r5, #4] - lsls r2, r2, #4 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - ldr r1, _08060978 @ =gUnk_0810AA70 - adds r0, r0, r1 - adds r2, r2, r0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - movs r7, #0x32 - ldrsh r3, [r4, r7] - movs r0, #1 - ldrsb r0, [r2, r0] - adds r3, r3, r0 - movs r7, #0x2e - ldrsh r0, [r6, r7] - subs r1, r0, r1 - movs r7, #0x32 - ldrsh r0, [r6, r7] - subs r3, r0, r3 - movs r0, #2 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - ldrb r2, [r2, #3] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - adds r3, r3, r2 - lsls r0, r0, #1 - cmp r0, r1 - bls _08060970 - lsls r0, r2, #1 - cmp r0, r3 - bls _08060970 - movs r0, #1 - str r0, [r5, #0x14] - adds r1, r4, #0 - adds r1, #0x6a - ldrh r0, [r1] - adds r0, #2 - strh r0, [r1] -_08060970: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08060974: .4byte gUnk_03001160 -_08060978: .4byte gUnk_0810AA70 - - thumb_func_start sub_0806097C -sub_0806097C: @ 0x0806097C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _080609A2 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #2 - bl sub_080042AC - b _080609A8 -_080609A2: - adds r0, r2, #0 - bl sub_080042B8 -_080609A8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080609AC -sub_080609AC: @ 0x080609AC - push {r4, lr} - movs r0, #0x1c - bl sub_0807CC30 - cmp r0, #0 - beq _080609E0 - movs r0, #0x2e - movs r1, #0 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _080609E0 - ldr r0, _080609E4 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_0806EDC4 - strb r0, [r4, #0x14] -_080609E0: - pop {r4, pc} - .align 2, 0 -_080609E4: .4byte gUnk_03001160 - - thumb_func_start sub_080609E8 -sub_080609E8: @ 0x080609E8 - push {lr} - ldr r2, _080609FC @ =gUnk_0810AC1C - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080609FC: .4byte gUnk_0810AC1C - - thumb_func_start sub_08060A00 -sub_08060A00: @ 0x08060A00 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _08060AD0 @ =gUnk_03003F80 - ldrb r1, [r0, #2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08060A44 - ldrb r0, [r5, #0xc] - cmp r0, #0 - beq _08060A52 - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _08060A44 - movs r0, #4 - orrs r0, r1 - strb r0, [r2] - ldr r4, [r5, #0x64] - ldr r3, _08060AD4 @ =gUnk_03001160 - ldrh r2, [r3, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - adds r0, #8 - strh r0, [r4, #0xa] - ldr r2, [r5, #0x64] - ldrh r0, [r3, #0x32] - ands r1, r0 - adds r1, #8 - strh r1, [r2, #0xc] -_08060A44: - ldrb r0, [r5, #0xc] - cmp r0, #0 - beq _08060A52 - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - beq _08060A62 -_08060A52: - ldr r0, _08060AD8 @ =gUnk_0810AC2C - ldrb r1, [r5, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 -_08060A62: - ldrb r0, [r5, #0xc] - cmp r0, #0 - beq _08060A76 - ldr r1, [r5, #0x64] - ldr r2, _08060AD4 @ =gUnk_03001160 - ldrh r0, [r2, #0x2e] - strh r0, [r1, #2] - ldr r1, [r5, #0x64] - ldrh r0, [r2, #0x32] - strh r0, [r1, #4] -_08060A76: - adds r2, r5, #0 - adds r2, #0x74 - ldr r4, _08060ADC @ =gUnk_03000BF0 - ldrb r1, [r4, #5] - ldrh r0, [r2] - cmp r0, r1 - beq _08060ACE - strh r1, [r2] - ldr r0, _08060AD4 @ =gUnk_03001160 - adds r1, r5, #0 - bl sub_0806FA24 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - movs r0, #0x90 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - ldrb r1, [r4, #0x10] - lsls r0, r1, #1 - strb r0, [r5, #0x14] - lsls r1, r1, #0x19 - lsrs r1, r1, #0x19 - adds r0, r5, #0 - bl sub_080042AC - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x80 - adds r1, r5, #0 - adds r1, #0x59 - strb r0, [r1] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] -_08060ACE: - pop {r4, r5, pc} - .align 2, 0 -_08060AD0: .4byte gUnk_03003F80 -_08060AD4: .4byte gUnk_03001160 -_08060AD8: .4byte gUnk_0810AC2C -_08060ADC: .4byte gUnk_03000BF0 - - thumb_func_start sub_08060AE0 -sub_08060AE0: @ 0x08060AE0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x14 - bl sub_0801D8E0 - adds r1, r0, #0 - cmp r1, #0 - beq _08060B54 - str r1, [r4, #0x64] - movs r0, #0x20 - strb r0, [r1, #1] - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x14] - movs r2, #3 - adds r0, r2, #0 - ands r0, r1 - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - subs r1, #1 - movs r0, #0x49 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3b - strb r2, [r0] - ldr r0, _08060B58 @ =gUnk_080FD150 - str r0, [r4, #0x48] - ldrb r1, [r4, #0x17] - movs r0, #0xfe - ands r0, r1 - strb r0, [r4, #0x17] - adds r1, r4, #0 - adds r1, #0x6c - movs r0, #0xff - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08060E70 - movs r0, #5 - movs r1, #2 - movs r2, #0 - bl sub_0806ED50 - cmp r0, #0 - beq _08060B54 - str r4, [r0, #0x50] - str r0, [r4, #0x78] -_08060B54: - pop {r4, pc} - .align 2, 0 -_08060B58: .4byte gUnk_080FD150 - - thumb_func_start sub_08060B5C -sub_08060B5C: @ 0x08060B5C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08061230 - cmp r0, #0 - bne _08060B9E - adds r0, r4, #0 - bl sub_08060F80 - adds r5, r0, #0 - cmp r5, #0 - bne _08060B98 - ldr r1, _08060B94 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - ldrb r1, [r4, #0x14] - lsls r1, r1, #2 - subs r0, r0, r1 - adds r0, #4 - movs r1, #0x1f - ands r0, r1 - cmp r0, #8 - bhi _08060B98 - movs r0, #2 - strb r0, [r4, #0xc] - strb r5, [r4, #0xf] - b _08060B9E - .align 2, 0 -_08060B94: .4byte gUnk_03001160 -_08060B98: - adds r0, r4, #0 - bl sub_08060EDC -_08060B9E: - pop {r4, r5, pc} - - thumb_func_start sub_08060BA0 -sub_08060BA0: @ 0x08060BA0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08061230 - cmp r0, #0 - beq _08060BAE - b _08060D74 -_08060BAE: - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08060C66 - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08060BF6 - movs r0, #0xf0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldrh r1, [r2, #0xe] - ldrh r2, [r2, #0x10] - adds r0, r4, #0 - movs r3, #0xc - bl sub_08061120 - adds r0, r4, #0 - bl sub_08061170 - ldr r0, [r4, #0x64] - ldrh r1, [r0, #0xe] - ldrh r2, [r0, #0x10] - adds r0, r4, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - bne _08060BEE - b _08060D54 -_08060BEE: - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #0xf7 - b _08060D36 -_08060BF6: - ldrh r1, [r2, #0xa] - ldrh r2, [r2, #0xc] - adds r0, r4, #0 - bl sub_08060FD0 - cmp r0, #0 - beq _08060C56 - ldr r0, [r4, #0x64] - ldrh r1, [r0, #0xa] - ldrh r2, [r0, #0xc] - adds r0, r4, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08060C38 - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r0, [r5, #0x15] - strb r0, [r4, #0x15] - movs r0, #0xb0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #8 - bl sub_08060E70 - b _08060D54 -_08060C38: - movs r0, #0xf0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - movs r3, #0xc - bl sub_08061120 - adds r0, r4, #0 - bl sub_08061170 - b _08060D54 -_08060C56: - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - bl sub_08061464 - b _08060D54 -_08060C66: - ldr r5, _08060C98 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - bl sub_08060FD0 - cmp r0, #0 - beq _08060C9C - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - bl sub_08061090 - adds r0, r4, #0 - bl sub_08061170 - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #0xf5 - b _08060D36 - .align 2, 0 -_08060C98: .4byte gUnk_03001160 -_08060C9C: - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08060CDA - movs r0, #0xf0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldrh r1, [r2, #0xe] - ldrh r2, [r2, #0x10] - adds r0, r4, #0 - movs r3, #0xc - bl sub_08061120 - adds r0, r4, #0 - bl sub_08061170 - ldr r0, [r4, #0x64] - ldrh r1, [r0, #0xe] - ldrh r2, [r0, #0x10] - adds r0, r4, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08060D54 - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #0xf7 - b _08060D36 -_08060CDA: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08060CF4 - movs r0, #2 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r4, #0x64] - ldrh r0, [r1, #2] - strh r0, [r1, #6] - ldr r1, [r4, #0x64] - ldrh r0, [r1, #4] - strh r0, [r1, #8] -_08060CF4: - ldr r0, [r4, #0x64] - ldrh r1, [r0, #6] - ldrh r2, [r0, #8] - adds r0, r4, #0 - bl sub_08060FD0 - cmp r0, #0 - beq _08060D3C - movs r0, #0xf0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldr r0, [r4, #0x64] - ldrh r1, [r0, #6] - ldrh r2, [r0, #8] - adds r0, r4, #0 - movs r3, #0xc - bl sub_08061120 - adds r0, r4, #0 - bl sub_08061170 - ldr r0, [r4, #0x64] - ldrh r1, [r0, #6] - ldrh r2, [r0, #8] - adds r0, r4, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08060D54 - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #0xfd -_08060D36: - ands r0, r1 - strb r0, [r2] - b _08060D54 -_08060D3C: - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #0xfd - ands r0, r1 - strb r0, [r2] - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - bl sub_08061464 -_08060D54: - adds r0, r4, #0 - bl sub_08060F80 - cmp r0, #0 - beq _08060D74 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0 - bl sub_08060E70 -_08060D74: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08060D78 -sub_08060D78: @ 0x08060D78 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08061358 - adds r0, r4, #0 - bl sub_08060F80 - cmp r0, #0 - beq _08060DCE - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - subs r0, #0x20 - cmp r0, #0xf - bhi _08060DC2 - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - beq _08060DB2 - adds r1, r4, #0 - adds r1, #0x59 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080042B8 -_08060DB2: - ldrb r1, [r5] - movs r0, #0x18 - ands r0, r1 - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x6c - movs r0, #0xff - strb r0, [r1] -_08060DC2: - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08060E70 -_08060DCE: - pop {r4, r5, pc} - - thumb_func_start sub_08060DD0 -sub_08060DD0: @ 0x08060DD0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08060DF2 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08060E70 -_08060DF2: - pop {r4, pc} - - thumb_func_start sub_08060DF4 -sub_08060DF4: @ 0x08060DF4 - push {lr} - bl sub_08061170 - pop {pc} - - thumb_func_start sub_08060DFC -sub_08060DFC: @ 0x08060DFC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08060E94 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08060E32 - movs r0, #7 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0x1c - bl sub_08060E70 -_08060E32: - pop {r4, pc} - - thumb_func_start sub_08060E34 -sub_08060E34: @ 0x08060E34 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08060E68 - movs r0, #2 - strb r0, [r4, #0xc] - ldr r1, _08060E6C @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #8 - bl sub_08060E70 -_08060E68: - pop {r4, pc} - .align 2, 0 -_08060E6C: .4byte gUnk_03001160 - - thumb_func_start sub_08060E70 -sub_08060E70: @ 0x08060E70 - push {lr} - adds r2, r0, #0 - adds r3, r1, #0 - ldrb r0, [r2, #0x14] - lsrs r0, r0, #1 - adds r1, r3, r0 - adds r0, r2, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r1, r0 - beq _08060E92 - adds r0, r2, #0 - adds r0, #0x6c - strb r3, [r0] - adds r0, r2, #0 - bl sub_080042AC -_08060E92: - pop {pc} - - thumb_func_start sub_08060E94 -sub_08060E94: @ 0x08060E94 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x58] - ldr r1, _08060ECC @ =0x0080FF00 - ands r0, r1 - ldr r1, _08060ED0 @ =0x00800100 - cmp r0, r1 - bne _08060ED4 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #3 - bhi _08060ED4 - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r0, r4, #0 - bl sub_080042AC - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x80 - adds r1, r4, #0 - adds r1, #0x59 - strb r0, [r1] - b _08060EDA - .align 2, 0 -_08060ECC: .4byte 0x0080FF00 -_08060ED0: .4byte 0x00800100 -_08060ED4: - adds r0, r4, #0 - bl sub_080042B8 -_08060EDA: - pop {r4, pc} - - thumb_func_start sub_08060EDC -sub_08060EDC: @ 0x08060EDC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - subs r0, #0x20 - cmp r0, #0xf - bhi _08060F00 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08060F00 - adds r0, r4, #0 - bl sub_080042B8 - b _08060F7C -_08060F00: - ldr r1, _08060F30 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - ldrb r2, [r4, #0x14] - lsls r1, r2, #2 - subs r1, r0, r1 - adds r0, r1, #3 - movs r3, #0x1f - ands r0, r3 - cmp r0, #6 - ble _08060F4A - ands r1, r3 - cmp r1, #0xf - bgt _08060F34 - adds r1, r2, #0 - adds r1, #0x20 - adds r0, r4, #0 - bl sub_080042AC - ldrb r0, [r4, #0x14] - adds r0, #1 - b _08060F42 - .align 2, 0 -_08060F30: .4byte gUnk_03001160 -_08060F34: - adds r1, r2, #0 - adds r1, #0x28 - adds r0, r4, #0 - bl sub_080042AC - ldrb r0, [r4, #0x14] - subs r0, #1 -_08060F42: - movs r1, #7 - ands r0, r1 - strb r0, [r4, #0x14] - b _08060F7C -_08060F4A: - movs r0, #1 - ands r2, r0 - cmp r2, #0 - bne _08060F7C - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08060F76 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - subs r0, #0x20 - cmp r0, #0xf - bhi _08060F76 - adds r0, r4, #0 - movs r1, #0 - bl sub_08060E70 - b _08060F7C -_08060F76: - adds r0, r4, #0 - bl sub_08060E94 -_08060F7C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08060F80 -sub_08060F80: @ 0x08060F80 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08060FC8 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r3, #0x32 - ldrsh r2, [r5, r3] - adds r0, r4, #0 - bl sub_08060FD0 - cmp r0, #0 - beq _08060FC2 - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - movs r1, #0x2e - ldrsh r0, [r5, r1] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r5, r3] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - ldr r2, [r4, #0x64] - ldrb r2, [r2, #1] - bl sub_0806FCD0 - cmp r0, #0 - bne _08060FCC -_08060FC2: - movs r0, #0 - b _08060FCE - .align 2, 0 -_08060FC8: .4byte gUnk_03001160 -_08060FCC: - movs r0, #1 -_08060FCE: - pop {r4, r5, pc} - - thumb_func_start sub_08060FD0 -sub_08060FD0: @ 0x08060FD0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - adds r4, r0, #0 - mov sb, r1 - mov r8, r2 - movs r0, #0x2e - ldrsh r7, [r4, r0] - movs r1, #0x32 - ldrsh r6, [r4, r1] - mov r2, sb - subs r0, r2, r7 - mov r5, r8 - subs r1, r5, r6 - bl sub_080045DA - lsls r7, r7, #8 - lsls r6, r6, #8 - ldr r3, _08061058 @ =gUnk_080C9160 - lsls r1, r0, #1 - adds r1, r1, r3 - movs r5, #0 - ldrsh r2, [r1, r5] - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #1 - str r1, [sp] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r3 - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - str r0, [sp, #4] - adds r4, #0x38 - ldrb r0, [r4] - ldr r5, _0806105C @ =gUnk_0200D654 - mov sl, r5 - cmp r0, #2 - beq _0806102E - ldr r0, _08061060 @ =gUnk_02027EB4 - mov sl, r0 -_0806102E: - adds r1, r7, #0 - cmp r7, #0 - bge _08061036 - adds r1, #0xff -_08061036: - asrs r5, r1, #8 - adds r2, r6, #0 - cmp r6, #0 - bge _08061040 - adds r2, #0xff -_08061040: - asrs r4, r2, #8 - mov r0, sl - adds r1, r5, #0 - adds r2, r4, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _08061064 - movs r0, #0 - b _08061084 - .align 2, 0 -_08061058: .4byte gUnk_080C9160 -_0806105C: .4byte gUnk_0200D654 -_08061060: .4byte gUnk_02027EB4 -_08061064: - mov r1, sb - subs r0, r1, r5 - adds r0, #6 - cmp r0, #0xc - bhi _08061078 - mov r2, r8 - subs r0, r2, r4 - adds r0, #6 - cmp r0, #0xc - bls _08061082 -_08061078: - ldr r5, [sp] - adds r7, r7, r5 - ldr r0, [sp, #4] - subs r6, r6, r0 - b _0806102E -_08061082: - movs r0, #1 -_08061084: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08061090 -sub_08061090: @ 0x08061090 - push {r4, r5, r6, lr} - adds r3, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - ldr r1, _080610C8 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r2, [r1, r0] - movs r4, #0x2e - ldrsh r0, [r3, r4] - subs r2, r2, r0 - movs r4, #0x32 - ldrsh r0, [r1, r4] - movs r4, #0x32 - ldrsh r1, [r3, r4] - subs r0, r0, r1 - adds r1, r2, #0 - muls r1, r2, r1 - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - adds r1, r1, r0 - ldr r0, _080610CC @ =0x000008FF - cmp r1, r0 - bgt _080610D0 - movs r0, #0x90 - lsls r0, r0, #1 - b _080610F0 - .align 2, 0 -_080610C8: .4byte gUnk_03001160 -_080610CC: .4byte 0x000008FF -_080610D0: - ldr r0, _080610E4 @ =0x000018FF - cmp r1, r0 - bgt _080610EC - ldr r4, _080610E8 @ =0xFFFFF700 - adds r0, r1, r4 - asrs r0, r0, #4 - movs r1, #0x90 - lsls r1, r1, #1 - adds r0, r0, r1 - b _080610F0 - .align 2, 0 -_080610E4: .4byte 0x000018FF -_080610E8: .4byte 0xFFFFF700 -_080610EC: - movs r0, #0x88 - lsls r0, r0, #2 -_080610F0: - strh r0, [r3, #0x24] - movs r2, #0x24 - ldrsh r1, [r3, r2] - movs r0, #0x90 - lsls r0, r0, #1 - cmp r1, r0 - bne _08061102 - movs r4, #4 - b _0806110C -_08061102: - ldr r0, _0806111C @ =0x0000015F - movs r4, #0xc - cmp r1, r0 - bgt _0806110C - movs r4, #8 -_0806110C: - adds r0, r3, #0 - adds r1, r5, #0 - adds r2, r6, #0 - adds r3, r4, #0 - bl sub_08061120 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806111C: .4byte 0x0000015F - - thumb_func_start sub_08061120 -sub_08061120: @ 0x08061120 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r4, r1, #0 - adds r5, r2, #0 - adds r7, r3, #0 - movs r1, #0x2e - ldrsh r0, [r6, r1] - movs r2, #0x32 - ldrsh r1, [r6, r2] - adds r2, r4, #0 - adds r3, r5, #0 - bl sub_080045D4 - strb r0, [r6, #0x15] - adds r0, r6, #0 - adds r0, #0x6c - ldrb r0, [r0] - cmp r7, r0 - bne _08061158 - ldrb r0, [r6, #0x15] - ldrb r1, [r6, #0x14] - lsls r1, r1, #2 - subs r0, r0, r1 - adds r0, #5 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0xa - ble _0806116C -_08061158: - ldrb r0, [r6, #0x15] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - asrs r0, r0, #2 - strb r0, [r6, #0x14] - adds r0, r6, #0 - adds r1, r7, #0 - bl sub_08060E70 -_0806116C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08061170 -sub_08061170: @ 0x08061170 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080AF1EC - cmp r0, #0 - bne _080611CA - adds r0, r4, #0 - bl sub_080611D4 - adds r5, r0, #0 - cmp r5, #0xff - beq _080611C6 - movs r0, #6 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08079FD4 - lsls r0, r0, #4 - subs r0, #4 - lsls r0, r0, #0xc - str r0, [r4, #0x20] - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r4, #0x24] - strb r5, [r4, #0x15] - lsrs r1, r5, #2 - strb r1, [r4, #0x14] - lsrs r0, r0, #0x10 - cmp r0, #0 - beq _080611BE - adds r0, r4, #0 - movs r1, #0x14 - bl sub_08060E70 - b _080611C6 -_080611BE: - adds r0, r4, #0 - movs r1, #0x18 - bl sub_08060E70 -_080611C6: - movs r0, #0 - b _080611D2 -_080611CA: - adds r0, r4, #0 - bl sub_08016AD2 - movs r0, #1 -_080611D2: - pop {r4, r5, pc} - - thumb_func_start sub_080611D4 -sub_080611D4: @ 0x080611D4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x14] - movs r0, #6 - ands r0, r1 - ldr r1, _08061218 @ =gUnk_0810AC4C - adds r0, r0, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - movs r2, #1 - ldrsb r2, [r0, r2] - adds r0, r4, #0 - bl sub_080002B4 - adds r3, r0, #0 - ldr r2, _0806121C @ =gUnk_0810AC54 -_080611F4: - ldrb r0, [r2] - cmp r0, r3 - bne _08061220 - ldrb r0, [r2, #1] - ldrb r1, [r4, #0x14] - lsrs r0, r0, #2 - cmp r1, r0 - bne _08061220 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bls _0806122A - ldrb r0, [r2, #1] - b _0806122C - .align 2, 0 -_08061218: .4byte gUnk_0810AC4C -_0806121C: .4byte gUnk_0810AC54 -_08061220: - adds r2, #2 - ldrb r0, [r2] - cmp r0, #0 - bne _080611F4 - strb r0, [r4, #0xf] -_0806122A: - movs r0, #0xff -_0806122C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08061230 -sub_08061230: @ 0x08061230 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08061302 - adds r1, r4, #0 - adds r1, #0x41 - ldrb r3, [r1] - movs r0, #0x80 - ands r0, r3 - adds r2, r1, #0 - cmp r0, #0 - beq _0806133A - movs r0, #0x7f - ands r0, r3 - cmp r0, #0x1f - bhi _080612E8 - lsls r0, r0, #2 - ldr r1, _08061264 @ =_08061268 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08061264: .4byte _08061268 -_08061268: @ jump table - .4byte _0806133A @ case 0 - .4byte _0806133A @ case 1 - .4byte _0806133A @ case 2 - .4byte _0806133A @ case 3 - .4byte _080612E8 @ case 4 - .4byte _080612E8 @ case 5 - .4byte _080612E8 @ case 6 - .4byte _080612E8 @ case 7 - .4byte _080612E8 @ case 8 - .4byte _080612E8 @ case 9 - .4byte _080612E8 @ case 10 - .4byte _080612E8 @ case 11 - .4byte _080612E8 @ case 12 - .4byte _080612E8 @ case 13 - .4byte _080612E8 @ case 14 - .4byte _0806133A @ case 15 - .4byte _080612E8 @ case 16 - .4byte _080612E8 @ case 17 - .4byte _080612E8 @ case 18 - .4byte _0806133A @ case 19 - .4byte _080612E8 @ case 20 - .4byte _080612E8 @ case 21 - .4byte _080612E8 @ case 22 - .4byte _080612E8 @ case 23 - .4byte _080612E8 @ case 24 - .4byte _080612E8 @ case 25 - .4byte _080612E8 @ case 26 - .4byte _0806133A @ case 27 - .4byte _080612E8 @ case 28 - .4byte _080612E8 @ case 29 - .4byte _0806133A @ case 30 - .4byte _0806133A @ case 31 -_080612E8: - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #1 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r1, #0x40 - adds r0, r4, #0 - bl sub_080042AC - movs r0, #1 - b _08061356 -_08061302: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0806131A - movs r0, #1 - b _08061356 -_0806131A: - ldr r2, [r4, #0x64] - ldrb r1, [r2] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x6c - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - ldrb r0, [r0] - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_080042AC - adds r2, r4, #0 - adds r2, #0x41 -_0806133A: - ldrb r0, [r2] - movs r1, #0x7f - ands r1, r0 - strb r1, [r2] - adds r1, r4, #0 - adds r1, #0x3d - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08061354 - adds r0, r2, #1 - strb r0, [r1] -_08061354: - movs r0, #0 -_08061356: - pop {r4, pc} - - thumb_func_start sub_08061358 -sub_08061358: @ 0x08061358 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xd] - cmp r5, #1 - beq _0806139C - cmp r5, #1 - bgt _0806136C - cmp r5, #0 - beq _08061376 - b _08061460 -_0806136C: - cmp r5, #2 - beq _080613D0 - cmp r5, #3 - beq _0806141E - b _08061460 -_08061376: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08061460 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xf - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0 - bl sub_08060E70 - b _08061460 -_0806139C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08061460 - bl sub_08000E50 - adds r6, r0, #0 - ands r5, r6 - cmp r5, #0 - beq _080613FA - movs r0, #2 - strb r0, [r4, #0xd] - ldr r3, _080613CC @ =gUnk_0810AC5D - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - lsrs r1, r6, #4 - movs r2, #3 - ands r1, r2 - adds r0, r0, r1 - adds r0, r0, r3 - b _0806143A - .align 2, 0 -_080613CC: .4byte gUnk_0810AC5D -_080613D0: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08061460 - movs r0, #0x18 - ands r0, r1 - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #1 - ands r1, r0 - cmp r1, #0 - beq _08061412 -_080613FA: - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x18 - ands r6, r0 - adds r0, r6, #0 - adds r0, #0x1e - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #4 - bl sub_08060E70 - b _08061460 -_08061412: - strb r1, [r4, #0xd] - adds r0, r4, #0 - movs r1, #0x10 - bl sub_08060E70 - b _08061460 -_0806141E: - adds r0, r4, #0 - bl sub_08061170 - cmp r0, #0 - bne _08061448 - movs r0, #2 - strb r0, [r4, #0xd] - ldr r2, _08061444 @ =gUnk_0810AC5D - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - lsrs r1, r6, #4 - ands r1, r5 - adds r0, r0, r1 - adds r0, r0, r2 -_0806143A: - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC - b _08061460 - .align 2, 0 -_08061444: .4byte gUnk_0810AC5D -_08061448: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _08061460 - strb r0, [r4, #0xd] - adds r0, r4, #0 - movs r1, #0x10 - bl sub_08060E70 -_08061460: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08061464 -sub_08061464: @ 0x08061464 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - mov r8, r1 - adds r5, r2, #0 - movs r0, #0x2e - ldrsh r7, [r4, r0] - movs r1, #0x32 - ldrsh r6, [r4, r1] - adds r0, r7, #0 - adds r1, r6, #0 - mov r2, r8 - adds r3, r5, #0 - bl sub_080045D4 - adds r0, #2 - movs r1, #0x1c - ands r0, r1 - lsrs r0, r0, #2 - cmp r0, #7 - bls _08061494 - b _08061612 -_08061494: - lsls r0, r0, #2 - ldr r1, _080614A0 @ =_080614A4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080614A0: .4byte _080614A4 -_080614A4: @ jump table - .4byte _080614C4 @ case 0 - .4byte _080614E2 @ case 1 - .4byte _08061514 @ case 2 - .4byte _08061544 @ case 3 - .4byte _08061566 @ case 4 - .4byte _08061584 @ case 5 - .4byte _080615B4 @ case 6 - .4byte _080615E4 @ case 7 -_080614C4: - adds r0, r4, #0 - adds r0, #0x6e - strh r5, [r0] - movs r1, #0x2e - ldrsh r0, [r4, r1] - cmp r0, r8 - ble _08061504 - adds r2, r6, #0 - subs r2, #8 - adds r0, r4, #0 - adds r1, r7, #0 - mov r3, r8 - bl sub_08061630 - b _08061612 -_080614E2: - movs r0, #0x6e - adds r0, r0, r4 - mov sb, r0 - mov r1, r8 - strh r1, [r0] - adds r1, r7, #0 - adds r1, #8 - adds r0, r4, #0 - adds r2, r6, #0 - adds r3, r5, #0 - bl sub_08061720 - cmp r0, #0 - beq _08061500 - b _08061612 -_08061500: - mov r0, sb - strh r5, [r0] -_08061504: - adds r2, r6, #0 - subs r2, #8 - adds r0, r4, #0 - adds r1, r7, #0 - mov r3, r8 - bl sub_080616A8 - b _08061612 -_08061514: - adds r0, r4, #0 - adds r0, #0x6e - mov r1, r8 - strh r1, [r0] - movs r1, #0x32 - ldrsh r0, [r4, r1] - cmp r0, r5 - ble _08061534 - adds r1, r7, #0 - adds r1, #8 - adds r0, r4, #0 - adds r2, r6, #0 - adds r3, r5, #0 - bl sub_08061720 - b _08061612 -_08061534: - adds r1, r7, #0 - adds r1, #8 - adds r0, r4, #0 - adds r2, r6, #0 - adds r3, r5, #0 - bl sub_08061798 - b _08061612 -_08061544: - movs r0, #0x6e - adds r0, r0, r4 - mov sb, r0 - mov r1, r8 - strh r1, [r0] - adds r1, r7, #0 - adds r1, #8 - adds r0, r4, #0 - adds r2, r6, #0 - adds r3, r5, #0 - bl sub_08061798 - cmp r0, #0 - bne _08061612 - mov r0, sb - strh r5, [r0] - b _08061574 -_08061566: - adds r0, r4, #0 - adds r0, #0x6e - strh r5, [r0] - movs r1, #0x2e - ldrsh r0, [r4, r1] - cmp r0, r8 - bgt _080615A4 -_08061574: - adds r2, r6, #0 - adds r2, #8 - adds r0, r4, #0 - adds r1, r7, #0 - mov r3, r8 - bl sub_08061888 - b _08061612 -_08061584: - movs r0, #0x6e - adds r0, r0, r4 - mov sb, r0 - mov r1, r8 - strh r1, [r0] - adds r1, r7, #0 - subs r1, #8 - adds r0, r4, #0 - adds r2, r6, #0 - adds r3, r5, #0 - bl sub_08061978 - cmp r0, #0 - bne _08061612 - mov r0, sb - strh r5, [r0] -_080615A4: - adds r2, r6, #0 - adds r2, #8 - adds r0, r4, #0 - adds r1, r7, #0 - mov r3, r8 - bl sub_08061810 - b _08061612 -_080615B4: - adds r0, r4, #0 - adds r0, #0x6e - mov r1, r8 - strh r1, [r0] - movs r1, #0x32 - ldrsh r0, [r4, r1] - cmp r0, r5 - ble _080615D4 - adds r1, r7, #0 - subs r1, #8 - adds r0, r4, #0 - adds r2, r6, #0 - adds r3, r5, #0 - bl sub_08061900 - b _08061612 -_080615D4: - adds r1, r7, #0 - subs r1, #8 - adds r0, r4, #0 - adds r2, r6, #0 - adds r3, r5, #0 - bl sub_08061978 - b _08061612 -_080615E4: - movs r0, #0x6e - adds r0, r0, r4 - mov sb, r0 - mov r1, r8 - strh r1, [r0] - adds r1, r7, #0 - subs r1, #8 - adds r0, r4, #0 - adds r2, r6, #0 - adds r3, r5, #0 - bl sub_08061900 - cmp r0, #0 - bne _08061612 - mov r0, sb - strh r5, [r0] - adds r2, r6, #0 - subs r2, #8 - adds r0, r4, #0 - adds r1, r7, #0 - mov r3, r8 - bl sub_08061630 -_08061612: - ldr r0, [r4, #0x64] - ldrb r1, [r0] - movs r0, #8 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _08061628 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08061628: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08061630 -sub_08061630: @ 0x08061630 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r6, r1, #0 - adds r4, r2, #0 - mov sb, r3 - mov r8, r4 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _08061650 @ =gUnk_02027EB4 - cmp r0, #2 - bne _0806168C - ldr r7, _08061654 @ =gUnk_0200D654 - b _0806168C - .align 2, 0 -_08061650: .4byte gUnk_02027EB4 -_08061654: .4byte gUnk_0200D654 -_08061658: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - mov r3, sb - bl sub_08061A74 - cmp r0, #0 - beq _0806168A - ldr r0, [r5, #0x64] - strh r6, [r0, #0xe] - ldr r0, [r5, #0x64] - mov r1, r8 - strh r1, [r0, #0x10] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6e - ldrh r0, [r0] - cmp r0, r4 - blt _0806168A - movs r0, #1 - b _0806169E -_0806168A: - subs r4, #8 -_0806168C: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _08061658 - movs r0, #0 -_0806169E: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080616A8 -sub_080616A8: @ 0x080616A8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r6, r1, #0 - adds r4, r2, #0 - mov sb, r3 - mov r8, r4 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _080616C8 @ =gUnk_02027EB4 - cmp r0, #2 - bne _08061704 - ldr r7, _080616CC @ =gUnk_0200D654 - b _08061704 - .align 2, 0 -_080616C8: .4byte gUnk_02027EB4 -_080616CC: .4byte gUnk_0200D654 -_080616D0: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - mov r3, sb - bl sub_08061A1C - cmp r0, #0 - beq _08061702 - ldr r0, [r5, #0x64] - strh r6, [r0, #0xe] - ldr r0, [r5, #0x64] - mov r1, r8 - strh r1, [r0, #0x10] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6e - ldrh r0, [r0] - cmp r0, r4 - blt _08061702 - movs r0, #1 - b _08061716 -_08061702: - subs r4, #8 -_08061704: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _080616D0 - movs r0, #0 -_08061716: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08061720 -sub_08061720: @ 0x08061720 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - mov sb, r3 - mov r8, r4 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _08061740 @ =gUnk_02027EB4 - cmp r0, #2 - bne _0806177C - ldr r7, _08061744 @ =gUnk_0200D654 - b _0806177C - .align 2, 0 -_08061740: .4byte gUnk_02027EB4 -_08061744: .4byte gUnk_0200D654 -_08061748: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - mov r3, sb - bl sub_080619F0 - cmp r0, #0 - beq _0806177A - ldr r0, [r5, #0x64] - mov r1, r8 - strh r1, [r0, #0xe] - ldr r0, [r5, #0x64] - strh r6, [r0, #0x10] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6e - ldrh r0, [r0] - cmp r0, r4 - bgt _0806177A - movs r0, #1 - b _0806178E -_0806177A: - adds r4, #8 -_0806177C: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _08061748 - movs r0, #0 -_0806178E: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08061798 -sub_08061798: @ 0x08061798 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - mov sb, r3 - mov r8, r4 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _080617B8 @ =gUnk_02027EB4 - cmp r0, #2 - bne _080617F4 - ldr r7, _080617BC @ =gUnk_0200D654 - b _080617F4 - .align 2, 0 -_080617B8: .4byte gUnk_02027EB4 -_080617BC: .4byte gUnk_0200D654 -_080617C0: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - mov r3, sb - bl sub_08061A48 - cmp r0, #0 - beq _080617F2 - ldr r0, [r5, #0x64] - mov r1, r8 - strh r1, [r0, #0xe] - ldr r0, [r5, #0x64] - strh r6, [r0, #0x10] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6e - ldrh r0, [r0] - cmp r0, r4 - bgt _080617F2 - movs r0, #1 - b _08061806 -_080617F2: - adds r4, #8 -_080617F4: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _080617C0 - movs r0, #0 -_08061806: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08061810 -sub_08061810: @ 0x08061810 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r6, r1, #0 - adds r4, r2, #0 - mov sb, r3 - mov r8, r4 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _08061830 @ =gUnk_02027EB4 - cmp r0, #2 - bne _0806186C - ldr r7, _08061834 @ =gUnk_0200D654 - b _0806186C - .align 2, 0 -_08061830: .4byte gUnk_02027EB4 -_08061834: .4byte gUnk_0200D654 -_08061838: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - mov r3, sb - bl sub_08061A74 - cmp r0, #0 - beq _0806186A - ldr r0, [r5, #0x64] - strh r6, [r0, #0xe] - ldr r0, [r5, #0x64] - mov r1, r8 - strh r1, [r0, #0x10] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6e - ldrh r0, [r0] - cmp r0, r4 - bgt _0806186A - movs r0, #1 - b _0806187E -_0806186A: - adds r4, #8 -_0806186C: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _08061838 - movs r0, #0 -_0806187E: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08061888 -sub_08061888: @ 0x08061888 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r6, r1, #0 - adds r4, r2, #0 - mov sb, r3 - mov r8, r4 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _080618A8 @ =gUnk_02027EB4 - cmp r0, #2 - bne _080618E4 - ldr r7, _080618AC @ =gUnk_0200D654 - b _080618E4 - .align 2, 0 -_080618A8: .4byte gUnk_02027EB4 -_080618AC: .4byte gUnk_0200D654 -_080618B0: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - mov r3, sb - bl sub_08061A1C - cmp r0, #0 - beq _080618E2 - ldr r0, [r5, #0x64] - strh r6, [r0, #0xe] - ldr r0, [r5, #0x64] - mov r1, r8 - strh r1, [r0, #0x10] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6e - ldrh r0, [r0] - cmp r0, r4 - bgt _080618E2 - movs r0, #1 - b _080618F6 -_080618E2: - adds r4, #8 -_080618E4: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _080618B0 - movs r0, #0 -_080618F6: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08061900 -sub_08061900: @ 0x08061900 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - mov sb, r3 - mov r8, r4 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _08061920 @ =gUnk_02027EB4 - cmp r0, #2 - bne _0806195C - ldr r7, _08061924 @ =gUnk_0200D654 - b _0806195C - .align 2, 0 -_08061920: .4byte gUnk_02027EB4 -_08061924: .4byte gUnk_0200D654 -_08061928: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - mov r3, sb - bl sub_080619F0 - cmp r0, #0 - beq _0806195A - ldr r0, [r5, #0x64] - mov r1, r8 - strh r1, [r0, #0xe] - ldr r0, [r5, #0x64] - strh r6, [r0, #0x10] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6e - ldrh r0, [r0] - cmp r0, r4 - blt _0806195A - movs r0, #1 - b _0806196E -_0806195A: - subs r4, #8 -_0806195C: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _08061928 - movs r0, #0 -_0806196E: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08061978 -sub_08061978: @ 0x08061978 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - mov sb, r3 - mov r8, r4 - adds r0, #0x38 - ldrb r0, [r0] - ldr r7, _08061998 @ =gUnk_02027EB4 - cmp r0, #2 - bne _080619D4 - ldr r7, _0806199C @ =gUnk_0200D654 - b _080619D4 - .align 2, 0 -_08061998: .4byte gUnk_02027EB4 -_0806199C: .4byte gUnk_0200D654 -_080619A0: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - mov r3, sb - bl sub_08061A48 - cmp r0, #0 - beq _080619D2 - ldr r0, [r5, #0x64] - mov r1, r8 - strh r1, [r0, #0xe] - ldr r0, [r5, #0x64] - strh r6, [r0, #0x10] - ldr r2, [r5, #0x64] - ldrb r1, [r2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6e - ldrh r0, [r0] - cmp r0, r4 - blt _080619D2 - movs r0, #1 - b _080619E6 -_080619D2: - subs r4, #8 -_080619D4: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _080619A0 - movs r0, #0 -_080619E6: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080619F0 -sub_080619F0: @ 0x080619F0 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r6, r1, #0 - adds r4, r2, #0 - adds r5, r3, #0 - cmp r5, r4 - bgt _08061A18 -_080619FE: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _08061A12 - movs r0, #0 - b _08061A1A -_08061A12: - subs r4, #8 - cmp r5, r4 - ble _080619FE -_08061A18: - movs r0, #1 -_08061A1A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08061A1C -sub_08061A1C: @ 0x08061A1C - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - adds r5, r3, #0 - cmp r5, r4 - blt _08061A44 -_08061A2A: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _08061A3E - movs r0, #0 - b _08061A46 -_08061A3E: - adds r4, #8 - cmp r5, r4 - bge _08061A2A -_08061A44: - movs r0, #1 -_08061A46: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08061A48 -sub_08061A48: @ 0x08061A48 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r6, r1, #0 - adds r4, r2, #0 - adds r5, r3, #0 - cmp r5, r4 - blt _08061A70 -_08061A56: - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _08061A6A - movs r0, #0 - b _08061A72 -_08061A6A: - adds r4, #8 - cmp r5, r4 - bge _08061A56 -_08061A70: - movs r0, #1 -_08061A72: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08061A74 -sub_08061A74: @ 0x08061A74 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - adds r5, r3, #0 - cmp r5, r4 - bgt _08061A9C -_08061A82: - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r6, #0 - movs r3, #6 - bl sub_080AE4CC - cmp r0, #0 - beq _08061A96 - movs r0, #0 - b _08061A9E -_08061A96: - subs r4, #8 - cmp r5, r4 - ble _08061A82 -_08061A9C: - movs r0, #1 -_08061A9E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08061AA0 -sub_08061AA0: @ 0x08061AA0 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_08061AA8 -sub_08061AA8: @ 0x08061AA8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08061AC8 @ =gUnk_0810AC70 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - pop {r4, pc} - .align 2, 0 -_08061AC8: .4byte gUnk_0810AC70 - - thumb_func_start sub_08061ACC -sub_08061ACC: @ 0x08061ACC - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0x20 - movs r2, #0 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xff - strb r0, [r4, #0xd] - strb r2, [r4, #0xe] - ldrb r1, [r4, #0x17] - movs r0, #0xfe - ands r0, r1 - strb r0, [r4, #0x17] - adds r0, r4, #0 - bl sub_08078778 - adds r0, r4, #0 - bl sub_08061AFC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08061AFC -sub_08061AFC: @ 0x08061AFC - push {lr} - adds r1, r0, #0 - movs r2, #0 - ldrb r0, [r1, #0xd] - cmp r0, #0 - beq _08061B12 - strb r2, [r1, #0xd] - ldr r0, _08061B14 @ =gUnk_0810B660 - ldr r0, [r0] - str r0, [r1, #0x68] - strb r2, [r1, #0xe] -_08061B12: - pop {pc} - .align 2, 0 -_08061B14: .4byte gUnk_0810B660 - - thumb_func_start sub_08061B18 -sub_08061B18: @ 0x08061B18 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08061B54 - cmp r0, #1 - bne _08061B54 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08061AFC - ldr r2, [r4, #0x68] - ldrb r0, [r4, #0xe] - adds r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r2, r2, r0 - ldrh r0, [r2, #2] - cmp r0, #0 - bne _08061B4C - strb r0, [r4, #0xe] -_08061B4C: - ldrh r0, [r2] - adds r1, r4, #0 - bl sub_08056398 -_08061B54: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08061B58 -sub_08061B58: @ 0x08061B58 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08061B6E - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC -_08061B6E: - ldr r0, _08061B88 @ =gUnk_030010A0 - adds r0, #0x2c - ldrb r0, [r0] - cmp r0, #2 - bne _08061B7E - adds r0, r4, #0 - bl sub_080042B8 -_08061B7E: - adds r0, r4, #0 - bl sub_0806FD3C - pop {r4, pc} - .align 2, 0 -_08061B88: .4byte gUnk_030010A0 - - thumb_func_start sub_08061B8C -sub_08061B8C: @ 0x08061B8C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08061BB0 - ldr r0, _08061BAC @ =gUnk_0810B77C - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _08061BC0 - .align 2, 0 -_08061BAC: .4byte gUnk_0810B77C -_08061BB0: - ldr r0, _08061BC4 @ =gUnk_0810B774 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_08061BC0: - pop {pc} - .align 2, 0 -_08061BC4: .4byte gUnk_0810B774 - - thumb_func_start sub_08061BC8 -sub_08061BC8: @ 0x08061BC8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08061BFC @ =gUnk_0810B6EC - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08061BF8 - movs r0, #2 - strb r0, [r4, #0x14] - ldrb r0, [r4, #0xa] - adds r0, #1 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_08061CB4 -_08061BF8: - pop {r4, pc} - .align 2, 0 -_08061BFC: .4byte gUnk_0810B6EC - - thumb_func_start sub_08061C00 -sub_08061C00: @ 0x08061C00 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806ED9C - adds r1, r0, #0 - cmp r1, #0 - bge _08061C18 - ldrb r0, [r4, #0x14] - adds r1, r0, #4 - b _08061C32 -_08061C18: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08061C24 - movs r0, #0x10 - strb r0, [r4, #0xf] - b _08061C32 -_08061C24: - subs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - movs r1, #3 - ands r1, r0 -_08061C32: - adds r0, r4, #0 - bl sub_08061CB4 - adds r0, r4, #0 - bl sub_0806ED78 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08061C58 - movs r0, #0 - strb r0, [r1] - ldrb r0, [r4, #0xb] - ldr r1, _08061C5C @ =0x00000A01 - adds r0, r0, r1 - bl sub_08056378 -_08061C58: - pop {r4, pc} - .align 2, 0 -_08061C5C: .4byte 0x00000A01 - - thumb_func_start sub_08061C60 -sub_08061C60: @ 0x08061C60 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r1, [r0] - movs r0, #3 - ands r0, r1 - ldr r1, _08061CAC @ =gUnk_0810B78C - adds r0, r0, r1 - ldrb r1, [r0] - ldr r5, _08061CB0 @ =gUnk_0810B680 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r5 - ldrb r2, [r0] - adds r2, r1, r2 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r5 - ldrb r0, [r0, #1] - adds r2, r2, r0 - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, r5, pc} - .align 2, 0 -_08061CAC: .4byte gUnk_0810B78C -_08061CB0: .4byte gUnk_0810B680 - - thumb_func_start sub_08061CB4 -sub_08061CB4: @ 0x08061CB4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, r1 - beq _08061CC8 - adds r0, r4, #0 - bl sub_08004260 - b _08061CCE -_08061CC8: - adds r0, r4, #0 - bl sub_08004274 -_08061CCE: - adds r2, r4, #0 - adds r2, #0x59 - ldrb r0, [r2] - cmp r0, #0xff - bne _08061CE4 - ldr r0, _08061CE8 @ =gUnk_0810B680 - ldrb r1, [r4, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r0, [r1, #2] - strb r0, [r2] -_08061CE4: - pop {r4, pc} - .align 2, 0 -_08061CE8: .4byte gUnk_0810B680 - - thumb_func_start sub_08061CEC -sub_08061CEC: @ 0x08061CEC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08061D38 @ =gUnk_0810B6EC - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08061D62 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x69 - movs r0, #0xff - strb r0, [r1] - adds r0, r4, #0 - bl sub_0805ACC0 - adds r1, r0, #0 - cmp r1, #0 - bne _08061D3C - ldrh r0, [r4, #0x2e] - adds r1, r4, #0 - adds r1, #0x6a - strh r0, [r1] - ldrh r1, [r4, #0x32] - b _08061D44 - .align 2, 0 -_08061D38: .4byte gUnk_0810B6EC -_08061D3C: - lsrs r0, r1, #0x10 - adds r2, r4, #0 - adds r2, #0x6a - strh r0, [r2] -_08061D44: - adds r0, r4, #0 - adds r0, #0x6c - strh r1, [r0] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - bl sub_08061D64 -_08061D62: - pop {r4, pc} - - thumb_func_start sub_08061D64 -sub_08061D64: @ 0x08061D64 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x39 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #2 - bne _08061DB0 - movs r1, #0 - movs r0, #3 - strb r0, [r5, #0xc] - strb r1, [r4] - adds r0, r5, #0 - bl sub_0806F118 - adds r4, #0x1f - ldrb r0, [r4] - adds r1, r5, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _08061DAC @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - bl sub_0806F5A4 - ldrb r1, [r4] - movs r2, #4 - rsbs r2, r2, #0 - ands r1, r2 - adds r1, r1, r0 - adds r0, r5, #0 - bl sub_08004260 - b _08061E18 - .align 2, 0 -_08061DAC: .4byte gUnk_03001160 -_08061DB0: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r5, #0 - bl sub_0807DDE4 - adds r2, r5, #0 - adds r2, #0x59 - ldrb r0, [r2] - cmp r0, #0xff - bne _08061DD4 - ldr r0, _08061E1C @ =gUnk_0810B680 - ldrb r1, [r5, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r0, [r1, #2] - strb r0, [r2] -_08061DD4: - adds r0, r5, #0 - bl sub_08004274 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - beq _08061E18 - movs r1, #0 - movs r0, #2 - strb r0, [r5, #0xc] - strb r1, [r4] - adds r0, r5, #0 - bl sub_08062048 - adds r4, r5, #0 - adds r4, #0x58 - ldrb r0, [r4] - adds r1, r5, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _08061E20 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - bl sub_0806F5A4 - ldrb r1, [r4] - movs r2, #4 - rsbs r2, r2, #0 - ands r1, r2 - adds r1, r1, r0 - adds r0, r5, #0 - bl sub_08004260 -_08061E18: - pop {r4, r5, pc} - .align 2, 0 -_08061E1C: .4byte gUnk_0810B680 -_08061E20: .4byte gUnk_03001160 - - thumb_func_start sub_08061E24 -sub_08061E24: @ 0x08061E24 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldr r0, _08061E4C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08061E48 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 -_08061E48: - pop {r4, pc} - .align 2, 0 -_08061E4C: .4byte gUnk_02000050 - - thumb_func_start sub_08061E50 -sub_08061E50: @ 0x08061E50 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08061E6C - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 -_08061E6C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08061E70 -sub_08061E70: @ 0x08061E70 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #9] - cmp r0, #6 - bne _08061E88 - adds r0, r2, #0 - adds r0, #0x68 - ldrb r1, [r0] - adds r0, r2, #0 - bl sub_08078784 - b _08061E8E -_08061E88: - adds r0, r2, #0 - bl sub_08078778 -_08061E8E: - pop {pc} - - thumb_func_start sub_08061E90 -sub_08061E90: @ 0x08061E90 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x18] - cmp r0, #0 - bne _08061F04 - adds r0, #1 - strb r0, [r5, #0x18] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x20 - strh r0, [r5, #0x12] - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #0x18 - ands r1, r0 - ldrb r0, [r4, #0x15] - cmp r0, #8 - beq _08061ED8 - cmp r0, #8 - bgt _08061EC6 - cmp r0, #0 - beq _08061ED0 - b _08061EEE -_08061EC6: - cmp r0, #0x10 - beq _08061EE0 - cmp r0, #0x18 - beq _08061EE8 - b _08061EEE -_08061ED0: - cmp r1, #0x10 - bne _08061EEE - movs r1, #8 - b _08061EEE -_08061ED8: - cmp r1, #0x18 - bne _08061EEE - movs r1, #0x10 - b _08061EEE -_08061EE0: - cmp r1, #0 - bne _08061EEE - movs r1, #0x18 - b _08061EEE -_08061EE8: - cmp r1, #8 - bne _08061EEE - movs r1, #0 -_08061EEE: - strb r1, [r4, #0x15] - adds r0, r1, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] - ldr r1, _08061F8C @ =gUnk_0810B74A - ldrb r0, [r4, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r4, #0x24] -_08061F04: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - adds r1, r0, #4 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r1, r0 - beq _08061F1A - adds r0, r4, #0 - bl sub_08004260 -_08061F1A: - adds r0, r4, #0 - bl sub_080AEF88 - movs r0, #0x2e - ldrsh r1, [r4, r0] - adds r2, r4, #0 - adds r2, #0x6a - movs r3, #0 - ldrsh r0, [r2, r3] - subs r1, r1, r0 - cmp r1, #0x10 - ble _08061F3C - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r5, #0x12] -_08061F3C: - movs r3, #0x10 - rsbs r3, r3, #0 - cmp r1, r3 - bge _08061F4E - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r5, #0x12] -_08061F4E: - movs r6, #0x32 - ldrsh r1, [r4, r6] - adds r2, r4, #0 - adds r2, #0x6c - movs r6, #0 - ldrsh r0, [r2, r6] - subs r1, r1, r0 - cmp r1, #0x10 - ble _08061F6A - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r5, #0x12] -_08061F6A: - cmp r1, r3 - bge _08061F78 - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r5, #0x12] -_08061F78: - ldrh r0, [r5, #0x12] - subs r0, #1 - strh r0, [r5, #0x12] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08061F8A - ldr r1, _08061F90 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_08061F8A: - pop {r4, r5, r6, pc} - .align 2, 0 -_08061F8C: .4byte gUnk_0810B74A -_08061F90: .4byte gUnk_02033280 - - thumb_func_start sub_08061F94 -sub_08061F94: @ 0x08061F94 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x35 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08061FAC - adds r0, r4, #0 - bl sub_0806FAB0 -_08061FAC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08061FB0 -sub_08061FB0: @ 0x08061FB0 - movs r1, #0 - str r1, [r0, #0x48] - bx lr - .align 2, 0 - - thumb_func_start sub_08061FB8 -sub_08061FB8: @ 0x08061FB8 - push {lr} - ldr r2, _08061FD0 @ =gUnk_0810B748 - ldr r3, [r1, #4] - adds r2, r3, r2 - ldrb r2, [r2] - lsls r3, r3, #2 - ldr r1, _08061FD4 @ =gUnk_0810B740 - adds r3, r3, r1 - movs r1, #1 - bl sub_08078850 - pop {pc} - .align 2, 0 -_08061FD0: .4byte gUnk_0810B748 -_08061FD4: .4byte gUnk_0810B740 - - thumb_func_start sub_08061FD8 -sub_08061FD8: @ 0x08061FD8 - push {lr} - ldrb r1, [r0, #0x14] - lsrs r1, r1, #1 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_08061FE4 -sub_08061FE4: @ 0x08061FE4 - push {lr} - ldrb r1, [r0, #0x14] - lsrs r1, r1, #1 - adds r1, #4 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08061FF4 -sub_08061FF4: @ 0x08061FF4 - push {lr} - adds r1, r0, #0 - ldr r2, _08062008 @ =gUnk_0810B790 - ldrb r0, [r1, #0xa] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08062008: .4byte gUnk_0810B790 - - thumb_func_start sub_0806200C -sub_0806200C: @ 0x0806200C - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _08062034 - movs r0, #0x6b - bl sub_0807CBD0 - cmp r0, #0 - beq _08062034 - movs r0, #0x39 - bl sub_0807CA84 - movs r4, #1 - cmp r0, #2 - bne _08062034 - movs r4, #2 -_08062034: - ldr r0, _08062044 @ =gUnk_0810B7BA - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_08062044: .4byte gUnk_0810B7BA - - thumb_func_start sub_08062048 -sub_08062048: @ 0x08062048 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #9] - cmp r0, #6 - bne _0806207C - ldr r0, _08062074 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _0806205E - movs r0, #0 -_0806205E: - ldrb r1, [r3, #0xa] - lsls r1, r1, #6 - lsls r0, r0, #3 - ldr r2, _08062078 @ =gUnk_0810B7C0 - adds r0, r0, r2 - adds r1, r1, r0 - adds r0, r3, #0 - bl sub_0806F1AC - b _08062084 - .align 2, 0 -_08062074: .4byte gUnk_02002A40 -_08062078: .4byte gUnk_0810B7C0 -_0806207C: - movs r0, #0 - adds r1, r3, #0 - bl sub_08056398 -_08062084: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08062088 -sub_08062088: @ 0x08062088 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080620BA - ldr r1, _080620C4 @ =gUnk_0810B6EC - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _080620C2 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_080620BA: - adds r0, r4, #0 - movs r1, #6 - bl sub_08061CB4 -_080620C2: - pop {r4, pc} - .align 2, 0 -_080620C4: .4byte gUnk_0810B6EC - - thumb_func_start sub_080620C8 -sub_080620C8: @ 0x080620C8 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080620DE - adds r0, r2, #0 - bl sub_080621AC - b _080620EE -_080620DE: - ldr r0, _080620F0 @ =gUnk_0810BE0C - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_080620EE: - pop {pc} - .align 2, 0 -_080620F0: .4byte gUnk_0810BE0C - - thumb_func_start sub_080620F4 -sub_080620F4: @ 0x080620F4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806212C @ =gUnk_0810BDC4 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806212A - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x68 - strb r1, [r0] - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08078778 -_0806212A: - pop {r4, pc} - .align 2, 0 -_0806212C: .4byte gUnk_0810BDC4 - - thumb_func_start sub_08062130 -sub_08062130: @ 0x08062130 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08062152 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806EDC4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC -_08062152: - ldrb r0, [r4, #0xf] - adds r1, r0, #1 - strb r1, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x78 - bls _08062184 - movs r0, #0 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0xe] - adds r1, r0, #1 - movs r0, #7 - ands r1, r0 - strb r1, [r4, #0xe] - ldrb r0, [r4, #0xa] - cmp r0, #6 - bne _0806217A - adds r0, r1, #0 - adds r0, #0x10 - strb r0, [r4, #0xe] -_0806217A: - ldrb r1, [r4, #0xe] - adds r0, r4, #0 - bl sub_080042AC - b _0806218A -_08062184: - adds r0, r4, #0 - bl sub_080042B8 -_0806218A: - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08062194 -sub_08062194: @ 0x08062194 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - bl sub_08056378 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r4, #0x39 - strb r1, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080621AC -sub_080621AC: @ 0x080621AC - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #1 - beq _08062234 - cmp r5, #1 - bgt _080621C0 - cmp r5, #0 - beq _080621CE - b _080622F2 -_080621C0: - cmp r5, #2 - bne _080621C6 - b _080622CC -_080621C6: - cmp r5, #3 - bne _080621CC - b _080622E4 -_080621CC: - b _080622F2 -_080621CE: - ldr r1, _0806221C @ =gUnk_0810BDC4 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - bne _080621E4 - b _080622F2 -_080621E4: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - strb r0, [r4, #0x14] - strb r5, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x68 - strb r5, [r0] - adds r0, #1 - strb r5, [r0] - adds r1, r4, #0 - adds r1, #0x6b - movs r0, #0xff - strb r0, [r1] - adds r0, r4, #0 - bl sub_0805ACC0 - adds r2, r0, #0 - cmp r2, #0 - bne _08062220 - ldrh r0, [r4, #0x2e] - adds r1, r4, #0 - adds r1, #0x6c - strh r0, [r1] - ldrh r0, [r4, #0x32] - adds r1, #2 - strh r0, [r1] - b _0806222C - .align 2, 0 -_0806221C: .4byte gUnk_0810BDC4 -_08062220: - lsrs r1, r2, #0x10 - adds r0, r4, #0 - adds r0, #0x6c - strh r1, [r0] - adds r0, #2 - strh r2, [r0] -_0806222C: - adds r0, r4, #0 - bl sub_0807DD50 - b _080622F2 -_08062234: - adds r5, r4, #0 - adds r5, #0x39 - movs r1, #0 - ldrsb r1, [r5, r1] - cmp r1, #2 - bne _08062252 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r5] - adds r0, r4, #0 - bl sub_0806F118 - adds r5, #0x1f - b _0806229A -_08062252: - adds r0, r4, #0 - adds r0, #0x68 - movs r6, #0 - ldrsb r6, [r0, r6] - cmp r6, #0 - beq _08062274 - cmp r1, #0 - beq _0806226C - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r5] - b _0806228A -_0806226C: - adds r0, r4, #0 - bl sub_080622F4 - b _080622F2 -_08062274: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _080622F2 - movs r0, #2 - strb r0, [r4, #0xc] - strb r6, [r5] -_0806228A: - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0806265C - adds r5, r4, #0 - adds r5, #0x58 -_0806229A: - ldrb r0, [r5] - adds r1, r4, #0 - adds r1, #0x6b - strb r0, [r1] - ldrb r0, [r5] - cmp r0, #7 - bhi _080622F2 - ldr r1, _080622C8 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - ldrb r1, [r5] - movs r2, #4 - rsbs r2, r2, #0 - ands r1, r2 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_08004260 - b _080622F2 - .align 2, 0 -_080622C8: .4byte gUnk_03001160 -_080622CC: - adds r0, r4, #0 - bl sub_08004274 - ldr r0, _080622E0 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _080622F2 - b _080622EE - .align 2, 0 -_080622E0: .4byte gUnk_02000050 -_080622E4: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _080622F2 -_080622EE: - movs r0, #1 - strb r0, [r4, #0xc] -_080622F2: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080622F4 -sub_080622F4: @ 0x080622F4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - ldr r0, _0806239C @ =gUnk_03001160 - mov r8, r0 - ldrh r1, [r0, #0x2e] - ldr r3, _080623A0 @ =0xFFFF0000 - adds r0, r3, #0 - ands r0, r5 - orrs r0, r1 - mov r2, r8 - ldrh r1, [r2, #0x32] - lsls r1, r1, #0x10 - ldr r2, _080623A4 @ =0x0000FFFF - ands r0, r2 - adds r5, r0, #0 - orrs r5, r1 - mov r1, r8 - ldrh r0, [r1, #0x36] - ands r3, r6 - orrs r3, r0 - ldr r0, _080623A8 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - lsls r0, r0, #0x10 - ldr r2, _080623AC @ =0xFF00FFFF - ands r2, r3 - orrs r2, r0 - ldrb r1, [r1, #0x14] - movs r0, #0x3f - ands r1, r0 - lsls r1, r1, #0x18 - ldr r0, _080623B0 @ =0xC0FFFFFF - ands r0, r2 - orrs r0, r1 - mov r1, r8 - adds r1, #0x38 - ldrb r1, [r1] - lsls r1, r1, #0x1e - ldr r2, _080623B4 @ =0x3FFFFFFF - ands r0, r2 - adds r6, r0, #0 - orrs r6, r1 - ldr r4, [r7, #0x64] - ldrb r0, [r4, #6] - cmp r0, #0x16 - bne _080623BE - lsrs r0, r6, #0x10 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x16 - beq _080623BE - movs r2, #0x2e - ldrsh r1, [r7, r2] - mov r3, r8 - movs r2, #0x2e - ldrsh r0, [r3, r2] - subs r2, r1, r0 - movs r0, #0x32 - ldrsh r3, [r7, r0] - mov sb, r3 - mov r1, r8 - movs r3, #0x32 - ldrsh r0, [r1, r3] - mov r3, sb - subs r1, r3, r0 - cmp r2, #0 - bge _08062382 - rsbs r2, r2, #0 -_08062382: - cmp r1, #0 - bge _08062388 - rsbs r1, r1, #0 -_08062388: - cmp r2, #0x78 - bgt _08062390 - cmp r1, #0x50 - ble _080623B8 -_08062390: - adds r1, r7, #0 - adds r1, #0x68 - movs r0, #0 - strb r0, [r1] - b _080624F8 - .align 2, 0 -_0806239C: .4byte gUnk_03001160 -_080623A0: .4byte 0xFFFF0000 -_080623A4: .4byte 0x0000FFFF -_080623A8: .4byte gUnk_03003F80 -_080623AC: .4byte 0xFF00FFFF -_080623B0: .4byte 0xC0FFFFFF -_080623B4: .4byte 0x3FFFFFFF -_080623B8: - adds r0, r7, #0 - bl sub_0806252C -_080623BE: - movs r0, #0 - mov sb, r0 - ldr r0, [r4] - cmp r5, r0 - bne _080623CE - ldr r0, [r4, #4] - cmp r6, r0 - beq _08062410 -_080623CE: - ldr r4, [r7, #0x64] - adds r4, #0x90 - movs r1, #0x69 - adds r1, r1, r7 - mov r8, r1 - adds r3, r7, #0 - adds r3, #0x38 - movs r2, #0x58 - adds r2, r2, r7 - mov ip, r2 - movs r2, #0x12 -_080623E4: - ldr r0, [r4] - ldr r1, [r4, #4] - str r0, [r4, #8] - str r1, [r4, #0xc] - subs r4, #8 - subs r2, #1 - cmp r2, #0 - bge _080623E4 - ldr r4, [r7, #0x64] - str r5, [r4] - str r6, [r4, #4] - movs r0, #4 - mov sb, r0 - mov r2, r8 - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - ble _08062484 - subs r0, r1, #1 - strb r0, [r2] - b _08062484 -_08062410: - adds r4, #0x98 - movs r3, #4 - ldrsh r0, [r4, r3] - cmp r0, #0 - bge _08062442 - ldr r4, [r7, #0x64] - adds r4, #0x90 - movs r0, #0x69 - adds r0, r0, r7 - mov r8, r0 - adds r3, r7, #0 - adds r3, #0x38 - movs r1, #0x58 - adds r1, r1, r7 - mov ip, r1 - movs r2, #0x12 -_08062430: - ldr r0, [r4] - ldr r1, [r4, #4] - str r0, [r4, #8] - str r1, [r4, #0xc] - subs r4, #8 - subs r2, #1 - cmp r2, #0 - bge _08062430 - b _08062480 -_08062442: - ldr r1, _080624E8 @ =gUnk_03001160 - movs r3, #0x2e - ldrsh r0, [r1, r3] - movs r2, #0x32 - ldrsh r1, [r1, r2] - ldrh r2, [r4] - ldrh r3, [r4, #2] - bl sub_080041E8 - lsrs r0, r0, #4 - movs r3, #0x69 - adds r3, r3, r7 - mov r8, r3 - adds r3, r7, #0 - adds r3, #0x38 - movs r1, #0x58 - adds r1, r1, r7 - mov ip, r1 - cmp r0, #0x18 - ble _08062484 - ldr r4, [r7, #0x64] - adds r4, #0x90 - movs r2, #0x12 -_08062470: - ldr r0, [r4] - ldr r1, [r4, #4] - str r0, [r4, #8] - str r1, [r4, #0xc] - subs r4, #8 - subs r2, #1 - cmp r2, #0 - bge _08062470 -_08062480: - movs r2, #4 - mov sb, r2 -_08062484: - ldr r4, [r7, #0x64] - adds r4, #0x98 - ldrh r0, [r4] - strh r0, [r7, #0x2e] - ldrh r0, [r4, #2] - strh r0, [r7, #0x32] - ldrh r0, [r4, #4] - strh r0, [r7, #0x36] - ldrb r0, [r4, #7] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1a - strb r0, [r7, #0x14] - ldrb r0, [r4, #7] - lsrs r0, r0, #6 - strb r0, [r3] - mov r1, r8 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _080624B2 - subs r0, r2, #1 - strb r0, [r1] -_080624B2: - mov r2, sb - ldrb r0, [r7, #0x14] - lsrs r0, r0, #1 - add sb, r0 - ldrb r0, [r7, #0xa] - cmp r0, #6 - bne _080624C4 - movs r3, #0x10 - add sb, r3 -_080624C4: - mov r0, ip - ldrb r0, [r0] - cmp sb, r0 - beq _080624EC - cmp r2, #0 - bne _080624D8 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bgt _080624EC -_080624D8: - adds r0, r7, #0 - mov r1, sb - bl sub_080042AC - movs r0, #0x1e - mov r1, r8 - strb r0, [r1] - b _080624F2 - .align 2, 0 -_080624E8: .4byte gUnk_03001160 -_080624EC: - adds r0, r7, #0 - bl sub_080042B8 -_080624F2: - adds r0, r7, #0 - bl sub_0800451C -_080624F8: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08062500 -sub_08062500: @ 0x08062500 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xa0 - bl sub_0801D8E0 - str r0, [r5, #0x64] - cmp r0, #0 - beq _08062528 - adds r0, r5, #0 - adds r0, #0x68 - movs r4, #0 - movs r1, #1 - strb r1, [r0] - adds r0, r5, #0 - bl sub_080788E0 - str r4, [r5, #0x48] - adds r0, r5, #0 - bl sub_0806252C -_08062528: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806252C -sub_0806252C: @ 0x0806252C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - ldr r4, _08062618 @ =gUnk_03001160 - ldrh r1, [r4, #0x2e] - ldr r3, _0806261C @ =0xFFFF0000 - adds r0, r3, #0 - ands r0, r5 - orrs r0, r1 - ldrh r1, [r4, #0x32] - lsls r1, r1, #0x10 - ldr r2, _08062620 @ =0x0000FFFF - ands r0, r2 - adds r5, r0, #0 - orrs r5, r1 - ldrh r0, [r4, #0x36] - ands r3, r6 - orrs r3, r0 - ldr r0, _08062624 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - lsls r0, r0, #0x10 - ldr r2, _08062628 @ =0xFF00FFFF - ands r2, r3 - orrs r2, r0 - ldrb r1, [r4, #0x14] - movs r0, #0x3f - ands r1, r0 - lsls r1, r1, #0x18 - ldr r0, _0806262C @ =0xC0FFFFFF - ands r0, r2 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - lsls r1, r1, #0x1e - ldr r2, _08062630 @ =0x3FFFFFFF - ands r0, r2 - adds r6, r0, #0 - orrs r6, r1 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r7, r2] - subs r1, r1, r0 - mov sl, r1 - movs r0, #0x32 - ldrsh r1, [r4, r0] - movs r2, #0x32 - ldrsh r0, [r7, r2] - subs r1, r1, r0 - mov r8, r1 - mov r1, sl - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x14 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov sl, r0 - mov r2, r8 - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x14 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r8, r0 - ldr r3, [r7, #0x64] - movs r0, #0 - mov sb, r0 - mov ip, r0 - movs r4, #0x13 -_080625C8: - mov r1, ip - asrs r0, r1, #8 - subs r0, r5, r0 - strh r0, [r3] - lsrs r0, r5, #0x10 - mov r2, sb - asrs r1, r2, #8 - subs r0, r0, r1 - strh r0, [r3, #2] - strh r6, [r3, #4] - lsrs r0, r6, #0x10 - strb r0, [r3, #6] - ldrb r0, [r7, #0x14] - movs r1, #0x3f - ands r1, r0 - ldrb r2, [r3, #7] - movs r0, #0x40 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #7] - adds r1, r7, #0 - adds r1, #0x38 - ldrb r1, [r1] - lsls r1, r1, #6 - movs r2, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #7] - adds r3, #8 - add sb, r8 - add ip, sl - subs r4, #1 - cmp r4, #0 - bge _080625C8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08062618: .4byte gUnk_03001160 -_0806261C: .4byte 0xFFFF0000 -_08062620: .4byte 0x0000FFFF -_08062624: .4byte gUnk_03003F80 -_08062628: .4byte 0xFF00FFFF -_0806262C: .4byte 0xC0FFFFFF -_08062630: .4byte 0x3FFFFFFF - - thumb_func_start sub_08062634 -sub_08062634: @ 0x08062634 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xb] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - ldr r0, _08062658 @ =gUnk_0810BDE8 - lsls r1, r1, #1 - lsls r4, r4, #2 - adds r1, r1, r4 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_08062658: .4byte gUnk_0810BDE8 - - thumb_func_start sub_0806265C -sub_0806265C: @ 0x0806265C - push {lr} - adds r2, r0, #0 - ldr r3, _08062674 @ =gUnk_02002A40 - ldrb r0, [r3, #8] - cmp r0, #0 - bne _08062678 - movs r0, #0 - adds r1, r2, #0 - bl sub_08056398 - b _08062690 - .align 2, 0 -_08062674: .4byte gUnk_02002A40 -_08062678: - ldrb r0, [r2, #0xa] - lsls r1, r0, #3 - adds r1, r1, r0 - lsls r1, r1, #3 - ldr r0, _08062694 @ =gUnk_0810BE10 - adds r1, r1, r0 - ldrb r0, [r3, #8] - lsls r0, r0, #3 - adds r1, r1, r0 - adds r0, r2, #0 - bl sub_0806F1AC -_08062690: - pop {pc} - .align 2, 0 -_08062694: .4byte gUnk_0810BE10 - - thumb_func_start sub_08062698 -sub_08062698: @ 0x08062698 - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0xc0 - strh r0, [r4, #0x24] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080626AC -sub_080626AC: @ 0x080626AC - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x40 - strb r0, [r4, #0xe] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080626C0 -sub_080626C0: @ 0x080626C0 - push {lr} - adds r2, r0, #0 - movs r0, #0 - str r0, [r1, #0x14] - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _080626DC - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080626DC - movs r0, #1 - str r0, [r1, #0x14] -_080626DC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080626E0 -sub_080626E0: @ 0x080626E0 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _0806270E - adds r0, #1 - strb r0, [r4, #0x18] - movs r0, #0xa - strb r0, [r4, #0x19] - ldr r0, [r4, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r4, #8] - ldrh r2, [r4, #4] - ldr r1, _08062778 @ =gUnk_03000BF0 - ldrh r0, [r4, #6] - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r4, #0x1e] - ldrh r0, [r1, #8] - adds r0, r0, r2 - strh r0, [r4, #0x22] -_0806270E: - ldrb r0, [r4, #0x19] - subs r0, #1 - strb r0, [r4, #0x19] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806274A - movs r0, #0xa - strb r0, [r4, #0x19] - movs r1, #0x1e - ldrsh r0, [r4, r1] - movs r2, #0x2e - ldrsh r1, [r5, r2] - subs r0, r0, r1 - movs r3, #0x22 - ldrsh r1, [r4, r3] - movs r3, #0x32 - ldrsh r2, [r5, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r5, #0x15] - bl sub_08000E50 - movs r1, #0xb - bl __modsi3 - ldrb r1, [r5, #0x15] - adds r1, r1, r0 - subs r1, #5 - strb r1, [r5, #0x15] -_0806274A: - movs r0, #0x24 - ldrsh r1, [r5, r0] - ldrb r2, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F62C - movs r2, #0x2e - ldrsh r1, [r5, r2] - movs r3, #0x1e - ldrsh r0, [r4, r3] - subs r1, r1, r0 - lsls r1, r1, #8 - ldrh r0, [r5, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x11 - adds r1, r1, r0 - movs r2, #0x24 - ldrsh r0, [r5, r2] - cmp r1, r0 - bhi _0806277C - ldrh r0, [r4, #0x1e] - strh r0, [r5, #0x2e] - b _08062782 - .align 2, 0 -_08062778: .4byte gUnk_03000BF0 -_0806277C: - ldr r1, _08062784 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_08062782: - pop {r4, r5, pc} - .align 2, 0 -_08062784: .4byte gUnk_02033280 - - thumb_func_start sub_08062788 -sub_08062788: @ 0x08062788 - push {r4, lr} - ldr r4, _080627CC @ =0x00004072 - ldr r1, _080627D0 @ =0x0000060B - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _080627D4 @ =0x0000060C - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _080627D8 @ =0x0000060D - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _080627DC @ =0x0000064B - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _080627E0 @ =0x0000064C - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _080627E4 @ =0x0000064D - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - pop {r4, pc} - .align 2, 0 -_080627CC: .4byte 0x00004072 -_080627D0: .4byte 0x0000060B -_080627D4: .4byte 0x0000060C -_080627D8: .4byte 0x0000060D -_080627DC: .4byte 0x0000064B -_080627E0: .4byte 0x0000064C -_080627E4: .4byte 0x0000064D - - thumb_func_start sub_080627E8 -sub_080627E8: @ 0x080627E8 - push {lr} - ldr r0, _0806281C @ =0x0000060B - movs r1, #1 - bl sub_0807BA8C - ldr r0, _08062820 @ =0x0000060C - movs r1, #1 - bl sub_0807BA8C - ldr r0, _08062824 @ =0x0000060D - movs r1, #1 - bl sub_0807BA8C - ldr r0, _08062828 @ =0x0000064B - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0806282C @ =0x0000064C - movs r1, #1 - bl sub_0807BA8C - ldr r0, _08062830 @ =0x0000064D - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0806281C: .4byte 0x0000060B -_08062820: .4byte 0x0000060C -_08062824: .4byte 0x0000060D -_08062828: .4byte 0x0000064B -_0806282C: .4byte 0x0000064C -_08062830: .4byte 0x0000064D - - thumb_func_start sub_08062834 -sub_08062834: @ 0x08062834 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xa] - lsls r0, r4, #2 - mov ip, r0 - ldr r2, _08062868 @ =gUnk_0810C0A0 - add r2, ip - adds r0, r5, #0 - adds r0, #0x5a - ldrb r3, [r0] - movs r1, #0x1f - adds r0, r1, #0 - ands r0, r3 - ldrb r3, [r2] - adds r6, r0, r3 - ldrb r0, [r5, #0x1e] - ands r1, r0 - ldrb r2, [r2, #1] - adds r7, r1, r2 - cmp r4, #8 - bhi _08062946 - ldr r0, _0806286C @ =_08062870 - add r0, ip - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08062868: .4byte gUnk_0810C0A0 -_0806286C: .4byte _08062870 @ jump table -_08062870: - .4byte _08062894 @ case 0 - .4byte _08062894 @ case 1 - .4byte _08062894 @ case 2 - .4byte _08062894 @ case 3 - .4byte _08062894 @ case 4 - .4byte _08062894 @ case 5 - .4byte _080628D8 @ case 6 - .4byte _08062922 @ case 7 - .4byte _08062922 @ case 8 -_08062894: - adds r0, r5, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #0x30 - ands r0, r1 - lsrs r4, r0, #4 - cmp r4, #0 - beq _080628A6 - adds r4, #0x50 -_080628A6: - subs r4, #1 - adds r0, r5, #0 - movs r1, #0 - adds r2, r6, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - adds r2, r7, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r5, #0 - movs r1, #1 - movs r2, #2 - b _08062916 -_080628D8: - adds r0, r5, #0 - adds r0, #0x5b - ldrb r0, [r0] - movs r2, #0xf - ands r2, r0 - cmp r2, #0 - beq _080628E8 - adds r2, #0x93 -_080628E8: - subs r2, #1 - adds r0, r5, #0 - movs r1, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - adds r2, r6, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #2 - adds r2, r7, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #2 - movs r2, #1 - bl sub_0806FF88 - adds r0, r5, #0 - movs r1, #1 - movs r2, #0 -_08062916: - bl sub_0806FFD8 - adds r0, r5, #0 - bl sub_0807000C - b _08062946 -_08062922: - adds r0, r5, #0 - movs r1, #0 - adds r2, r6, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - adds r2, r7, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r5, #0 - bl sub_0807000C -_08062946: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08062948 -sub_08062948: @ 0x08062948 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldrb r0, [r6, #0x18] - cmp r0, #0 - bne _080629B4 - adds r0, #1 - strb r0, [r6, #0x18] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x20 - strh r0, [r6, #0x12] - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #0x18 - ands r1, r0 - ldrb r0, [r4, #0x15] - cmp r0, #8 - beq _08062990 - cmp r0, #8 - bgt _0806297E - cmp r0, #0 - beq _08062988 - b _080629A6 -_0806297E: - cmp r0, #0x10 - beq _08062998 - cmp r0, #0x18 - beq _080629A0 - b _080629A6 -_08062988: - cmp r1, #0x10 - bne _080629A6 - movs r1, #8 - b _080629A6 -_08062990: - cmp r1, #0x18 - bne _080629A6 - movs r1, #0x10 - b _080629A6 -_08062998: - cmp r1, #0 - bne _080629A6 - movs r1, #0x18 - b _080629A6 -_080629A0: - cmp r1, #8 - bne _080629A6 - movs r1, #0 -_080629A6: - strb r1, [r4, #0x15] - adds r0, r1, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] - movs r0, #0x80 - strh r0, [r4, #0x24] -_080629B4: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - adds r1, r0, #4 - adds r5, r4, #0 - adds r5, #0x58 - ldrb r0, [r5] - cmp r1, r0 - beq _080629D2 - adds r0, r4, #0 - bl sub_08004260 - ldrb r1, [r5] - adds r0, r4, #0 - adds r0, #0x80 - strh r1, [r0] -_080629D2: - adds r0, r4, #0 - bl sub_080AEF88 - movs r3, #0x2e - ldrsh r1, [r4, r3] - adds r2, r4, #0 - adds r2, #0x6c - movs r5, #0 - ldrsh r0, [r2, r5] - subs r1, r1, r0 - cmp r1, #0x10 - ble _080629F4 - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r6, #0x12] -_080629F4: - movs r3, #0x10 - rsbs r3, r3, #0 - cmp r1, r3 - bge _08062A06 - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r6, #0x12] -_08062A06: - movs r0, #0x32 - ldrsh r1, [r4, r0] - adds r2, r4, #0 - adds r2, #0x6e - movs r5, #0 - ldrsh r0, [r2, r5] - subs r1, r1, r0 - cmp r1, #0x10 - ble _08062A22 - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r6, #0x12] -_08062A22: - cmp r1, r3 - bge _08062A30 - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r6, #0x12] -_08062A30: - ldrh r0, [r6, #0x12] - subs r0, #1 - strh r0, [r6, #0x12] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08062A42 - ldr r1, _08062A44 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_08062A42: - pop {r4, r5, r6, pc} - .align 2, 0 -_08062A44: .4byte gUnk_02033280 - - thumb_func_start sub_08062A48 -sub_08062A48: @ 0x08062A48 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x6a - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_08062A60 -sub_08062A60: @ 0x08062A60 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08062AB0 - ldr r1, _08062AAC @ =gUnk_0810BDC4 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08062AB6 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrh r0, [r4, #0x32] - subs r0, #8 - strh r0, [r4, #0x32] - movs r1, #6 - ldrb r0, [r4, #0xa] - cmp r0, #6 - bne _08062AA2 - movs r1, #0x16 -_08062AA2: - adds r0, r4, #0 - bl sub_08004260 - b _08062AB6 - .align 2, 0 -_08062AAC: .4byte gUnk_0810BDC4 -_08062AB0: - adds r0, r4, #0 - bl sub_08004274 -_08062AB6: - pop {r4, pc} - - thumb_func_start sub_08062AB8 -sub_08062AB8: @ 0x08062AB8 - push {lr} - ldr r2, _08062ACC @ =gUnk_0810C268 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08062ACC: .4byte gUnk_0810C268 - - thumb_func_start sub_08062AD0 -sub_08062AD0: @ 0x08062AD0 - bx lr - .align 2, 0 - - thumb_func_start sub_08062AD4 -sub_08062AD4: @ 0x08062AD4 - bx lr - .align 2, 0 - - thumb_func_start sub_08062AD8 -sub_08062AD8: @ 0x08062AD8 - push {lr} - ldr r2, _08062AEC @ =gUnk_0810C290 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08062AEC: .4byte gUnk_0810C290 - - thumb_func_start sub_08062AF0 -sub_08062AF0: @ 0x08062AF0 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08078778 - pop {r4, pc} - - thumb_func_start sub_08062B14 -sub_08062B14: @ 0x08062B14 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08062B40 - movs r0, #0 - strb r0, [r1] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0805E47C -_08062B40: - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - - thumb_func_start sub_08062B48 -sub_08062B48: @ 0x08062B48 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08062B6A - ldr r0, _08062B6C @ =0x00000A01 - bl sub_08056378 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_08062B6A: - pop {r4, pc} - .align 2, 0 -_08062B6C: .4byte 0x00000A01 - - thumb_func_start sub_08062B70 -sub_08062B70: @ 0x08062B70 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08062B94 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08062B92 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0805E584 -_08062B92: - pop {r4, pc} - .align 2, 0 -_08062B94: .4byte gUnk_02000050 - - thumb_func_start sub_08062B98 -sub_08062B98: @ 0x08062B98 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08062BBC - ldr r0, _08062BB8 @ =gUnk_0810C2DC - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _08062BCC - .align 2, 0 -_08062BB8: .4byte gUnk_0810C2DC -_08062BBC: - ldr r0, _08062BD0 @ =gUnk_0810C2CC - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_08062BCC: - pop {pc} - .align 2, 0 -_08062BD0: .4byte gUnk_0810C2CC - - thumb_func_start sub_08062BD4 -sub_08062BD4: @ 0x08062BD4 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08078778 - pop {r4, pc} - - thumb_func_start sub_08062BF8 -sub_08062BF8: @ 0x08062BF8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08062C1C - movs r0, #0 - strb r0, [r1] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0805E47C -_08062C1C: - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - - thumb_func_start sub_08062C24 -sub_08062C24: @ 0x08062C24 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08062C4E - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - ldr r0, _08062C50 @ =0x00000A01 - bl sub_08056378 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_08062C4E: - pop {r4, pc} - .align 2, 0 -_08062C50: .4byte 0x00000A01 - - thumb_func_start sub_08062C54 -sub_08062C54: @ 0x08062C54 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08062C78 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08062C76 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0805E584 -_08062C76: - pop {r4, pc} - .align 2, 0 -_08062C78: .4byte gUnk_02000050 - - thumb_func_start sub_08062C7C -sub_08062C7C: @ 0x08062C7C - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #0x25 - movs r2, #0 - bl sub_080A29AC - adds r0, r4, #0 - bl sub_08062CA4 - pop {r4, pc} - - thumb_func_start sub_08062CA4 -sub_08062CA4: @ 0x08062CA4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_08062CBC -sub_08062CBC: @ 0x08062CBC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x2c - bl sub_0801E7F4 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - lsls r1, r1, #3 - ldr r0, _08062CDC @ =gUnk_0810C2E4 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806F1AC - pop {r4, pc} - .align 2, 0 -_08062CDC: .4byte gUnk_0810C2E4 - - thumb_func_start sub_08062CE0 -sub_08062CE0: @ 0x08062CE0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _08062CEE - movs r0, #1 - strb r0, [r1, #0xc] -_08062CEE: - pop {pc} - - thumb_func_start sub_08062CF0 -sub_08062CF0: @ 0x08062CF0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08062D0C - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD64 -_08062D0C: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08062D18 -sub_08062D18: @ 0x08062D18 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - movs r4, #0 - movs r0, #0x4f - bl sub_0807CA84 - cmp r0, #0 - beq _08062D36 - movs r0, #0x26 - bl sub_0807CBD0 - cmp r0, #0 - bne _08062D36 - movs r4, #7 -_08062D36: - movs r0, #0x4e - bl sub_0807CA84 - cmp r0, #0 - beq _08062D4C - movs r0, #0x25 - bl sub_0807CBD0 - cmp r0, #0 - bne _08062D4C - movs r4, #6 -_08062D4C: - movs r0, #0x4d - bl sub_0807CA84 - cmp r0, #0 - beq _08062D62 - movs r0, #0x24 - bl sub_0807CBD0 - cmp r0, #0 - bne _08062D62 - movs r4, #5 -_08062D62: - movs r0, #0x4c - bl sub_0807CA84 - cmp r0, #0 - beq _08062D78 - movs r0, #0x23 - bl sub_0807CBD0 - cmp r0, #0 - bne _08062D78 - movs r4, #4 -_08062D78: - movs r0, #0x4b - bl sub_0807CA84 - cmp r0, #0 - beq _08062D8E - movs r0, #0x22 - bl sub_0807CBD0 - cmp r0, #0 - bne _08062D8E - movs r4, #3 -_08062D8E: - movs r0, #0x4a - bl sub_0807CA84 - cmp r0, #0 - beq _08062DA4 - movs r0, #0x21 - bl sub_0807CBD0 - cmp r0, #0 - bne _08062DA4 - movs r4, #2 -_08062DA4: - movs r0, #0x49 - bl sub_0807CA84 - cmp r0, #0 - beq _08062DBA - movs r0, #0x20 - bl sub_0807CBD0 - cmp r0, #0 - bne _08062DBA - movs r4, #1 -_08062DBA: - strb r4, [r5, #0xb] - movs r4, #0 - ldr r0, _08062DCC @ =0x00001C1F - bl sub_0807CBE4 - cmp r0, #0 - beq _08062DD0 - movs r4, #1 - b _08062DF0 - .align 2, 0 -_08062DCC: .4byte 0x00001C1F -_08062DD0: - movs r0, #0x8c - bl sub_0807CBD0 - cmp r0, #0 - beq _08062DE4 - movs r4, #2 - movs r0, #0x8c - bl sub_0807CD34 - b _08062DF0 -_08062DE4: - movs r0, #0x8b - bl sub_0807CBD0 - cmp r0, #0 - beq _08062DF0 - movs r4, #3 -_08062DF0: - ldr r0, _08062E08 @ =gUnk_0810C34C - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - cmp r4, #0 - bne _08062E0C - movs r0, #1 - b _08062E0E - .align 2, 0 -_08062E08: .4byte gUnk_0810C34C -_08062E0C: - movs r0, #0 -_08062E0E: - str r0, [r6, #0x14] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08062E14 -sub_08062E14: @ 0x08062E14 - push {lr} - movs r0, #0x8b - bl sub_0807CCB4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08062E20 -sub_08062E20: @ 0x08062E20 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08062E50 - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - adds r1, r4, #0 - bl sub_0806FAB0 - ldr r0, _08062E5C @ =gUnk_0810C3C0 - str r0, [r4, #0x48] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xfe - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807DD64 -_08062E50: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - pop {r4, pc} - .align 2, 0 -_08062E5C: .4byte gUnk_0810C3C0 - - thumb_func_start sub_08062E60 -sub_08062E60: @ 0x08062E60 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08062E88 - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - adds r1, r4, #0 - bl sub_0806FAB0 - ldr r0, _08062EB4 @ =gUnk_0810C428 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_0807DD64 -_08062E88: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08062EB2 - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r0, #0x28 - strh r1, [r0] -_08062EB2: - pop {r4, pc} - .align 2, 0 -_08062EB4: .4byte gUnk_0810C428 - - thumb_func_start sub_08062EB8 -sub_08062EB8: @ 0x08062EB8 - push {lr} - movs r0, #0x68 - movs r1, #0 - bl sub_0807CAA0 - movs r0, #0x69 - movs r1, #0 - bl sub_0807CAA0 - movs r0, #0x6a - movs r1, #0 - bl sub_0807CAA0 - movs r0, #0x6b - movs r1, #0 - bl sub_0807CAA0 - pop {pc} - - thumb_func_start sub_08062EDC -sub_08062EDC: @ 0x08062EDC - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - movs r0, #0x68 - bl sub_0807CA84 - cmp r0, #0 - beq _08062EEE - movs r4, #0 -_08062EEE: - movs r0, #0x69 - bl sub_0807CA84 - cmp r0, #0 - beq _08062EFA - movs r4, #1 -_08062EFA: - movs r0, #0x6a - bl sub_0807CA84 - cmp r0, #0 - beq _08062F06 - movs r4, #2 -_08062F06: - movs r0, #0x6b - bl sub_0807CA84 - cmp r0, #0 - beq _08062F12 - movs r4, #3 -_08062F12: - movs r0, #0x5b - bl sub_0807CBD0 - cmp r0, #0 - bne _08062F24 - movs r0, #0x5b - bl sub_0807CCB4 - movs r4, #4 -_08062F24: - bl sub_08000E50 - movs r1, #0xff - ands r1, r0 - ldr r0, _08062F58 @ =gUnk_0810C430 - adds r0, r4, r0 - ldrb r0, [r0] - cmp r1, r0 - bhi _08062F68 - ldr r0, _08062F5C @ =gUnk_0810C435 - bl sub_080028F4 - adds r4, r0, #0 - ldr r0, _08062F60 @ =gUnk_0810C43D - adds r0, r4, r0 - ldrb r1, [r0] - movs r0, #0x5c - movs r2, #1 - bl sub_080A7C18 - ldr r0, _08062F64 @ =0x00003C05 - adds r1, r6, #0 - bl sub_08056398 - movs r0, #1 - b _08062F6A - .align 2, 0 -_08062F58: .4byte gUnk_0810C430 -_08062F5C: .4byte gUnk_0810C435 -_08062F60: .4byte gUnk_0810C43D -_08062F64: .4byte 0x00003C05 -_08062F68: - movs r0, #0 -_08062F6A: - str r0, [r5, #0x14] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08062F70 -sub_08062F70: @ 0x08062F70 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08062FA0 - ldr r1, _08062FE8 @ =gUnk_0810C48C - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08062FE4 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - lsls r0, r0, #1 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 -_08062FA0: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - adds r4, #0x5b - ldrb r1, [r4] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08062FCC - movs r0, #0xef - ands r0, r1 - strb r0, [r4] - ldr r0, _08062FEC @ =0x000001CF - bl sub_08004488 -_08062FCC: - ldrb r1, [r4] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08062FE4 - movs r0, #0xdf - ands r0, r1 - strb r0, [r4] - movs r0, #0x88 - lsls r0, r0, #2 - bl sub_08004488 -_08062FE4: - pop {r4, pc} - .align 2, 0 -_08062FE8: .4byte gUnk_0810C48C -_08062FEC: .4byte 0x000001CF - - thumb_func_start sub_08062FF0 -sub_08062FF0: @ 0x08062FF0 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08063006 - movs r6, #1 - movs r5, #0 - b _0806300A -_08063006: - movs r6, #0 - movs r5, #1 -_0806300A: - adds r0, r4, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #8 - ands r0, r1 - movs r7, #0x8e - lsls r7, r7, #1 - cmp r0, #0 - beq _0806301E - movs r7, #0x16 -_0806301E: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r2, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 - subs r2, #1 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FF60 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_0806FF10 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0806305C -sub_0806305C: @ 0x0806305C - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - movs r2, #0x80 - lsls r2, r2, #1 - str r2, [r4, #0x6c] - str r2, [r4, #0x70] - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r4, #0 - movs r1, #0x10 - bl sub_080042AC - adds r4, #0x80 - movs r0, #0x10 - strh r0, [r4] - ldr r0, _080630A0 @ =0x0000016F - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 -_080630A0: .4byte 0x0000016F - - thumb_func_start sub_080630A4 -sub_080630A4: @ 0x080630A4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x6d - ldrb r0, [r0] - cmp r0, #0 - beq _080630BA - ldr r0, [r4, #0x6c] - adds r0, #0x80 - lsls r0, r0, #0x14 - lsrs r5, r0, #0x17 - b _080630D0 -_080630BA: - adds r0, r4, #0 - adds r0, #0x6c - ldrb r1, [r0] - lsrs r1, r1, #6 - movs r0, #3 - eors r1, r0 - adds r1, #1 - movs r0, #0x10 - bl __divsi3 - asrs r5, r0, #1 -_080630D0: - movs r0, #0x80 - lsls r0, r0, #1 - ldr r2, [r4, #0x70] - cmp r2, r0 - bls _080630E4 - adds r0, r2, #0 - adds r0, #0x80 - lsls r0, r0, #0x14 - lsrs r3, r0, #0x17 - b _080630F4 -_080630E4: - cmp r2, r0 - bne _080630EC - movs r3, #0x10 - b _080630F4 -_080630EC: - ldr r1, _08063110 @ =gUnk_0810C498 - lsrs r0, r2, #5 - adds r0, r0, r1 - ldrb r3, [r0] -_080630F4: - movs r6, #0x80 - lsls r6, r6, #9 - adds r0, r4, #0 - adds r0, #0x5b - ldrb r0, [r0] - movs r1, #3 - ands r1, r0 - cmp r1, #2 - beq _08063144 - cmp r1, #2 - bgt _08063114 - cmp r1, #1 - beq _0806311A - b _080631CA - .align 2, 0 -_08063110: .4byte gUnk_0810C498 -_08063114: - cmp r1, #3 - beq _0806317A - b _080631CA -_0806311A: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldr r0, [r4, #0x6c] - cmp r0, #0x80 - bls _08063132 - subs r0, r0, r5 - str r0, [r4, #0x6c] -_08063132: - lsls r1, r3, #1 - ldr r0, [r4, #0x70] - adds r0, r0, r1 - str r0, [r4, #0x70] - lsls r1, r6, #1 - ldr r0, [r4, #0x30] - adds r0, r0, r1 - str r0, [r4, #0x30] - b _080631CA -_08063144: - ldr r0, [r4, #0x6c] - adds r0, r0, r5 - str r0, [r4, #0x6c] - ldr r1, [r4, #0x70] - movs r2, #0x80 - lsls r2, r2, #1 - cmp r1, r2 - bls _0806316C - ldr r0, _08063168 @ =0x0000017F - cmp r1, r0 - bhi _0806315C - lsrs r3, r3, #1 -_0806315C: - subs r0, r1, r3 - cmp r0, #0xff - bhi _08063172 - str r2, [r4, #0x70] - b _08063174 - .align 2, 0 -_08063168: .4byte 0x0000017F -_0806316C: - cmp r1, #0x80 - bls _08063174 - subs r0, r1, r3 -_08063172: - str r0, [r4, #0x70] -_08063174: - ldr r0, [r4, #0x34] - subs r0, r0, r6 - b _080631C8 -_0806317A: - ldr r0, [r4, #0x6c] - ldr r1, _080631B4 @ =0x0000033F - cmp r0, r1 - bhi _08063186 - adds r0, r0, r5 - str r0, [r4, #0x6c] -_08063186: - cmp r2, r1 - bls _080631BC - movs r2, #0x80 - lsls r2, r2, #1 - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r4, #0 - movs r1, #0x11 - bl sub_080042AC - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #0x11 - strh r0, [r1] - ldr r2, _080631B8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _080631DC - .align 2, 0 -_080631B4: .4byte 0x0000033F -_080631B8: .4byte gUnk_02033280 -_080631BC: - lsls r0, r3, #1 - adds r0, r2, r0 - str r0, [r4, #0x70] - ldr r0, [r4, #0x34] - ldr r1, _080631E0 @ =0xFFFE0000 - adds r0, r0, r1 -_080631C8: - str r0, [r4, #0x34] -_080631CA: - ldr r1, [r4, #0x6c] - ldr r2, [r4, #0x70] - adds r0, r4, #0 - movs r3, #0 - bl sub_0805EC9C - ldr r1, _080631E4 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_080631DC: - pop {r4, r5, r6, pc} - .align 2, 0 -_080631E0: .4byte 0xFFFE0000 -_080631E4: .4byte gUnk_02033280 - - thumb_func_start sub_080631E8 -sub_080631E8: @ 0x080631E8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806320C @ =gUnk_0810C804 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08063208 - adds r0, r4, #0 - bl sub_0806ED78 -_08063208: - pop {r4, pc} - .align 2, 0 -_0806320C: .4byte gUnk_0810C804 - - thumb_func_start sub_08063210 -sub_08063210: @ 0x08063210 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0 - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063220 -sub_08063220: @ 0x08063220 - push {lr} - adds r2, r0, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08063238 - movs r0, #2 - strb r0, [r2, #0xc] - movs r1, #8 - b _0806323A -_08063238: - movs r1, #0 -_0806323A: - adds r0, r2, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, r1 - beq _0806324C - adds r0, r2, #0 - bl sub_080042AC - b _08063252 -_0806324C: - adds r0, r2, #0 - bl sub_08063280 -_08063252: - pop {pc} - - thumb_func_start sub_08063254 -sub_08063254: @ 0x08063254 - push {r4, lr} - adds r4, r0, #0 - bl sub_08063280 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08063274 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0 - bl sub_08056378 -_08063274: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08063278 -sub_08063278: @ 0x08063278 - push {lr} - bl sub_08063280 - pop {pc} - - thumb_func_start sub_08063280 -sub_08063280: @ 0x08063280 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r3, r4, #0 - adds r3, #0x5a - ldrb r2, [r3] - movs r1, #0x7f - ands r1, r2 - adds r0, r1, #0 - eors r0, r2 - strb r0, [r3] - cmp r1, #2 - bne _080632A6 - adds r0, r4, #0 - movs r1, #0x31 - movs r2, #0 - bl sub_080A29AC -_080632A6: - pop {r4, pc} - - thumb_func_start sub_080632A8 -sub_080632A8: @ 0x080632A8 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080632BE - adds r0, r2, #0 - bl sub_08063410 - b _080632C4 -_080632BE: - adds r0, r2, #0 - bl sub_080632C8 -_080632C4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080632C8 -sub_080632C8: @ 0x080632C8 - push {lr} - ldr r2, _080632DC @ =gUnk_0810C8E0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080632DC: .4byte gUnk_0810C8E0 - - thumb_func_start sub_080632E0 -sub_080632E0: @ 0x080632E0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08063310 @ =gUnk_0810C8D4 - bl sub_0806FDEC - cmp r0, #0 - beq _0806330E - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08078778 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #1 - strb r0, [r4, #0xc] -_0806330E: - pop {r4, pc} - .align 2, 0 -_08063310: .4byte gUnk_0810C8D4 - - thumb_func_start sub_08063314 -sub_08063314: @ 0x08063314 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - movs r1, #0xff - ands r0, r1 - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _08063342 - adds r0, r4, #0 - bl sub_080633C8 - adds r1, r0, #0 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, r1 - beq _08063342 - adds r0, r4, #0 - bl sub_08004260 -_08063342: - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08063360 - ldrb r0, [r4, #0xe] - ldr r1, _08063368 @ =0x00000A01 - adds r0, r0, r1 - bl sub_08056378 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_08063360: - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_08063368: .4byte 0x00000A01 - - thumb_func_start sub_0806336C -sub_0806336C: @ 0x0806336C - push {lr} - adds r2, r0, #0 - ldr r0, _0806338C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0806338A - ldrb r0, [r2, #0xc] - adds r0, #1 - strb r0, [r2, #0xc] - adds r0, r2, #0 - movs r1, #8 - bl sub_08004260 -_0806338A: - pop {pc} - .align 2, 0 -_0806338C: .4byte gUnk_02000050 - - thumb_func_start sub_08063390 -sub_08063390: @ 0x08063390 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080633BE - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806EDC4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08078778 -_080633BE: - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080633C8 -sub_080633C8: @ 0x080633C8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806ED9C - cmp r0, #0 - bge _080633DE - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] -_080633DE: - pop {r4, pc} - - thumb_func_start sub_080633E0 -sub_080633E0: @ 0x080633E0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0x3f - ands r2, r0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - - thumb_func_start sub_08063410 -sub_08063410: @ 0x08063410 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #0 - bne _08063442 - ldr r1, _08063464 @ =gUnk_0810C8D4 - bl sub_0806FDEC - cmp r0, #0 - beq _08063462 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08063436 - ldr r0, _08063468 @ =gUnk_0810C894 - str r0, [r4, #0x48] - strb r5, [r4, #0xb] -_08063436: - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - bl sub_08078778 -_08063442: - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0806344E - adds r0, r4, #0 - bl sub_0806346C -_0806344E: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 -_08063462: - pop {r4, r5, pc} - .align 2, 0 -_08063464: .4byte gUnk_0810C8D4 -_08063468: .4byte gUnk_0810C894 - - thumb_func_start sub_0806346C -sub_0806346C: @ 0x0806346C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, _080634D8 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r6, r0] - movs r2, #0x2e - ldrsh r0, [r5, r2] - subs r4, r1, r0 - movs r0, #0x32 - ldrsh r1, [r6, r0] - movs r2, #0x32 - ldrsh r0, [r5, r2] - subs r3, r1, r0 - adds r4, #0x30 - adds r3, #0x18 - cmp r4, #0 - bge _08063490 - movs r4, #0 -_08063490: - cmp r4, #0x50 - ble _08063496 - movs r4, #0x50 -_08063496: - cmp r3, #0 - bge _0806349C - movs r3, #0 -_0806349C: - cmp r3, #0x40 - ble _080634A2 - movs r3, #0x40 -_080634A2: - asrs r4, r4, #4 - asrs r3, r3, #4 - ldr r2, _080634DC @ =gUnk_0810C8F0 - ldrb r1, [r6, #0x14] - lsrs r1, r1, #1 - lsls r0, r4, #2 - adds r1, r1, r0 - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #3 - adds r1, r1, r0 - adds r1, r1, r2 - ldrb r4, [r1] - ldrb r0, [r5, #0xb] - cmp r4, r0 - beq _080634D6 - lsls r3, r4, #3 - ldr r0, _080634E0 @ =gUnk_0810C89C - adds r3, r3, r0 - movs r2, #4 - ldrsb r2, [r3, r2] - adds r0, r5, #0 - movs r1, #1 - bl sub_08078850 - strb r4, [r5, #0xb] -_080634D6: - pop {r4, r5, r6, pc} - .align 2, 0 -_080634D8: .4byte gUnk_03001160 -_080634DC: .4byte gUnk_0810C8F0 -_080634E0: .4byte gUnk_0810C89C - - thumb_func_start sub_080634E4 -sub_080634E4: @ 0x080634E4 - ldrb r0, [r0, #0xb] - str r0, [r1, #4] - bx lr - .align 2, 0 - - thumb_func_start sub_080634EC -sub_080634EC: @ 0x080634EC - ldr r2, _080634FC @ =gUnk_02034350 - ldr r1, _08063500 @ =gUnk_0810C88C - ldrb r0, [r0, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r2, #6] - bx lr - .align 2, 0 -_080634FC: .4byte gUnk_02034350 -_08063500: .4byte gUnk_0810C88C - - thumb_func_start sub_08063504 -sub_08063504: @ 0x08063504 - push {r4, lr} - adds r4, r1, #0 - ldr r1, _08063520 @ =gUnk_0810C88C - ldrb r0, [r0, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - bl sub_080544DC - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - str r1, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_08063520: .4byte gUnk_0810C88C - - thumb_func_start sub_08063524 -sub_08063524: @ 0x08063524 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0806353A - adds r0, r2, #0 - bl sub_0806362C - b _08063540 -_0806353A: - adds r0, r2, #0 - bl sub_08063544 -_08063540: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063544 -sub_08063544: @ 0x08063544 - push {lr} - ldr r2, _08063558 @ =gUnk_0810CAA0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08063558: .4byte gUnk_0810CAA0 - - thumb_func_start sub_0806355C -sub_0806355C: @ 0x0806355C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08078778 - pop {r4, pc} - - thumb_func_start sub_08063584 -sub_08063584: @ 0x08063584 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806ED9C - cmp r0, #0 - blt _080635B2 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080635B8 - bl sub_08000E50 - movs r1, #0x3f - ands r1, r0 - cmp r1, #0 - bne _080635B2 - movs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_080635B2: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080635D0 -_080635B8: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080635D0 - movs r0, #0 - strb r0, [r4, #0xf] -_080635D0: - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _080635FC - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806EDC4 - adds r1, r0, #0 - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - ldrb r0, [r4, #0xe] - ldr r1, _08063604 @ =0x00000A01 - adds r0, r0, r1 - bl sub_08056378 -_080635FC: - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_08063604: .4byte 0x00000A01 - - thumb_func_start sub_08063608 -sub_08063608: @ 0x08063608 - push {lr} - adds r2, r0, #0 - ldr r0, _08063628 @ =gUnk_02000050 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - bne _08063626 - movs r0, #1 - strb r0, [r2, #0xc] - strb r1, [r2, #0xf] - adds r0, r2, #0 - movs r1, #4 - bl sub_080042AC -_08063626: - pop {pc} - .align 2, 0 -_08063628: .4byte gUnk_02000050 - - thumb_func_start sub_0806362C -sub_0806362C: @ 0x0806362C - push {r4, lr} - adds r4, r0, #0 - ldrb r3, [r4, #0xc] - cmp r3, #1 - beq _08063662 - cmp r3, #1 - bgt _08063640 - cmp r3, #0 - beq _08063646 - b _080636D4 -_08063640: - cmp r3, #2 - beq _080636BA - b _080636D4 -_08063646: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x69 - strb r3, [r0] - adds r0, r4, #0 - bl sub_0807DD64 -_08063662: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _080636A4 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _080636A0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _080636D4 - .align 2, 0 -_080636A0: .4byte gUnk_03001160 -_080636A4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - b _080636D4 -_080636BA: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _080636D4 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC -_080636D4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080636D8 -sub_080636D8: @ 0x080636D8 - push {lr} - ldr r1, _080636EC @ =gUnk_02002A40 - ldrb r1, [r1, #8] - lsls r1, r1, #3 - ldr r2, _080636F0 @ =gUnk_0810CAAC - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_080636EC: .4byte gUnk_02002A40 -_080636F0: .4byte gUnk_0810CAAC - - thumb_func_start sub_080636F4 -sub_080636F4: @ 0x080636F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806370C -sub_0806370C: @ 0x0806370C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08063738 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - ldrh r0, [r2, #0x32] - subs r0, #4 - strh r0, [r2, #0x32] - adds r0, r2, #0 - movs r1, #2 - bl sub_080042AC - b _0806373E -_08063738: - adds r0, r2, #0 - bl sub_080042B8 -_0806373E: - pop {pc} - - thumb_func_start sub_08063740 -sub_08063740: @ 0x08063740 - push {lr} - ldr r2, _08063754 @ =gUnk_0810CBD8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08063754: .4byte gUnk_0810CBD8 - - thumb_func_start sub_08063758 -sub_08063758: @ 0x08063758 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _08063794 @ =gUnk_0810CB78 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _080637B4 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xe] - ands r1, r2 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - subs r0, #0x42 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - blt _08063798 - movs r0, #6 - b _0806379A - .align 2, 0 -_08063794: .4byte gUnk_0810CB78 -_08063798: - movs r0, #2 -_0806379A: - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x14] - movs r1, #0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x69 - strb r1, [r0] - adds r0, r4, #0 - bl sub_0807DD50 - adds r0, r4, #0 - bl sub_080637B8 -_080637B4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080637B8 -sub_080637B8: @ 0x080637B8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _08063804 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _08063800 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - bge _080637F2 - adds r1, #4 -_080637F2: - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0806F118 - b _0806382E - .align 2, 0 -_08063800: .4byte gUnk_03001160 -_08063804: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r5, r4, #0 - adds r5, #0x59 - ldrb r0, [r5] - cmp r0, #0xfe - bne _08063828 - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x1e - strb r0, [r5] -_08063828: - adds r0, r4, #0 - bl sub_08004274 -_0806382E: - pop {r4, r5, pc} - - thumb_func_start sub_08063830 -sub_08063830: @ 0x08063830 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806384C - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 -_0806384C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08063850 -sub_08063850: @ 0x08063850 - push {lr} - ldrb r3, [r0, #0x18] - lsls r3, r3, #0x19 - lsrs r3, r3, #0x1f - rsbs r2, r3, #0 - orrs r2, r3 - asrs r2, r2, #0x1f - movs r3, #4 - ands r2, r3 - ldr r1, [r1, #4] - adds r1, r1, r2 - ldrb r2, [r0, #0x14] - lsrs r2, r2, #1 - adds r1, r1, r2 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063874 -sub_08063874: @ 0x08063874 - ldrb r1, [r0, #0xe] - strb r1, [r0, #0x14] - bx lr - .align 2, 0 - - thumb_func_start sub_0806387C -sub_0806387C: @ 0x0806387C - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r4, #3 - movs r0, #0xda - bl sub_0807CBD0 - cmp r0, #0 - bne _08063896 - movs r4, #0 - movs r0, #0xda - bl sub_0807CCB4 - b _080638D6 -_08063896: - movs r0, #0xd1 - bl sub_0807CBD0 - cmp r0, #0 - bne _080638D6 - movs r5, #0 - movs r4, #1 -_080638A4: - ldr r0, _080638F8 @ =gUnk_02002B0E - adds r1, r4, #0 - bl sub_0801D5A8 - cmp r0, #0 - beq _080638B2 - adds r5, #1 -_080638B2: - adds r4, #1 - cmp r4, #0x82 - ble _080638A4 - movs r4, #1 - cmp r5, #0x81 - ble _080638D6 - movs r4, #2 - movs r0, #0xd1 - bl sub_0807CCB4 - ldr r0, _080638FC @ =0x00000A17 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _08063900 @ =0x00000A57 - movs r1, #1 - bl sub_0807BA8C -_080638D6: - ldr r0, _08063904 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r1, r0, #6 - cmp r1, #0 - bge _080638E2 - movs r1, #0 -_080638E2: - ldr r2, _08063908 @ =gUnk_0810CBE4 - lsls r0, r4, #1 - lsls r1, r1, #3 - adds r0, r0, r1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, r6, #0 - bl sub_08056398 - pop {r4, r5, r6, pc} - .align 2, 0 -_080638F8: .4byte gUnk_02002B0E -_080638FC: .4byte 0x00000A17 -_08063900: .4byte 0x00000A57 -_08063904: .4byte gUnk_02002A40 -_08063908: .4byte gUnk_0810CBE4 - - thumb_func_start sub_0806390C -sub_0806390C: @ 0x0806390C - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #1 - movs r0, #0xd9 - bl sub_0807CBD0 - cmp r0, #0 - bne _0806392E - movs r5, #0 - movs r0, #0xd9 - bl sub_0807CCB4 - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #1 - str r0, [r1, #0x14] -_0806392E: - ldr r0, _08063940 @ =gUnk_0810CC04 - lsls r1, r5, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_08063940: .4byte gUnk_0810CC04 - - thumb_func_start sub_08063944 -sub_08063944: @ 0x08063944 - push {lr} - adds r3, r0, #0 - movs r0, #0 - str r0, [r1, #0x14] - ldr r0, _0806396C @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _08063958 - movs r0, #0 -_08063958: - ldrb r1, [r3, #0xb] - lsls r1, r1, #6 - lsls r0, r0, #3 - ldr r2, _08063970 @ =gUnk_0810CC08 - adds r0, r0, r2 - adds r1, r1, r0 - adds r0, r3, #0 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806396C: .4byte gUnk_02002A40 -_08063970: .4byte gUnk_0810CC08 - - thumb_func_start sub_08063974 -sub_08063974: @ 0x08063974 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xa] - lsls r5, r5, #2 - ldr r0, _080639C8 @ =gUnk_0810CBC0 - adds r5, r5, r0 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0xf - ands r2, r0 - ldrb r0, [r5] - adds r2, r2, r0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldr r2, _080639CC @ =gUnk_0810CD88 - ldrb r1, [r4, #0x1e] - movs r0, #3 - ands r0, r1 - ldrb r1, [r4, #0xa] - lsls r1, r1, #2 - adds r0, r0, r1 - adds r0, r0, r2 - ldrb r2, [r0] - ldrb r0, [r5, #1] - adds r2, r2, r0 - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, r5, pc} - .align 2, 0 -_080639C8: .4byte gUnk_0810CBC0 -_080639CC: .4byte gUnk_0810CD88 - - thumb_func_start sub_080639D0 -sub_080639D0: @ 0x080639D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_080639E8 -sub_080639E8: @ 0x080639E8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08063A40 - ldrb r0, [r4, #0xa] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _08063A3C @ =gUnk_0810CB78 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08063A5C - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - movs r1, #0x41 - rsbs r1, r1, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldrh r0, [r4, #0x32] - subs r0, #4 - strh r0, [r4, #0x32] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08096208 - b _08063A5C - .align 2, 0 -_08063A3C: .4byte gUnk_0810CB78 -_08063A40: - adds r5, r4, #0 - adds r5, #0x59 - ldrb r0, [r5] - cmp r0, #0xfe - bne _08063A56 - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x1e - strb r0, [r5] -_08063A56: - adds r0, r4, #0 - bl sub_08004274 -_08063A5C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08063A60 -sub_08063A60: @ 0x08063A60 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08063A76 - adds r0, r2, #0 - bl sub_08063B68 - b _08063A7C -_08063A76: - adds r0, r2, #0 - bl sub_08063A80 -_08063A7C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063A80 -sub_08063A80: @ 0x08063A80 - push {lr} - ldr r2, _08063A94 @ =gUnk_0810CDF8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08063A94: .4byte gUnk_0810CDF8 - - thumb_func_start sub_08063A98 -sub_08063A98: @ 0x08063A98 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08078778 - pop {r4, pc} - - thumb_func_start sub_08063AC0 -sub_08063AC0: @ 0x08063AC0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806ED9C - cmp r0, #0 - blt _08063AEE - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08063AF4 - bl sub_08000E50 - movs r1, #0x3f - ands r1, r0 - cmp r1, #0 - bne _08063AEE - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - movs r0, #1 - strb r0, [r4, #0xf] -_08063AEE: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08063B0C -_08063AF4: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08063B0C - movs r0, #0 - strb r0, [r4, #0xf] -_08063B0C: - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08063B38 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806EDC4 - adds r1, r0, #0 - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - ldrb r0, [r4, #0xe] - ldr r1, _08063B40 @ =0x00000A01 - adds r0, r0, r1 - bl sub_08056378 -_08063B38: - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_08063B40: .4byte 0x00000A01 - - thumb_func_start sub_08063B44 -sub_08063B44: @ 0x08063B44 - push {lr} - adds r2, r0, #0 - ldr r0, _08063B64 @ =gUnk_02000050 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - bne _08063B62 - movs r0, #1 - strb r0, [r2, #0xc] - strb r1, [r2, #0xf] - adds r0, r2, #0 - movs r1, #4 - bl sub_080042AC -_08063B62: - pop {pc} - .align 2, 0 -_08063B64: .4byte gUnk_02000050 - - thumb_func_start sub_08063B68 -sub_08063B68: @ 0x08063B68 - push {r4, lr} - adds r4, r0, #0 - ldrb r3, [r4, #0xc] - cmp r3, #1 - beq _08063B9E - cmp r3, #1 - bgt _08063B7C - cmp r3, #0 - beq _08063B82 - b _08063C10 -_08063B7C: - cmp r3, #2 - beq _08063BF6 - b _08063C10 -_08063B82: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x69 - strb r3, [r0] - adds r0, r4, #0 - bl sub_0807DD64 -_08063B9E: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _08063BE0 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _08063BDC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _08063C10 - .align 2, 0 -_08063BDC: .4byte gUnk_03001160 -_08063BE0: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - b _08063C10 -_08063BF6: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08063C10 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC -_08063C10: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08063C14 -sub_08063C14: @ 0x08063C14 - push {lr} - movs r0, #7 - movs r1, #0x14 - bl sub_0805EB9C - cmp r0, #0 - beq _08063C28 - movs r1, #8 - bl sub_080042AC -_08063C28: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063C2C -sub_08063C2C: @ 0x08063C2C - push {lr} - movs r0, #7 - movs r1, #0x14 - bl sub_0805EB9C - cmp r0, #0 - beq _08063C40 - movs r1, #4 - bl sub_080042AC -_08063C40: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063C44 -sub_08063C44: @ 0x08063C44 - push {lr} - movs r0, #7 - movs r1, #0x14 - bl sub_0805EB9C - cmp r0, #0 - beq _08063C58 - movs r1, #0 - bl sub_080042AC -_08063C58: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063C5C -sub_08063C5C: @ 0x08063C5C - push {lr} - movs r0, #7 - movs r1, #0x14 - bl sub_0805EB9C - cmp r0, #0 - beq _08063C70 - movs r1, #9 - bl sub_080042AC -_08063C70: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063C74 -sub_08063C74: @ 0x08063C74 - push {lr} - movs r0, #7 - movs r1, #0x14 - bl sub_0805EB9C - cmp r0, #0 - beq _08063C8C - movs r2, #0x18 - rsbs r2, r2, #0 - movs r1, #8 - bl sub_080A2CFC -_08063C8C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063C90 -sub_08063C90: @ 0x08063C90 - push {lr} - ldr r1, _08063CA4 @ =gUnk_02002A40 - ldrb r1, [r1, #8] - lsls r1, r1, #3 - ldr r2, _08063CA8 @ =gUnk_0810CE04 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_08063CA4: .4byte gUnk_02002A40 -_08063CA8: .4byte gUnk_0810CE04 - - thumb_func_start sub_08063CAC -sub_08063CAC: @ 0x08063CAC - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_08063CC4 -sub_08063CC4: @ 0x08063CC4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08063CF0 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - ldrh r0, [r2, #0x32] - subs r0, #4 - strh r0, [r2, #0x32] - adds r0, r2, #0 - movs r1, #2 - bl sub_080042AC - b _08063CF6 -_08063CF0: - adds r0, r2, #0 - bl sub_080042B8 -_08063CF6: - pop {pc} - - thumb_func_start sub_08063CF8 -sub_08063CF8: @ 0x08063CF8 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08063D1C - ldr r0, _08063D18 @ =gUnk_0810F544 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _08063D22 - .align 2, 0 -_08063D18: .4byte gUnk_0810F544 -_08063D1C: - adds r0, r2, #0 - bl sub_08063D24 -_08063D22: - pop {pc} - - thumb_func_start sub_08063D24 -sub_08063D24: @ 0x08063D24 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08063D40 @ =gUnk_0810F550 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_08063D40: .4byte gUnk_0810F550 - - thumb_func_start sub_08063D44 -sub_08063D44: @ 0x08063D44 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08063DA0 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x46 - bhi _08063DC6 - ldrb r0, [r4, #9] - movs r1, #0x15 - eors r0, r1 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - lsls r1, r1, #4 - ldr r0, _08063DA4 @ =gUnk_0810F524 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08063DC6 - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - ldr r0, _08063DA8 @ =gUnk_0810F6BC - ldrb r1, [r4, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - movs r2, #0 - bl sub_0806EE04 - ldrb r0, [r4, #0xa] - cmp r0, #0 - blt _08063DB6 - cmp r0, #3 - bgt _08063DAC - movs r0, #0xc - bl sub_080A7EE0 - str r4, [r0, #0x50] - movs r1, #0x3c - strb r1, [r0, #0xf] - b _08063DB6 - .align 2, 0 -_08063DA0: .4byte gUnk_03003DBC -_08063DA4: .4byte gUnk_0810F524 -_08063DA8: .4byte gUnk_0810F6BC -_08063DAC: - cmp r0, #5 - bgt _08063DB6 - adds r0, r4, #0 - bl sub_08078778 -_08063DB6: - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r1, #0 - strb r0, [r4, #0xc] - strb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08063DC8 -_08063DC6: - pop {r4, pc} - - thumb_func_start sub_08063DC8 -sub_08063DC8: @ 0x08063DC8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0xff - bne _08063DF8 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldr r1, _08063DF4 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - b _08063E4C - .align 2, 0 -_08063DF4: .4byte gUnk_03001160 -_08063DF8: - adds r0, r4, #0 - bl sub_0806EE20 - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - ldrb r1, [r4, #0x14] - cmp r0, r1 - beq _08063E18 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - b _08063E1E -_08063E18: - adds r0, r4, #0 - bl sub_08004274 -_08063E1E: - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08063E4C - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r2] - ldr r1, _08063E50 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08064428 -_08063E4C: - pop {r4, pc} - .align 2, 0 -_08063E50: .4byte gUnk_03001160 - - thumb_func_start sub_08063E54 -sub_08063E54: @ 0x08063E54 - push {lr} - ldrb r1, [r0, #0xe] - subs r1, #1 - strb r1, [r0, #0xe] - lsls r1, r1, #0x18 - cmp r1, #0 - bne _08063E68 - movs r0, #0xf - bl sub_0807CD10 -_08063E68: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08063E6C -sub_08063E6C: @ 0x08063E6C - push {lr} - adds r2, r0, #0 - ldr r0, _08063E8C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08063E8A - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x14] - adds r1, #4 - adds r0, r2, #0 - bl sub_08004260 -_08063E8A: - pop {pc} - .align 2, 0 -_08063E8C: .4byte gUnk_02000050 - - thumb_func_start sub_08063E90 -sub_08063E90: @ 0x08063E90 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #9] - movs r1, #0x15 - eors r0, r1 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - lsls r1, r1, #4 - ldr r0, _08063EC8 @ =gUnk_0810F524 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08063F1E - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xe] - cmp r1, #0 - beq _08063ECC - adds r1, r4, #0 - adds r1, #0x70 - movs r0, #8 - strb r0, [r1] - b _08063ED2 - .align 2, 0 -_08063EC8: .4byte gUnk_0810F524 -_08063ECC: - adds r0, r4, #0 - adds r0, #0x70 - strb r1, [r0] -_08063ED2: - movs r0, #0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0805ACC0 - adds r2, r0, #0 - cmp r2, #0 - bne _08063EF2 - ldrh r0, [r4, #0x2e] - adds r1, r4, #0 - adds r1, #0x68 - strh r0, [r1] - ldrh r0, [r4, #0x32] - adds r1, #2 - strh r0, [r1] - b _08063EFE -_08063EF2: - lsrs r1, r2, #0x10 - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] -_08063EFE: - adds r1, r4, #0 - adds r1, #0x71 - movs r0, #0 - strb r0, [r1] - subs r1, #0x39 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - bl sub_08063F20 -_08063F1E: - pop {r4, pc} - - thumb_func_start sub_08063F20 -sub_08063F20: @ 0x08063F20 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08063F72 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r1, #0 - strb r0, [r4, #0xc] - strb r1, [r2] - ldr r1, _08063F74 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - adds r0, #0x70 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08064428 -_08063F72: - pop {r4, pc} - .align 2, 0 -_08063F74: .4byte gUnk_03001160 - - thumb_func_start sub_08063F78 -sub_08063F78: @ 0x08063F78 - push {lr} - adds r2, r0, #0 - ldr r0, _08063FA8 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08063FA6 - ldrb r0, [r2, #0xc] - subs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x14] - lsrs r1, r1, #1 - adds r0, r2, #0 - adds r0, #0x70 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, #4 - adds r1, r1, r0 - adds r0, r2, #0 - bl sub_08004260 -_08063FA6: - pop {pc} - .align 2, 0 -_08063FA8: .4byte gUnk_02000050 - - thumb_func_start sub_08063FAC -sub_08063FAC: @ 0x08063FAC - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x3f - adds r2, r0, #0 - ands r2, r1 - ldrb r3, [r6, #0x1e] - adds r5, r0, #0 - ands r5, r3 - adds r1, r6, #0 - adds r1, #0x5b - ldrb r1, [r1] - adds r4, r0, #0 - ands r4, r1 - ldrb r0, [r6, #9] - cmp r0, #0x15 - bne _08063FEC - movs r0, #0x40 - ands r0, r3 - cmp r0, #0 - beq _08063FE2 - adds r5, #0x21 - movs r2, #1 - rsbs r2, r2, #0 - movs r4, #0 - b _08063FF6 -_08063FE2: - adds r2, #0x19 - cmp r4, #0 - beq _08063FF6 - adds r4, #0x1f - b _08063FF6 -_08063FEC: - adds r2, #0x46 - adds r5, #0x2d - cmp r4, #0 - beq _08063FF6 - adds r4, #0x4c -_08063FF6: - subs r4, #1 - adds r0, r6, #0 - movs r1, #0 - bl sub_0806FF60 - adds r0, r6, #0 - movs r1, #1 - adds r2, r5, #0 - bl sub_0806FF60 - adds r0, r6, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_0806FF60 - adds r0, r6, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r6, #0 - movs r1, #1 - movs r2, #2 - bl sub_0806FFD8 - adds r0, r6, #0 - bl sub_0807000C - pop {r4, r5, r6, pc} - - thumb_func_start sub_08064030 -sub_08064030: @ 0x08064030 - ldr r0, _08064040 @ =gUnk_02034350 - ldr r2, [r0, #0x68] - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - str r0, [r1, #0x14] - bx lr - .align 2, 0 -_08064040: .4byte gUnk_02034350 - - thumb_func_start sub_08064044 -sub_08064044: @ 0x08064044 - ldr r1, _0806404C @ =gUnk_030010A0 - movs r0, #1 - strb r0, [r1, #8] - bx lr - .align 2, 0 -_0806404C: .4byte gUnk_030010A0 - - thumb_func_start sub_08064050 -sub_08064050: @ 0x08064050 - push {lr} - adds r2, r1, #0 - movs r1, #0 - str r1, [r2, #4] - ldrb r0, [r0, #0xb] - cmp r0, #0x12 - beq _08064072 - cmp r0, #0x12 - bgt _08064068 - cmp r0, #0x11 - beq _0806406E - b _0806407A -_08064068: - cmp r0, #0x13 - beq _08064076 - b _0806407A -_0806406E: - movs r0, #1 - b _08064078 -_08064072: - movs r0, #2 - b _08064078 -_08064076: - movs r0, #3 -_08064078: - str r0, [r2, #4] -_0806407A: - pop {pc} - - thumb_func_start sub_0806407C -sub_0806407C: @ 0x0806407C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x18] - cmp r0, #0 - bne _080640E8 - adds r0, #1 - strb r0, [r5, #0x18] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x20 - strh r0, [r5, #0x12] - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #0x18 - ands r1, r0 - ldrb r0, [r4, #0x15] - cmp r0, #8 - beq _080640C4 - cmp r0, #8 - bgt _080640B2 - cmp r0, #0 - beq _080640BC - b _080640DA -_080640B2: - cmp r0, #0x10 - beq _080640CC - cmp r0, #0x18 - beq _080640D4 - b _080640DA -_080640BC: - cmp r1, #0x10 - bne _080640DA - movs r1, #8 - b _080640DA -_080640C4: - cmp r1, #0x18 - bne _080640DA - movs r1, #0x10 - b _080640DA -_080640CC: - cmp r1, #0 - bne _080640DA - movs r1, #0x18 - b _080640DA -_080640D4: - cmp r1, #8 - bne _080640DA - movs r1, #0 -_080640DA: - strb r1, [r4, #0x15] - adds r0, r1, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] - movs r0, #0x80 - strh r0, [r4, #0x24] -_080640E8: - ldrb r0, [r4, #0x14] - lsrs r2, r0, #1 - adds r1, r2, #4 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r1, r0 - beq _0806410A - adds r0, r4, #0 - adds r0, #0x70 - movs r1, #0 - ldrsb r1, [r0, r1] - adds r1, #4 - adds r1, r2, r1 - adds r0, r4, #0 - bl sub_08004260 -_0806410A: - adds r0, r4, #0 - bl sub_080AEF88 - movs r0, #0x2e - ldrsh r1, [r4, r0] - adds r2, r4, #0 - adds r2, #0x68 - movs r3, #0 - ldrsh r0, [r2, r3] - subs r1, r1, r0 - cmp r1, #0x10 - ble _0806412C - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r5, #0x12] -_0806412C: - movs r3, #0x10 - rsbs r3, r3, #0 - cmp r1, r3 - bge _0806413E - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r5, #0x12] -_0806413E: - movs r6, #0x32 - ldrsh r1, [r4, r6] - adds r2, r4, #0 - adds r2, #0x6a - movs r6, #0 - ldrsh r0, [r2, r6] - subs r1, r1, r0 - cmp r1, #0x10 - ble _0806415A - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r5, #0x12] -_0806415A: - cmp r1, r3 - bge _08064168 - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r5, #0x12] -_08064168: - ldrh r0, [r5, #0x12] - subs r0, #1 - strh r0, [r5, #0x12] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0806417A - ldr r1, _0806417C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0806417A: - pop {r4, r5, r6, pc} - .align 2, 0 -_0806417C: .4byte gUnk_02033280 - - thumb_func_start sub_08064180 -sub_08064180: @ 0x08064180 - push {lr} - movs r0, #7 - movs r1, #0x15 - movs r2, #7 - bl sub_0805EB00 - cmp r0, #0 - beq _08064194 - bl sub_0805E7BC -_08064194: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08064198 -sub_08064198: @ 0x08064198 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x71 - ldrb r1, [r4] - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - ble _080641AE - subs r0, r1, #1 - strb r0, [r4] -_080641AE: - ldr r0, _080641D8 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r0, r2] - movs r2, #0x32 - ldrsh r0, [r5, r2] - subs r1, r1, r0 - cmp r1, #2 - ble _080641C0 - movs r1, #2 -_080641C0: - movs r0, #2 - rsbs r0, r0, #0 - cmp r1, r0 - bge _080641CA - adds r1, r0, #0 -_080641CA: - adds r6, r4, #0 - cmp r1, #0 - beq _08064256 - cmp r1, #0 - ble _080641DC - movs r0, #0x10 - b _080641DE - .align 2, 0 -_080641D8: .4byte gUnk_03001160 -_080641DC: - movs r0, #0 -_080641DE: - strb r0, [r5, #0x15] - cmp r1, #0 - bge _080641E6 - rsbs r1, r1, #0 -_080641E6: - lsls r0, r1, #8 - strh r0, [r5, #0x24] - movs r0, #0x32 - ldrsh r4, [r5, r0] - adds r0, r5, #0 - bl sub_080AEF88 - movs r1, #0x32 - ldrsh r0, [r5, r1] - adds r6, r5, #0 - adds r6, #0x71 - cmp r4, r0 - beq _08064256 - ldr r0, _080642B0 @ =gUnk_03001160 - movs r2, #0x24 - ldrsh r1, [r0, r2] - movs r0, #0xa0 - lsls r0, r0, #1 - cmp r1, r0 - ble _08064222 - ldr r0, _080642B4 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #6 - bl __modsi3 - cmp r0, #0 - bne _08064222 - adds r0, r5, #0 - bl sub_080A29FC -_08064222: - adds r4, r5, #0 - adds r4, #0x71 - movs r0, #0xa - strb r0, [r4] - ldrb r0, [r5, #0x15] - bl sub_0806F5B0 - strb r0, [r5, #0x14] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x19 - adds r1, r5, #0 - adds r1, #0x70 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r1, #4 - adds r1, r0, r1 - adds r0, r5, #0 - adds r0, #0x58 - adds r6, r4, #0 - ldrb r0, [r0] - cmp r1, r0 - beq _08064256 - adds r0, r5, #0 - bl sub_08004260 -_08064256: - movs r0, #0 - ldrsb r0, [r6, r0] - cmp r0, #0 - bne _0806428C - ldr r1, _080642B0 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - bl sub_0806F5B0 - strb r0, [r5, #0x14] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x19 - adds r1, r5, #0 - adds r1, #0x70 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r1, r0, r1 - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r1, r0 - beq _0806428C - adds r0, r5, #0 - bl sub_08004260 -_0806428C: - adds r0, r5, #0 - bl sub_0806ED78 - movs r0, #0x36 - ldrsh r4, [r5, r0] - ldr r0, _080642B0 @ =gUnk_03001160 - ldrh r0, [r0, #0x36] - strh r0, [r5, #0x36] - cmp r4, #0 - bge _080642AC - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080642AC - adds r0, r5, #0 - bl sub_080A29FC -_080642AC: - pop {r4, r5, r6, pc} - .align 2, 0 -_080642B0: .4byte gUnk_03001160 -_080642B4: .4byte gUnk_030010A0 - - thumb_func_start sub_080642B8 -sub_080642B8: @ 0x080642B8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x71 - ldrb r1, [r4] - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - ble _080642CE - subs r0, r1, #1 - strb r0, [r4] -_080642CE: - ldr r0, _080642F8 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r2, #0x2e - ldrsh r0, [r5, r2] - subs r1, r1, r0 - cmp r1, #2 - ble _080642E0 - movs r1, #2 -_080642E0: - movs r0, #2 - rsbs r0, r0, #0 - cmp r1, r0 - bge _080642EA - adds r1, r0, #0 -_080642EA: - adds r6, r4, #0 - cmp r1, #0 - beq _08064376 - cmp r1, #0 - ble _080642FC - movs r0, #8 - b _080642FE - .align 2, 0 -_080642F8: .4byte gUnk_03001160 -_080642FC: - movs r0, #0x18 -_080642FE: - strb r0, [r5, #0x15] - cmp r1, #0 - bge _08064306 - rsbs r1, r1, #0 -_08064306: - lsls r0, r1, #8 - strh r0, [r5, #0x24] - movs r0, #0x2e - ldrsh r4, [r5, r0] - adds r0, r5, #0 - bl sub_080AEF88 - movs r1, #0x2e - ldrsh r0, [r5, r1] - adds r6, r5, #0 - adds r6, #0x71 - cmp r4, r0 - beq _08064376 - ldr r0, _080643D0 @ =gUnk_03001160 - movs r2, #0x24 - ldrsh r1, [r0, r2] - movs r0, #0xa0 - lsls r0, r0, #1 - cmp r1, r0 - ble _08064342 - ldr r0, _080643D4 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #6 - bl __modsi3 - cmp r0, #0 - bne _08064342 - adds r0, r5, #0 - bl sub_080A29FC -_08064342: - adds r4, r5, #0 - adds r4, #0x71 - movs r0, #0xa - strb r0, [r4] - ldrb r0, [r5, #0x15] - bl sub_0806F5B0 - strb r0, [r5, #0x14] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x19 - adds r1, r5, #0 - adds r1, #0x70 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r1, #4 - adds r1, r0, r1 - adds r0, r5, #0 - adds r0, #0x58 - adds r6, r4, #0 - ldrb r0, [r0] - cmp r1, r0 - beq _08064376 - adds r0, r5, #0 - bl sub_08004260 -_08064376: - movs r0, #0 - ldrsb r0, [r6, r0] - cmp r0, #0 - bne _080643AC - ldr r1, _080643D0 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - bl sub_0806F5B0 - strb r0, [r5, #0x14] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x19 - adds r1, r5, #0 - adds r1, #0x70 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r1, r0, r1 - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r1, r0 - beq _080643AC - adds r0, r5, #0 - bl sub_08004260 -_080643AC: - adds r0, r5, #0 - bl sub_0806ED78 - movs r0, #0x36 - ldrsh r4, [r5, r0] - ldr r0, _080643D0 @ =gUnk_03001160 - ldrh r0, [r0, #0x36] - strh r0, [r5, #0x36] - cmp r4, #0 - bge _080643CC - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080643CC - adds r0, r5, #0 - bl sub_080A29FC -_080643CC: - pop {r4, r5, r6, pc} - .align 2, 0 -_080643D0: .4byte gUnk_03001160 -_080643D4: .4byte gUnk_030010A0 - - thumb_func_start sub_080643D8 -sub_080643D8: @ 0x080643D8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - bne _080643EA - movs r3, #0 - b _08064406 -_080643EA: - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - bne _080643F8 - movs r3, #1 - b _08064406 -_080643F8: - movs r0, #3 - bl sub_0807CA84 - movs r3, #3 - cmp r0, #0 - bne _08064406 - movs r3, #2 -_08064406: - ldrb r1, [r4, #0xb] - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - ldr r2, _08064424 @ =gUnk_0810F6D4 - lsls r1, r3, #1 - lsls r0, r0, #3 - adds r1, r1, r0 - adds r1, r1, r2 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, pc} - .align 2, 0 -_08064424: .4byte gUnk_0810F6D4 - - thumb_func_start sub_08064428 -sub_08064428: @ 0x08064428 - push {lr} - adds r3, r0, #0 - ldr r0, _0806444C @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r1, r0, #2 - cmp r1, #0 - bge _08064438 - movs r1, #0 -_08064438: - ldrb r2, [r3, #0xb] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _08064454 - ldrb r0, [r3, #0xb] - lsls r0, r0, #3 - ldr r1, _08064450 @ =gUnk_0810CF4C - b _08064460 - .align 2, 0 -_0806444C: .4byte gUnk_02002A40 -_08064450: .4byte gUnk_0810CF4C -_08064454: - movs r0, #0x7f - ands r0, r2 - lsls r0, r0, #6 - lsls r1, r1, #3 - ldr r2, _0806446C @ =gUnk_0810D0A4 - adds r1, r1, r2 -_08064460: - adds r1, r0, r1 - adds r0, r3, #0 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806446C: .4byte gUnk_0810D0A4 - - thumb_func_start sub_08064470 -sub_08064470: @ 0x08064470 - push {lr} - ldr r0, _08064484 @ =gUnk_03003F80 - adds r0, #0xab - ldrb r0, [r0] - cmp r0, #1 - beq _0806447E - movs r0, #0 -_0806447E: - str r0, [r1, #0x14] - pop {pc} - .align 2, 0 -_08064484: .4byte gUnk_03003F80 - - thumb_func_start sub_08064488 -sub_08064488: @ 0x08064488 - push {lr} - ldr r1, _080644A0 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #2 - beq _0806449C - adds r1, #0xab - movs r0, #0 - strb r0, [r1] -_0806449C: - pop {pc} - .align 2, 0 -_080644A0: .4byte gUnk_03003F80 - - thumb_func_start sub_080644A4 -sub_080644A4: @ 0x080644A4 - ldr r0, _080644B0 @ =gUnk_03003F80 - adds r0, #0xab - movs r1, #0 - strb r1, [r0] - bx lr - .align 2, 0 -_080644B0: .4byte gUnk_03003F80 - - thumb_func_start sub_080644B4 -sub_080644B4: @ 0x080644B4 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldrb r1, [r0, #0x14] - ldr r0, [r2, #4] - cmp r1, r0 - bne _080644C4 - movs r3, #1 -_080644C4: - str r3, [r2, #0x14] - pop {pc} - - thumb_func_start sub_080644C8 -sub_080644C8: @ 0x080644C8 - push {r4, lr} - adds r2, r0, #0 - movs r1, #0x2e - ldrsh r0, [r2, r1] - ldr r3, _08064500 @ =gUnk_03000BF0 - movs r4, #0xa - ldrsh r1, [r3, r4] - subs r1, r0, r1 - adds r0, r1, #0 - adds r0, #8 - cmp r0, #0 - blt _08064504 - adds r0, r1, #0 - subs r0, #8 - cmp r0, #0xf0 - bgt _08064504 - movs r0, #0x32 - ldrsh r1, [r2, r0] - movs r2, #0xc - ldrsh r0, [r3, r2] - subs r0, r1, r0 - cmp r0, #0 - blt _08064504 - subs r0, #0x18 - cmp r0, #0xa0 - bgt _08064504 - movs r0, #1 - b _08064506 - .align 2, 0 -_08064500: .4byte gUnk_03000BF0 -_08064504: - movs r0, #0 -_08064506: - pop {r4, pc} - - thumb_func_start sub_08064508 -sub_08064508: @ 0x08064508 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0806451E - adds r0, r2, #0 - bl sub_08064570 - b _08064522 -_0806451E: - bl sub_0805E780 -_08064522: - pop {pc} - - thumb_func_start sub_08064524 -sub_08064524: @ 0x08064524 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0x7f - ands r2, r0 - ldrb r5, [r4, #0x1e] - ldrb r0, [r4, #9] - cmp r0, #0x16 - bne _08064540 - cmp r2, #0 - beq _08064548 - adds r2, #0xa - b _08064548 -_08064540: - cmp r2, #0 - beq _08064546 - adds r2, #0x1a -_08064546: - adds r5, #0x10 -_08064548: - subs r2, #1 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - adds r2, r5, #0 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08064570 -sub_08064570: @ 0x08064570 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #1 - beq _080645EA - cmp r5, #1 - bgt _08064584 - cmp r5, #0 - beq _0806458A - b _0806463C -_08064584: - cmp r5, #2 - beq _0806462C - b _0806463C -_0806458A: - ldrb r1, [r4, #9] - movs r0, #0x16 - eors r1, r0 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _080645D0 @ =gUnk_0810F874 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806463C - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - strb r5, [r4, #0xe] - adds r0, r4, #0 - bl sub_0805ACC0 - adds r2, r0, #0 - cmp r2, #0 - bne _080645D4 - ldrh r0, [r4, #0x2e] - adds r1, r4, #0 - adds r1, #0x6c - strh r0, [r1] - ldrh r0, [r4, #0x32] - adds r1, #2 - strh r0, [r1] - b _080645E0 - .align 2, 0 -_080645D0: .4byte gUnk_0810F874 -_080645D4: - lsrs r1, r2, #0x10 - adds r0, r4, #0 - adds r0, #0x6c - strh r1, [r0] - adds r0, #2 - strh r2, [r0] -_080645E0: - movs r0, #0 - str r0, [r4, #0x68] - adds r0, r4, #0 - bl sub_0807DD50 -_080645EA: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _0806463C - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r1, #0 - strb r0, [r4, #0xc] - strb r1, [r2] - ldr r1, _08064628 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004260 - ldr r0, [r4, #0x68] - cmp r0, #0 - beq _0806463C - bl _call_via_r0 - b _0806463C - .align 2, 0 -_08064628: .4byte gUnk_03001160 -_0806462C: - ldr r0, _08064640 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0806463C - movs r0, #1 - strb r0, [r4, #0xc] -_0806463C: - pop {r4, r5, pc} - .align 2, 0 -_08064640: .4byte gUnk_02000050 - - thumb_func_start sub_08064644 -sub_08064644: @ 0x08064644 - ldr r1, [r1, #4] - str r1, [r0, #0x68] - bx lr - .align 2, 0 - - thumb_func_start sub_0806464C -sub_0806464C: @ 0x0806464C - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - beq _0806465E - movs r4, #2 - b _08064674 -_0806465E: - movs r0, #0xa0 - bl sub_0807CBD0 - cmp r0, #0 - bne _08064672 - movs r4, #0 - movs r0, #0xa0 - bl sub_0807CCB4 - b _08064674 -_08064672: - movs r4, #1 -_08064674: - ldr r0, _08064684 @ =gUnk_0810F88C - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_08064684: .4byte gUnk_0810F88C - - thumb_func_start sub_08064688 -sub_08064688: @ 0x08064688 - push {lr} - ldr r1, _0806469C @ =gUnk_02002A40 - ldrb r1, [r1, #8] - lsls r1, r1, #3 - ldr r2, _080646A0 @ =gUnk_0810F894 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806469C: .4byte gUnk_02002A40 -_080646A0: .4byte gUnk_0810F894 - - thumb_func_start sub_080646A4 -sub_080646A4: @ 0x080646A4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x18] - cmp r0, #0 - bne _08064710 - adds r0, #1 - strb r0, [r5, #0x18] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x20 - strh r0, [r5, #0x12] - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #0x18 - ands r1, r0 - ldrb r0, [r4, #0x15] - cmp r0, #8 - beq _080646EC - cmp r0, #8 - bgt _080646DA - cmp r0, #0 - beq _080646E4 - b _08064702 -_080646DA: - cmp r0, #0x10 - beq _080646F4 - cmp r0, #0x18 - beq _080646FC - b _08064702 -_080646E4: - cmp r1, #0x10 - bne _08064702 - movs r1, #8 - b _08064702 -_080646EC: - cmp r1, #0x18 - bne _08064702 - movs r1, #0x10 - b _08064702 -_080646F4: - cmp r1, #0 - bne _08064702 - movs r1, #0x18 - b _08064702 -_080646FC: - cmp r1, #8 - bne _08064702 - movs r1, #0 -_08064702: - strb r1, [r4, #0x15] - adds r0, r1, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] - movs r0, #0x80 - strh r0, [r4, #0x24] -_08064710: - ldr r0, [r5, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r5, #8] - adds r0, r4, #0 - bl sub_080AEF88 - movs r0, #0x2e - ldrsh r1, [r4, r0] - adds r2, r4, #0 - adds r2, #0x6c - movs r3, #0 - ldrsh r0, [r2, r3] - subs r1, r1, r0 - cmp r1, #0x10 - ble _0806473A - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r5, #0x12] -_0806473A: - movs r3, #0x10 - rsbs r3, r3, #0 - cmp r1, r3 - bge _0806474C - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r5, #0x12] -_0806474C: - movs r6, #0x32 - ldrsh r1, [r4, r6] - adds r2, r4, #0 - adds r2, #0x6e - movs r6, #0 - ldrsh r0, [r2, r6] - subs r1, r1, r0 - cmp r1, #0x10 - ble _08064768 - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r5, #0x12] -_08064768: - cmp r1, r3 - bge _08064776 - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r5, #0x12] -_08064776: - ldrh r0, [r5, #0x12] - subs r0, #1 - strh r0, [r5, #0x12] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08064788 - ldr r1, _0806478C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_08064788: - pop {r4, r5, r6, pc} - .align 2, 0 -_0806478C: .4byte gUnk_02033280 - - thumb_func_start sub_08064790 -sub_08064790: @ 0x08064790 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _080647C2 - cmp r0, #1 - bgt _080647A4 - cmp r0, #0 - beq _080647AA - b _08064824 -_080647A4: - cmp r0, #2 - beq _0806480A - b _08064824 -_080647AA: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0807DD50 - b _08064824 -_080647C2: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _08064800 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - bl sub_0806F118 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r0, #0x10 - strb r1, [r0] - ldr r1, _080647FC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - b _08064824 - .align 2, 0 -_080647FC: .4byte gUnk_03001160 -_08064800: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _08064824 -_0806480A: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08064824 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x68 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC -_08064824: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08064828 -sub_08064828: @ 0x08064828 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r5, r0, #0 - ldr r6, _08064858 @ =gUnk_02002A40 - adds r0, r4, #0 - bl sub_08002632 - ldr r2, _0806485C @ =0x00000141 - adds r1, r6, r2 - adds r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0 - beq _0806484E - ldrb r0, [r6, #8] - cmp r0, #6 - bhi _0806484E - movs r5, #0 -_0806484E: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08078784 - pop {r4, r5, r6, pc} - .align 2, 0 -_08064858: .4byte gUnk_02002A40 -_0806485C: .4byte 0x00000141 - - thumb_func_start sub_08064860 -sub_08064860: @ 0x08064860 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08064886 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #6 - bl sub_080042AC - b _0806488C -_08064886: - adds r0, r2, #0 - bl sub_080042B8 -_0806488C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08064890 -sub_08064890: @ 0x08064890 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _080648C2 - cmp r0, #1 - bgt _080648A4 - cmp r0, #0 - beq _080648AA - b _08064924 -_080648A4: - cmp r0, #2 - beq _0806490A - b _08064924 -_080648AA: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0807DD50 - b _08064924 -_080648C2: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _08064900 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - bl sub_0806F118 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r0, #0x10 - strb r1, [r0] - ldr r1, _080648FC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - b _08064924 - .align 2, 0 -_080648FC: .4byte gUnk_03001160 -_08064900: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _08064924 -_0806490A: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08064924 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x68 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC -_08064924: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08064928 -sub_08064928: @ 0x08064928 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r5, r0, #0 - ldr r6, _08064958 @ =gUnk_02002A40 - adds r0, r4, #0 - bl sub_08002632 - ldr r2, _0806495C @ =0x00000141 - adds r1, r6, r2 - adds r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0 - beq _0806494E - ldrb r0, [r6, #8] - cmp r0, #6 - bhi _0806494E - movs r5, #0 -_0806494E: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08078784 - pop {r4, r5, r6, pc} - .align 2, 0 -_08064958: .4byte gUnk_02002A40 -_0806495C: .4byte 0x00000141 - - thumb_func_start sub_08064960 -sub_08064960: @ 0x08064960 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08064986 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #6 - bl sub_080042AC - b _0806498C -_08064986: - adds r0, r2, #0 - bl sub_080042B8 -_0806498C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08064990 -sub_08064990: @ 0x08064990 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _080649C2 - cmp r0, #1 - bgt _080649A4 - cmp r0, #0 - beq _080649AA - b _08064A24 -_080649A4: - cmp r0, #2 - beq _08064A0A - b _08064A24 -_080649AA: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0807DD50 - b _08064A24 -_080649C2: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _08064A00 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - bl sub_0806F118 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r0, #0x10 - strb r1, [r0] - ldr r1, _080649FC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - b _08064A24 - .align 2, 0 -_080649FC: .4byte gUnk_03001160 -_08064A00: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _08064A24 -_08064A0A: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08064A24 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x68 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC -_08064A24: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08064A28 -sub_08064A28: @ 0x08064A28 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r5, r0, #0 - ldr r6, _08064A58 @ =gUnk_02002A40 - adds r0, r4, #0 - bl sub_08002632 - ldr r2, _08064A5C @ =0x00000141 - adds r1, r6, r2 - adds r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0 - beq _08064A4E - ldrb r0, [r6, #8] - cmp r0, #6 - bhi _08064A4E - movs r5, #0 -_08064A4E: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08078784 - pop {r4, r5, r6, pc} - .align 2, 0 -_08064A58: .4byte gUnk_02002A40 -_08064A5C: .4byte 0x00000141 - - thumb_func_start sub_08064A60 -sub_08064A60: @ 0x08064A60 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08064A86 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #6 - bl sub_080042AC - b _08064A8C -_08064A86: - adds r0, r2, #0 - bl sub_080042B8 -_08064A8C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08064A90 -sub_08064A90: @ 0x08064A90 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08064ABC - ldr r0, _08064AB8 @ =gUnk_0810FA44 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - b _08064B42 - .align 2, 0 -_08064AB8: .4byte gUnk_0810FA44 -_08064ABC: - ldrb r1, [r4, #0xc] - adds r5, r1, #0 - cmp r5, #0 - bne _08064AE4 - ldr r1, _08064AE0 @ =gUnk_0810FA38 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08064B42 - movs r0, #1 - strb r0, [r4, #0xc] - strb r5, [r4, #0xe] - adds r0, r4, #0 - bl sub_0807DD50 - b _08064B42 - .align 2, 0 -_08064AE0: .4byte gUnk_0810FA38 -_08064AE4: - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - beq _08064B00 - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08064B42 - movs r0, #1 - strb r0, [r4, #0xc] - b _08064B42 -_08064B00: - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - bne _08064B34 - movs r0, #0xff - orrs r0, r1 - strb r0, [r4, #0xc] - strb r3, [r2] - ldr r1, _08064B30 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _08064B42 - .align 2, 0 -_08064B30: .4byte gUnk_03001160 -_08064B34: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - adds r0, r4, #0 - bl sub_08064C9C -_08064B42: - pop {r4, r5, pc} - - thumb_func_start sub_08064B44 -sub_08064B44: @ 0x08064B44 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08064B80 @ =gUnk_0810FA38 - bl sub_0806FDEC - cmp r0, #0 - beq _08064B7E - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - ldr r1, _08064B84 @ =gUnk_0810FA5A - adds r0, r4, #0 - movs r2, #0 - bl sub_0806EE04 - adds r0, r4, #0 - bl sub_08064CC0 - movs r1, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] -_08064B7E: - pop {r4, pc} - .align 2, 0 -_08064B80: .4byte gUnk_0810FA38 -_08064B84: .4byte gUnk_0810FA5A - - thumb_func_start sub_08064B88 -sub_08064B88: @ 0x08064B88 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x39 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #1 - beq _08064BFA - cmp r0, #1 - bgt _08064BA2 - cmp r0, #0 - beq _08064BA8 - b _08064BFA -_08064BA2: - cmp r0, #2 - beq _08064BCE - b _08064BFA -_08064BA8: - adds r0, r4, #0 - bl sub_0806EE20 - adds r2, r0, #0 - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r4, #0x14] - cmp r2, #0 - beq _08064BC6 - movs r1, #0x7f - ands r1, r2 - adds r0, r4, #0 - bl sub_08004260 -_08064BC6: - adds r0, r4, #0 - bl sub_08004274 - b _08064C28 -_08064BCE: - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806EDC4 - adds r1, r0, #0 - cmp r1, #0 - bge _08064BE0 - ldrb r1, [r4, #0x14] -_08064BE0: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08004260 - movs r0, #0 - strb r0, [r5] - adds r0, r4, #0 - bl sub_0806F118 - b _08064C28 -_08064BFA: - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806EDC4 - adds r1, r0, #0 - cmp r1, #0 - bge _08064C0C - ldrb r1, [r4, #0x14] -_08064C0C: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08004260 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08064CD8 -_08064C28: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08064C2C -sub_08064C2C: @ 0x08064C2C - push {lr} - adds r2, r0, #0 - ldr r0, _08064C4C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08064C48 - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0xf] - adds r0, r2, #0 - bl sub_08004260 -_08064C48: - pop {pc} - .align 2, 0 -_08064C4C: .4byte gUnk_02000050 - - thumb_func_start sub_08064C50 -sub_08064C50: @ 0x08064C50 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08064C68 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xf] - adds r0, r4, #0 - bl sub_08004260 -_08064C68: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08064C6C -sub_08064C6C: @ 0x08064C6C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0x3f - ands r2, r0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - - thumb_func_start sub_08064C9C -sub_08064C9C: @ 0x08064C9C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _08064CB8 - ldr r0, _08064CBC @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _08064CB8 - adds r0, r2, #0 - bl sub_080A29BC -_08064CB8: - pop {pc} - .align 2, 0 -_08064CBC: .4byte gUnk_030010A0 - - thumb_func_start sub_08064CC0 -sub_08064CC0: @ 0x08064CC0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_08064CD8 -sub_08064CD8: @ 0x08064CD8 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #2 - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _08064CF4 - movs r0, #0x73 - bl sub_0807CBD0 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f -_08064CF4: - ldr r0, _08064D04 @ =gUnk_0810FA54 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_08064D04: .4byte gUnk_0810FA54 - - thumb_func_start sub_08064D08 -sub_08064D08: @ 0x08064D08 - movs r1, #1 - strb r1, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_08064D10 -sub_08064D10: @ 0x08064D10 - movs r1, #0 - strb r1, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_08064D18 -sub_08064D18: @ 0x08064D18 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08064D50 - ldr r1, _08064D4C @ =gUnk_0810FA38 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08064D56 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _08064D56 - .align 2, 0 -_08064D4C: .4byte gUnk_0810FA38 -_08064D50: - adds r0, r4, #0 - bl sub_08004274 -_08064D56: - pop {r4, pc} - - thumb_func_start sub_08064D58 -sub_08064D58: @ 0x08064D58 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08064D6E - adds r0, r2, #0 - bl sub_08064DE4 - b _08064D74 -_08064D6E: - adds r0, r2, #0 - bl sub_08064D78 -_08064D74: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08064D78 -sub_08064D78: @ 0x08064D78 - push {lr} - ldr r2, _08064D8C @ =gUnk_0810FBFC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08064D8C: .4byte gUnk_0810FBFC - - thumb_func_start sub_08064D90 -sub_08064D90: @ 0x08064D90 - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_080042AC - movs r0, #1 - strb r0, [r4, #0xf] - pop {r4, pc} - - thumb_func_start sub_08064DA0 -sub_08064DA0: @ 0x08064DA0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08064EE8 - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08064DC8 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #6 - bl sub_080042AC - movs r0, #0 - bl sub_08056378 -_08064DC8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08064DCC -sub_08064DCC: @ 0x08064DCC - push {r4, lr} - adds r4, r0, #0 - bl sub_08064EE8 - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - movs r0, #1 - strb r0, [r4, #0xc] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08064DE4 -sub_08064DE4: @ 0x08064DE4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08064E1A - cmp r0, #1 - bgt _08064DF8 - cmp r0, #0 - beq _08064DFE - b _08064E6A -_08064DF8: - cmp r0, #2 - beq _08064E56 - b _08064E6A -_08064DFE: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #4 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0807DD50 - b _08064E6A -_08064E1A: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _08064E4C - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _08064E48 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _08064E6A - .align 2, 0 -_08064E48: .4byte gUnk_03001160 -_08064E4C: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _08064E6A -_08064E56: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08064E6A - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801E99C -_08064E6A: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r5, #0xf - ands r5, r1 - adds r0, r5, #0 - eors r0, r1 - strb r0, [r2] - cmp r5, #0 - beq _08064EA0 - movs r1, #0x29 - cmp r5, #3 - bne _08064E86 - movs r1, #0x2a -_08064E86: - adds r0, r4, #0 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08064EA0 - cmp r5, #2 - bne _08064EA0 - ldrb r0, [r2, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r2, #0x18] -_08064EA0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08064EA4 -sub_08064EA4: @ 0x08064EA4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r5, r4, #0 - adds r5, #0x68 - strb r0, [r5] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08064EBE - cmp r0, #3 - beq _08064EC2 - b _08064ED8 -_08064EBE: - movs r0, #0x59 - b _08064EC4 -_08064EC2: - movs r0, #0x5a -_08064EC4: - bl sub_0801E7F4 - cmp r0, #0 - beq _08064ED8 - movs r0, #0xc - bl sub_0807CA84 - cmp r0, #0 - bne _08064ED8 - strb r0, [r5] -_08064ED8: - adds r0, r4, #0 - adds r0, #0x68 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08064EE8 -sub_08064EE8: @ 0x08064EE8 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r5, #0xf - ands r5, r1 - adds r0, r5, #0 - eors r0, r1 - strb r0, [r2] - cmp r5, #0 - beq _08064F26 - movs r1, #0x2a - cmp r5, #3 - beq _08064F0C - movs r1, #0x29 -_08064F0C: - adds r0, r4, #0 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08064F26 - cmp r5, #2 - bne _08064F26 - ldrb r0, [r2, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r2, #0x18] -_08064F26: - pop {r4, r5, pc} - - thumb_func_start sub_08064F28 -sub_08064F28: @ 0x08064F28 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - mov r8, r1 - movs r0, #0 - str r0, [r1, #0x14] - ldr r1, _08064F60 @ =gUnk_0810FC50 - ldrb r0, [r6, #0xa] - adds r0, r0, r1 - ldrb r7, [r0] - adds r0, r7, #0 - bl sub_0807CC3C - cmp r0, #0 - bne _08064F84 - ldr r4, _08064F64 @ =gUnk_02002A40 - adds r0, r6, #0 - bl sub_08002632 - ldr r1, _08064F68 @ =0x00000141 - adds r4, r4, r1 - adds r0, r0, r4 - ldrb r4, [r0] - cmp r4, #1 - bls _08064F6C - movs r5, #3 - b _08064F7E - .align 2, 0 -_08064F60: .4byte gUnk_0810FC50 -_08064F64: .4byte gUnk_02002A40 -_08064F68: .4byte 0x00000141 -_08064F6C: - movs r0, #0xc - bl sub_0807CA84 - movs r5, #2 - cmp r0, #0 - bne _08064F7E - rsbs r0, r4, #0 - orrs r0, r4 - lsrs r5, r0, #0x1f -_08064F7E: - movs r4, #1 - rsbs r4, r4, #0 - b _08064FD2 -_08064F84: - movs r0, #0x3a - bl sub_0807CC30 - cmp r0, #0 - bne _08064FCE - ldr r0, _08064FB0 @ =gUnk_02002A40 - ldr r1, _08064FB4 @ =0x00000117 - adds r0, r0, r1 - ldrb r1, [r0] - movs r0, #0x64 - subs r4, r0, r1 - cmp r4, #0 - bgt _08064FB8 - movs r5, #8 - movs r4, #0 - movs r0, #0x3a - bl sub_0807CD04 - movs r0, #1 - mov r1, r8 - str r0, [r1, #0x14] - b _08064FD2 - .align 2, 0 -_08064FB0: .4byte gUnk_02002A40 -_08064FB4: .4byte 0x00000117 -_08064FB8: - movs r5, #7 - cmp r4, #9 - ble _08064FC0 - movs r5, #6 -_08064FC0: - cmp r4, #0x27 - ble _08064FC6 - movs r5, #5 -_08064FC6: - cmp r4, #0x45 - ble _08064FD2 - movs r5, #4 - b _08064FD2 -_08064FCE: - movs r5, #8 - movs r4, #0 -_08064FD2: - ldr r2, _08065008 @ =gUnk_0810FC08 - ldrb r1, [r6, #0xa] - lsls r0, r1, #3 - adds r0, r0, r1 - adds r0, r0, r5 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, r6, #0 - bl sub_08056398 - cmp r4, #0 - ble _08064FF4 - ldr r1, _0806500C @ =gUnk_02000050 - lsls r0, r4, #0x10 - lsrs r0, r0, #0x10 - str r0, [r1, #0x10] -_08064FF4: - adds r0, r7, #0 - bl sub_0807CC3C - cmp r0, #0 - bne _08065010 - adds r0, r7, #0 - bl sub_0807CD10 - b _08065016 - .align 2, 0 -_08065008: .4byte gUnk_0810FC08 -_0806500C: .4byte gUnk_02000050 -_08065010: - adds r0, r7, #0 - bl sub_0807CD8C -_08065016: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0806501C -sub_0806501C: @ 0x0806501C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806504A - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - movs r1, #6 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _08065042 - movs r1, #0xa -_08065042: - adds r0, r2, #0 - bl sub_080042AC - b _08065050 -_0806504A: - adds r0, r2, #0 - bl sub_08064EE8 -_08065050: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08065054 -sub_08065054: @ 0x08065054 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806507C @ =gUnk_0810FDA4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0807DF74 - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_0806507C: .4byte gUnk_0810FDA4 - - thumb_func_start sub_08065080 -sub_08065080: @ 0x08065080 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08078778 - ldr r3, _080650C4 @ =gUnk_0810FDA0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_08078850 - ldr r1, _080650C8 @ =gUnk_080142B0 - adds r0, r4, #0 - bl sub_0807DAD0 - adds r4, #0x84 - str r0, [r4] - pop {r4, pc} - .align 2, 0 -_080650C4: .4byte gUnk_0810FDA0 -_080650C8: .4byte gUnk_080142B0 - - thumb_func_start sub_080650CC -sub_080650CC: @ 0x080650CC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldr r6, _080650F8 @ =gUnk_02034350 - ldr r0, [r6, #0x68] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08065100 - movs r1, #0 - movs r0, #4 - strb r0, [r5, #0xc] - strb r1, [r5, #0xd] - adds r0, r5, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r1, _080650FC @ =gUnk_080143C0 - bl sub_0807DB88 - b _080651A6 - .align 2, 0 -_080650F8: .4byte gUnk_02034350 -_080650FC: .4byte gUnk_080143C0 -_08065100: - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x20 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - bne _0806517C - adds r3, r5, #0 - adds r3, #0x39 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _0806517C - strb r4, [r3] - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - adds r0, r5, #0 - movs r1, #7 - bl sub_08004260 - ldrb r0, [r6, #6] - cmp r0, #0 - bne _0806513C - ldr r7, _08065138 @ =0x00002C01 - b _0806515E - .align 2, 0 -_08065138: .4byte 0x00002C01 -_0806513C: - ldrb r0, [r6, #6] - bl sub_08053FD0 - adds r7, r0, #0 - ldrb r0, [r6, #6] - bl sub_08053FE0 - mov r8, r0 - movs r0, #4 - strb r0, [r5, #0xc] - strb r4, [r5, #0xd] - adds r0, r5, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r1, _08065174 @ =gUnk_08014384 - bl sub_0807DB88 -_0806515E: - adds r0, r7, #0 - adds r1, r5, #0 - bl sub_08056398 - ldr r1, _08065178 @ =gUnk_02000050 - mov r2, r8 - lsls r0, r2, #0x10 - lsrs r0, r0, #0x10 - str r0, [r1, #0x10] - b _080651A6 - .align 2, 0 -_08065174: .4byte gUnk_08014384 -_08065178: .4byte gUnk_02000050 -_0806517C: - ldrb r1, [r2] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080651A0 - ldr r4, _0806519C @ =gUnk_0810FDB8 - bl sub_08000E50 - movs r1, #0xf - ands r1, r0 - adds r1, r1, r4 - ldrb r1, [r1] - adds r0, r5, #0 - bl sub_08004260 - b _080651A6 - .align 2, 0 -_0806519C: .4byte gUnk_0810FDB8 -_080651A0: - adds r0, r5, #0 - bl sub_08004274 -_080651A6: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080651AC -sub_080651AC: @ 0x080651AC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldr r0, _080651D4 @ =gUnk_02000050 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - bne _080651D2 - adds r0, r4, #0 - adds r0, #0x39 - strb r1, [r0] - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 -_080651D2: - pop {r4, pc} - .align 2, 0 -_080651D4: .4byte gUnk_02000050 - - thumb_func_start sub_080651D8 -sub_080651D8: @ 0x080651D8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldr r1, _080651F4 @ =gUnk_0810FDC8 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080651F4: .4byte gUnk_0810FDC8 - - thumb_func_start sub_080651F8 -sub_080651F8: @ 0x080651F8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - bne _0806522A - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - movs r2, #0x18 - rsbs r2, r2, #0 - adds r0, r4, #0 - movs r1, #8 - bl sub_080A2CFC - movs r0, #1 - bl sub_08078A90 -_0806522A: - pop {r4, pc} - - thumb_func_start sub_0806522C -sub_0806522C: @ 0x0806522C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08065248 - ldrb r0, [r1, #0xd] - adds r0, #1 - strb r0, [r1, #0xd] - ldr r0, _0806524C @ =0x00002C16 - bl sub_08056398 -_08065248: - pop {pc} - .align 2, 0 -_0806524C: .4byte 0x00002C16 - - thumb_func_start sub_08065250 -sub_08065250: @ 0x08065250 - push {r4, lr} - adds r4, r0, #0 - bl sub_08056338 - adds r1, r0, #0 - cmp r1, #0 - beq _08065264 - cmp r1, #1 - beq _0806527E - b _0806528A -_08065264: - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - movs r2, #0x18 - rsbs r2, r2, #0 - adds r0, r4, #0 - movs r1, #8 - bl sub_080A2CFC - b _0806528A -_0806527E: - movs r0, #0 - movs r1, #7 - strb r1, [r4, #0xd] - strb r0, [r4, #0xe] - movs r0, #2 - strb r0, [r4, #0xf] -_0806528A: - pop {r4, pc} - - thumb_func_start sub_0806528C -sub_0806528C: @ 0x0806528C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080652A8 - ldrb r0, [r1, #0xd] - adds r0, #1 - strb r0, [r1, #0xd] - ldr r0, _080652AC @ =0x00002C18 - bl sub_08056398 -_080652A8: - pop {pc} - .align 2, 0 -_080652AC: .4byte 0x00002C18 - - thumb_func_start sub_080652B0 -sub_080652B0: @ 0x080652B0 - push {lr} - adds r2, r0, #0 - ldr r0, _080652DC @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _080652DA - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] - movs r0, #0xa - strb r0, [r2, #0xe] - ldr r1, _080652E0 @ =gUnk_02034350 - ldrb r0, [r2, #0xf] - str r0, [r1, #0x68] - movs r0, #0x36 - movs r1, #0 - movs r2, #0 - bl sub_080A7C00 -_080652DA: - pop {pc} - .align 2, 0 -_080652DC: .4byte gUnk_02000050 -_080652E0: .4byte gUnk_02034350 - - thumb_func_start sub_080652E4 -sub_080652E4: @ 0x080652E4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - cmp r0, #0 - beq _080652F4 - subs r0, #1 - strb r0, [r1, #0xe] - b _08065308 -_080652F4: - ldr r0, _0806530C @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #8 - beq _08065308 - ldrb r0, [r1, #0xd] - adds r0, #1 - strb r0, [r1, #0xd] - ldr r0, _08065310 @ =0x00002C19 - bl sub_08056398 -_08065308: - pop {pc} - .align 2, 0 -_0806530C: .4byte gUnk_03001160 -_08065310: .4byte 0x00002C19 - - thumb_func_start sub_08065314 -sub_08065314: @ 0x08065314 - push {lr} - adds r2, r0, #0 - ldr r0, _08065334 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08065332 - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] - movs r0, #3 - movs r1, #3 - bl sub_080A7138 -_08065332: - pop {pc} - .align 2, 0 -_08065334: .4byte gUnk_02000050 - - thumb_func_start sub_08065338 -sub_08065338: @ 0x08065338 - push {lr} - adds r2, r0, #0 - ldr r0, _08065360 @ =gUnk_02000050 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - bne _0806535C - movs r0, #1 - strb r0, [r2, #0xc] - strb r1, [r2, #0xd] - ldr r1, _08065364 @ =gUnk_02034350 - ldrb r0, [r2, #0xf] - str r0, [r1, #0x68] - adds r0, r2, #0 - movs r1, #4 - bl sub_08004260 -_0806535C: - pop {pc} - .align 2, 0 -_08065360: .4byte gUnk_02000050 -_08065364: .4byte gUnk_02034350 - - thumb_func_start sub_08065368 -sub_08065368: @ 0x08065368 - push {lr} - bl sub_08004274 - pop {pc} - - thumb_func_start sub_08065370 -sub_08065370: @ 0x08065370 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - mov r8, r1 - movs r6, #1 - ldr r0, _0806539C @ =gUnk_02034350 - ldrb r5, [r0, #6] - movs r0, #0 - mov sb, r0 - cmp r5, #0x66 - beq _0806541A - cmp r5, #0x66 - bhi _080653AA - cmp r5, #0x61 - beq _08065426 - cmp r5, #0x61 - bhi _080653A0 - cmp r5, #0xd - beq _080653D0 - b _0806543C - .align 2, 0 -_0806539C: .4byte gUnk_02034350 -_080653A0: - cmp r5, #0x64 - beq _08065414 - cmp r5, #0x65 - beq _08065420 - b _0806543C -_080653AA: - cmp r5, #0x6c - blo _0806543C - cmp r5, #0x6d - bls _080653EC - cmp r5, #0x6f - bhi _0806543C - ldr r2, _080653C8 @ =gUnk_080FD5A4 - ldr r1, _080653CC @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xaf - ldrb r0, [r0] - adds r0, r0, r2 - adds r1, #0xad - b _080653FA - .align 2, 0 -_080653C8: .4byte gUnk_080FD5A4 -_080653CC: .4byte gUnk_02002A40 -_080653D0: - movs r0, #0xd - bl sub_0807CA84 - cmp r0, #0 - bne _080653E4 - movs r0, #0xe - bl sub_0807CA84 - cmp r0, #0 - beq _0806543C -_080653E4: - ldr r0, _080653E8 @ =0x00002C0B - b _080654C2 - .align 2, 0 -_080653E8: .4byte 0x00002C0B -_080653EC: - ldr r2, _08065408 @ =gUnk_080FD5A0 - ldr r1, _0806540C @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xae - ldrb r0, [r0] - adds r0, r0, r2 - adds r1, #0xac -_080653FA: - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bhi _0806543C - ldr r0, _08065410 @ =0x00002C0E - b _080654C2 - .align 2, 0 -_08065408: .4byte gUnk_080FD5A0 -_0806540C: .4byte gUnk_02002A40 -_08065410: .4byte 0x00002C0E -_08065414: - movs r1, #0x55 - mov sb, r1 - b _0806543C -_0806541A: - movs r0, #0x56 - mov sb, r0 - b _0806543C -_08065420: - movs r1, #0xcd - mov sb, r1 - b _0806543C -_08065426: - ldr r0, _08065494 @ =gUnk_02002A40 - adds r0, #0xc2 - ldrh r1, [r0] - ldr r0, _08065498 @ =0x000003E6 - cmp r1, r0 - bls _0806543C - ldr r0, _0806549C @ =0x00002C0E - adds r1, r4, #0 - bl sub_08056398 - movs r6, #0 -_0806543C: - cmp r6, #0 - beq _080654C8 - adds r0, r5, #0 - bl sub_08053FE0 - adds r6, r0, #0 - ldr r7, _08065494 @ =gUnk_02002A40 - adds r0, r7, #0 - adds r0, #0xc0 - ldrh r0, [r0] - cmp r6, r0 - bhi _080654C0 - rsbs r0, r6, #0 - bl sub_080526CC - ldr r4, _080654A0 @ =gUnk_02034350 - ldrb r1, [r4, #7] - adds r0, r5, #0 - movs r2, #2 - bl sub_080A7C18 - movs r0, #0 - strb r0, [r4, #6] - strb r0, [r4, #7] - movs r0, #1 - mov r1, r8 - str r0, [r1, #0x14] - mov r0, sb - cmp r0, #0 - beq _0806547C - bl sub_0807CCB4 -_0806547C: - ldr r1, [r7, #0x5c] - movs r0, #2 - rsbs r0, r0, #0 - cmp r1, r0 - bhi _0806548A - adds r0, r1, #1 - str r0, [r7, #0x5c] -_0806548A: - ldr r0, [r7, #0x5c] - cmp r0, #9 - bls _080654A8 - ldr r0, _080654A4 @ =0x00002C11 - b _080654B6 - .align 2, 0 -_08065494: .4byte gUnk_02002A40 -_08065498: .4byte 0x000003E6 -_0806549C: .4byte 0x00002C0E -_080654A0: .4byte gUnk_02034350 -_080654A4: .4byte 0x00002C11 -_080654A8: - cmp r6, #0x63 - bls _080654B4 - ldr r0, _080654B0 @ =0x00002C10 - b _080654B6 - .align 2, 0 -_080654B0: .4byte 0x00002C10 -_080654B4: - ldr r0, _080654BC @ =0x00002C0F -_080654B6: - mov r1, r8 - str r0, [r1, #4] - b _080654CE - .align 2, 0 -_080654BC: .4byte 0x00002C0F -_080654C0: - ldr r0, _080654D8 @ =0x00002C0D -_080654C2: - adds r1, r4, #0 - bl sub_08056398 -_080654C8: - movs r0, #0 - mov r1, r8 - str r0, [r1, #0x14] -_080654CE: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080654D8: .4byte 0x00002C0D - - thumb_func_start sub_080654DC -sub_080654DC: @ 0x080654DC - push {lr} - movs r2, #0x18 - rsbs r2, r2, #0 - movs r1, #8 - bl sub_080A2D0C - pop {pc} - .align 2, 0 - - thumb_func_start sub_080654EC -sub_080654EC: @ 0x080654EC - push {lr} - movs r2, #0x18 - rsbs r2, r2, #0 - movs r1, #8 - bl sub_080A2CFC - pop {pc} - .align 2, 0 - - thumb_func_start sub_080654FC -sub_080654FC: @ 0x080654FC - push {lr} - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08065518 - ldr r1, _08065514 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _08065522 - .align 2, 0 -_08065514: .4byte gUnk_02033280 -_08065518: - ldr r2, _08065524 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] -_08065522: - pop {pc} - .align 2, 0 -_08065524: .4byte gUnk_02033280 - - thumb_func_start sub_08065528 -sub_08065528: @ 0x08065528 - ldr r2, _08065530 @ =gUnk_02034350 - ldr r0, [r1, #4] - str r0, [r2, #0x68] - bx lr - .align 2, 0 -_08065530: .4byte gUnk_02034350 - - thumb_func_start sub_08065534 -sub_08065534: @ 0x08065534 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08065558 - ldr r0, _08065554 @ =gUnk_0810FEC4 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _08065568 - .align 2, 0 -_08065554: .4byte gUnk_0810FEC4 -_08065558: - ldr r0, _0806556C @ =gUnk_0810FEBC - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_08065568: - pop {pc} - .align 2, 0 -_0806556C: .4byte gUnk_0810FEBC - - thumb_func_start sub_08065570 -sub_08065570: @ 0x08065570 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08065598 @ =gUnk_0810FEB0 - bl sub_0806FDEC - cmp r0, #0 - beq _08065596 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08078778 - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0xf] - movs r0, #2 - strb r0, [r4, #0x14] -_08065596: - pop {r4, pc} - .align 2, 0 -_08065598: .4byte gUnk_0810FEB0 - - thumb_func_start sub_0806559C -sub_0806559C: @ 0x0806559C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #8 - bls _080655D0 - movs r0, #0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806ED9C - cmp r0, #0 - bge _080655C6 - ldrb r0, [r4, #0x14] - adds r1, r0, #4 - b _080655CA -_080655C6: - strb r0, [r4, #0x14] - adds r1, r0, #0 -_080655CA: - adds r0, r4, #0 - adds r0, #0x58 - b _080655D6 -_080655D0: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] -_080655D6: - ldrb r0, [r0] - cmp r0, r1 - beq _080655E4 - adds r0, r4, #0 - bl sub_08004260 - b _080655EA -_080655E4: - adds r0, r4, #0 - bl sub_08004274 -_080655EA: - adds r0, r4, #0 - bl sub_0806ED78 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08065604 - movs r0, #0 - strb r0, [r1] - bl sub_080791D0 -_08065604: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08065608 -sub_08065608: @ 0x08065608 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08065644 @ =gUnk_0810FEB0 - bl sub_0806FDEC - cmp r0, #0 - beq _08065640 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - adds r0, r4, #0 - bl sub_0807DD50 -_08065640: - pop {r4, pc} - .align 2, 0 -_08065644: .4byte gUnk_0810FEB0 - - thumb_func_start sub_08065648 -sub_08065648: @ 0x08065648 - push {lr} - adds r2, r0, #0 - movs r0, #0x39 - adds r0, r0, r2 - mov ip, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #2 - bne _08065676 - ldrb r0, [r2, #0xc] - adds r3, r2, #0 - adds r3, #0x69 - movs r1, #0 - strb r0, [r3] - movs r0, #4 - strb r0, [r2, #0xc] - mov r0, ip - strb r1, [r0] - adds r0, r2, #0 - bl sub_0806F118 - b _0806567E -_08065676: - adds r0, r2, #0 - movs r1, #0 - bl sub_0807DD94 -_0806567E: - pop {pc} - - thumb_func_start sub_08065680 -sub_08065680: @ 0x08065680 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _080656A0 - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x6a - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC -_080656A0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080656A4 -sub_080656A4: @ 0x080656A4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080656D0 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _080656C8 - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x6a - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC -_080656C8: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_080656D0: .4byte gUnk_02000050 - - thumb_func_start sub_080656D4 -sub_080656D4: @ 0x080656D4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x39 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #2 - bne _080656FC - ldrb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x69 - movs r1, #0 - strb r0, [r2] - movs r0, #4 - strb r0, [r4, #0xc] - strb r1, [r5] - adds r0, r4, #0 - bl sub_0806F118 - b _08065738 -_080656FC: - cmp r0, #0 - beq _08065740 - movs r0, #0x37 - bl sub_0807CA84 - adds r2, r0, #0 - cmp r2, #0 - beq _0806571C - ldr r1, _08065718 @ =gUnk_0800B41C - adds r0, r4, #0 - bl sub_0807DAD0 - b _08065740 - .align 2, 0 -_08065718: .4byte gUnk_0800B41C -_0806571C: - ldrb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - movs r0, #3 - strb r0, [r4, #0xc] - strb r2, [r5] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r0, [r0, #4] - adds r1, r4, #0 - bl sub_08056398 -_08065738: - adds r0, r4, #0 - bl sub_0806574C - b _08065748 -_08065740: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 -_08065748: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806574C -sub_0806574C: @ 0x0806574C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _0806577C @ =gUnk_03001160 - bl sub_080045C4 - bl sub_0806F5A4 - adds r5, r4, #0 - adds r5, #0x58 - ldrb r2, [r5] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - adds r1, r1, r0 - cmp r2, r1 - beq _08065772 - adds r0, r4, #0 - bl sub_080042AC -_08065772: - ldrb r1, [r5] - adds r0, r4, #0 - adds r0, #0x6a - strb r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_0806577C: .4byte gUnk_03001160 - - thumb_func_start sub_08065780 -sub_08065780: @ 0x08065780 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08000E50 - movs r2, #6 - adds r1, r0, #0 - ands r1, r2 - strb r1, [r4, #0x14] - ldr r2, _080657A4 @ =gUnk_0810FED8 - lsrs r0, r0, #8 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strh r0, [r5, #0x10] - pop {r4, r5, pc} - .align 2, 0 -_080657A4: .4byte gUnk_0810FED8 - - thumb_func_start sub_080657A8 -sub_080657A8: @ 0x080657A8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #7 - ands r2, r0 - adds r2, #0xb - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080657DC -sub_080657DC: @ 0x080657DC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08065814 - ldr r1, _08065810 @ =gUnk_0810FEB0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806581A - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _0806581A - .align 2, 0 -_08065810: .4byte gUnk_0810FEB0 -_08065814: - adds r0, r4, #0 - bl sub_08004274 -_0806581A: - pop {r4, pc} - - thumb_func_start sub_0806581C -sub_0806581C: @ 0x0806581C - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08065840 - ldr r0, _0806583C @ =gUnk_0810FF64 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0806585C - .align 2, 0 -_0806583C: .4byte gUnk_0810FF64 -_08065840: - ldr r1, _08065860 @ =gUnk_0810FF5C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _0806585C - adds r0, r4, #0 - bl sub_0806ED78 -_0806585C: - pop {r4, pc} - .align 2, 0 -_08065860: .4byte gUnk_0810FF5C - - thumb_func_start sub_08065864 -sub_08065864: @ 0x08065864 - push {lr} - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - movs r1, #0xc - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08065880 -sub_08065880: @ 0x08065880 - push {lr} - bl sub_080042B8 - pop {pc} - - thumb_func_start sub_08065888 -sub_08065888: @ 0x08065888 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #4 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - adds r0, r4, #0 - bl sub_0807DD50 - pop {r4, pc} - - thumb_func_start sub_080658BC -sub_080658BC: @ 0x080658BC - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _080658F4 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _080658F0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _080658FC - .align 2, 0 -_080658F0: .4byte gUnk_03001160 -_080658F4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 -_080658FC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08065900 -sub_08065900: @ 0x08065900 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08065910 - movs r0, #1 - strb r0, [r4, #0xc] -_08065910: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08065914 -sub_08065914: @ 0x08065914 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #7 - movs r1, #0x1f - movs r2, #7 - bl sub_0805EB00 - adds r4, r0, #0 - cmp r4, #0 - beq _08065938 - movs r2, #0xc0 - lsls r2, r2, #0xd - ldr r3, _0806595C @ =0xFFFF0000 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 - str r5, [r4, #0x50] -_08065938: - movs r0, #7 - movs r1, #0x20 - movs r2, #7 - bl sub_0805EB00 - adds r4, r0, #0 - cmp r4, #0 - beq _08065958 - movs r2, #0xa0 - lsls r2, r2, #0xe - adds r0, r5, #0 - adds r1, r4, #0 - movs r3, #0 - bl sub_0806FA48 - str r5, [r4, #0x50] -_08065958: - pop {r4, r5, pc} - .align 2, 0 -_0806595C: .4byte 0xFFFF0000 - - thumb_func_start sub_08065960 -sub_08065960: @ 0x08065960 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08065986 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #0xc - bl sub_080042AC - b _0806598C -_08065986: - adds r0, r2, #0 - bl sub_080042B8 -_0806598C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08065990 -sub_08065990: @ 0x08065990 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080659B4 @ =gUnk_0811006C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08065A64 - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_080659B4: .4byte gUnk_0811006C - - thumb_func_start sub_080659B8 -sub_080659B8: @ 0x080659B8 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #6 - strb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x69 - movs r0, #0xff - strb r0, [r1] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - - thumb_func_start sub_080659F0 -sub_080659F0: @ 0x080659F0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08065AA4 - pop {r4, pc} - - thumb_func_start sub_08065A00 -sub_08065A00: @ 0x08065A00 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08065AA4 - pop {r4, pc} - - thumb_func_start sub_08065A10 -sub_08065A10: @ 0x08065A10 - push {lr} - adds r2, r0, #0 - ldr r0, _08065A30 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08065A2E - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x14] - lsrs r1, r1, #1 - adds r0, r2, #0 - bl sub_080042AC -_08065A2E: - pop {pc} - .align 2, 0 -_08065A30: .4byte gUnk_02000050 - - thumb_func_start sub_08065A34 -sub_08065A34: @ 0x08065A34 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08065A4E - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r0, r4, #0 - bl sub_080042AC -_08065A4E: - pop {r4, pc} - - thumb_func_start sub_08065A50 -sub_08065A50: @ 0x08065A50 - push {lr} - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - ldr r2, _08065A60 @ =gUnk_08110080 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_08065A60: .4byte gUnk_08110080 - - thumb_func_start sub_08065A64 -sub_08065A64: @ 0x08065A64 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08065A8C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - rsbs r0, r0, #0 - lsrs r5, r0, #0x1f - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - cmp r5, r0 - beq _08065A9C - cmp r5, #0 - bne _08065A90 - adds r0, r4, #0 - bl sub_08078778 - b _08065A9C - .align 2, 0 -_08065A8C: .4byte gUnk_03003F80 -_08065A90: - adds r0, r4, #0 - adds r0, #0x68 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080787A8 -_08065A9C: - adds r0, r4, #0 - adds r0, #0x69 - strb r5, [r0] - pop {r4, r5, pc} - - thumb_func_start sub_08065AA4 -sub_08065AA4: @ 0x08065AA4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x39 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - beq _08065B18 - ldr r0, _08065AD0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08065B00 - cmp r2, #2 - bne _08065AD4 - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806F118 - b _08065AE6 - .align 2, 0 -_08065AD0: .4byte gUnk_03003F80 -_08065AD4: - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_08065A50 -_08065AE6: - ldr r1, _08065AFC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - b _08065B0A - .align 2, 0 -_08065AFC: .4byte gUnk_03001160 -_08065B00: - adds r0, r4, #0 - bl sub_08065A50 - bl sub_080791D0 -_08065B0A: - movs r0, #0xd3 - bl sub_080A3268 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - strb r0, [r1] -_08065B18: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08065B1C -sub_08065B1C: @ 0x08065B1C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08065B42 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #7 - bl sub_080042AC - b _08065B48 -_08065B42: - adds r0, r2, #0 - bl sub_080042B8 -_08065B48: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08065B4C -sub_08065B4C: @ 0x08065B4C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08065B68 @ =gUnk_08110118 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_08065B68: .4byte gUnk_08110118 - - thumb_func_start sub_08065B6C -sub_08065B6C: @ 0x08065B6C - push {lr} - ldrb r1, [r0, #0xc] - adds r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - ldr r2, _08065B98 @ =0xFFFF8000 - adds r1, r2, #0 - ldrh r2, [r0, #0x30] - adds r1, r1, r2 - strh r1, [r0, #0x30] - movs r1, #6 - strb r1, [r0, #0x14] - movs r1, #3 - bl sub_080042AC - pop {pc} - .align 2, 0 -_08065B98: .4byte 0xFFFF8000 - - thumb_func_start sub_08065B9C -sub_08065B9C: @ 0x08065B9C - push {lr} - bl sub_080042B8 - pop {pc} - - thumb_func_start sub_08065BA4 -sub_08065BA4: @ 0x08065BA4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08065BBA - adds r0, r4, #0 - bl sub_08065C0C - b _08065BEA -_08065BBA: - ldr r1, _08065BEC @ =gUnk_08110164 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bhi _08065BEA - ldr r2, _08065BF0 @ =gUnk_0811015C - ldrb r0, [r4, #0xf] - adds r1, r0, #1 - strb r1, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1b - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r4, #0x36] -_08065BEA: - pop {r4, pc} - .align 2, 0 -_08065BEC: .4byte gUnk_08110164 -_08065BF0: .4byte gUnk_0811015C - - thumb_func_start sub_08065BF4 -sub_08065BF4: @ 0x08065BF4 - push {lr} - ldr r2, _08065C08 @ =gUnk_0811017C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08065C08: .4byte gUnk_0811017C - - thumb_func_start sub_08065C0C -sub_08065C0C: @ 0x08065C0C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08065C42 - cmp r0, #1 - bgt _08065C20 - cmp r0, #0 - beq _08065C2A - b _08065CCA -_08065C20: - cmp r0, #2 - beq _08065C7E - cmp r0, #3 - beq _08065C8A - b _08065CCA -_08065C2A: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0807DD50 - b _08065CCA -_08065C42: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _08065C74 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _08065C70 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _08065CCA - .align 2, 0 -_08065C70: .4byte gUnk_03001160 -_08065C74: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _08065CCA -_08065C7E: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08065CCA - b _08065CC6 -_08065C8A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08065CCA - ldr r1, [r4, #0x6c] - ldrh r2, [r1] - ldr r0, _08065CB4 @ =0x0000FFFF - cmp r2, r0 - beq _08065CBC - ldr r0, _08065CB8 @ =gUnk_03000F50 - adds r0, #0x68 - strh r2, [r0] - adds r1, #2 - ldrh r0, [r1] - strb r0, [r4, #0xe] - adds r1, #2 - str r1, [r4, #0x6c] - b _08065CCA - .align 2, 0 -_08065CB4: .4byte 0x0000FFFF -_08065CB8: .4byte gUnk_03000F50 -_08065CBC: - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - strb r1, [r4, #0x18] -_08065CC6: - movs r0, #1 - strb r0, [r4, #0xc] -_08065CCA: - pop {r4, pc} - - thumb_func_start sub_08065CCC -sub_08065CCC: @ 0x08065CCC - movs r1, #3 - strb r1, [r0, #0xc] - movs r1, #0x1e - strb r1, [r0, #0xe] - ldrb r2, [r0, #0x19] - subs r1, #0x2b - ands r1, r2 - movs r2, #4 - orrs r1, r2 - strb r1, [r0, #0x19] - ldr r1, _08065CF8 @ =gUnk_0811022E - str r1, [r0, #0x6c] - ldr r1, _08065CFC @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xfd - lsls r0, r0, #6 - strh r0, [r2] - adds r1, #0x68 - movs r0, #0x10 - strh r0, [r1] - bx lr - .align 2, 0 -_08065CF8: .4byte gUnk_0811022E -_08065CFC: .4byte gUnk_03000F50 - - thumb_func_start sub_08065D00 -sub_08065D00: @ 0x08065D00 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_08065D18 -sub_08065D18: @ 0x08065D18 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldrb r1, [r4, #0x18] - subs r0, #0x22 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r4, #0x19] - ldr r0, _08065D6C @ =gUnk_08110188 - str r0, [r4, #0x6c] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - ldr r1, _08065D70 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xfd - lsls r0, r0, #6 - strh r0, [r2] - adds r1, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - pop {r4, pc} - .align 2, 0 -_08065D6C: .4byte gUnk_08110188 -_08065D70: .4byte gUnk_03000F50 - - thumb_func_start sub_08065D74 -sub_08065D74: @ 0x08065D74 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08065DB4 - ldr r2, [r1, #0x6c] - ldrh r3, [r2] - ldr r0, _08065DA0 @ =0x0000FFFF - cmp r3, r0 - beq _08065DA8 - ldr r0, _08065DA4 @ =gUnk_03000F50 - adds r0, #0x68 - strh r3, [r0] - ldrh r0, [r2, #2] - strb r0, [r1, #0xe] - adds r0, r2, #4 - str r0, [r1, #0x6c] - b _08065DB4 - .align 2, 0 -_08065DA0: .4byte 0x0000FFFF -_08065DA4: .4byte gUnk_03000F50 -_08065DA8: - ldrb r0, [r1, #0xc] - adds r0, #1 - strb r0, [r1, #0xc] - movs r0, #0 - bl sub_08056378 -_08065DB4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08065DB8 -sub_08065DB8: @ 0x08065DB8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #4 - bhi _08065E74 - lsls r0, r0, #2 - ldr r1, _08065DCC @ =_08065DD0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08065DCC: .4byte _08065DD0 -_08065DD0: @ jump table - .4byte _08065DE4 @ case 0 - .4byte _08065E08 @ case 1 - .4byte _08065EB0 @ case 2 - .4byte _08065E34 @ case 3 - .4byte _08065E4E @ case 4 -_08065DE4: - ldr r0, _08065E04 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08065EB0 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #4 - bl sub_080042AC - b _08065EB0 - .align 2, 0 -_08065E04: .4byte gUnk_02000050 -_08065E08: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08065EB0 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xb4 - strb r0, [r4, #0xe] - ldr r1, _08065E30 @ =gUnk_02018EB0 - ldrb r0, [r1, #1] - adds r0, #1 - strb r0, [r1, #1] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - b _08065EB0 - .align 2, 0 -_08065E30: .4byte gUnk_02018EB0 -_08065E34: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08065EB0 - movs r0, #0 - bl sub_08056378 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - b _08065EB0 -_08065E4E: - ldr r0, _08065E6C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08065EB0 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldr r0, _08065E70 @ =gUnk_0811022E - str r0, [r4, #0x6c] - b _08065EB0 - .align 2, 0 -_08065E6C: .4byte gUnk_02000050 -_08065E70: .4byte gUnk_0811022E -_08065E74: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08065EB0 - ldr r1, [r4, #0x6c] - ldrh r2, [r1] - ldr r0, _08065E9C @ =0x0000FFFF - cmp r2, r0 - beq _08065EA4 - ldr r0, _08065EA0 @ =gUnk_03000F50 - adds r0, #0x68 - strh r2, [r0] - ldrh r0, [r1, #2] - strb r0, [r4, #0xe] - adds r0, r1, #4 - str r0, [r4, #0x6c] - b _08065EB0 - .align 2, 0 -_08065E9C: .4byte 0x0000FFFF -_08065EA0: .4byte gUnk_03000F50 -_08065EA4: - ldr r1, _08065EB8 @ =gUnk_02018EB0 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - bl sub_0805E780 -_08065EB0: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08065EB8: .4byte gUnk_02018EB0 - - thumb_func_start sub_08065EBC -sub_08065EBC: @ 0x08065EBC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08065ED8 @ =gUnk_08110274 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_08065ED8: .4byte gUnk_08110274 - - thumb_func_start sub_08065EDC -sub_08065EDC: @ 0x08065EDC - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08065F1C - ldr r1, [r2, #0x6c] - ldrh r3, [r1] - ldr r0, _08065F08 @ =0x0000FFFF - cmp r3, r0 - beq _08065F10 - ldr r0, _08065F0C @ =gUnk_03000F50 - adds r0, #0x68 - strh r3, [r0] - adds r1, #2 - ldrh r0, [r1] - strb r0, [r2, #0xe] - adds r1, #2 - str r1, [r2, #0x6c] - b _08065F1C - .align 2, 0 -_08065F08: .4byte 0x0000FFFF -_08065F0C: .4byte gUnk_03000F50 -_08065F10: - ldrb r0, [r2, #0xc] - adds r0, #1 - strb r0, [r2, #0xc] - adds r0, r2, #0 - bl sub_08078778 -_08065F1C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08065F20 -sub_08065F20: @ 0x08065F20 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08065F5E - movs r0, #0 - strb r0, [r1] - bl sub_08056378 - adds r2, r4, #0 - adds r2, #0x58 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - ldr r1, _08065F60 @ =gUnk_0811033C - ldrb r0, [r2] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - cmp r0, #0 - bne _08065F56 - strb r0, [r2] -_08065F56: - ldrb r1, [r2] - adds r0, r4, #0 - bl sub_080042AC -_08065F5E: - pop {r4, pc} - .align 2, 0 -_08065F60: .4byte gUnk_0811033C - - thumb_func_start sub_08065F64 -sub_08065F64: @ 0x08065F64 - push {lr} - adds r3, r0, #0 - ldr r0, _08065F88 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _08065F74 - movs r0, #0 -_08065F74: - ldrb r1, [r3, #0xa] - lsls r1, r1, #6 - lsls r0, r0, #3 - ldr r2, _08065F8C @ =gUnk_08110280 - adds r0, r0, r2 - adds r1, r1, r0 - adds r0, r3, #0 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_08065F88: .4byte gUnk_02002A40 -_08065F8C: .4byte gUnk_08110280 - - thumb_func_start sub_08065F90 -sub_08065F90: @ 0x08065F90 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08065FB6 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #2 - bl sub_080042AC - b _08065FBC -_08065FB6: - adds r0, r2, #0 - bl sub_080042B8 -_08065FBC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08065FC0 -sub_08065FC0: @ 0x08065FC0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08066028 - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r6, r4, #0 - adds r6, #0x58 - cmp r0, #2 - bne _0806600C - movs r0, #0 - movs r1, #4 - strb r1, [r4, #0xc] - strb r0, [r2] - ldrb r0, [r6] - movs r5, #0 - cmp r0, #0xc - bne _08065FF0 - movs r5, #8 -_08065FF0: - ldr r1, _08066020 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r5, r5, r0 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 -_0806600C: - ldr r0, _08066024 @ =gUnk_0811036C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _08066042 - .align 2, 0 -_08066020: .4byte gUnk_03001160 -_08066024: .4byte gUnk_0811036C -_08066028: - ldr r0, _08066058 @ =gUnk_08110360 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - adds r6, r4, #0 - adds r6, #0x58 -_08066042: - ldrb r0, [r6] - cmp r0, #0xc - bne _0806605C - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - b _0806606E - .align 2, 0 -_08066058: .4byte gUnk_08110360 -_0806605C: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strb r1, [r2] -_0806606E: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080660A0 - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0x3d - movs r2, #0x20 - bl sub_080A29AC - ldr r4, _080660A4 @ =gUnk_08110380 - bl sub_08000E50 - movs r1, #7 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r0, [r1] - bl sub_080A3268 -_080660A0: - pop {r4, r5, r6, pc} - .align 2, 0 -_080660A4: .4byte gUnk_08110380 - - thumb_func_start sub_080660A8 -sub_080660A8: @ 0x080660A8 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x5a - ldrb r4, [r0] - ldrb r2, [r5, #0x1e] - adds r0, r5, #0 - movs r1, #0 - bl sub_0806FF60 - movs r0, #0x40 - ands r4, r0 - cmp r4, #0 - beq _080660CE - adds r0, r5, #0 - movs r1, #1 - movs r2, #0x16 - bl sub_0806FF60 - b _080660D8 -_080660CE: - adds r0, r5, #0 - movs r1, #1 - movs r2, #0xff - bl sub_0806FF60 -_080660D8: - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_0806FF88 - adds r0, r5, #0 - bl sub_0807000C - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080660EC -sub_080660EC: @ 0x080660EC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08066114 @ =gUnk_08110354 - bl sub_0806FDEC - cmp r0, #0 - beq _08066112 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC -_08066112: - pop {r4, pc} - .align 2, 0 -_08066114: .4byte gUnk_08110354 - - thumb_func_start sub_08066118 -sub_08066118: @ 0x08066118 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x28 - movs r2, #0x28 - bl sub_0806ED9C - adds r1, r0, #0 - cmp r1, #0 - bge _0806612E - movs r1, #2 - b _08066144 -_0806612E: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0806613A - movs r0, #0x10 - strb r0, [r4, #0xf] - b _08066144 -_0806613A: - subs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] -_08066144: - adds r0, r4, #0 - bl sub_0806F078 - cmp r0, #0 - bne _08066154 - adds r0, r4, #0 - bl sub_080042B8 -_08066154: - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0806616C - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0 - bl sub_08056378 -_0806616C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066170 -sub_08066170: @ 0x08066170 - movs r1, #1 - strb r1, [r0, #0xc] - bx lr - .align 2, 0 - - thumb_func_start sub_08066178 -sub_08066178: @ 0x08066178 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080661AC @ =gUnk_08110354 - bl sub_0806FDEC - cmp r0, #0 - beq _080661A8 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807DD50 -_080661A8: - pop {r4, pc} - .align 2, 0 -_080661AC: .4byte gUnk_08110354 - - thumb_func_start sub_080661B0 -sub_080661B0: @ 0x080661B0 - push {lr} - movs r1, #0 - bl sub_0807DD94 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080661BC -sub_080661BC: @ 0x080661BC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xc - bne _080661F4 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080661FC - adds r0, r4, #0 - bl sub_0806EDC4 - adds r0, #8 - adds r1, r4, #0 - adds r1, #0x80 - strh r0, [r1] - ldrh r1, [r1] - adds r0, r4, #0 - bl sub_080042AC - b _080661FC -_080661F4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 -_080661FC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066200 -sub_08066200: @ 0x08066200 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - - thumb_func_start sub_08066218 -sub_08066218: @ 0x08066218 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08066228 - movs r0, #1 - strb r0, [r4, #0xc] -_08066228: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806622C -sub_0806622C: @ 0x0806622C - push {lr} - adds r2, r0, #0 - ldr r0, _0806624C @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _0806623C - movs r0, #0 -_0806623C: - lsls r1, r0, #3 - ldr r0, _08066250 @ =gUnk_08110390 - adds r1, r1, r0 - adds r0, r2, #0 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806624C: .4byte gUnk_02002A40 -_08066250: .4byte gUnk_08110390 - - thumb_func_start nullsub_501 -nullsub_501: @ 0x08066254 - bx lr - .align 2, 0 - - thumb_func_start sub_08066258 -sub_08066258: @ 0x08066258 - push {r4, lr} - ldr r4, _08066270 @ =gUnk_081103D0 - bl sub_08000E50 - movs r1, #7 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r0, [r1] - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 -_08066270: .4byte gUnk_081103D0 - - thumb_func_start sub_08066274 -sub_08066274: @ 0x08066274 - push {lr} - ldr r3, _08066284 @ =gUnk_081103E0 - movs r1, #1 - movs r2, #0 - bl sub_08078850 - pop {pc} - .align 2, 0 -_08066284: .4byte gUnk_081103E0 - - thumb_func_start sub_08066288 -sub_08066288: @ 0x08066288 - push {lr} - adds r1, r0, #0 - adds r1, #0x68 - ldrb r1, [r1] - bl sub_08078784 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08066298 -sub_08066298: @ 0x08066298 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080662D0 - ldr r1, _080662CC @ =gUnk_08110354 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _080662D6 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #6 - bl sub_080042AC - b _080662D6 - .align 2, 0 -_080662CC: .4byte gUnk_08110354 -_080662D0: - adds r0, r4, #0 - bl sub_080042B8 -_080662D6: - pop {r4, pc} - - thumb_func_start sub_080662D8 -sub_080662D8: @ 0x080662D8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080662F4 @ =gUnk_081104C8 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_080662F4: .4byte gUnk_081104C8 - - thumb_func_start sub_080662F8 -sub_080662F8: @ 0x080662F8 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - strb r4, [r5, #0xd] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xa] - lsls r0, r0, #1 - strb r0, [r5, #0x14] - ldrb r1, [r5, #0xa] - adds r0, r5, #0 - bl sub_08004260 - ldrh r0, [r5, #0x2e] - adds r1, r5, #0 - adds r1, #0x7e - strh r0, [r1] - ldrh r1, [r5, #0x32] - adds r0, r5, #0 - adds r0, #0x80 - strh r1, [r0] - adds r0, #6 - strh r4, [r0] - ldrb r0, [r5, #0xe] - adds r1, r5, #0 - adds r1, #0x82 - strh r0, [r1] - ldr r0, _08066354 @ =gUnk_03001160 - str r0, [r5, #0x50] - adds r0, r5, #0 - adds r0, #0x84 - strh r4, [r0] - ldr r1, [r5, #0x50] - adds r0, r5, #0 - bl sub_08066490 - adds r0, r5, #0 - bl sub_08078778 - pop {r4, r5, pc} - .align 2, 0 -_08066354: .4byte gUnk_03001160 - - thumb_func_start sub_08066358 -sub_08066358: @ 0x08066358 - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _080663B8 - movs r5, #0 - strb r5, [r1] - movs r0, #0 - bl sub_08056378 - ldrb r1, [r4, #0xb] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _080663C0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r5, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x7e - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - cmp r0, #8 - ble _08066396 - movs r0, #8 - b _08066398 -_08066396: - movs r0, #0x18 -_08066398: - strb r0, [r4, #0x15] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x84 - movs r2, #1 - movs r0, #1 - strh r0, [r1] - ldr r0, _080663B4 @ =gUnk_02034490 - strb r2, [r0] - adds r0, r4, #0 - bl sub_080788E0 - b _080663C0 - .align 2, 0 -_080663B4: .4byte gUnk_02034490 -_080663B8: - ldr r1, [r4, #0x50] - adds r0, r4, #0 - bl sub_08066490 -_080663C0: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_08066570 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start nullsub_110 -nullsub_110: @ 0x080663D0 - bx lr - .align 2, 0 - - thumb_func_start sub_080663D4 -sub_080663D4: @ 0x080663D4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - adds r0, r4, #0 - adds r0, #0x7e - ldrh r0, [r0] - subs r0, #8 - cmp r1, r0 - bne _08066410 - ldr r0, _0806640C @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0xf - beq _0806642E - movs r0, #0 - movs r1, #4 - strb r1, [r4, #0xc] - strb r0, [r4, #0x15] - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x84 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _0806642E - .align 2, 0 -_0806640C: .4byte gUnk_03001160 -_08066410: - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _08066428 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] -_08066428: - adds r0, r4, #0 - bl sub_080AEF88 -_0806642E: - bl sub_08078B48 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806643C -sub_0806643C: @ 0x0806643C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0806650C - adds r4, r0, #0 - cmp r4, #0 - bne _08066462 - movs r0, #5 - strb r0, [r5, #0xc] - ldr r0, _0806646C @ =gUnk_03000BF0 - str r4, [r0, #0x30] - movs r0, #0x40 - movs r1, #0 - movs r2, #0 - bl sub_08078AC0 - ldr r0, _08066470 @ =gUnk_03001160 - strb r4, [r0, #0x14] - strb r4, [r0, #0x15] -_08066462: - adds r0, r5, #0 - bl sub_08004274 - pop {r4, r5, pc} - .align 2, 0 -_0806646C: .4byte gUnk_03000BF0 -_08066470: .4byte gUnk_03001160 - - thumb_func_start sub_08066474 -sub_08066474: @ 0x08066474 - push {lr} - ldr r0, _08066488 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0xf - beq _08066484 - ldr r1, _0806648C @ =gUnk_02034490 - movs r0, #0 - strb r0, [r1] -_08066484: - pop {pc} - .align 2, 0 -_08066488: .4byte gUnk_03001160 -_0806648C: .4byte gUnk_02034490 - - thumb_func_start sub_08066490 -sub_08066490: @ 0x08066490 - push {r4, r5, r6, lr} - mov ip, r0 - adds r5, r1, #0 - ldrb r1, [r0, #0xb] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0806650A - mov r1, ip - ldrh r0, [r1, #0x2e] - adds r1, #0x86 - strh r0, [r1] - mov r0, ip - adds r0, #0x7e - ldrh r2, [r0] - adds r0, #4 - ldrh r0, [r0] - adds r3, r2, r0 - subs r4, r2, r0 - movs r6, #0x2e - ldrsh r0, [r5, r6] - cmp r0, r3 - bge _080664C6 - cmp r0, r4 - ble _080664C6 - adds r2, r0, #0 - b _080664D2 -_080664C6: - movs r2, #0x2e - ldrsh r0, [r5, r2] - adds r2, r4, #0 - cmp r0, r3 - blt _080664D2 - adds r2, r3, #0 -_080664D2: - ldrh r0, [r1] - cmp r0, r2 - bne _080664F0 - mov r1, ip - adds r1, #0x84 - ldrh r0, [r1] - cmp r0, #1 - bne _0806650A - movs r0, #0 - strh r0, [r1] - mov r0, ip - movs r1, #2 - bl sub_08004260 - b _0806650A -_080664F0: - mov r6, ip - strh r2, [r6, #0x2e] - mov r1, ip - adds r1, #0x84 - ldrh r0, [r1] - cmp r0, #0 - bne _0806650A - movs r0, #1 - strh r0, [r1] - mov r0, ip - movs r1, #6 - bl sub_08004260 -_0806650A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0806650C -sub_0806650C: @ 0x0806650C - push {r4, r5, r6, r7, lr} - adds r3, r0, #0 - movs r4, #0 - ldr r1, _0806652C @ =gUnk_03001160 - ldrh r5, [r1, #0x2e] - adds r7, r5, #0 - ldrh r2, [r1, #0x32] - adds r0, #0x80 - ldrh r0, [r0] - adds r0, #0x10 - adds r6, r1, #0 - cmp r2, r0 - bge _08066530 - movs r4, #4 - b _0806654C - .align 2, 0 -_0806652C: .4byte gUnk_03001160 -_08066530: - adds r0, r3, #0 - adds r0, #0x7e - ldrh r1, [r0] - adds r0, r1, #2 - cmp r5, r0 - bge _0806653E - movs r4, #2 -_0806653E: - adds r0, r1, #6 - cmp r7, r0 - ble _08066546 - movs r4, #6 -_08066546: - cmp r4, #0 - bne _0806654C - strh r4, [r6, #0x24] -_0806654C: - ldrb r0, [r6, #0xc] - cmp r0, #0xf - beq _0806656A - cmp r4, #0 - bne _0806655A - movs r0, #0 - b _0806656C -_0806655A: - movs r0, #8 - movs r1, #0 - movs r2, #0 - bl sub_08078AC0 - strb r4, [r6, #0x14] - lsls r0, r4, #2 - strb r0, [r6, #0x15] -_0806656A: - movs r0, #1 -_0806656C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08066570 -sub_08066570: @ 0x08066570 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080665DE - ldrb r0, [r5, #0xc] - cmp r0, #3 - beq _080665DE - ldr r4, _080665E0 @ =gUnk_03001160 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x50 - bl sub_0806FC80 - cmp r0, #0 - beq _080665DE - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080045C4 - adds r3, r0, #0 - movs r6, #1 - movs r1, #0x18 - adds r4, r3, #0 - ands r4, r1 - ldrb r0, [r5, #0x15] - adds r2, r1, #0 - ands r2, r0 - cmp r2, r4 - bne _080665C8 - adds r2, r3, #5 - movs r1, #7 - ands r2, r1 - ldrb r0, [r5, #0x15] - adds r0, #5 - ands r0, r1 - cmp r0, #2 - bhi _080665C8 - cmp r2, #2 - bhi _080665C8 - movs r6, #0 -_080665C8: - cmp r6, #0 - beq _080665DE - strb r3, [r5, #0x15] - adds r3, #4 - movs r0, #0x18 - ands r3, r0 - lsrs r3, r3, #3 - adds r0, r5, #0 - adds r1, r3, #0 - bl sub_08004260 -_080665DE: - pop {r4, r5, r6, pc} - .align 2, 0 -_080665E0: .4byte gUnk_03001160 - - thumb_func_start sub_080665E4 -sub_080665E4: @ 0x080665E4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08066638 - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806661E - movs r0, #0 - strb r0, [r2] - strb r1, [r4, #0xc] - ldr r1, _08066630 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 -_0806661E: - ldr r0, _08066634 @ =gUnk_081104EC - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0806664E - .align 2, 0 -_08066630: .4byte gUnk_03001160 -_08066634: .4byte gUnk_081104EC -_08066638: - ldr r0, _08066650 @ =gUnk_081104E0 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 -_0806664E: - pop {r4, pc} - .align 2, 0 -_08066650: .4byte gUnk_081104E0 - - thumb_func_start sub_08066654 -sub_08066654: @ 0x08066654 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066688 -sub_08066688: @ 0x08066688 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x28 - movs r2, #0x28 - bl sub_0806ED9C - adds r1, r0, #0 - cmp r1, #0 - bge _0806669E - movs r1, #2 - b _080666B4 -_0806669E: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080666AA - movs r0, #0x10 - strb r0, [r4, #0xf] - b _080666B4 -_080666AA: - subs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] -_080666B4: - adds r0, r4, #0 - bl sub_0806F078 - cmp r0, #0 - bne _080666C4 - adds r0, r4, #0 - bl sub_080042B8 -_080666C4: - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _080666D8 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r2] -_080666D8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080666DC -sub_080666DC: @ 0x080666DC - movs r1, #1 - strb r1, [r0, #0xc] - bx lr - .align 2, 0 - - thumb_func_start sub_080666E4 -sub_080666E4: @ 0x080666E4 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807DD50 - pop {r4, pc} - - thumb_func_start sub_0806670C -sub_0806670C: @ 0x0806670C - push {lr} - movs r1, #0 - bl sub_0807DD94 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08066718 -sub_08066718: @ 0x08066718 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08066728 - movs r0, #1 - strb r0, [r4, #0xc] -_08066728: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806672C -sub_0806672C: @ 0x0806672C - push {lr} - adds r1, r0, #0 - adds r1, #0x68 - ldrb r1, [r1] - bl sub_08078784 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806673C -sub_0806673C: @ 0x0806673C - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - bne _0806674E - movs r1, #0 - b _0806676A -_0806674E: - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - bne _0806675C - movs r1, #1 - b _0806676A -_0806675C: - movs r0, #3 - bl sub_0807CA84 - movs r1, #3 - cmp r0, #0 - bne _0806676A - movs r1, #2 -_0806676A: - ldr r0, _0806677C @ =gUnk_081104F8 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, pc} - .align 2, 0 -_0806677C: .4byte gUnk_081104F8 - - thumb_func_start sub_08066780 -sub_08066780: @ 0x08066780 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _080667A6 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #6 - bl sub_080042AC - b _080667AC -_080667A6: - adds r0, r2, #0 - bl sub_080042B8 -_080667AC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080667B0 -sub_080667B0: @ 0x080667B0 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080667C6 - adds r0, r4, #0 - bl sub_08066864 - b _080667DC -_080667C6: - ldr r0, _080667E0 @ =gUnk_08110644 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 -_080667DC: - pop {r4, pc} - .align 2, 0 -_080667E0: .4byte gUnk_08110644 - - thumb_func_start sub_080667E4 -sub_080667E4: @ 0x080667E4 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08078778 - pop {r4, pc} - - thumb_func_start sub_08066808 -sub_08066808: @ 0x08066808 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x28 - movs r2, #0x28 - bl sub_0806ED9C - adds r1, r0, #0 - cmp r1, #0 - bge _0806681E - movs r1, #2 - b _08066834 -_0806681E: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0806682A - movs r0, #0x10 - strb r0, [r4, #0xf] - b _08066834 -_0806682A: - subs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] -_08066834: - adds r0, r4, #0 - bl sub_0806F078 - cmp r0, #0 - bne _08066844 - adds r0, r4, #0 - bl sub_080042B8 -_08066844: - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08066858 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r2] -_08066858: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806685C -sub_0806685C: @ 0x0806685C - movs r1, #1 - strb r1, [r0, #0xc] - bx lr - .align 2, 0 - - thumb_func_start sub_08066864 -sub_08066864: @ 0x08066864 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _080668A2 - cmp r0, #1 - bgt _08066878 - cmp r0, #0 - beq _0806687E - b _080668EC -_08066878: - cmp r0, #2 - beq _080668DE - b _080668EC -_0806687E: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807DD50 - b _080668EC -_080668A2: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _080668D4 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _080668D0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _080668EC - .align 2, 0 -_080668D0: .4byte gUnk_03001160 -_080668D4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _080668EC -_080668DE: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _080668EC - movs r0, #1 - strb r0, [r4, #0xc] -_080668EC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080668F0 -sub_080668F0: @ 0x080668F0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066904 -sub_08066904: @ 0x08066904 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - bl sub_0807CC30 - cmp r0, #0 - bne _08066916 - movs r1, #0 - b _08066932 -_08066916: - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - bne _08066924 - movs r1, #1 - b _08066932 -_08066924: - movs r0, #3 - bl sub_0807CA84 - movs r1, #3 - cmp r0, #0 - bne _08066932 - movs r1, #2 -_08066932: - ldr r0, _08066944 @ =gUnk_08110650 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, pc} - .align 2, 0 -_08066944: .4byte gUnk_08110650 - - thumb_func_start sub_08066948 -sub_08066948: @ 0x08066948 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806696E - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #6 - bl sub_080042AC - b _08066974 -_0806696E: - adds r0, r2, #0 - bl sub_080042B8 -_08066974: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08066978 -sub_08066978: @ 0x08066978 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0806699C - ldr r0, _08066998 @ =gUnk_081106E0 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _080669B2 - .align 2, 0 -_08066998: .4byte gUnk_081106E0 -_0806699C: - ldr r0, _080669B4 @ =gUnk_081106D4 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 -_080669B2: - pop {r4, pc} - .align 2, 0 -_080669B4: .4byte gUnk_081106D4 - - thumb_func_start sub_080669B8 -sub_080669B8: @ 0x080669B8 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08078778 - pop {r4, pc} - - thumb_func_start sub_080669DC -sub_080669DC: @ 0x080669DC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x28 - movs r2, #0x28 - bl sub_0806ED9C - adds r1, r0, #0 - cmp r1, #0 - bge _080669F2 - movs r1, #2 - b _08066A08 -_080669F2: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080669FE - movs r0, #0x10 - strb r0, [r4, #0xf] - b _08066A08 -_080669FE: - subs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] -_08066A08: - adds r0, r4, #0 - bl sub_0806F078 - cmp r0, #0 - bne _08066A18 - adds r0, r4, #0 - bl sub_080042B8 -_08066A18: - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _08066A2C - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r2] -_08066A2C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066A30 -sub_08066A30: @ 0x08066A30 - movs r1, #1 - strb r1, [r0, #0xc] - bx lr - .align 2, 0 - - thumb_func_start sub_08066A38 -sub_08066A38: @ 0x08066A38 - push {lr} - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - bl sub_0807DD50 - pop {pc} - - thumb_func_start sub_08066A50 -sub_08066A50: @ 0x08066A50 - push {lr} - movs r1, #0 - bl sub_0807DD94 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08066A5C -sub_08066A5C: @ 0x08066A5C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08066A90 @ =gUnk_08110734 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r3, [r4, #0x1a] - lsrs r1, r3, #4 - adds r0, r4, #0 - adds r0, #0x5b - ldrb r2, [r0] - movs r0, #1 - ands r0, r2 - adds r1, r1, r0 - movs r0, #0xf - ands r1, r0 - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4, #0x1a] - pop {r4, pc} - .align 2, 0 -_08066A90: .4byte gUnk_08110734 - - thumb_func_start sub_08066A94 -sub_08066A94: @ 0x08066A94 - push {r4, lr} - adds r4, r0, #0 - movs r2, #0 - movs r3, #1 - movs r0, #1 - strb r0, [r4, #0xc] - strb r2, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r3 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x68 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - bl sub_08066ACC - pop {r4, pc} - - thumb_func_start sub_08066ACC -sub_08066ACC: @ 0x08066ACC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _08066B18 @ =sub_08066B74 - bl sub_0807DD94 - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08066AF6 - ldr r0, _08066B1C @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _08066AF6 - adds r0, r4, #0 - bl sub_08095CB0 -_08066AF6: - adds r1, r4, #0 - adds r1, #0x5a - ldrb r2, [r1] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 - adds r5, r1, #0 - cmp r2, #0 - beq _08066B6E - cmp r2, #2 - beq _08066B34 - cmp r2, #2 - bhi _08066B20 - cmp r2, #1 - beq _08066B2A - b _08066B66 - .align 2, 0 -_08066B18: .4byte sub_08066B74 -_08066B1C: .4byte gUnk_030010A0 -_08066B20: - cmp r2, #3 - beq _08066B40 - cmp r2, #4 - beq _08066B52 - b _08066B66 -_08066B2A: - movs r0, #0x87 - lsls r0, r0, #2 - bl sub_08004488 - b _08066B66 -_08066B34: - ldr r0, _08066B3C @ =0x0000021E - bl sub_08004488 - b _08066B66 - .align 2, 0 -_08066B3C: .4byte 0x0000021E -_08066B40: - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - movs r0, #4 - str r0, [r1, #4] - adds r0, r4, #0 - bl sub_0805DDEC - b _08066B66 -_08066B52: - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - str r2, [r1, #4] - adds r0, r4, #0 - bl sub_0805DE18 - ldr r0, _08066B70 @ =0x0000021D - bl sub_08004488 -_08066B66: - ldrb r1, [r5] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5] -_08066B6E: - pop {r4, r5, pc} - .align 2, 0 -_08066B70: .4byte 0x0000021D - - thumb_func_start sub_08066B74 -sub_08066B74: @ 0x08066B74 - push {r4, r5, r6, lr} - mov ip, r0 - ldr r0, [r1, #8] - ldr r4, _08066BCC @ =0xFFF00000 - ands r4, r0 - ldr r2, _08066BD0 @ =0x000FFFFF - ands r0, r2 - str r0, [r1, #8] - cmp r4, #0 - bne _08066B8A - b _08066C86 -_08066B8A: - mov r3, ip - adds r3, #0x80 - mov r5, ip - adds r5, #0x68 - movs r6, #1 -_08066B94: - mvns r0, r4 - adds r1, r0, #1 - ands r1, r4 - eors r4, r1 - mov r2, ip - ldrb r0, [r2, #0x14] - lsrs r2, r0, #1 - movs r0, #0x80 - lsls r0, r0, #0x12 - cmp r1, r0 - beq _08066C4C - cmp r1, r0 - bhi _08066BE6 - movs r0, #0x80 - lsls r0, r0, #0xf - cmp r1, r0 - beq _08066C34 - cmp r1, r0 - bhi _08066BD4 - movs r0, #0x80 - lsls r0, r0, #0xd - cmp r1, r0 - beq _08066C24 - movs r0, #0x80 - lsls r0, r0, #0xe - cmp r1, r0 - beq _08066C2C - b _08066C82 - .align 2, 0 -_08066BCC: .4byte 0xFFF00000 -_08066BD0: .4byte 0x000FFFFF -_08066BD4: - movs r0, #0x80 - lsls r0, r0, #0x10 - cmp r1, r0 - beq _08066C3C - movs r0, #0x80 - lsls r0, r0, #0x11 - cmp r1, r0 - beq _08066C44 - b _08066C82 -_08066BE6: - movs r0, #0x80 - lsls r0, r0, #0x15 - cmp r1, r0 - beq _08066C64 - cmp r1, r0 - bhi _08066C04 - movs r0, #0x80 - lsls r0, r0, #0x13 - cmp r1, r0 - beq _08066C54 - movs r0, #0x80 - lsls r0, r0, #0x14 - cmp r1, r0 - beq _08066C5C - b _08066C82 -_08066C04: - movs r0, #0x80 - lsls r0, r0, #0x17 - cmp r1, r0 - beq _08066C70 - cmp r1, r0 - bhi _08066C1A - movs r0, #0x80 - lsls r0, r0, #0x16 - cmp r1, r0 - beq _08066C6C - b _08066C82 -_08066C1A: - movs r0, #0x80 - lsls r0, r0, #0x18 - cmp r1, r0 - beq _08066C76 - b _08066C82 -_08066C24: - adds r0, r2, #0 - adds r0, #0x10 - strh r0, [r3] - b _08066C82 -_08066C2C: - adds r0, r2, #0 - adds r0, #0x14 - strh r0, [r3] - b _08066C82 -_08066C34: - adds r0, r2, #0 - adds r0, #0x18 - strh r0, [r3] - b _08066C82 -_08066C3C: - adds r0, r2, #0 - adds r0, #0x1c - strh r0, [r3] - b _08066C82 -_08066C44: - adds r0, r2, #0 - adds r0, #0x20 - strh r0, [r3] - b _08066C82 -_08066C4C: - adds r0, r2, #0 - adds r0, #0x24 - strh r0, [r3] - b _08066C82 -_08066C54: - adds r0, r2, #0 - adds r0, #0x28 - strh r0, [r3] - b _08066C82 -_08066C5C: - adds r0, r2, #0 - adds r0, #0x2c - strh r0, [r3] - b _08066C82 -_08066C64: - adds r0, r2, #0 - adds r0, #0x30 - strh r0, [r3] - b _08066C82 -_08066C6C: - strb r6, [r5] - b _08066C82 -_08066C70: - movs r0, #0xff - strb r0, [r5] - b _08066C82 -_08066C76: - mov r2, ip - adds r2, #0x69 - ldrb r1, [r2] - adds r0, r6, #0 - eors r0, r1 - strb r0, [r2] -_08066C82: - cmp r4, #0 - bne _08066B94 -_08066C86: - mov r0, ip - adds r0, #0x84 - ldr r1, [r0] - mov r0, ip - bl sub_0807DB98 - pop {r4, r5, r6, pc} - - thumb_func_start sub_08066C94 -sub_08066C94: @ 0x08066C94 - push {lr} - movs r1, #0 - bl sub_0805DA90 - movs r0, #0xf7 - bl sub_080A3268 - pop {pc} - - thumb_func_start sub_08066CA4 -sub_08066CA4: @ 0x08066CA4 - push {lr} - movs r1, #1 - bl sub_0805DA90 - movs r0, #0xf6 - bl sub_080A3268 - pop {pc} - - thumb_func_start sub_08066CB4 -sub_08066CB4: @ 0x08066CB4 - push {lr} - ldr r2, _08066CC8 @ =gUnk_08110BD8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08066CC8: .4byte gUnk_08110BD8 - - thumb_func_start sub_08066CCC -sub_08066CCC: @ 0x08066CCC - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #7 - bl sub_0805EA78 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 - pop {r4, pc} - - thumb_func_start sub_08066CF8 -sub_08066CF8: @ 0x08066CF8 - push {lr} - movs r1, #0 - bl sub_0807DD94 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08066D04 -sub_08066D04: @ 0x08066D04 - push {r4, lr} - adds r4, r0, #0 - movs r0, #7 - movs r1, #0x2e - bl sub_0805EB9C - str r0, [r4, #0x50] - pop {r4, pc} - - thumb_func_start sub_08066D14 -sub_08066D14: @ 0x08066D14 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r2, [r4, #0x50] - cmp r2, #0 - beq _08066D48 - ldrb r0, [r2, #0x14] - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r2, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r1, [r4, #0x50] - adds r0, r4, #0 - bl sub_08068680 - movs r0, #1 - str r0, [r5, #0x14] - b _08066D4A -_08066D48: - str r2, [r5, #0x14] -_08066D4A: - pop {r4, r5, pc} - - thumb_func_start sub_08066D4C -sub_08066D4C: @ 0x08066D4C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _08066D90 - bl sub_0806FA24 - ldr r3, [r4, #0x50] - ldrb r1, [r3, #0x18] - movs r2, #4 - rsbs r2, r2, #0 - adds r0, r2, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r3, #0x18] - ldr r1, [r4, #0x50] - ldrb r0, [r4, #0x14] - strb r0, [r1, #0x14] - ldrb r0, [r4, #0x18] - ands r2, r0 - strb r2, [r4, #0x18] - ldrb r1, [r4, #0x17] - movs r0, #0xfe - ands r0, r1 - strb r0, [r4, #0x17] - ldr r1, [r4, #0x50] - adds r0, r4, #0 - bl sub_08068694 - movs r0, #1 - str r0, [r5, #0x14] - b _08066D92 -_08066D90: - str r1, [r5, #0x14] -_08066D92: - pop {r4, r5, pc} - - thumb_func_start sub_08066D94 -sub_08066D94: @ 0x08066D94 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x1c - bl sub_0807CD04 - movs r0, #0x2e - movs r1, #0 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _08066DD6 - ldr r0, _08066DDC @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r5, #0 - bl sub_0806EDC4 - strb r0, [r4, #0x14] - ldr r0, _08066DE0 @ =gUnk_03000BF0 - ldrb r1, [r0, #5] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_08066DD6: - bl sub_0805E780 - pop {r4, r5, pc} - .align 2, 0 -_08066DDC: .4byte gUnk_03001160 -_08066DE0: .4byte gUnk_03000BF0 - - thumb_func_start sub_08066DE4 -sub_08066DE4: @ 0x08066DE4 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #7 - movs r1, #0x2e - bl sub_0805EB9C - adds r4, r0, #0 - cmp r4, #0 - beq _08066E06 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080686C4 -_08066E06: - pop {r4, r5, pc} - - thumb_func_start sub_08066E08 -sub_08066E08: @ 0x08066E08 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x50 - bl sub_080042AC - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r4, #0x80 - strh r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066E20 -sub_08066E20: @ 0x08066E20 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x44 - bl sub_080042AC - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r4, #0x80 - strh r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066E38 -sub_08066E38: @ 0x08066E38 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x48 - bl sub_080042AC - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r4, #0x80 - strh r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066E50 -sub_08066E50: @ 0x08066E50 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x4c - bl sub_080042AC - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r4, #0x80 - strh r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066E68 -sub_08066E68: @ 0x08066E68 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x54 - bl sub_080042AC - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r4, #0x80 - strh r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066E80 -sub_08066E80: @ 0x08066E80 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x18] - cmp r0, #4 - bhi _08066F7C - lsls r0, r0, #2 - ldr r1, _08066E98 @ =_08066E9C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08066E98: .4byte _08066E9C -_08066E9C: @ jump table - .4byte _08066EB0 @ case 0 - .4byte _08066EC0 @ case 1 - .4byte _08066EF0 @ case 2 - .4byte _08066F28 @ case 3 - .4byte _08066F58 @ case 4 -_08066EB0: - ldrb r0, [r5, #0x18] - adds r0, #1 - strb r0, [r5, #0x18] - adds r0, r4, #0 - movs r1, #0x16 - bl sub_080042AC - b _08066F7C -_08066EC0: - adds r0, r4, #0 - bl sub_080042B8 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08066F7C - ldrb r0, [r5, #0x18] - adds r0, #1 - strb r0, [r5, #0x18] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldrb r1, [r2] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - movs r0, #0x7c - bl sub_080A3268 - b _08066F7C -_08066EF0: - movs r1, #0x80 - lsls r1, r1, #1 - adds r0, r4, #0 - movs r2, #0x80 - bl sub_0806F62C - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08066F1A - adds r0, r4, #0 - bl sub_080042B8 -_08066F1A: - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _08066F7C - ldrb r0, [r5, #0x18] - adds r0, #1 - strb r0, [r5, #0x18] - b _08066F7C -_08066F28: - movs r1, #0x80 - lsls r1, r1, #1 - adds r0, r4, #0 - movs r2, #0x80 - bl sub_0806F62C - adds r0, r4, #0 - bl sub_080042B8 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08066F7C - ldrb r0, [r5, #0x18] - adds r0, #1 - strb r0, [r5, #0x18] - adds r0, r4, #0 - movs r1, #0x1e - bl sub_080042AC - b _08066F7C -_08066F58: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08066F7C - ldr r2, _08066F78 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _08066F8C - .align 2, 0 -_08066F78: .4byte gUnk_02033280 -_08066F7C: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r0, #0x28 - movs r2, #0 - strh r1, [r0] - ldr r0, _08066F90 @ =gUnk_02033280 - strb r2, [r0, #6] -_08066F8C: - pop {r4, r5, pc} - .align 2, 0 -_08066F90: .4byte gUnk_02033280 - - thumb_func_start sub_08066F94 -sub_08066F94: @ 0x08066F94 - push {r4, lr} - ldr r4, _08066F9C @ =gUnk_08110BE0 - b _08066FAC - .align 2, 0 -_08066F9C: .4byte gUnk_08110BE0 -_08066FA0: - ldrh r1, [r4] - adds r4, #2 - ldr r0, _08066FB4 @ =0x00004072 - movs r2, #1 - bl sub_0807B314 -_08066FAC: - ldrh r0, [r4] - cmp r0, #0 - bne _08066FA0 - pop {r4, pc} - .align 2, 0 -_08066FB4: .4byte 0x00004072 - - thumb_func_start sub_08066FB8 -sub_08066FB8: @ 0x08066FB8 - push {r4, lr} - ldr r4, _08066FC0 @ =gUnk_08110BE0 - b _08066FCE - .align 2, 0 -_08066FC0: .4byte gUnk_08110BE0 -_08066FC4: - ldrh r0, [r4] - adds r4, #2 - movs r1, #1 - bl sub_0807BA8C -_08066FCE: - ldrh r0, [r4] - cmp r0, #0 - bne _08066FC4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08066FD8 -sub_08066FD8: @ 0x08066FD8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x84 - ldr r0, [r0] - cmp r0, #0 - bne _08066FE8 - bl sub_0805E780 -_08066FE8: - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08067030 - cmp r0, #1 - bgt _08066FF8 - cmp r0, #0 - beq _08066FFE - b _0806707C -_08066FF8: - cmp r0, #2 - beq _0806706E - b _0806707C -_08066FFE: - ldr r1, _0806702C @ =gUnk_08110C00 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806707C - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 - b _0806707C - .align 2, 0 -_0806702C: .4byte gUnk_08110C00 -_08067030: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _08067064 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _08067060 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _0806707C - .align 2, 0 -_08067060: .4byte gUnk_03001160 -_08067064: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _0806707C -_0806706E: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806707C - movs r0, #1 - strb r0, [r4, #0xc] -_0806707C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08067080 -sub_08067080: @ 0x08067080 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r2, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080670B4 -sub_080670B4: @ 0x080670B4 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r0, #0x11 - bl sub_0807CA84 - cmp r0, #0 - bne _080670D0 - movs r0, #0x15 - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f -_080670D0: - ldr r0, _080670E0 @ =gUnk_08110C0C - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_080670E0: .4byte gUnk_08110C0C - - thumb_func_start sub_080670E4 -sub_080670E4: @ 0x080670E4 - push {lr} - ldr r1, _080670F8 @ =gUnk_02002A40 - ldrb r1, [r1, #8] - lsls r1, r1, #3 - ldr r2, _080670FC @ =gUnk_08110C10 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_080670F8: .4byte gUnk_02002A40 -_080670FC: .4byte gUnk_08110C10 - - thumb_func_start sub_08067100 -sub_08067100: @ 0x08067100 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_08067118 -sub_08067118: @ 0x08067118 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08067150 - ldr r1, _0806714C @ =gUnk_08110C00 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08067156 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _08067156 - .align 2, 0 -_0806714C: .4byte gUnk_08110C00 -_08067150: - adds r0, r4, #0 - bl sub_08004274 -_08067156: - pop {r4, pc} - - thumb_func_start sub_08067158 -sub_08067158: @ 0x08067158 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x84 - ldr r0, [r0] - cmp r0, #0 - bne _08067168 - bl sub_0805E780 -_08067168: - ldrb r5, [r4, #0xc] - cmp r5, #1 - beq _080671A8 - cmp r5, #1 - bgt _08067178 - cmp r5, #0 - beq _0806717E - b _08067224 -_08067178: - cmp r5, #2 - beq _0806720A - b _08067224 -_0806717E: - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _080671EC @ =gUnk_08110CA8 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08067224 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - strb r5, [r0] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD64 -_080671A8: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _080671F4 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _080671F0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - ldrb r0, [r4, #0xa] - lsls r0, r0, #3 - adds r0, #4 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0806F118 - b _08067224 - .align 2, 0 -_080671EC: .4byte gUnk_08110CA8 -_080671F0: .4byte gUnk_03001160 -_080671F4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - b _08067224 -_0806720A: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08067224 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 -_08067224: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08067228 -sub_08067228: @ 0x08067228 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bhi _0806727E - adds r0, r4, #0 - adds r0, #0x5a - ldrb r2, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - adds r0, #0x5b - ldrb r0, [r0] - movs r2, #0x3f - ands r2, r0 - adds r0, r4, #0 - movs r1, #2 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - movs r1, #1 - movs r2, #2 - bl sub_0806FFD8 - adds r0, r4, #0 - bl sub_0807000C - b _080672AC -_0806727E: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r2, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C -_080672AC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080672B0 -sub_080672B0: @ 0x080672B0 - push {lr} - ldrb r2, [r0, #0x14] - lsrs r2, r2, #1 - ldr r1, [r1, #4] - adds r1, r1, r2 - ldrb r2, [r0, #0xa] - lsls r2, r2, #3 - adds r1, r1, r2 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080672C8 -sub_080672C8: @ 0x080672C8 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r0, #0x11 - bl sub_0807CA84 - cmp r0, #0 - bne _080672E4 - movs r0, #0x15 - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f -_080672E4: - ldr r3, _08067300 @ =gUnk_08110CE8 - lsls r1, r4, #1 - ldrb r2, [r5, #0xa] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #1 - adds r1, r1, r0 - adds r1, r1, r3 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_08067300: .4byte gUnk_08110CE8 - - thumb_func_start sub_08067304 -sub_08067304: @ 0x08067304 - push {lr} - ldr r1, _08067310 @ =gUnk_08110D00 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_08067310: .4byte gUnk_08110D00 - - thumb_func_start sub_08067314 -sub_08067314: @ 0x08067314 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806732C -sub_0806732C: @ 0x0806732C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08067378 - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _08067374 @ =gUnk_08110CA8 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806737E - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - ldrb r1, [r4, #0xa] - lsls r1, r1, #3 - adds r1, #2 - adds r0, r4, #0 - bl sub_08004260 - b _0806737E - .align 2, 0 -_08067374: .4byte gUnk_08110CA8 -_08067378: - adds r0, r4, #0 - bl sub_08004274 -_0806737E: - pop {r4, pc} - - thumb_func_start sub_08067380 -sub_08067380: @ 0x08067380 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080673A4 - ldr r0, _080673A0 @ =gUnk_08110E5C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _080673BA - .align 2, 0 -_080673A0: .4byte gUnk_08110E5C -_080673A4: - ldr r0, _080673BC @ =gUnk_08110E4C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 -_080673BA: - pop {r4, pc} - .align 2, 0 -_080673BC: .4byte gUnk_08110E4C - - thumb_func_start sub_080673C0 -sub_080673C0: @ 0x080673C0 - push {lr} - adds r2, r0, #0 - ldr r0, _080673D4 @ =gUnk_030010A0 - adds r0, #0x2c - ldrb r0, [r0] - cmp r0, #0 - beq _080673D8 - movs r0, #3 - b _080673DA - .align 2, 0 -_080673D4: .4byte gUnk_030010A0 -_080673D8: - movs r0, #1 -_080673DA: - strb r0, [r2, #0xc] - ldrb r1, [r2, #0xa] - movs r0, #1 - ands r0, r1 - strb r0, [r2, #0x1e] - cmp r0, #0 - bne _080673EC - ldr r0, _080673F0 @ =gUnk_08110E94 - str r0, [r2, #0x48] -_080673EC: - pop {pc} - .align 2, 0 -_080673F0: .4byte gUnk_08110E94 - - thumb_func_start sub_080673F4 -sub_080673F4: @ 0x080673F4 - push {lr} - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x39 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _0806740C - movs r1, #0 - movs r0, #2 - strb r0, [r2, #0xc] - strb r1, [r3] -_0806740C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08067410 -sub_08067410: @ 0x08067410 - movs r1, #1 - strb r1, [r0, #0xc] - bx lr - .align 2, 0 - - thumb_func_start sub_08067418 -sub_08067418: @ 0x08067418 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - movs r0, #1 - strb r0, [r6, #0xc] - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, _08067488 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r7, r6, #0 - adds r7, #0x74 - strh r1, [r7] - ldrb r0, [r6, #0xa] - cmp r0, #0 - bne _08067494 - ldr r0, _0806748C @ =gUnk_08110E94 - str r0, [r6, #0x48] - ldr r5, _08067490 @ =0x00004022 - ldrh r1, [r7] - subs r1, #1 - adds r4, r6, #0 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrh r1, [r7] - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrh r1, [r7] - adds r1, #0x3f - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrh r1, [r7] - adds r1, #0x40 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - b _080674F8 - .align 2, 0 -_08067488: .4byte gUnk_03000BF0 -_0806748C: .4byte gUnk_08110E94 -_08067490: .4byte 0x00004022 -_08067494: - adds r1, r6, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - ldrb r2, [r6, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r6, #0x1b] - ldrb r0, [r6, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r6, #0x19] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x1d - bl sub_0807CBD0 - cmp r0, #0 - bne _080674F8 - ldr r4, _08067500 @ =0x00004022 - ldr r1, _08067504 @ =0x00000E81 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _08067508 @ =0x00000E82 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _0806750C @ =0x00000E83 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r1, _08067510 @ =0x00000EC3 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E -_080674F8: - adds r0, r6, #0 - bl sub_0807DD50 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08067500: .4byte 0x00004022 -_08067504: .4byte 0x00000E81 -_08067508: .4byte 0x00000E82 -_0806750C: .4byte 0x00000E83 -_08067510: .4byte 0x00000EC3 - - thumb_func_start sub_08067514 -sub_08067514: @ 0x08067514 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_0807DD94 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0806752A - adds r0, r4, #0 - bl sub_0806ED78 -_0806752A: - pop {r4, pc} - - thumb_func_start sub_0806752C -sub_0806752C: @ 0x0806752C - push {lr} - bl sub_0806FD3C - pop {pc} - - thumb_func_start sub_08067534 -sub_08067534: @ 0x08067534 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 -_0806753A: - adds r0, r5, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08067560 - ldr r0, _08067578 @ =gUnk_08110E64 - adds r0, r4, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r2, [r1, #0x2e] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - adds r0, #0x1c - strh r0, [r1, #0x32] -_08067560: - adds r4, #1 - cmp r4, #1 - ble _0806753A - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_08004488 - movs r0, #0x28 - movs r1, #4 - bl sub_08080964 - pop {r4, r5, pc} - .align 2, 0 -_08067578: .4byte gUnk_08110E64 - - thumb_func_start sub_0806757C -sub_0806757C: @ 0x0806757C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xd] - cmp r0, #0 - beq _080675CC - cmp r0, #2 - bls _080675BC - ldr r0, _080675AC @ =0x00000E81 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _080675B0 @ =0x00000E82 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _080675B4 @ =0x00000E83 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _080675B8 @ =0x00000EC3 - movs r1, #1 - bl sub_0807BA8C - b _080675CC - .align 2, 0 -_080675AC: .4byte 0x00000E81 -_080675B0: .4byte 0x00000E82 -_080675B4: .4byte 0x00000E83 -_080675B8: .4byte 0x00000EC3 -_080675BC: - ldr r0, _080675D0 @ =gUnk_08110E68 - ldrb r1, [r2, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl sub_080ADF80 -_080675CC: - pop {pc} - .align 2, 0 -_080675D0: .4byte gUnk_08110E68 - - thumb_func_start sub_080675D4 -sub_080675D4: @ 0x080675D4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldr r5, _080676D0 @ =gUnk_08110E78 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r7, r0, #0 - subs r7, #0xc - movs r0, #0x3f - mov r8, r0 - movs r6, #8 -_080675EC: - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r3, r0, #0 - cmp r3, #0 - beq _08067646 - movs r0, #0 - ldrsb r0, [r5, r0] - ldrh r1, [r3, #0x2e] - adds r0, r0, r1 - strh r0, [r3, #0x2e] - movs r0, #1 - ldrsb r0, [r5, r0] - ldrh r1, [r3, #0x32] - adds r0, r0, r1 - strh r0, [r3, #0x32] - strh r7, [r3, #0x36] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r3, #0 - adds r0, #0x38 - strb r1, [r0] - ldrb r1, [r4, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r3, #0x1b] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x1b] - ldrb r1, [r4, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r3, #0x19] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x19] - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_0806FAB0 -_08067646: - subs r6, #1 - adds r5, #2 - cmp r6, #0 - bge _080675EC - ldr r5, _080676D4 @ =gUnk_08110E8A - movs r0, #0x3f - mov r8, r0 - movs r6, #3 -_08067656: - adds r0, r4, #0 - movs r1, #4 - movs r2, #0 - bl sub_080A29AC - adds r3, r0, #0 - cmp r3, #0 - beq _080676B0 - movs r0, #0 - ldrsb r0, [r5, r0] - ldrh r1, [r3, #0x2e] - adds r0, r0, r1 - strh r0, [r3, #0x2e] - movs r0, #1 - ldrsb r0, [r5, r0] - ldrh r1, [r3, #0x32] - adds r0, r0, r1 - strh r0, [r3, #0x32] - strh r7, [r3, #0x36] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r3, #0 - adds r0, #0x38 - strb r1, [r0] - ldrb r1, [r4, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r3, #0x1b] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x1b] - ldrb r1, [r4, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r3, #0x19] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x19] - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_0806FAB0 -_080676B0: - subs r6, #1 - adds r5, #2 - cmp r6, #0 - bge _08067656 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bls _080676C8 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_080676C8: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080676D0: .4byte gUnk_08110E78 -_080676D4: .4byte gUnk_08110E8A - - thumb_func_start sub_080676D8 -sub_080676D8: @ 0x080676D8 - ldrb r1, [r0, #0xd] - adds r1, #1 - strb r1, [r0, #0xd] - bx lr - - thumb_func_start sub_080676E0 -sub_080676E0: @ 0x080676E0 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #1 - beq _08067706 - cmp r0, #1 - bgt _080676F6 - cmp r0, #0 - beq _080676FC - b _08067734 -_080676F6: - cmp r0, #2 - beq _08067722 - b _08067734 -_080676FC: - movs r0, #1 - strb r0, [r2, #0x18] - movs r0, #0x20 - strb r0, [r2, #0x19] - b _08067742 -_08067706: - ldrb r1, [r2, #0x19] - lsrs r0, r1, #1 - subs r0, #0x10 - strh r0, [r3, #0x36] - subs r1, #1 - strb r1, [r2, #0x19] - lsls r1, r1, #0x18 - cmp r1, #0 - bne _08067742 - movs r0, #2 - strb r0, [r2, #0x18] - movs r0, #0x24 - strb r0, [r2, #0x19] - b _08067742 -_08067722: - ldrb r0, [r2, #0x19] - subs r0, #1 - strb r0, [r2, #0x19] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08067742 - movs r0, #3 - strb r0, [r2, #0x18] - b _08067742 -_08067734: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r3, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _08067748 -_08067742: - ldr r1, _0806774C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_08067748: - pop {pc} - .align 2, 0 -_0806774C: .4byte gUnk_02033280 - - thumb_func_start sub_08067750 -sub_08067750: @ 0x08067750 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08067788 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrh r0, [r4, #0x32] - subs r0, #0x18 - strh r0, [r4, #0x32] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - ldr r1, _08067784 @ =0x0000017B - adds r0, r4, #0 - bl sub_0801D2B4 - b _0806778E - .align 2, 0 -_08067784: .4byte 0x0000017B -_08067788: - adds r0, r4, #0 - bl sub_08004274 -_0806778E: - pop {r4, pc} - - thumb_func_start sub_08067790 -sub_08067790: @ 0x08067790 - push {lr} - ldrb r2, [r0, #0xa] - lsls r1, r2, #2 - adds r1, r1, r2 - lsls r1, r1, #4 - ldr r2, _080677AC @ =gUnk_02002A40 - ldrb r2, [r2, #8] - lsls r2, r2, #3 - ldr r3, _080677B0 @ =gUnk_08110EF8 - adds r2, r2, r3 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_080677AC: .4byte gUnk_02002A40 -_080677B0: .4byte gUnk_08110EF8 - - thumb_func_start sub_080677B4 -sub_080677B4: @ 0x080677B4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080677E8 @ =gUnk_081110D8 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08067C44 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080677E4 - ldrb r0, [r4, #0xa] - cmp r0, #5 - beq _080677E4 - adds r0, r4, #0 - bl sub_0806ED78 -_080677E4: - pop {r4, pc} - .align 2, 0 -_080677E8: .4byte gUnk_081110D8 - - thumb_func_start sub_080677EC -sub_080677EC: @ 0x080677EC - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #8 - strb r0, [r4, #0x15] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - subs r1, #1 - movs r0, #0xa8 - strb r0, [r1] - subs r1, #4 - movs r0, #1 - strb r0, [r1] - adds r1, #0x2e - movs r0, #0xff - strb r0, [r1] - ldr r0, _0806783C @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r2, #0x2e - ldrsh r0, [r0, r2] - cmp r1, r0 - bge _08067840 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - b _08067848 - .align 2, 0 -_0806783C: .4byte gUnk_03001160 -_08067840: - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 -_08067848: - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldr r0, _0806786C @ =gUnk_08110EF0 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_0805ACC0 - adds r2, r0, #0 - cmp r2, #0 - bne _08067870 - movs r0, #0x2e - ldrsh r2, [r4, r0] - b _08067872 - .align 2, 0 -_0806786C: .4byte gUnk_08110EF0 -_08067870: - lsrs r2, r2, #0x10 -_08067872: - adds r0, r4, #0 - adds r0, #0x6c - movs r1, #0 - strh r2, [r0] - ldrb r0, [r4, #0xe] - adds r0, r0, r2 - adds r2, r4, #0 - adds r2, #0x6e - strh r0, [r2] - strb r1, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x75 - strb r1, [r0] - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x1e - adds r1, r4, #0 - adds r1, #0x74 - strb r0, [r1] - subs r1, #0xb - movs r0, #0xff - strb r0, [r1] - adds r0, r4, #0 - bl sub_08067B08 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080678AC -sub_080678AC: @ 0x080678AC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08067D20 - cmp r0, #0 - beq _080678C2 - adds r0, r4, #0 - movs r1, #5 - bl sub_08067B80 - b _08067900 -_080678C2: - adds r2, r4, #0 - adds r2, #0x72 - ldrh r0, [r2] - cmp r0, #0 - beq _080678D0 - subs r0, #1 - strh r0, [r2] -_080678D0: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #1 - bne _080678EA - ldrh r0, [r2] - cmp r0, #0 - bne _080678EA - adds r0, r4, #0 - bl sub_08067AAC - b _08067900 -_080678EA: - adds r0, r4, #0 - bl sub_080042B8 - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08067900 - adds r0, r4, #0 - bl sub_08067B34 -_08067900: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08067904 -sub_08067904: @ 0x08067904 - push {r4, lr} - adds r4, r0, #0 - bl sub_08067D20 - cmp r0, #0 - beq _0806791A - adds r0, r4, #0 - movs r1, #8 - bl sub_08067B80 - b _08067978 -_0806791A: - adds r1, r4, #0 - adds r1, #0x72 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08067932 - adds r0, r4, #0 - bl sub_08067B70 - b _08067978 -_08067932: - ldrb r0, [r4, #0x15] - cmp r0, #8 - bne _08067952 - movs r1, #0x2e - ldrsh r0, [r4, r1] - adds r1, r4, #0 - adds r1, #0x6e - ldrh r1, [r1] - cmp r0, r1 - ble _0806796C - movs r0, #0x18 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x18] - subs r0, #0x59 - ands r0, r1 - b _0806796A -_08067952: - movs r0, #0x2e - ldrsh r1, [r4, r0] - adds r0, r4, #0 - adds r0, #0x6c - ldrh r0, [r0] - cmp r1, r0 - bge _0806796C - movs r0, #8 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 -_0806796A: - strb r0, [r4, #0x18] -_0806796C: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_080042B8 -_08067978: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806797C -sub_0806797C: @ 0x0806797C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08067998 - adds r0, r4, #0 - bl sub_08067B08 -_08067998: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806799C -sub_0806799C: @ 0x0806799C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r0, _080679C0 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _080679BE - adds r0, r4, #0 - bl sub_08067B08 - adds r0, r4, #0 - movs r1, #1 - bl sub_0805E3A0 -_080679BE: - pop {r4, pc} - .align 2, 0 -_080679C0: .4byte gUnk_02000050 - - thumb_func_start sub_080679C4 -sub_080679C4: @ 0x080679C4 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x74 - ldrb r0, [r1] - cmp r0, #0 - beq _080679E6 - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _080679E6 - adds r0, r4, #0 - bl sub_08067D20 - cmp r0, #0 - bne _080679EE -_080679E6: - adds r0, r4, #0 - bl sub_08067C24 - b _08067A0A -_080679EE: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08067BD4 - adds r0, r4, #0 - bl sub_08067D74 - cmp r0, #0 - beq _08067A0A - adds r0, r4, #0 - bl sub_08067C18 -_08067A0A: - pop {r4, pc} - - thumb_func_start sub_08067A0C -sub_08067A0C: @ 0x08067A0C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08067A44 - adds r0, r4, #0 - bl sub_08067D20 - cmp r0, #0 - beq _08067A3C - adds r0, r4, #0 - movs r1, #5 - bl sub_08067B80 - ldrb r0, [r4, #0xe] - adds r0, #0x14 - strb r0, [r4, #0xe] - b _08067A76 -_08067A3C: - adds r0, r4, #0 - bl sub_08067C24 - b _08067A76 -_08067A44: - movs r2, #7 - ands r2, r1 - cmp r2, #0 - beq _08067A70 - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldr r1, _08067A6C @ =gUnk_08111154 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x19 - lsrs r0, r0, #0x1f - lsls r0, r0, #2 - subs r0, #1 - adds r0, r2, r0 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r4, #0x48] - b _08067A76 - .align 2, 0 -_08067A6C: .4byte gUnk_08111154 -_08067A70: - adds r0, r4, #0 - bl sub_08067DDC -_08067A76: - pop {r4, pc} - - thumb_func_start sub_08067A78 -sub_08067A78: @ 0x08067A78 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08067A94 - adds r0, r4, #0 - bl sub_08067AAC -_08067A94: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08067A98 -sub_08067A98: @ 0x08067A98 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08067AAA - adds r0, r4, #0 - bl sub_08067B08 -_08067AAA: - pop {r4, pc} - - thumb_func_start sub_08067AAC -sub_08067AAC: @ 0x08067AAC - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _08067AFC @ =gUnk_081110FC - movs r1, #3 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r1] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - ldrb r1, [r4, #0x15] - lsrs r1, r1, #4 - movs r0, #1 - eors r1, r0 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #3 - bl sub_08067DCC - ldr r0, _08067B00 @ =gUnk_0811110C - ldrb r2, [r0, #2] - ldr r3, _08067B04 @ =gUnk_0811110F - adds r0, r4, #0 - movs r1, #0 - bl sub_08078850 - pop {r4, pc} - .align 2, 0 -_08067AFC: .4byte gUnk_081110FC -_08067B00: .4byte gUnk_0811110C -_08067B04: .4byte gUnk_0811110F - - thumb_func_start sub_08067B08 -sub_08067B08: @ 0x08067B08 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _08067B30 @ =gUnk_08111104 - movs r1, #3 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r1] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08067B34 - pop {r4, pc} - .align 2, 0 -_08067B30: .4byte gUnk_08111104 - - thumb_func_start sub_08067B34 -sub_08067B34: @ 0x08067B34 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_08067DCC - bl sub_08000E50 - movs r1, #0x30 - ands r0, r1 - adds r0, #0xb4 - adds r1, r4, #0 - adds r1, #0x59 - strb r0, [r1] - ldr r1, _08067B68 @ =gUnk_0811110C - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x19 - lsrs r0, r0, #0x1f - adds r0, r0, r1 - ldrb r2, [r0] - ldr r3, _08067B6C @ =gUnk_0811110F - adds r0, r4, #0 - movs r1, #0 - bl sub_08078850 - pop {r4, pc} - .align 2, 0 -_08067B68: .4byte gUnk_0811110C -_08067B6C: .4byte gUnk_0811110F - - thumb_func_start sub_08067B70 -sub_08067B70: @ 0x08067B70 - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - movs r1, #4 - bl sub_08067DCC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08067B80 -sub_08067B80: @ 0x08067B80 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - movs r0, #5 - strb r0, [r5, #0xc] - movs r0, #0x14 - strb r0, [r5, #0xe] - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x1e - adds r1, r5, #0 - adds r1, #0x74 - strb r0, [r1] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080042AC - adds r0, r5, #0 - bl sub_08067DDC - ldr r0, _08067BC4 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r5, r2] - movs r2, #0x2e - ldrsh r0, [r0, r2] - cmp r1, r0 - bge _08067BC8 - ldrb r0, [r5, #0x18] - movs r1, #0x40 - orrs r0, r1 - b _08067BD0 - .align 2, 0 -_08067BC4: .4byte gUnk_03001160 -_08067BC8: - ldrb r1, [r5, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 -_08067BD0: - strb r0, [r5, #0x18] - pop {r4, r5, pc} - - thumb_func_start sub_08067BD4 -sub_08067BD4: @ 0x08067BD4 - push {r4, lr} - adds r2, r0, #0 - ldrb r3, [r2, #0x18] - lsls r0, r3, #0x19 - cmp r0, #0 - bge _08067BFC - movs r1, #0x2e - ldrsh r0, [r2, r1] - subs r0, #4 - ldr r1, _08067BF8 @ =gUnk_03001160 - movs r4, #0x2e - ldrsh r1, [r1, r4] - cmp r0, r1 - ble _08067C12 - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r3 - b _08067C10 - .align 2, 0 -_08067BF8: .4byte gUnk_03001160 -_08067BFC: - movs r1, #0x2e - ldrsh r0, [r2, r1] - adds r0, #4 - ldr r1, _08067C14 @ =gUnk_03001160 - movs r4, #0x2e - ldrsh r1, [r1, r4] - cmp r0, r1 - bge _08067C12 - movs r0, #0x40 - orrs r0, r3 -_08067C10: - strb r0, [r2, #0x18] -_08067C12: - pop {r4, pc} - .align 2, 0 -_08067C14: .4byte gUnk_03001160 - - thumb_func_start sub_08067C18 -sub_08067C18: @ 0x08067C18 - push {lr} - movs r1, #6 - strb r1, [r0, #0xc] - bl sub_080042AC - pop {pc} - - thumb_func_start sub_08067C24 -sub_08067C24: @ 0x08067C24 - push {r4, lr} - adds r4, r0, #0 - movs r0, #7 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x75 - movs r0, #0x14 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08067DDC - adds r0, r4, #0 - movs r1, #7 - bl sub_080042AC - pop {r4, pc} - - thumb_func_start sub_08067C44 -sub_08067C44: @ 0x08067C44 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08067C6C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - rsbs r0, r0, #0 - lsrs r5, r0, #0x1f - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - cmp r5, r0 - beq _08067C7C - cmp r5, #0 - bne _08067C70 - adds r0, r4, #0 - bl sub_08078778 - b _08067C7C - .align 2, 0 -_08067C6C: .4byte gUnk_03003F80 -_08067C70: - adds r0, r4, #0 - adds r0, #0x68 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080787A8 -_08067C7C: - adds r0, r4, #0 - adds r0, #0x69 - strb r5, [r0] - subs r0, #0x30 - movs r1, #0 - ldrsb r1, [r0, r1] - adds r5, r0, #0 - cmp r1, #0 - beq _08067D1C - ldr r1, _08067CB4 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_0806FCA0 - adds r2, r0, #0 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - beq _08067CA6 - cmp r0, #3 - beq _08067CB8 -_08067CA6: - cmp r2, #2 - bne _08067CDA - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - b _08067CEC - .align 2, 0 -_08067CB4: .4byte gUnk_03001160 -_08067CB8: - cmp r2, #1 - bne _08067CC4 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - b _08067CD4 -_08067CC4: - ldrb r1, [r4, #0x18] - lsls r0, r1, #0x19 - lsrs r0, r0, #0x1f - cmp r0, #3 - bne _08067CD6 - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 -_08067CD4: - strb r0, [r4, #0x18] -_08067CD6: - cmp r2, #2 - beq _08067CE4 -_08067CDA: - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - b _08067CEC -_08067CE4: - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC -_08067CEC: - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #2 - bne _08067D00 - movs r0, #8 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806F118 - b _08067D12 -_08067D00: - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_08067790 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 -_08067D12: - movs r0, #0 - strb r0, [r5] - movs r0, #0xd2 - bl sub_080A3268 -_08067D1C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08067D20 -sub_08067D20: @ 0x08067D20 - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x75 - ldrb r0, [r1] - cmp r0, #0 - beq _08067D34 - subs r0, #1 - strb r0, [r1] - b _08067D70 -_08067D34: - movs r0, #2 - bl sub_08049DF4 - adds r2, r0, #0 - cmp r2, #0 - beq _08067D70 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x19 - movs r3, #0x28 - cmp r0, #0 - bge _08067D4C - movs r3, #0x10 -_08067D4C: - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r5, #0x2e - ldrsh r0, [r4, r5] - subs r0, r0, r3 - subs r1, r1, r0 - cmp r1, #0x30 - bhi _08067D70 - movs r1, #0x32 - ldrsh r0, [r2, r1] - adds r0, #4 - movs r2, #0x32 - ldrsh r1, [r4, r2] - subs r0, r0, r1 - cmp r0, #0x38 - bhi _08067D70 - movs r0, #1 - b _08067D72 -_08067D70: - movs r0, #0 -_08067D72: - pop {r4, r5, pc} - - thumb_func_start sub_08067D74 -sub_08067D74: @ 0x08067D74 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #5 - beq _08067DC8 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08067D88 - subs r0, #1 - strb r0, [r4, #0xe] -_08067D88: - movs r0, #2 - bl sub_08049DF4 - adds r2, r0, #0 - cmp r2, #0 - beq _08067DC8 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x19 - movs r3, #0x18 - cmp r0, #0 - bge _08067DA0 - movs r3, #8 -_08067DA0: - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r5, #0x2e - ldrsh r0, [r4, r5] - subs r0, r0, r3 - subs r1, r1, r0 - cmp r1, #0x1e - bhi _08067DC8 - movs r1, #0x32 - ldrsh r0, [r2, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - subs r0, r0, r1 - cmp r0, #0x16 - bhi _08067DC8 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08067DC8 - movs r0, #1 - b _08067DCA -_08067DC8: - movs r0, #0 -_08067DCA: - pop {r4, r5, pc} - - thumb_func_start sub_08067DCC -sub_08067DCC: @ 0x08067DCC - push {lr} - adds r2, r0, #0 - adds r2, #0x71 - strb r1, [r2] - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08067DDC -sub_08067DDC: @ 0x08067DDC - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - movs r1, #0 - strb r0, [r2, #0x10] - adds r0, r2, #0 - adds r0, #0x41 - strb r1, [r0] - subs r0, #4 - strb r1, [r0] - ldr r0, _08067DF8 @ =gUnk_08110EF0 - str r0, [r2, #0x48] - bx lr - .align 2, 0 -_08067DF8: .4byte gUnk_08110EF0 - - thumb_func_start sub_08067DFC -sub_08067DFC: @ 0x08067DFC - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08067E22 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #5 - bl sub_080042AC - b _08067E28 -_08067E22: - adds r0, r2, #0 - bl sub_080042B8 -_08067E28: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08067E2C -sub_08067E2C: @ 0x08067E2C - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08067E58 - ldr r0, _08067E54 @ =gUnk_08111368 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - b _08067E5E - .align 2, 0 -_08067E54: .4byte gUnk_08111368 -_08067E58: - adds r0, r4, #0 - bl sub_08067EF0 -_08067E5E: - pop {r4, pc} - - thumb_func_start sub_08067E60 -sub_08067E60: @ 0x08067E60 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08067E84 @ =gUnk_08111358 - bl sub_0806FDEC - cmp r0, #0 - beq _08067E80 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_08078778 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_08067E80: - pop {r4, pc} - .align 2, 0 -_08067E84: .4byte gUnk_08111358 - - thumb_func_start sub_08067E88 -sub_08067E88: @ 0x08067E88 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x28 - movs r2, #0x28 - bl sub_0806ED9C - adds r1, r0, #0 - cmp r1, #0 - bge _08067E9E - movs r1, #2 - b _08067EB4 -_08067E9E: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08067EAA - movs r0, #0x10 - strb r0, [r4, #0xf] - b _08067EB4 -_08067EAA: - subs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] -_08067EB4: - adds r0, r4, #0 - bl sub_0806F078 - cmp r0, #0 - bne _08067EC4 - adds r0, r4, #0 - bl sub_08004274 -_08067EC4: - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08067EE4 - movs r0, #0 - strb r0, [r1] - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - movs r1, #0x90 - lsls r1, r1, #5 - adds r0, r0, r1 - bl sub_08056378 -_08067EE4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08067EE8 -sub_08067EE8: @ 0x08067EE8 - movs r1, #1 - strb r1, [r0, #0xc] - bx lr - .align 2, 0 - - thumb_func_start sub_08067EF0 -sub_08067EF0: @ 0x08067EF0 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xc] - cmp r4, #1 - beq _08067F58 - cmp r4, #1 - bgt _08067F04 - cmp r4, #0 - beq _08067F10 - b _0806801A -_08067F04: - cmp r4, #2 - beq _08067FDC - cmp r4, #3 - bne _08067F0E - b _08068000 -_08067F0E: - b _0806801A -_08067F10: - ldr r1, _08067F50 @ =gUnk_08111358 - adds r0, r5, #0 - bl sub_0806FDEC - cmp r0, #0 - bne _08067F1E - b _080680F0 -_08067F1E: - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xa] - strb r0, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x69 - strb r4, [r0] - adds r0, r5, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r5, #0 - bl sub_0807DD50 - ldr r1, _08067F54 @ =gUnk_08111304 - ldrb r0, [r5, #0xb] - adds r0, r0, r1 - ldrb r1, [r0] - b _08067FF2 - .align 2, 0 -_08067F50: .4byte gUnk_08111358 -_08067F54: .4byte gUnk_08111304 -_08067F58: - adds r4, r5, #0 - adds r4, #0x39 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #2 - bne _08067F98 - movs r1, #0 - movs r0, #3 - strb r0, [r5, #0xc] - strb r1, [r4] - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r5, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _08067F94 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r5, #0 - bl sub_08004260 - adds r0, r5, #0 - bl sub_0806F118 - b _0806801A - .align 2, 0 -_08067F94: .4byte gUnk_03001160 -_08067F98: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r5, #0 - bl sub_0807DDE4 - ldrb r0, [r5, #0xb] - cmp r0, #3 - bne _0806801A - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - beq _0806801A - movs r1, #0 - movs r0, #2 - strb r0, [r5, #0xc] - strb r1, [r4] - ldr r1, _08067FD8 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r5, #0 - bl sub_08004260 - adds r0, r5, #0 - bl sub_08068190 - b _0806801A - .align 2, 0 -_08067FD8: .4byte gUnk_03001160 -_08067FDC: - ldr r0, _08067FFC @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0806801A - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x14] - lsrs r1, r1, #1 - adds r1, #4 -_08067FF2: - adds r0, r5, #0 - bl sub_08004260 - b _0806801A - .align 2, 0 -_08067FFC: .4byte gUnk_02000050 -_08068000: - adds r0, r5, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806801A - movs r0, #1 - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r5, #0 - bl sub_08004260 -_0806801A: - adds r0, r5, #0 - adds r0, #0x59 - ldrb r1, [r0] - adds r7, r0, #0 - cmp r1, #0xff - beq _0806802C - adds r0, r5, #0 - bl sub_08004274 -_0806802C: - adds r1, r5, #0 - adds r1, #0x5b - ldrb r2, [r1] - movs r0, #1 - ands r0, r2 - adds r6, r1, #0 - cmp r0, #0 - beq _0806807E - movs r0, #0xfe - ands r0, r2 - strb r0, [r6] - adds r0, r5, #0 - bl sub_080040A8 - cmp r0, #0 - bne _08068068 - ldr r4, _08068064 @ =gUnk_0811137A - bl sub_08000E50 - movs r1, #3 - bl __modsi3 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - bl sub_080A3268 - b _0806807E - .align 2, 0 -_08068064: .4byte gUnk_0811137A -_08068068: - ldr r4, _080680F4 @ =gUnk_08111374 - bl sub_08000E50 - movs r1, #3 - bl __modsi3 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - bl sub_08004488 -_0806807E: - ldrb r1, [r6] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080680A8 - movs r0, #0xfd - ands r0, r1 - strb r0, [r6] - adds r0, r5, #0 - movs r1, #4 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _080680A8 - ldr r3, _080680F8 @ =0xFFE80000 - adds r0, r5, #0 - movs r2, #0 - bl sub_0806FA48 -_080680A8: - ldrb r1, [r6] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _080680D2 - movs r0, #0xfb - ands r0, r1 - strb r0, [r6] - adds r0, r5, #0 - movs r1, #0x3d - movs r2, #0x20 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _080680D2 - ldr r2, _080680FC @ =0xFFEC0000 - ldr r3, _08068100 @ =0xFFF60000 - adds r0, r5, #0 - bl sub_0806FA48 -_080680D2: - ldrb r1, [r6] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080680F0 - movs r0, #0xf7 - ands r0, r1 - strb r0, [r6] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - ldrb r1, [r7] - adds r0, r0, r1 - strb r0, [r7] -_080680F0: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080680F4: .4byte gUnk_08111374 -_080680F8: .4byte 0xFFE80000 -_080680FC: .4byte 0xFFEC0000 -_08068100: .4byte 0xFFF60000 - - thumb_func_start sub_08068104 -sub_08068104: @ 0x08068104 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806811C -sub_0806811C: @ 0x0806811C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - adds r7, r0, #0 - cmp r7, #0 - beq _0806812E - subs r0, #1 - strb r0, [r4, #0xe] - b _0806818A -_0806812E: - movs r0, #2 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806EDD8 - adds r3, r0, #0 - cmp r3, #0 - bge _08068148 - ldrb r0, [r4, #0xa] - strb r0, [r4, #0x14] - lsls r3, r0, #2 -_08068148: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #5 - asrs r1, r3, #1 - lsls r1, r1, #1 - ldr r2, _0806818C @ =gUnk_08111284 - adds r1, r1, r2 - adds r0, r0, r1 - ldrb r6, [r0] - ldrb r5, [r0, #1] - movs r0, #0x80 - ands r0, r5 - cmp r0, #0 - beq _0806816C - adds r0, r3, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] -_0806816C: - movs r0, #0x40 - orrs r6, r0 - adds r0, r4, #0 - adds r0, #0x5a - strb r6, [r0] - movs r0, #0x7f - ands r5, r0 - strb r5, [r4, #0x1e] - adds r0, r4, #0 - adds r0, #0x58 - strb r7, [r0] - adds r1, r4, #0 - adds r1, #0x59 - movs r0, #0xff - strb r0, [r1] -_0806818A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806818C: .4byte gUnk_08111284 - - thumb_func_start sub_08068190 -sub_08068190: @ 0x08068190 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r5, [r6, #0xb] - cmp r5, #8 - bls _0806819C - movs r5, #8 -_0806819C: - movs r0, #0x7e - bl sub_0807CBD0 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f - movs r0, #0x41 - bl sub_0807CA84 - cmp r0, #0 - beq _080681B4 - movs r4, #2 -_080681B4: - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - beq _080681C0 - movs r4, #3 -_080681C0: - ldr r2, _080681D4 @ =gUnk_0811130E - lsls r0, r4, #1 - lsls r1, r5, #3 - adds r0, r0, r1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, r6, #0 - bl sub_08056398 - pop {r4, r5, r6, pc} - .align 2, 0 -_080681D4: .4byte gUnk_0811130E - - thumb_func_start sub_080681D8 -sub_080681D8: @ 0x080681D8 - ldr r1, [r1, #4] - strb r1, [r0, #0xa] - bx lr - .align 2, 0 - - thumb_func_start sub_080681E0 -sub_080681E0: @ 0x080681E0 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x5a - ldrb r4, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r4, r0 - ldrb r2, [r5, #0x1e] - adds r0, r5, #0 - movs r1, #1 - bl sub_0806FF60 - movs r0, #0x40 - ands r0, r4 - cmp r0, #0 - beq _08068226 - movs r0, #0xe1 - rsbs r0, r0, #0 - ands r4, r0 - adds r2, r4, #4 - adds r0, r5, #0 - movs r1, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #2 - movs r2, #0xff - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - b _08068268 -_08068226: - movs r0, #0x20 - ands r0, r4 - cmp r0, #0 - beq _08068254 - adds r0, r5, #0 - movs r1, #0 - movs r2, #0xff - bl sub_0806FF60 - movs r0, #0xe1 - rsbs r0, r0, #0 - ands r4, r0 - adds r0, r5, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - movs r2, #2 - bl sub_0806FF88 - b _08068268 -_08068254: - adds r0, r5, #0 - movs r1, #0 - movs r2, #0xff - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #2 - movs r2, #0xff - bl sub_0806FF60 -_08068268: - adds r0, r5, #0 - bl sub_0807000C - pop {r4, r5, pc} - - thumb_func_start sub_08068270 -sub_08068270: @ 0x08068270 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080682A8 - ldr r1, _080682A4 @ =gUnk_08111358 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _080682AE - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _080682AE - .align 2, 0 -_080682A4: .4byte gUnk_08111358 -_080682A8: - adds r0, r4, #0 - bl sub_08004274 -_080682AE: - pop {r4, pc} - - thumb_func_start sub_080682B0 -sub_080682B0: @ 0x080682B0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r2, r0, #0 - cmp r2, #0 - bne _080682F4 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #4 - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x68 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - adds r0, r4, #0 - movs r1, #0 - bl sub_0806854C -_080682F4: - adds r0, r4, #0 - adds r0, #0x68 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0806830A - adds r0, r4, #0 - bl sub_08068318 - b _08068314 -_0806830A: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_08068314: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08068318 -sub_08068318: @ 0x08068318 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov r8, r0 - ldr r4, _08068414 @ =gUnk_03001160 - ldrh r1, [r4, #0x2e] - ldr r3, _08068418 @ =0xFFFF0000 - adds r0, r3, #0 - ands r0, r6 - orrs r0, r1 - ldrh r1, [r4, #0x32] - lsls r1, r1, #0x10 - ldr r2, _0806841C @ =0x0000FFFF - ands r0, r2 - adds r6, r0, #0 - orrs r6, r1 - ldrh r0, [r4, #0x36] - ands r3, r7 - orrs r3, r0 - adds r7, r3, #0 - ldr r0, _08068420 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - lsls r0, r0, #0x10 - ldr r2, _08068424 @ =0xFF00FFFF - ands r2, r3 - orrs r2, r0 - adds r7, r2, #0 - ldrb r1, [r4, #0x14] - movs r0, #0x3f - ands r1, r0 - lsls r1, r1, #0x18 - ldr r0, _08068428 @ =0xC0FFFFFF - ands r0, r2 - orrs r0, r1 - adds r7, r0, #0 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - lsls r1, r1, #0x1e - ldr r2, _0806842C @ =0x3FFFFFFF - ands r0, r2 - adds r7, r0, #0 - orrs r7, r1 - mov r0, r8 - ldr r5, [r0, #0x64] - ldrb r1, [r5, #6] - cmp r1, #0xa - bne _08068386 - lsrs r0, r7, #0x10 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xa - bne _08068394 -_08068386: - cmp r1, #0x16 - bne _080683B4 - lsrs r0, r7, #0x10 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x16 - beq _080683B4 -_08068394: - ldrh r0, [r4, #0x2e] - mov r1, r8 - strh r0, [r1, #0x2e] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x32] - ldrb r1, [r1, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - mov r2, r8 - strb r0, [r2, #0x18] - mov r0, r8 - bl sub_08068578 -_080683B4: - movs r3, #0 - mov sb, r3 - ldr r0, [r5] - cmp r6, r0 - bne _080683D0 - ldr r0, [r5, #4] - cmp r7, r0 - bne _080683D0 - lsls r1, r7, #8 - lsrs r0, r1, #0x18 - cmp r0, #0x16 - beq _080683D0 - cmp r0, #0xa - bne _08068430 -_080683D0: - mov r0, r8 - ldr r5, [r0, #0x64] - adds r5, #0x90 - mov r4, r8 - adds r4, #0x69 - mov r3, r8 - adds r3, #0x38 - movs r1, #0x58 - add r1, r8 - mov ip, r1 - movs r2, #0x12 -_080683E6: - ldr r0, [r5] - ldr r1, [r5, #4] - str r0, [r5, #8] - str r1, [r5, #0xc] - subs r5, #8 - subs r2, #1 - cmp r2, #0 - bge _080683E6 - mov r2, r8 - ldr r5, [r2, #0x64] - str r6, [r5] - str r7, [r5, #4] - movs r0, #4 - mov sb, r0 - ldrb r1, [r4] - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - ble _080684A8 - subs r0, r1, #1 - strb r0, [r4] - b _080684A8 - .align 2, 0 -_08068414: .4byte gUnk_03001160 -_08068418: .4byte 0xFFFF0000 -_0806841C: .4byte 0x0000FFFF -_08068420: .4byte gUnk_03003F80 -_08068424: .4byte 0xFF00FFFF -_08068428: .4byte 0xC0FFFFFF -_0806842C: .4byte 0x3FFFFFFF -_08068430: - adds r5, #0x98 - movs r1, #4 - ldrsh r0, [r5, r1] - cmp r0, #0 - bge _08068466 - mov r2, r8 - ldr r5, [r2, #0x64] - adds r5, #0x90 - mov r4, r8 - adds r4, #0x69 - mov r3, r8 - adds r3, #0x38 - movs r0, #0x58 - add r0, r8 - mov ip, r0 - movs r2, #0x12 -_08068450: - ldr r0, [r5] - ldr r1, [r5, #4] - str r0, [r5, #8] - str r1, [r5, #0xc] - subs r5, #8 - subs r2, #1 - cmp r2, #0 - bge _08068450 - movs r1, #4 - mov sb, r1 - b _080684A8 -_08068466: - ldr r1, _0806851C @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r0, [r1, r2] - movs r3, #0x32 - ldrsh r1, [r1, r3] - ldrh r2, [r5] - ldrh r3, [r5, #2] - bl sub_080041E8 - lsrs r0, r0, #4 - mov r4, r8 - adds r4, #0x69 - mov r3, r8 - adds r3, #0x38 - movs r1, #0x58 - add r1, r8 - mov ip, r1 - cmp r0, #0x18 - ble _080684A8 - mov r2, r8 - ldr r5, [r2, #0x64] - adds r5, #0x90 - movs r2, #0x12 -_08068494: - ldr r0, [r5] - ldr r1, [r5, #4] - str r0, [r5, #8] - str r1, [r5, #0xc] - subs r5, #8 - subs r2, #1 - cmp r2, #0 - bge _08068494 - movs r0, #4 - mov sb, r0 -_080684A8: - mov r1, r8 - ldr r5, [r1, #0x64] - adds r5, #0x98 - ldrh r0, [r5] - strh r0, [r1, #0x2e] - ldrh r0, [r5, #2] - strh r0, [r1, #0x32] - ldrh r0, [r5, #4] - strh r0, [r1, #0x36] - ldrb r0, [r5, #7] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1a - strb r0, [r1, #0x14] - ldrb r0, [r5, #7] - lsrs r0, r0, #6 - strb r0, [r3] - ldrb r0, [r5, #6] - cmp r0, #0x16 - beq _080684D2 - cmp r0, #0xa - bne _080684DE -_080684D2: - mov r2, r8 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] -_080684DE: - adds r1, r4, #0 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - ble _080684EE - subs r0, r2, #1 - strb r0, [r1] -_080684EE: - mov r2, sb - mov r3, r8 - ldrb r0, [r3, #0x14] - lsrs r0, r0, #1 - add sb, r0 - mov r0, ip - ldrb r0, [r0] - cmp sb, r0 - beq _08068520 - cmp r2, #0 - bne _0806850C - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bgt _08068520 -_0806850C: - mov r0, r8 - mov r1, sb - bl sub_080042AC - movs r0, #0x1e - strb r0, [r4] - b _08068526 - .align 2, 0 -_0806851C: .4byte gUnk_03001160 -_08068520: - mov r0, r8 - bl sub_080042B8 -_08068526: - mov r0, r8 - bl sub_0800451C - mov r1, r8 - movs r2, #0x36 - ldrsh r0, [r1, r2] - cmp r0, #0 - bge _08068542 - movs r2, #0xc - rsbs r2, r2, #0 - mov r0, r8 - movs r1, #0 - bl sub_0806F854 -_08068542: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0806854C -sub_0806854C: @ 0x0806854C - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xa0 - bl sub_0801D8E0 - str r0, [r5, #0x64] - cmp r0, #0 - beq _08068574 - adds r0, r5, #0 - adds r0, #0x68 - movs r4, #0 - movs r1, #1 - strb r1, [r0] - adds r0, r5, #0 - bl sub_080788E0 - str r4, [r5, #0x48] - adds r0, r5, #0 - bl sub_08068578 -_08068574: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08068578 -sub_08068578: @ 0x08068578 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - ldr r4, _08068664 @ =gUnk_03001160 - ldrh r1, [r4, #0x2e] - ldr r3, _08068668 @ =0xFFFF0000 - adds r0, r3, #0 - ands r0, r5 - orrs r0, r1 - ldrh r1, [r4, #0x32] - lsls r1, r1, #0x10 - ldr r2, _0806866C @ =0x0000FFFF - ands r0, r2 - adds r5, r0, #0 - orrs r5, r1 - ldrh r0, [r4, #0x36] - ands r3, r6 - orrs r3, r0 - ldr r0, _08068670 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - lsls r0, r0, #0x10 - ldr r2, _08068674 @ =0xFF00FFFF - ands r2, r3 - orrs r2, r0 - ldrb r1, [r4, #0x14] - movs r0, #0x3f - ands r1, r0 - lsls r1, r1, #0x18 - ldr r0, _08068678 @ =0xC0FFFFFF - ands r0, r2 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - lsls r1, r1, #0x1e - ldr r2, _0806867C @ =0x3FFFFFFF - ands r0, r2 - adds r6, r0, #0 - orrs r6, r1 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r7, r2] - subs r1, r1, r0 - mov sl, r1 - movs r0, #0x32 - ldrsh r1, [r4, r0] - movs r2, #0x32 - ldrsh r0, [r7, r2] - subs r1, r1, r0 - mov r8, r1 - mov r1, sl - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x14 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov sl, r0 - mov r2, r8 - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x14 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r8, r0 - ldr r3, [r7, #0x64] - movs r0, #0 - mov sb, r0 - mov ip, r0 - movs r4, #0x13 -_08068614: - mov r1, ip - asrs r0, r1, #8 - subs r0, r5, r0 - strh r0, [r3] - lsrs r0, r5, #0x10 - mov r2, sb - asrs r1, r2, #8 - subs r0, r0, r1 - strh r0, [r3, #2] - strh r6, [r3, #4] - lsrs r0, r6, #0x10 - strb r0, [r3, #6] - ldrb r0, [r7, #0x14] - movs r1, #0x3f - ands r1, r0 - ldrb r2, [r3, #7] - movs r0, #0x40 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #7] - adds r1, r7, #0 - adds r1, #0x38 - ldrb r1, [r1] - lsls r1, r1, #6 - movs r2, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #7] - adds r3, #8 - add sb, r8 - add ip, sl - subs r4, #1 - cmp r4, #0 - bge _08068614 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08068664: .4byte gUnk_03001160 -_08068668: .4byte 0xFFFF0000 -_0806866C: .4byte 0x0000FFFF -_08068670: .4byte gUnk_03003F80 -_08068674: .4byte 0xFF00FFFF -_08068678: .4byte 0xC0FFFFFF -_0806867C: .4byte 0x3FFFFFFF - - thumb_func_start sub_08068680 -sub_08068680: @ 0x08068680 - adds r2, r1, #0 - adds r2, #0x68 - movs r0, #0 - strb r0, [r2] - ldrb r2, [r1, #0x18] - subs r0, #4 - ands r0, r2 - strb r0, [r1, #0x18] - bx lr - .align 2, 0 - - thumb_func_start sub_08068694 -sub_08068694: @ 0x08068694 - push {r4, lr} - adds r4, r1, #0 - adds r2, r4, #0 - adds r2, #0x68 - movs r3, #1 - movs r1, #1 - strb r1, [r2] - ldrb r2, [r4, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r4, #0x18] - ldrb r0, [r0, #0x14] - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08068578 - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080686C4 -sub_080686C4: @ 0x080686C4 - push {lr} - adds r0, r1, #0 - ldrh r1, [r0, #0x32] - subs r1, #0x10 - strh r1, [r0, #0x32] - bl sub_08068578 - pop {pc} - - thumb_func_start sub_080686D4 -sub_080686D4: @ 0x080686D4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08068700 - ldr r0, _080686FC @ =gUnk_08111530 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - b _08068706 - .align 2, 0 -_080686FC: .4byte gUnk_08111530 -_08068700: - adds r0, r4, #0 - bl sub_08068780 -_08068706: - pop {r4, pc} - - thumb_func_start sub_08068708 -sub_08068708: @ 0x08068708 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806872C @ =gUnk_08111520 - bl sub_0806FDEC - cmp r0, #0 - beq _08068728 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08078778 -_08068728: - pop {r4, pc} - .align 2, 0 -_0806872C: .4byte gUnk_08111520 - - thumb_func_start sub_08068730 -sub_08068730: @ 0x08068730 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806ED9C - adds r1, r0, #0 - cmp r1, #0 - blt _08068762 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0806875E - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, r1 - beq _08068762 - adds r0, r4, #0 - bl sub_08004260 - b _08068762 -_0806875E: - subs r0, #1 - strb r0, [r4, #0xf] -_08068762: - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0806877E - movs r0, #0 - strb r0, [r1] - ldrb r0, [r4, #0xe] - movs r1, #0x90 - lsls r1, r1, #5 - adds r0, r0, r1 - bl sub_08056378 -_0806877E: - pop {r4, pc} - - thumb_func_start sub_08068780 -sub_08068780: @ 0x08068780 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #1 - beq _080687D0 - cmp r0, #1 - bgt _08068794 - cmp r0, #0 - beq _0806879A - b _0806880E -_08068794: - cmp r0, #2 - beq _08068800 - b _0806880E -_0806879A: - ldr r1, _080687CC @ =gUnk_08111520 - adds r0, r5, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806887A - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xa] - strb r0, [r5, #0x14] - adds r0, r5, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r5, #0 - bl sub_0807DD50 - b _0806880E - .align 2, 0 -_080687CC: .4byte gUnk_08111520 -_080687D0: - adds r2, r5, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _080687EA - movs r0, #0 - strb r1, [r5, #0xc] - strb r0, [r2] - adds r0, r5, #0 - bl sub_0806F118 - b _0806880E -_080687EA: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r5, #0 - bl sub_0807DDE4 - adds r0, r5, #0 - bl sub_08004274 - b _0806880E -_08068800: - adds r0, r5, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806880E - movs r0, #1 - strb r0, [r5, #0xc] -_0806880E: - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0806887A - movs r0, #0xbf - ands r0, r1 - strb r0, [r2] - adds r0, r5, #0 - bl sub_080040A8 - cmp r0, #0 - bne _08068848 - ldr r4, _08068844 @ =gUnk_0811153E - bl sub_08000E50 - movs r1, #3 - bl __modsi3 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - bl sub_080A3268 - b _0806885E - .align 2, 0 -_08068844: .4byte gUnk_0811153E -_08068848: - ldr r4, _0806887C @ =gUnk_08111538 - bl sub_08000E50 - movs r1, #3 - bl __modsi3 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - bl sub_08004488 -_0806885E: - adds r0, r5, #0 - movs r1, #0x3d - movs r2, #0x20 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0806887A - movs r2, #0xc0 - lsls r2, r2, #0xd - ldr r3, _08068880 @ =0xFFF60000 - adds r0, r5, #0 - bl sub_0806FA48 -_0806887A: - pop {r4, r5, pc} - .align 2, 0 -_0806887C: .4byte gUnk_08111538 -_08068880: .4byte 0xFFF60000 - - thumb_func_start sub_08068884 -sub_08068884: @ 0x08068884 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806889C -sub_0806889C: @ 0x0806889C - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x5a - ldrb r4, [r0] - movs r0, #0xc1 - rsbs r0, r0, #0 - ands r4, r0 - ldrb r2, [r5, #0x1e] - adds r0, r5, #0 - movs r1, #1 - bl sub_0806FF60 - movs r0, #0x20 - ands r0, r4 - cmp r0, #0 - beq _080688E2 - movs r0, #0xe1 - rsbs r0, r0, #0 - ands r4, r0 - adds r0, r5, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #2 - movs r2, #0xff - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - b _08068906 -_080688E2: - adds r0, r5, #0 - movs r1, #0 - movs r2, #0xff - bl sub_0806FF60 - movs r0, #0xe1 - rsbs r0, r0, #0 - ands r4, r0 - adds r0, r5, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - movs r2, #2 - bl sub_0806FFD8 -_08068906: - adds r0, r5, #0 - bl sub_0807000C - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08068910 -sub_08068910: @ 0x08068910 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08068920 - subs r0, #1 - strb r0, [r4, #0xe] - b _08068960 -_08068920: - movs r0, #0x10 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08068960 - adds r0, r4, #0 - movs r1, #0x30 - movs r2, #0x30 - bl sub_0806EDD8 - adds r2, r0, #0 - cmp r2, #0 - bge _08068944 - movs r2, #0x10 -_08068944: - adds r0, r2, #0 - bl sub_0806F5A4 - adds r2, r0, #0 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - movs r0, #4 - rsbs r0, r0, #0 - ands r1, r0 - adds r1, r1, r2 - adds r0, r4, #0 - bl sub_08004260 -_08068960: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08068964 -sub_08068964: @ 0x08068964 - push {lr} - movs r0, #0x35 - movs r1, #0 - movs r2, #3 - bl sub_080A7C18 - movs r0, #0x35 - movs r1, #2 - bl sub_0807CAA0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806897C -sub_0806897C: @ 0x0806897C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080689B4 - ldr r1, _080689B0 @ =gUnk_08111520 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _080689BA - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _080689BA - .align 2, 0 -_080689B0: .4byte gUnk_08111520 -_080689B4: - adds r0, r4, #0 - bl sub_08004274 -_080689BA: - pop {r4, pc} - - thumb_func_start nullsub_502 -nullsub_502: @ 0x080689BC - bx lr - .align 2, 0 - - thumb_func_start sub_080689C0 -sub_080689C0: @ 0x080689C0 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080689E4 - ldr r0, _080689E0 @ =gUnk_081115D0 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _080689FA - .align 2, 0 -_080689E0: .4byte gUnk_081115D0 -_080689E4: - ldr r0, _08068A18 @ =gUnk_081115C0 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 -_080689FA: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08068A16 - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0 - bl sub_08068BEC -_08068A16: - pop {r4, pc} - .align 2, 0 -_08068A18: .4byte gUnk_081115C0 - - thumb_func_start sub_08068A1C -sub_08068A1C: @ 0x08068A1C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - strb r0, [r4, #0xb] - ldr r0, _08068A34 @ =gUnk_030010A0 - adds r0, #0x2c - ldrb r0, [r0] - cmp r0, #0 - beq _08068A38 - movs r1, #6 - movs r0, #3 - b _08068A42 - .align 2, 0 -_08068A34: .4byte gUnk_030010A0 -_08068A38: - adds r0, r4, #0 - bl sub_08078778 - movs r1, #2 - movs r0, #1 -_08068A42: - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_08068A4C -sub_08068A4C: @ 0x08068A4C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x28 - movs r2, #0x28 - bl sub_0806ED9C - adds r1, r0, #0 - cmp r1, #0 - bge _08068A62 - movs r1, #2 - b _08068A78 -_08068A62: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08068A6E - movs r0, #0x10 - strb r0, [r4, #0xf] - b _08068A78 -_08068A6E: - subs r0, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] -_08068A78: - adds r0, r4, #0 - bl sub_0806F078 - cmp r0, #0 - bne _08068A88 - adds r0, r4, #0 - bl sub_08004274 -_08068A88: - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08068AA2 - movs r0, #0 - strb r0, [r1] - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0 - bl sub_08056378 -_08068AA2: - pop {r4, pc} - - thumb_func_start sub_08068AA4 -sub_08068AA4: @ 0x08068AA4 - push {lr} - adds r2, r0, #0 - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r0, [r2, #0xa] - cmp r0, #0 - beq _08068AD4 - ldrb r0, [r2, #0xb] - adds r1, r0, #1 - movs r0, #7 - ands r1, r0 - strb r1, [r2, #0xb] - cmp r1, #0 - bne _08068AC4 - adds r0, r1, #1 - strb r0, [r2, #0xb] -_08068AC4: - ldr r0, _08068AD8 @ =gUnk_081115DC - ldrb r1, [r2, #0xb] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r1, [r1] - adds r0, r2, #0 - bl sub_0801D2B4 -_08068AD4: - pop {pc} - .align 2, 0 -_08068AD8: .4byte gUnk_081115DC - - thumb_func_start sub_08068ADC -sub_08068ADC: @ 0x08068ADC - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08068AF8 @ =gUnk_030010A0 - adds r0, #0x2c - ldrb r0, [r0] - cmp r0, #2 - bne _08068AF0 - adds r0, r4, #0 - bl sub_08004274 -_08068AF0: - adds r0, r4, #0 - bl sub_0806FD3C - pop {r4, pc} - .align 2, 0 -_08068AF8: .4byte gUnk_030010A0 - - thumb_func_start sub_08068AFC -sub_08068AFC: @ 0x08068AFC - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - adds r0, r4, #0 - bl sub_0807DD50 - pop {r4, pc} - - thumb_func_start sub_08068B2C -sub_08068B2C: @ 0x08068B2C - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _08068B64 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _08068B60 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _08068B6C - .align 2, 0 -_08068B60: .4byte gUnk_03001160 -_08068B64: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 -_08068B6C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08068B70 -sub_08068B70: @ 0x08068B70 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08068B80 - movs r0, #1 - strb r0, [r4, #0xc] -_08068B80: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08068B84 -sub_08068B84: @ 0x08068B84 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08068BAC @ =gUnk_08111618 - ldrb r0, [r4, #0xe] - adds r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0 - beq _08068B9A - movs r1, #0 - bl sub_08054414 -_08068B9A: - ldr r0, _08068BB0 @ =gUnk_081115EC - ldrb r1, [r4, #0xe] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - bl sub_0805ED14 - pop {r4, pc} - .align 2, 0 -_08068BAC: .4byte gUnk_08111618 -_08068BB0: .4byte gUnk_081115EC - - thumb_func_start sub_08068BB4 -sub_08068BB4: @ 0x08068BB4 - ldr r2, _08068BCC @ =gUnk_02002A40 - adds r1, r2, #0 - adds r1, #0xb4 - ldrb r1, [r1] - adds r3, r0, #0 - adds r3, #0x69 - strb r1, [r3] - adds r2, #0xb5 - ldrb r1, [r2] - adds r0, #0x6a - strb r1, [r0] - bx lr - .align 2, 0 -_08068BCC: .4byte gUnk_02002A40 - - thumb_func_start sub_08068BD0 -sub_08068BD0: @ 0x08068BD0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x69 - ldrb r0, [r0] - movs r1, #0 - bl sub_08054414 - adds r4, #0x6a - ldrb r0, [r4] - movs r1, #1 - bl sub_08054414 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08068BEC -sub_08068BEC: @ 0x08068BEC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x44 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08068C22 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r3] - ldr r3, _08068C24 @ =0xFFF00000 - adds r0, r4, #0 - adds r1, r2, #0 - movs r2, #0 - bl sub_0806FA48 - movs r0, #0xfa - bl sub_080A3268 -_08068C22: - pop {r4, pc} - .align 2, 0 -_08068C24: .4byte 0xFFF00000 - - thumb_func_start sub_08068C28 -sub_08068C28: @ 0x08068C28 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08068C54 @ =gUnk_08111623 - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - ldrb r0, [r1] - strb r0, [r4, #0xe] - ldrb r5, [r4, #0xa] - cmp r5, #1 - bne _08068C6A - movs r0, #0x48 - bl sub_0807CA84 - cmp r0, #0 - beq _08068C6A - movs r0, #0x4b - bl sub_0807CA84 - cmp r0, #0 - bne _08068C58 - strb r5, [r4, #0xe] - b _08068C6A - .align 2, 0 -_08068C54: .4byte gUnk_08111623 -_08068C58: - movs r0, #0x4a - bl sub_0807CA84 - cmp r0, #0 - bne _08068C66 - movs r0, #2 - b _08068C68 -_08068C66: - movs r0, #3 -_08068C68: - strb r0, [r4, #0xe] -_08068C6A: - pop {r4, r5, pc} - - thumb_func_start sub_08068C6C -sub_08068C6C: @ 0x08068C6C - push {lr} - ldr r1, _08068C88 @ =gUnk_0811162B - ldrb r0, [r0, #0xe] - adds r0, r0, r1 - ldrb r0, [r0] - movs r1, #0x81 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #0 - movs r2, #0 - bl sub_080A7C18 - pop {pc} - .align 2, 0 -_08068C88: .4byte gUnk_0811162B - - thumb_func_start sub_08068C8C -sub_08068C8C: @ 0x08068C8C - ldr r2, _08068C9C @ =gUnk_08111638 - ldrb r0, [r0, #0xe] - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1, #0x14] - bx lr - .align 2, 0 -_08068C9C: .4byte gUnk_08111638 - - thumb_func_start sub_08068CA0 -sub_08068CA0: @ 0x08068CA0 - push {r4, lr} - adds r4, r1, #0 - ldrb r1, [r0, #0xa] - cmp r1, #1 - bne _08068CDC - str r1, [r4, #0x14] - movs r0, #0x48 - bl sub_0807CA84 - cmp r0, #0 - bne _08068CB8 - str r0, [r4, #0x14] -_08068CB8: - movs r0, #0x4b - bl sub_0807CA84 - cmp r0, #0 - bne _08068CC4 - str r0, [r4, #0x14] -_08068CC4: - movs r0, #0x4a - bl sub_0807CA84 - cmp r0, #0 - bne _08068CD0 - str r0, [r4, #0x14] -_08068CD0: - movs r0, #0x4e - bl sub_0807CA84 - cmp r0, #0 - bne _08068CF6 - b _08068CF4 -_08068CDC: - ldr r1, _08068CF8 @ =gUnk_0811162B - ldrb r0, [r0, #0xe] - adds r0, r0, r1 - ldrb r0, [r0] - movs r1, #0x81 - rsbs r1, r1, #0 - ands r0, r1 - bl sub_0807CA84 - cmp r0, #0 - beq _08068CF4 - movs r0, #1 -_08068CF4: - str r0, [r4, #0x14] -_08068CF6: - pop {r4, pc} - .align 2, 0 -_08068CF8: .4byte gUnk_0811162B - - thumb_func_start sub_08068CFC -sub_08068CFC: @ 0x08068CFC - push {r4, lr} - adds r4, r1, #0 - movs r1, #0 - str r1, [r4, #0x14] - ldrb r0, [r0, #0xe] - cmp r0, #0xa - bhi _08068DB6 - lsls r0, r0, #2 - ldr r1, _08068D14 @ =_08068D18 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08068D14: .4byte _08068D18 -_08068D18: @ jump table - .4byte _08068DB2 @ case 0 - .4byte _08068D44 @ case 1 - .4byte _08068D48 @ case 2 - .4byte _08068D4C @ case 3 - .4byte _08068DB2 @ case 4 - .4byte _08068D50 @ case 5 - .4byte _08068D58 @ case 6 - .4byte _08068D68 @ case 7 - .4byte _08068DB2 @ case 8 - .4byte _08068DB2 @ case 9 - .4byte _08068DA8 @ case 10 -_08068D44: - movs r0, #2 - b _08068DAA -_08068D48: - movs r0, #0x15 - b _08068DAA -_08068D4C: - movs r0, #0x14 - b _08068DAA -_08068D50: - movs r0, #3 - bl sub_0807CBD0 - b _08068DAE -_08068D58: - ldr r0, _08068D64 @ =gUnk_02002A40 - adds r0, #0xab - ldrb r0, [r0] - cmp r0, #0x4f - bls _08068DB6 - b _08068DB2 - .align 2, 0 -_08068D64: .4byte gUnk_02002A40 -_08068D68: - movs r0, #0x48 - bl sub_0807CA84 - cmp r0, #0 - beq _08068DB6 - movs r0, #0x49 - bl sub_0807CA84 - cmp r0, #0 - beq _08068DB6 - movs r0, #0x4a - bl sub_0807CA84 - cmp r0, #0 - beq _08068DB6 - movs r0, #0x4b - bl sub_0807CA84 - cmp r0, #0 - beq _08068DB6 - movs r0, #0x4c - bl sub_0807CA84 - cmp r0, #0 - beq _08068DB6 - movs r0, #0x4e - bl sub_0807CA84 - cmp r0, #0 - beq _08068DB6 - movs r0, #0x4f - b _08068DAA -_08068DA8: - movs r0, #0x4d -_08068DAA: - bl sub_0807CA84 -_08068DAE: - cmp r0, #0 - beq _08068DB6 -_08068DB2: - movs r0, #1 - str r0, [r4, #0x14] -_08068DB6: - pop {r4, pc} - - thumb_func_start sub_08068DB8 -sub_08068DB8: @ 0x08068DB8 - push {lr} - adds r1, r0, #0 - ldr r2, _08068DCC @ =gUnk_08111664 - ldrb r0, [r1, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08068DCC: .4byte gUnk_08111664 - - thumb_func_start sub_08068DD0 -sub_08068DD0: @ 0x08068DD0 - push {lr} - adds r1, r0, #0 - ldr r2, _08068DE4 @ =gUnk_0811167A - ldrb r0, [r1, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08068DE4: .4byte gUnk_0811167A - - thumb_func_start sub_08068DE8 -sub_08068DE8: @ 0x08068DE8 - push {lr} - adds r1, r0, #0 - ldr r2, _08068DFC @ =gUnk_08111690 - ldrb r0, [r1, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08068DFC: .4byte gUnk_08111690 - - thumb_func_start sub_08068E00 -sub_08068E00: @ 0x08068E00 - push {lr} - adds r1, r0, #0 - ldr r2, _08068E14 @ =gUnk_081116A6 - ldrb r0, [r1, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08068E14: .4byte gUnk_081116A6 - - thumb_func_start sub_08068E18 -sub_08068E18: @ 0x08068E18 - push {lr} - adds r1, r0, #0 - ldr r2, _08068E2C @ =gUnk_081116BC - ldrb r0, [r1, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08068E2C: .4byte gUnk_081116BC - - thumb_func_start sub_08068E30 -sub_08068E30: @ 0x08068E30 - push {lr} - adds r1, r0, #0 - ldr r2, _08068E44 @ =gUnk_081116D2 - ldrb r0, [r1, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08068E44: .4byte gUnk_081116D2 - - thumb_func_start sub_08068E48 -sub_08068E48: @ 0x08068E48 - push {lr} - adds r1, r0, #0 - ldr r2, _08068E5C @ =gUnk_081116E8 - ldrb r0, [r1, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08068E5C: .4byte gUnk_081116E8 - - thumb_func_start sub_08068E60 -sub_08068E60: @ 0x08068E60 - push {lr} - adds r1, r0, #0 - ldr r2, _08068E74 @ =gUnk_081116FE - ldrb r0, [r1, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08068E74: .4byte gUnk_081116FE - - thumb_func_start sub_08068E78 -sub_08068E78: @ 0x08068E78 - push {lr} - adds r1, r0, #0 - ldr r2, _08068E8C @ =gUnk_08111714 - ldrb r0, [r1, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - bl sub_08056398 - pop {pc} - .align 2, 0 -_08068E8C: .4byte gUnk_08111714 - - thumb_func_start sub_08068E90 -sub_08068E90: @ 0x08068E90 - ldr r2, _08068EAC @ =gUnk_03003F80 - adds r2, #0xac - ldr r1, _08068EB0 @ =gUnk_08111740 - ldrb r0, [r0, #0xe] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - subs r1, #1 - movs r0, #1 - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] - bx lr - .align 2, 0 -_08068EAC: .4byte gUnk_03003F80 -_08068EB0: .4byte gUnk_08111740 - - thumb_func_start sub_08068EB4 -sub_08068EB4: @ 0x08068EB4 - ldr r0, _08068EC0 @ =gUnk_03003F80 - adds r0, #0xab - movs r1, #0 - strb r1, [r0] - bx lr - .align 2, 0 -_08068EC0: .4byte gUnk_03003F80 - - thumb_func_start sub_08068EC4 -sub_08068EC4: @ 0x08068EC4 - push {r4, lr} - adds r3, r1, #0 - ldr r2, _08068EEC @ =gUnk_08111740 - ldrb r4, [r0, #0xe] - lsls r1, r4, #2 - adds r1, r1, r2 - ldr r0, _08068EF0 @ =gUnk_03003F80 - adds r0, #0xab - ldr r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bne _08068EF8 - ldr r1, _08068EF4 @ =gUnk_0811172A - lsls r0, r4, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r3, #0x10] - movs r0, #1 - b _08068EFA - .align 2, 0 -_08068EEC: .4byte gUnk_08111740 -_08068EF0: .4byte gUnk_03003F80 -_08068EF4: .4byte gUnk_0811172A -_08068EF8: - movs r0, #0 -_08068EFA: - str r0, [r3, #0x14] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08068F00 -sub_08068F00: @ 0x08068F00 - push {lr} - ldrb r0, [r0, #0xe] - cmp r0, #1 - bne _08068F0E - ldr r0, _08068F10 @ =gUnk_080F3494 - bl sub_0804ADDC -_08068F0E: - pop {pc} - .align 2, 0 -_08068F10: .4byte gUnk_080F3494 - - thumb_func_start sub_08068F14 -sub_08068F14: @ 0x08068F14 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #5 - bne _08068F24 - movs r0, #0xa0 - bl sub_080526A0 -_08068F24: - ldrb r0, [r4, #0xe] - cmp r0, #6 - bne _08068F38 - movs r0, #0xa0 - rsbs r0, r0, #0 - bl sub_080526A0 - movs r0, #2 - bl sub_080526A0 -_08068F38: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08068F3C -sub_08068F3C: @ 0x08068F3C - push {lr} - ldrb r0, [r0, #0xe] - cmp r0, #6 - bne _08068F4A - movs r0, #0xa0 - bl sub_080526A0 -_08068F4A: - pop {pc} - - thumb_func_start sub_08068F4C -sub_08068F4C: @ 0x08068F4C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08068F72 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #4 - bl sub_080042AC - b _08068F78 -_08068F72: - adds r0, r4, #0 - bl sub_080042B8 -_08068F78: - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08068F94 - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0 - bl sub_08068BEC -_08068F94: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08068F98 -sub_08068F98: @ 0x08068F98 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08068FBC @ =gUnk_08111914 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - adds r0, r4, #0 - bl sub_0806920C - pop {r4, pc} - .align 2, 0 -_08068FBC: .4byte gUnk_08111914 - - thumb_func_start sub_08068FC0 -sub_08068FC0: @ 0x08068FC0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xb] - strb r0, [r4, #0x14] - movs r0, #0x40 - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x6d - movs r0, #0xff - strb r0, [r1] - adds r0, r4, #0 - bl sub_0805ACC0 - adds r2, r0, #0 - cmp r2, #0 - bne _08068FF4 - ldrh r0, [r4, #0x2e] - adds r1, r4, #0 - adds r1, #0x68 - strh r0, [r1] - ldrh r0, [r4, #0x32] - adds r1, #2 - strh r0, [r1] - b _08069000 -_08068FF4: - lsrs r1, r2, #0x10 - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - adds r0, #2 - strh r2, [r0] -_08069000: - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x6c - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - - thumb_func_start sub_08069018 -sub_08069018: @ 0x08069018 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0806903A - adds r0, #1 - strb r0, [r4, #0xd] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x3c - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC -_0806903A: - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0806905E - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08069058 - movs r0, #2 - b _0806905A -_08069058: - movs r0, #3 -_0806905A: - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_0806905E: - adds r0, r4, #0 - bl sub_0806924C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08069068 -sub_08069068: @ 0x08069068 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _080690A4 - adds r0, #1 - strb r0, [r4, #0xd] - bl sub_08000E50 - movs r1, #2 - ands r1, r0 - subs r1, #1 - ldrb r0, [r4, #0x14] - adds r1, r1, r0 - movs r0, #3 - ands r1, r0 - strb r1, [r4, #0x14] - lsls r1, r1, #3 - strb r1, [r4, #0x15] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x3c - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC -_080690A4: - adds r0, r4, #0 - bl sub_080AEF88 - adds r0, r4, #0 - bl sub_080042B8 - movs r0, #0x2e - ldrsh r1, [r4, r0] - adds r2, r4, #0 - adds r2, #0x68 - movs r3, #0 - ldrsh r0, [r2, r3] - subs r1, r1, r0 - cmp r1, #0x10 - ble _080690CC - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strb r0, [r4, #0xf] -_080690CC: - movs r3, #0x10 - rsbs r3, r3, #0 - cmp r1, r3 - bge _080690DE - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strb r0, [r4, #0xf] -_080690DE: - movs r5, #0x32 - ldrsh r1, [r4, r5] - adds r2, r4, #0 - adds r2, #0x6a - movs r5, #0 - ldrsh r0, [r2, r5] - subs r1, r1, r0 - cmp r1, #0x10 - ble _080690FA - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strb r0, [r4, #0xf] -_080690FA: - cmp r1, r3 - bge _08069108 - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strb r0, [r4, #0xf] -_08069108: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0806911C - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_0806911C: - adds r0, r4, #0 - bl sub_0806924C - pop {r4, r5, pc} - - thumb_func_start sub_08069124 -sub_08069124: @ 0x08069124 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r1, _08069144 @ =gUnk_08111928 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806924C - pop {r4, pc} - .align 2, 0 -_08069144: .4byte gUnk_08111928 - - thumb_func_start sub_08069148 -sub_08069148: @ 0x08069148 - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - adds r0, #3 - strb r0, [r4, #0xf] - movs r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x14] - adds r1, #8 - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - - thumb_func_start sub_08069168 -sub_08069168: @ 0x08069168 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bge _08069186 - movs r0, #2 - strb r0, [r2, #0xd] - ldrb r1, [r2, #0x14] - adds r1, #0xc - adds r0, r2, #0 - bl sub_080042AC -_08069186: - pop {pc} - - thumb_func_start sub_08069188 -sub_08069188: @ 0x08069188 - push {lr} - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080691B8 - movs r0, #0 - strb r0, [r3] - ldrb r0, [r2, #0xf] - subs r0, #1 - strb r0, [r2, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080691B8 - movs r0, #3 - strb r0, [r2, #0xd] - ldrb r1, [r2, #0x14] - adds r1, #0x10 - adds r0, r2, #0 - bl sub_080042AC -_080691B8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080691BC -sub_080691BC: @ 0x080691BC - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bge _080691DE - movs r1, #0 - movs r0, #1 - strb r0, [r2, #0xc] - strb r1, [r2, #0xd] - ldrb r1, [r2, #0x14] - adds r1, #4 - adds r0, r2, #0 - bl sub_080042AC -_080691DE: - pop {pc} - - thumb_func_start sub_080691E0 -sub_080691E0: @ 0x080691E0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _080691F4 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_080691F4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080691F8 -sub_080691F8: @ 0x080691F8 - push {lr} - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - ldr r2, _08069208 @ =gUnk_08111938 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_08069208: .4byte gUnk_08111938 - - thumb_func_start sub_0806920C -sub_0806920C: @ 0x0806920C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08069234 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - rsbs r0, r0, #0 - lsrs r5, r0, #0x1f - adds r0, r4, #0 - adds r0, #0x6d - ldrb r0, [r0] - cmp r5, r0 - beq _08069244 - cmp r5, #0 - bne _08069238 - adds r0, r4, #0 - bl sub_08078778 - b _08069244 - .align 2, 0 -_08069234: .4byte gUnk_03003F80 -_08069238: - adds r0, r4, #0 - adds r0, #0x6c - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080787A8 -_08069244: - adds r0, r4, #0 - adds r0, #0x6d - strb r5, [r0] - pop {r4, r5, pc} - - thumb_func_start sub_0806924C -sub_0806924C: @ 0x0806924C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x39 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - beq _0806929C - ldr r0, _08069278 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08069284 - cmp r2, #2 - bne _0806927C - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806F118 - b _0806928E - .align 2, 0 -_08069278: .4byte gUnk_03003F80 -_0806927C: - adds r0, r4, #0 - bl sub_080691F8 - b _0806928E -_08069284: - adds r0, r4, #0 - bl sub_080691F8 - bl sub_080791D0 -_0806928E: - movs r0, #0xd4 - bl sub_080A3268 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - strb r0, [r1] -_0806929C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080692A0 -sub_080692A0: @ 0x080692A0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _080692C6 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #0xf - bl sub_080042AC - b _080692CC -_080692C6: - adds r0, r2, #0 - bl sub_080042B8 -_080692CC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080692D0 -sub_080692D0: @ 0x080692D0 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080692F4 - ldr r0, _080692F0 @ =gUnk_08111A8C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0806930A - .align 2, 0 -_080692F0: .4byte gUnk_08111A8C -_080692F4: - ldr r0, _0806930C @ =gUnk_08111A80 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 -_0806930A: - pop {r4, pc} - .align 2, 0 -_0806930C: .4byte gUnk_08111A80 - - thumb_func_start sub_08069310 -sub_08069310: @ 0x08069310 - push {r4, lr} - adds r4, r0, #0 - bl sub_08078778 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08069328 -sub_08069328: @ 0x08069328 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x10 - bls _0806934E - movs r0, #0 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0x28 - movs r2, #0x28 - bl sub_0806ED9C - cmp r0, #0 - blt _0806934E - strb r0, [r4, #0x14] -_0806934E: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - ldrb r1, [r4, #0x14] - cmp r0, r1 - beq _08069362 - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC -_08069362: - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0806938E - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0805E47C - adds r0, r4, #0 - movs r1, #8 - bl sub_080042AC - ldrb r0, [r4, #0xe] - movs r1, #0x90 - lsls r1, r1, #5 - adds r0, r0, r1 - bl sub_08056378 -_0806938E: - pop {r4, pc} - - thumb_func_start sub_08069390 -sub_08069390: @ 0x08069390 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r0, _080693C0 @ =gUnk_02000050 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - bne _080693BC - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x39 - strb r1, [r0] - adds r0, r4, #0 - bl sub_0805E584 - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC -_080693BC: - pop {r4, pc} - .align 2, 0 -_080693C0: .4byte gUnk_02000050 - - thumb_func_start sub_080693C4 -sub_080693C4: @ 0x080693C4 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - bl sub_0807DD50 - pop {pc} - - thumb_func_start sub_080693D0 -sub_080693D0: @ 0x080693D0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r1, #0 - bl sub_0807DD94 - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #8 - bne _08069422 - adds r0, r5, #0 - adds r0, #0x82 - ldrh r0, [r0] - movs r1, #0xf - ands r1, r0 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r6, r0, #0x1f - adds r4, r5, #0 - adds r4, #0x5a - ldrb r0, [r4] - cmp r0, #1 - bne _0806940C - movs r0, #0 - strb r0, [r4] - ldr r1, _08069424 @ =0xFFF80000 - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_08069428 -_0806940C: - ldrb r0, [r4] - cmp r0, #2 - bne _08069422 - movs r0, #0 - strb r0, [r4] - movs r1, #0x80 - lsls r1, r1, #0xc - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_08069428 -_08069422: - pop {r4, r5, r6, pc} - .align 2, 0 -_08069424: .4byte 0xFFF80000 - - thumb_func_start sub_08069428 -sub_08069428: @ 0x08069428 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r7, r1, #0 - adds r6, r2, #0 - movs r1, #4 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _08069452 - ldr r3, _0806947C @ =0xFFF00000 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - bl sub_0806FA48 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 -_08069452: - cmp r6, #0 - beq _0806947A - adds r0, r5, #0 - movs r1, #0x41 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _0806947A - ldr r3, _0806947C @ =0xFFF00000 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - bl sub_0806FA48 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 -_0806947A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806947C: .4byte 0xFFF00000 - - thumb_func_start sub_08069480 -sub_08069480: @ 0x08069480 - push {lr} - bl sub_0801E99C - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - pop {pc} - - thumb_func_start sub_0806948C -sub_0806948C: @ 0x0806948C - push {r4, lr} - adds r4, r1, #0 - bl sub_08069480 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - bl sub_0801E7F4 - str r0, [r4, #0x14] - ldr r2, _080694AC @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_080694AC: .4byte gUnk_02033280 - - thumb_func_start sub_080694B0 -sub_080694B0: @ 0x080694B0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08069480 - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - adds r0, r5, #0 - bl sub_0801E7F4 - cmp r0, #0 - beq _080694CE - adds r0, r4, #0 - bl sub_08078778 - b _080694D6 -_080694CE: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08078784 -_080694D6: - pop {r4, r5, pc} - - thumb_func_start sub_080694D8 -sub_080694D8: @ 0x080694D8 - push {lr} - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - ldr r2, _080694E8 @ =gUnk_08111A94 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_080694E8: .4byte gUnk_08111A94 - - thumb_func_start sub_080694EC -sub_080694EC: @ 0x080694EC - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #4 - strb r0, [r4, #0x14] - movs r5, #2 - movs r0, #0x2f - bl sub_0801E7F4 - cmp r0, #0 - bne _08069502 - movs r5, #8 -_08069502: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080042AC - adds r0, r4, #0 - adds r0, #0x80 - strh r5, [r0] - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08069514 -sub_08069514: @ 0x08069514 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806953A - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #2 - bl sub_080042AC - b _08069540 -_0806953A: - adds r0, r2, #0 - bl sub_080042B8 -_08069540: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08069544 -sub_08069544: @ 0x08069544 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08069568 - ldr r0, _08069564 @ =gUnk_08111B98 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0806957E - .align 2, 0 -_08069564: .4byte gUnk_08111B98 -_08069568: - ldr r0, _08069580 @ =gUnk_08111B88 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 -_0806957E: - pop {r4, pc} - .align 2, 0 -_08069580: .4byte gUnk_08111B88 - - thumb_func_start sub_08069584 -sub_08069584: @ 0x08069584 - push {lr} - adds r1, r0, #0 - ldr r0, _08069598 @ =gUnk_030010A0 - adds r0, #0x2c - ldrb r0, [r0] - cmp r0, #0 - beq _0806959C - movs r0, #3 - b _0806959E - .align 2, 0 -_08069598: .4byte gUnk_030010A0 -_0806959C: - movs r0, #1 -_0806959E: - strb r0, [r1, #0xc] - adds r0, r1, #0 - movs r1, #2 - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_080695AC -sub_080695AC: @ 0x080695AC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x10 - bls _080695D2 - movs r0, #0 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0x28 - movs r2, #0x28 - bl sub_0806ED9C - cmp r0, #0 - blt _080695D2 - strb r0, [r4, #0x14] -_080695D2: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - ldrb r1, [r4, #0x14] - cmp r0, r1 - beq _080695E6 - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC -_080695E6: - pop {r4, pc} - - thumb_func_start sub_080695E8 -sub_080695E8: @ 0x080695E8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r0, _08069618 @ =gUnk_02000050 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - bne _08069614 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x39 - strb r1, [r0] - adds r0, r4, #0 - bl sub_0805E584 - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC -_08069614: - pop {r4, pc} - .align 2, 0 -_08069618: .4byte gUnk_02000050 - - thumb_func_start sub_0806961C -sub_0806961C: @ 0x0806961C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08069638 @ =gUnk_030010A0 - adds r0, #0x2c - ldrb r0, [r0] - cmp r0, #2 - bne _08069630 - adds r0, r4, #0 - bl sub_080042B8 -_08069630: - adds r0, r4, #0 - bl sub_0806FD3C - pop {r4, pc} - .align 2, 0 -_08069638: .4byte gUnk_030010A0 - - thumb_func_start sub_0806963C -sub_0806963C: @ 0x0806963C - push {lr} - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - bl sub_0807DD50 - pop {pc} - - thumb_func_start sub_08069654 -sub_08069654: @ 0x08069654 - push {lr} - movs r1, #0 - bl sub_0807DD94 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08069660 -sub_08069660: @ 0x08069660 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0806967C @ =0x00002C1C - adds r1, r4, #0 - bl sub_08056398 - adds r0, r4, #0 - bl sub_080696BC - ldr r1, _08069680 @ =gUnk_02000050 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - str r0, [r1, #0x10] - pop {r4, pc} - .align 2, 0 -_0806967C: .4byte 0x00002C1C -_08069680: .4byte gUnk_02000050 - - thumb_func_start sub_08069684 -sub_08069684: @ 0x08069684 - push {lr} - movs r0, #9 - movs r1, #0x31 - movs r2, #8 - bl sub_0805EB00 - cmp r0, #0 - bne _080696AE - bl sub_0805E8D4 - adds r1, r0, #0 - cmp r1, #0 - beq _080696AE - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x31 - strb r0, [r1, #9] - adds r0, r1, #0 - movs r1, #8 - bl sub_0805EA2C -_080696AE: - pop {pc} - - thumb_func_start sub_080696B0 -sub_080696B0: @ 0x080696B0 - ldr r1, _080696B8 @ =gUnk_02034350 - movs r0, #0 - strb r0, [r1, #6] - bx lr - .align 2, 0 -_080696B8: .4byte gUnk_02034350 - - thumb_func_start sub_080696BC -sub_080696BC: @ 0x080696BC - push {r4, r5, lr} - ldr r0, _08069710 @ =gUnk_02034350 - ldrb r0, [r0, #7] - movs r5, #0 - cmp r0, #0x70 - ble _080696CA - movs r5, #1 -_080696CA: - cmp r0, #0x72 - ble _080696D0 - movs r5, #2 -_080696D0: - movs r0, #0x3e - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f - movs r0, #0x3f - bl sub_0807CC30 - cmp r0, #0 - beq _080696E8 - movs r4, #2 -_080696E8: - movs r0, #0x40 - bl sub_0807CC30 - cmp r0, #0 - beq _080696F4 - movs r4, #3 -_080696F4: - movs r0, #0x41 - bl sub_0807CC30 - cmp r0, #0 - beq _08069700 - movs r4, #4 -_08069700: - ldr r0, _08069714 @ =gUnk_08111BA0 - lsls r1, r4, #1 - adds r1, r1, r4 - adds r1, r1, r5 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - pop {r4, r5, pc} - .align 2, 0 -_08069710: .4byte gUnk_02034350 -_08069714: .4byte gUnk_08111BA0 - - thumb_func_start sub_08069718 -sub_08069718: @ 0x08069718 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r7, r1, #0 - bl sub_080696BC - adds r6, r0, #0 - ldr r0, _08069754 @ =gUnk_02002A40 - adds r0, #0xc0 - ldrh r0, [r0] - cmp r6, r0 - bgt _08069764 - ldr r5, _08069758 @ =gUnk_02034350 - ldrb r0, [r5, #7] - bl sub_0801E7D0 - cmp r0, #0x62 - bhi _0806975C - rsbs r0, r6, #0 - bl sub_080526CC - ldrb r1, [r5, #7] - movs r0, #0x5c - movs r2, #0 - bl sub_080A7C18 - movs r0, #0 - strb r0, [r5, #6] - strb r0, [r5, #7] - movs r0, #1 - b _0806976E - .align 2, 0 -_08069754: .4byte gUnk_02002A40 -_08069758: .4byte gUnk_02034350 -_0806975C: - ldr r0, _08069760 @ =0x00002C1F - b _08069766 - .align 2, 0 -_08069760: .4byte 0x00002C1F -_08069764: - ldr r0, _0806977C @ =0x00002C1E -_08069766: - adds r1, r4, #0 - bl sub_08056398 - movs r0, #0 -_0806976E: - str r0, [r7, #0x14] - ldr r2, _08069780 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806977C: .4byte 0x00002C1E -_08069780: .4byte gUnk_02033280 - - thumb_func_start sub_08069784 -sub_08069784: @ 0x08069784 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0806979A - adds r0, r2, #0 - bl sub_08069838 - b _080697A0 -_0806979A: - adds r0, r2, #0 - bl sub_080697A4 -_080697A0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080697A4 -sub_080697A4: @ 0x080697A4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080697C0 @ =gUnk_08111C48 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_080697C0: .4byte gUnk_08111C48 - - thumb_func_start sub_080697C4 -sub_080697C4: @ 0x080697C4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080697E8 @ =gUnk_08111C3C - bl sub_0806FDEC - cmp r0, #0 - beq _080697E4 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08078778 -_080697E4: - pop {r4, pc} - .align 2, 0 -_080697E8: .4byte gUnk_08111C3C - - thumb_func_start sub_080697EC -sub_080697EC: @ 0x080697EC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806ED9C - adds r1, r0, #0 - cmp r1, #0 - blt _0806981E - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0806981A - movs r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, r1 - beq _0806981E - adds r0, r4, #0 - bl sub_08004260 - b _0806981E -_0806981A: - subs r0, #1 - strb r0, [r4, #0xf] -_0806981E: - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08069834 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08069888 -_08069834: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08069838 -sub_08069838: @ 0x08069838 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #0 - bne _08069862 - ldr r1, _08069884 @ =gUnk_08111C3C - bl sub_0806FDEC - cmp r0, #0 - beq _08069880 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x68 - strb r5, [r0] - adds r0, #1 - strb r5, [r0] - adds r0, r4, #0 - bl sub_0807DD64 -_08069862: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08069880 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08069888 -_08069880: - pop {r4, r5, pc} - .align 2, 0 -_08069884: .4byte gUnk_08111C3C - - thumb_func_start sub_08069888 -sub_08069888: @ 0x08069888 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x47 - bl sub_0807CC30 - cmp r0, #0 - bne _080698A0 - movs r4, #0 - movs r0, #0x47 - bl sub_0807CD04 - b _08069906 -_080698A0: - movs r0, #0x2b - bl sub_0807CC30 - cmp r0, #0 - bne _080698C2 - movs r0, #0x2c - bl sub_0807CC30 - cmp r0, #0 - bne _080698C2 - movs r0, #0x2d - bl sub_0807CC30 - cmp r0, #0 - bne _080698C2 - movs r4, #1 - b _08069906 -_080698C2: - movs r0, #0x18 - bl sub_0807CC30 - cmp r0, #0 - bne _080698D0 - movs r4, #2 - b _08069906 -_080698D0: - movs r0, #0x48 - bl sub_0807CC30 - cmp r0, #0 - bne _080698E4 - movs r4, #3 - movs r0, #0x48 - bl sub_0807CD04 - b _08069906 -_080698E4: - movs r0, #0x2e - bl sub_0807CC30 - cmp r0, #0 - bne _08069904 - movs r0, #0x2f - bl sub_0807CC30 - cmp r0, #0 - bne _08069904 - movs r0, #0x30 - bl sub_0807CC30 - movs r4, #4 - cmp r0, #0 - beq _08069906 -_08069904: - movs r4, #5 -_08069906: - ldr r0, _08069918 @ =gUnk_08111C50 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_08069918: .4byte gUnk_08111C50 - - thumb_func_start sub_0806991C -sub_0806991C: @ 0x0806991C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x3c - adds r1, r5, #0 - adds r1, #0x68 - movs r3, #0 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x69 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r1, r1, #2 - ldr r0, _0806999C @ =gUnk_08111C5C - adds r1, r1, r0 - ldr r2, _080699A0 @ =gUnk_03000BF0 - ldrh r0, [r1] - ldrh r6, [r2, #6] - adds r0, r0, r6 - strh r0, [r4, #0x1e] - ldrh r0, [r1, #2] - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r4, #0x22] - movs r0, #8 - strb r0, [r4, #0x19] - ldr r0, [r4, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r4, #8] - str r3, [r4, #0x14] - movs r1, #0x1e - ldrsh r0, [r4, r1] - movs r2, #0x2e - ldrsh r1, [r5, r2] - subs r0, r0, r1 - movs r3, #0x22 - ldrsh r1, [r4, r3] - movs r6, #0x32 - ldrsh r2, [r5, r6] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r5, #0x15] - ldrb r2, [r5, #0x14] - movs r1, #0x80 - ands r1, r2 - ldr r2, _080699A4 @ =gUnk_08111C74 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1c - adds r0, r0, r2 - ldrb r0, [r0] - orrs r1, r0 - strb r1, [r5, #0x14] - ldr r2, _080699A8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, r6, pc} - .align 2, 0 -_0806999C: .4byte gUnk_08111C5C -_080699A0: .4byte gUnk_03000BF0 -_080699A4: .4byte gUnk_08111C74 -_080699A8: .4byte gUnk_02033280 - - thumb_func_start sub_080699AC -sub_080699AC: @ 0x080699AC - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x3c - adds r1, r5, #0 - adds r1, #0x68 - movs r3, #0 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x69 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r1, r1, #2 - ldr r0, _08069A2C @ =gUnk_08111C84 - adds r1, r1, r0 - ldr r2, _08069A30 @ =gUnk_03000BF0 - ldrh r0, [r1] - ldrh r6, [r2, #6] - adds r0, r0, r6 - strh r0, [r4, #0x1e] - ldrh r0, [r1, #2] - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r4, #0x22] - movs r0, #8 - strb r0, [r4, #0x19] - ldr r0, [r4, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r4, #8] - str r3, [r4, #0x14] - movs r1, #0x1e - ldrsh r0, [r4, r1] - movs r2, #0x2e - ldrsh r1, [r5, r2] - subs r0, r0, r1 - movs r3, #0x22 - ldrsh r1, [r4, r3] - movs r6, #0x32 - ldrsh r2, [r5, r6] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r5, #0x15] - ldrb r2, [r5, #0x14] - movs r1, #0x80 - ands r1, r2 - ldr r2, _08069A34 @ =gUnk_08111C8C - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1c - adds r0, r0, r2 - ldrb r0, [r0] - orrs r1, r0 - strb r1, [r5, #0x14] - ldr r2, _08069A38 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, r6, pc} - .align 2, 0 -_08069A2C: .4byte gUnk_08111C84 -_08069A30: .4byte gUnk_03000BF0 -_08069A34: .4byte gUnk_08111C8C -_08069A38: .4byte gUnk_02033280 - - thumb_func_start sub_08069A3C -sub_08069A3C: @ 0x08069A3C - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _08069A5C @ =gUnk_08111C9C - movs r1, #1 - ands r1, r0 - adds r4, #0x69 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #1 - adds r1, r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08069A5C: .4byte gUnk_08111C9C - - thumb_func_start sub_08069A60 -sub_08069A60: @ 0x08069A60 - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _08069A80 @ =gUnk_08111CA8 - movs r1, #1 - ands r1, r0 - adds r4, #0x69 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #1 - adds r1, r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08069A80: .4byte gUnk_08111CA8 - - thumb_func_start sub_08069A84 -sub_08069A84: @ 0x08069A84 - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _08069AA4 @ =gUnk_08111CB4 - movs r1, #1 - ands r1, r0 - adds r4, #0x69 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #1 - adds r1, r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08069AA4: .4byte gUnk_08111CB4 - - thumb_func_start sub_08069AA8 -sub_08069AA8: @ 0x08069AA8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - ldr r2, _08069AC8 @ =gUnk_08111CB8 - movs r1, #1 - ands r1, r0 - adds r4, #0x69 - movs r0, #0 - ldrsb r0, [r4, r0] - lsls r0, r0, #1 - adds r1, r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08069AC8: .4byte gUnk_08111CB8 - - thumb_func_start sub_08069ACC -sub_08069ACC: @ 0x08069ACC - push {lr} - adds r2, r1, #0 - adds r0, #0x68 - ldrb r1, [r0] - subs r1, #1 - strb r1, [r0] - lsls r1, r1, #0x18 - cmp r1, #0 - bgt _08069AE2 - movs r0, #1 - b _08069AE4 -_08069AE2: - movs r0, #0 -_08069AE4: - str r0, [r2, #0x14] - pop {pc} - - thumb_func_start sub_08069AE8 -sub_08069AE8: @ 0x08069AE8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #7 - ands r2, r0 - adds r2, #0xf - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08069B1C -sub_08069B1C: @ 0x08069B1C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08069B40 @ =gUnk_08111D88 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - adds r0, r4, #0 - bl sub_08069FE8 - pop {r4, pc} - .align 2, 0 -_08069B40: .4byte gUnk_08111D88 - - thumb_func_start sub_08069B44 -sub_08069B44: @ 0x08069B44 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08069EF0 - cmp r0, #0 - beq _08069C30 - adds r0, r5, #0 - bl sub_0805ACC0 - cmp r0, #0 - bne _08069B64 - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r2, #0x32 - ldrsh r4, [r5, r2] - b _08069B68 -_08069B64: - lsrs r1, r0, #0x10 - adds r4, r0, #0 -_08069B68: - ldrb r0, [r5, #0xe] - movs r3, #0x20 - cmp r0, #0 - beq _08069B72 - adds r3, r0, #0 -_08069B72: - subs r0, r1, r3 - adds r2, r5, #0 - adds r2, #0x6e - strh r0, [r2] - adds r1, r1, r3 - adds r0, r5, #0 - adds r0, #0x6c - strh r1, [r0] - adds r1, r4, #0 - subs r1, #8 - adds r0, #4 - strh r1, [r0] - adds r0, r4, #0 - adds r0, #8 - adds r2, #4 - strh r0, [r2] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - movs r0, #0x1e - strb r0, [r5, #0xe] - movs r4, #2 - strb r4, [r5, #0x14] - adds r1, r5, #0 - adds r1, #0x6a - movs r0, #0xff - strb r0, [r1] - adds r0, r5, #0 - bl sub_0801E99C - adds r1, r5, #0 - adds r1, #0x74 - strb r0, [r1] - adds r0, r5, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r5, #0 - movs r1, #0xa - bl sub_080042AC - ldrb r0, [r5, #0x10] - ands r4, r0 - cmp r4, #0 - beq _08069BD2 - adds r0, r5, #0 - bl sub_0807DD50 -_08069BD2: - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _08069BF2 - ldr r0, _08069C34 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08069BF2 - movs r0, #0x36 - bl sub_0807CA84 - cmp r0, #2 - beq _08069BF2 - movs r0, #4 - strb r0, [r5, #0xc] -_08069BF2: - ldrb r0, [r5, #0xa] - cmp r0, #2 - bne _08069C30 - movs r0, #0xcf - bl sub_0807CBD0 - cmp r0, #0 - bne _08069C30 - ldr r0, _08069C38 @ =0x00004072 - movs r6, #0x2e - ldrsh r1, [r5, r6] - ldr r3, _08069C3C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - adds r3, #8 - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_08069C30: - pop {r4, r5, r6, pc} - .align 2, 0 -_08069C34: .4byte gUnk_03003F80 -_08069C38: .4byte 0x00004072 -_08069C3C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08069C40 -sub_08069C40: @ 0x08069C40 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08069F90 - cmp r0, #0 - beq _08069C80 - ldr r0, _08069C68 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08069C6C - adds r0, r4, #0 - bl sub_08069CB8 - b _08069C7A - .align 2, 0 -_08069C68: .4byte gUnk_03003F80 -_08069C6C: - adds r0, r4, #0 - bl sub_0806EDC4 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08069D00 -_08069C7A: - movs r0, #0x1e - strb r0, [r4, #0xe] - b _08069CB2 -_08069C80: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08069CB2 - movs r0, #2 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x1e - strb r0, [r4, #0xe] - bl sub_08000E50 - ldr r2, _08069CB4 @ =gUnk_08111DA8 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08069F6C -_08069CB2: - pop {r4, pc} - .align 2, 0 -_08069CB4: .4byte gUnk_08111DA8 - - thumb_func_start sub_08069CB8 -sub_08069CB8: @ 0x08069CB8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _08069CF8 @ =gUnk_03001160 - bl sub_080045C4 - ldr r2, _08069CFC @ =gUnk_08111DB0 - ldrb r1, [r4, #0x14] - lsls r1, r1, #5 - adds r0, r0, r1 - adds r0, r0, r2 - ldrb r1, [r0] - lsrs r0, r1, #6 - strb r0, [r4, #0x14] - movs r0, #0x3f - ands r1, r0 - adds r5, r4, #0 - adds r5, #0x6b - strb r1, [r5] - adds r0, r4, #0 - bl sub_0806A028 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - ldrb r1, [r5] - cmp r0, r1 - beq _08069CF6 - ldrb r1, [r5] - adds r0, r4, #0 - bl sub_080042AC -_08069CF6: - pop {r4, r5, pc} - .align 2, 0 -_08069CF8: .4byte gUnk_03001160 -_08069CFC: .4byte gUnk_08111DB0 - - thumb_func_start sub_08069D00 -sub_08069D00: @ 0x08069D00 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x6b - movs r7, #8 - strb r7, [r5] - bl sub_0806A028 - adds r6, r4, #0 - adds r6, #0x58 - ldrb r0, [r6] - cmp r0, #0x1f - bls _08069D2A - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08069D4E - strb r7, [r5] -_08069D2A: - bl sub_08000E50 - ldr r1, _08069D50 @ =0x000001FF - ands r1, r0 - cmp r1, #2 - bhi _08069D3C - adds r0, r4, #0 - bl sub_08069FBC -_08069D3C: - ldrb r2, [r6] - ldrb r1, [r5] - ldrb r0, [r4, #0x14] - adds r1, r1, r0 - cmp r2, r1 - beq _08069D4E - adds r0, r4, #0 - bl sub_080042AC -_08069D4E: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08069D50: .4byte 0x000001FF - - thumb_func_start sub_08069D54 -sub_08069D54: @ 0x08069D54 - push {r4, lr} - adds r4, r0, #0 - bl sub_08069F90 - cmp r0, #0 - bne _08069DD8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08069DD8 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080AEF88 - ldrh r1, [r4, #0x2a] - movs r0, #0x2e - ldrsh r2, [r4, r0] - adds r0, r4, #0 - adds r0, #0x6e - ldrh r0, [r0] - cmp r2, r0 - bge _08069D92 - adds r0, #1 - strh r0, [r4, #0x2e] - movs r1, #0xe0 - lsls r1, r1, #4 - b _08069DA4 -_08069D92: - adds r0, r4, #0 - adds r0, #0x6c - ldrh r0, [r0] - cmp r2, r0 - ble _08069DA4 - subs r0, #1 - strh r0, [r4, #0x2e] - movs r1, #0xe0 - lsls r1, r1, #8 -_08069DA4: - movs r0, #0x32 - ldrsh r2, [r4, r0] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - cmp r2, r0 - bge _08069DBA - adds r0, #1 - strh r0, [r4, #0x32] - movs r1, #0xe - b _08069DCA -_08069DBA: - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - cmp r2, r0 - ble _08069DCA - subs r0, #1 - strh r0, [r4, #0x32] - movs r1, #0xe0 -_08069DCA: - adds r0, r4, #0 - bl sub_0800417E - adds r0, r4, #0 - bl sub_08069F6C - b _08069DF6 -_08069DD8: - adds r0, r4, #0 - bl sub_08069F90 - cmp r0, #0 - beq _08069DE6 - movs r0, #1 - b _08069DE8 -_08069DE6: - movs r0, #3 -_08069DE8: - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x1e - strb r0, [r4, #0xe] -_08069DF6: - pop {r4, pc} - - thumb_func_start sub_08069DF8 -sub_08069DF8: @ 0x08069DF8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08069F90 - cmp r0, #0 - beq _08069E0E - movs r0, #1 - b _08069E34 -_08069E0E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08069E22 - adds r0, r4, #0 - bl sub_08069D00 - b _08069E42 -_08069E22: - bl sub_08000E50 - movs r1, #0xff - ands r1, r0 - cmp r1, #0x2f - bhi _08069E32 - movs r0, #2 - b _08069E34 -_08069E32: - movs r0, #3 -_08069E34: - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x1e - strb r0, [r4, #0xe] -_08069E42: - pop {r4, pc} - - thumb_func_start sub_08069E44 -sub_08069E44: @ 0x08069E44 - push {lr} - movs r1, #0 - bl sub_0807DD94 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08069E50 -sub_08069E50: @ 0x08069E50 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - bl sub_0806EDC4 - strb r0, [r4, #0x14] - adds r5, r4, #0 - adds r5, #0x6b - movs r7, #8 - strb r7, [r5] - adds r0, r4, #0 - bl sub_0806A028 - adds r0, r4, #0 - bl sub_080042B8 - adds r6, r4, #0 - adds r6, #0x58 - ldrb r0, [r6] - cmp r0, #0x1f - bls _08069E88 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08069EC8 - strb r7, [r5] -_08069E88: - adds r0, r4, #0 - bl sub_08069FBC - ldrb r2, [r6] - ldrb r1, [r5] - ldrb r0, [r4, #0x14] - adds r1, r1, r0 - cmp r2, r1 - beq _08069EA0 - adds r0, r4, #0 - bl sub_080042AC -_08069EA0: - movs r0, #0x36 - bl sub_0807CA84 - cmp r0, #2 - bne _08069EC8 - movs r0, #7 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x29 - bl sub_080042AC - adds r0, r4, #0 - bl sub_080788E0 - movs r0, #0xd1 - bl sub_08004488 - movs r0, #0xcd - bl sub_08004488 -_08069EC8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08069ECC -sub_08069ECC: @ 0x08069ECC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _08069EDC - movs r0, #1 - strb r0, [r4, #0xc] -_08069EDC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08069EE0 -sub_08069EE0: @ 0x08069EE0 - push {lr} - bl sub_080042B8 - pop {pc} - - thumb_func_start sub_08069EE8 -sub_08069EE8: @ 0x08069EE8 - movs r1, #5 - strb r1, [r0, #0xc] - bx lr - .align 2, 0 - - thumb_func_start sub_08069EF0 -sub_08069EF0: @ 0x08069EF0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _08069F20 @ =gUnk_08111D58 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _08069F28 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, _08069F24 @ =gUnk_08111E30 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - movs r0, #1 - b _08069F2A - .align 2, 0 -_08069F20: .4byte gUnk_08111D58 -_08069F24: .4byte gUnk_08111E30 -_08069F28: - movs r0, #0 -_08069F2A: - pop {r4, pc} - - thumb_func_start sub_08069F2C -sub_08069F2C: @ 0x08069F2C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r2, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 - cmp r2, #0 - beq _08069F46 - adds r0, r4, #0 - adds r0, #0x68 - ldrh r0, [r0] - adds r2, r2, r0 -_08069F46: - subs r2, #1 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - - thumb_func_start sub_08069F6C -sub_08069F6C: @ 0x08069F6C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - bl sub_0806F5A4 - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x14] - adds r1, r0, #4 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r1, r0 - beq _08069F8C - adds r0, r4, #0 - bl sub_080042AC -_08069F8C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08069F90 -sub_08069F90: @ 0x08069F90 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bne _08069FA8 - movs r0, #0xcf - bl sub_0807CBD0 - cmp r0, #0 - bne _08069FA8 - movs r0, #1 - b _08069FB4 -_08069FA8: - ldr r1, _08069FB8 @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #0x14 - movs r3, #0x14 - bl sub_080041A0 -_08069FB4: - pop {r4, pc} - .align 2, 0 -_08069FB8: .4byte gUnk_03001160 - - thumb_func_start sub_08069FBC -sub_08069FBC: @ 0x08069FBC - push {lr} - adds r2, r0, #0 - ldr r0, _08069FE4 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - movs r1, #0x20 - cmp r0, #0 - beq _08069FD0 - movs r1, #0x24 -_08069FD0: - ldrb r0, [r2, #0x14] - cmp r0, #1 - beq _08069FDA - cmp r0, #3 - bne _08069FE0 -_08069FDA: - adds r0, r2, #0 - adds r0, #0x6b - strb r1, [r0] -_08069FE0: - pop {pc} - .align 2, 0 -_08069FE4: .4byte gUnk_03003F80 - - thumb_func_start sub_08069FE8 -sub_08069FE8: @ 0x08069FE8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _0806A010 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - rsbs r0, r0, #0 - lsrs r5, r0, #0x1f - adds r0, r4, #0 - adds r0, #0x6a - ldrb r0, [r0] - cmp r5, r0 - beq _0806A020 - cmp r5, #0 - bne _0806A014 - adds r0, r4, #0 - bl sub_08078778 - b _0806A020 - .align 2, 0 -_0806A010: .4byte gUnk_03003F80 -_0806A014: - adds r0, r4, #0 - adds r0, #0x74 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080787A8 -_0806A020: - adds r0, r4, #0 - adds r0, #0x6a - strb r5, [r0] - pop {r4, r5, pc} - - thumb_func_start sub_0806A028 -sub_0806A028: @ 0x0806A028 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x39 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - beq _0806A07E - ldr r0, _0806A054 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A060 - cmp r2, #2 - bne _0806A058 - movs r0, #6 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806F118 - b _0806A076 - .align 2, 0 -_0806A054: .4byte gUnk_03003F80 -_0806A058: - adds r0, r4, #0 - bl sub_0806A080 - b _0806A076 -_0806A060: - adds r0, r4, #0 - bl sub_08069FBC - adds r0, r4, #0 - bl sub_0806A080 - movs r0, #0xd1 - bl sub_080A3268 - bl sub_080791D0 -_0806A076: - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - strb r0, [r1] -_0806A07E: - pop {r4, pc} - - thumb_func_start sub_0806A080 -sub_0806A080: @ 0x0806A080 - push {lr} - ldrb r2, [r0, #0xb] - lsls r1, r2, #2 - adds r1, r1, r2 - lsls r1, r1, #4 - ldr r2, _0806A09C @ =gUnk_02002A40 - ldrb r2, [r2, #8] - lsls r2, r2, #3 - ldr r3, _0806A0A0 @ =gUnk_08111E34 - adds r2, r2, r3 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806A09C: .4byte gUnk_02002A40 -_0806A0A0: .4byte gUnk_08111E34 - - thumb_func_start sub_0806A0A4 -sub_0806A0A4: @ 0x0806A0A4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, _0806A0F8 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A100 - movs r5, #4 - movs r0, #0xcf - bl sub_0807CBD0 - cmp r0, #0 - bne _0806A120 - movs r5, #3 - movs r0, #0xcf - bl sub_0807CCB4 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _0806A0FC @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r6, #0x32 - ldrsh r1, [r4, r6] - ldrh r2, [r2, #8] - adds r2, #8 - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - b _0806A120 - .align 2, 0 -_0806A0F8: .4byte gUnk_03003F80 -_0806A0FC: .4byte gUnk_03000BF0 -_0806A100: - movs r5, #2 - movs r0, #0xcf - bl sub_0807CBD0 - cmp r0, #0 - bne _0806A120 - movs r5, #1 - movs r0, #0xdb - bl sub_0807CBD0 - cmp r0, #0 - bne _0806A120 - movs r5, #0 - movs r0, #0xdb - bl sub_0807CCB4 -_0806A120: - ldr r2, _0806A13C @ =gUnk_08111F74 - ldr r0, _0806A140 @ =gUnk_02002A40 - ldrb r1, [r0, #8] - lsls r0, r1, #2 - adds r0, r0, r1 - adds r0, r0, r5 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806A13C: .4byte gUnk_08111F74 -_0806A140: .4byte gUnk_02002A40 - - thumb_func_start sub_0806A144 -sub_0806A144: @ 0x0806A144 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #4 - ldr r0, _0806A18C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A17A - movs r4, #3 - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0806A17A - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0806A17A - movs r0, #0x85 - bl sub_0807CBD0 - movs r4, #2 - cmp r0, #0 - bne _0806A17A - movs r4, #1 -_0806A17A: - ldr r0, _0806A190 @ =gUnk_08111FD8 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806A18C: .4byte gUnk_03003F80 -_0806A190: .4byte gUnk_08111FD8 - - thumb_func_start sub_0806A194 -sub_0806A194: @ 0x0806A194 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806A1CE - adds r0, r4, #0 - bl sub_08069EF0 - cmp r0, #0 - beq _0806A1D4 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0x23 - bl sub_08004260 - b _0806A1D4 -_0806A1CE: - adds r0, r4, #0 - bl sub_08004274 -_0806A1D4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806A1D8 -sub_0806A1D8: @ 0x0806A1D8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806A1F4 @ =gUnk_081121D4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_0806A1F4: .4byte gUnk_081121D4 - - thumb_func_start sub_0806A1F8 -sub_0806A1F8: @ 0x0806A1F8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - ldr r1, _0806A22C @ =gUnk_081121C4 - cmp r0, #0 - bne _0806A206 - ldr r1, _0806A230 @ =gUnk_081121B4 -_0806A206: - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806A22A - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0806A22A: - pop {r4, pc} - .align 2, 0 -_0806A22C: .4byte gUnk_081121C4 -_0806A230: .4byte gUnk_081121B4 - - thumb_func_start sub_0806A234 -sub_0806A234: @ 0x0806A234 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_0807DD94 - adds r0, r4, #0 - adds r0, #0x82 - ldrh r1, [r0] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _0806A266 - ldr r0, _0806A268 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0806A25E - adds r0, r4, #0 - bl sub_0806A26C -_0806A25E: - adds r0, r4, #0 - movs r1, #2 - bl sub_080042BA -_0806A266: - pop {r4, pc} - .align 2, 0 -_0806A268: .4byte gUnk_030010A0 - - thumb_func_start sub_0806A26C -sub_0806A26C: @ 0x0806A26C - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xf - movs r1, #0x2f - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0806A2AE - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA30 - bl sub_08000E50 - adds r5, r0, #0 - ldr r2, _0806A2B0 @ =gUnk_081121DC - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - adds r3, r4, #0 - adds r3, #0x62 - strb r0, [r3] - lsrs r0, r5, #8 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - subs r0, #8 - adds r1, r4, #0 - adds r1, #0x63 - strb r0, [r1] -_0806A2AE: - pop {r4, r5, pc} - .align 2, 0 -_0806A2B0: .4byte gUnk_081121DC - - thumb_func_start sub_0806A2B4 -sub_0806A2B4: @ 0x0806A2B4 - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - adds r5, r0, #0 - adds r0, #0x5b - ldrb r0, [r0] - movs r1, #1 - mov sb, r1 - mov r2, sb - ands r2, r0 - mov sb, r2 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - lsrs r0, r1, #4 - mov r8, r0 - movs r0, #7 - mov r2, r8 - ands r2, r0 - mov r8, r2 - movs r6, #7 - ands r6, r1 - ldrb r4, [r5, #0x14] - lsrs r4, r4, #1 - ldr r1, _0806A350 @ =gUnk_081121E4 - ldrb r0, [r5, #0x1e] - lsls r0, r0, #2 - adds r0, r4, r0 - adds r0, r0, r1 - ldrb r2, [r0] - adds r2, #0x10 - adds r0, r5, #0 - movs r1, #0 - bl sub_0806FF60 - ldr r0, _0806A354 @ =gUnk_08112204 - adds r4, r4, r0 - ldrb r2, [r4] - adds r0, r5, #0 - movs r1, #0 - bl sub_0806FF48 - adds r0, r5, #0 - movs r1, #1 - mov r2, r8 - bl sub_0806FF60 - adds r6, #0x1c - adds r0, r5, #0 - movs r1, #2 - adds r2, r6, #0 - bl sub_0806FF60 - movs r0, #0x1a - add sb, r0 - adds r0, r5, #0 - movs r1, #3 - mov r2, sb - bl sub_0806FF60 - adds r0, r5, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r5, #0 - movs r1, #1 - movs r2, #3 - bl sub_0806FFD8 - adds r0, r5, #0 - bl sub_0807000C - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806A350: .4byte gUnk_081121E4 -_0806A354: .4byte gUnk_08112204 - - thumb_func_start sub_0806A358 -sub_0806A358: @ 0x0806A358 - push {lr} - ldr r2, _0806A36C @ =gUnk_08112260 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0806A36C: .4byte gUnk_08112260 - - thumb_func_start sub_0806A370 -sub_0806A370: @ 0x0806A370 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806A3D0 @ =gUnk_08112278 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806ED78 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xf - bne _0806A3CC - adds r4, #0x5a - ldrb r0, [r4] - cmp r0, #1 - bne _0806A3BC - movs r0, #0 - strb r0, [r4] - movs r0, #0x86 - lsls r0, r0, #2 - bl sub_080A3268 -_0806A3BC: - ldrb r0, [r4] - cmp r0, #2 - bne _0806A3CC - movs r0, #0 - strb r0, [r4] - ldr r0, _0806A3D4 @ =0x00000219 - bl sub_080A3268 -_0806A3CC: - pop {r4, pc} - .align 2, 0 -_0806A3D0: .4byte gUnk_08112278 -_0806A3D4: .4byte 0x00000219 - - thumb_func_start sub_0806A3D8 -sub_0806A3D8: @ 0x0806A3D8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xb4 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0806A8C8 - ldr r1, _0806A40C @ =gUnk_08012F0C - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - pop {r4, pc} - .align 2, 0 -_0806A40C: .4byte gUnk_08012F0C - - thumb_func_start sub_0806A410 -sub_0806A410: @ 0x0806A410 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xd] - cmp r0, #0 - beq _0806A420 - cmp r0, #1 - beq _0806A43C - b _0806A456 -_0806A420: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806A456 - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] - adds r0, r2, #0 - movs r1, #8 - bl sub_08004260 - b _0806A456 -_0806A43C: - adds r0, r2, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A456 - adds r0, r2, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r0, r2, #0 - bl sub_0806A9B0 -_0806A456: - pop {pc} - - thumb_func_start sub_0806A458 -sub_0806A458: @ 0x0806A458 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xd] - cmp r0, #1 - beq _0806A486 - cmp r0, #1 - bgt _0806A46C - cmp r0, #0 - beq _0806A472 - b _0806A4CA -_0806A46C: - cmp r0, #2 - beq _0806A4A8 - b _0806A4CA -_0806A472: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806A4CA - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] - b _0806A4CA -_0806A486: - adds r0, r2, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A4CA - movs r0, #2 - strb r0, [r2, #0xd] - adds r0, r2, #0 - movs r1, #0xa - bl sub_08004260 - movs r0, #0x62 - bl sub_0807CD34 - b _0806A4CA -_0806A4A8: - adds r0, r2, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A4CA - movs r0, #0 - movs r1, #1 - strb r1, [r2, #0xc] - strb r0, [r2, #0xd] - movs r0, #0x3c - strb r0, [r2, #0xe] - adds r0, r2, #0 - movs r1, #2 - bl sub_08004260 -_0806A4CA: - pop {pc} - - thumb_func_start sub_0806A4CC -sub_0806A4CC: @ 0x0806A4CC - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xd] - cmp r2, #0 - beq _0806A4E0 - cmp r2, #1 - beq _0806A52C - movs r0, #0xb4 - strb r0, [r4, #0xe] - b _0806A54C -_0806A4E0: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A54C - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - subs r0, #8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _0806A512 - movs r0, #1 - strb r0, [r4, #0xd] - adds r1, r4, #0 - adds r1, #0x6a - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0xa - bl sub_08004260 - b _0806A54C -_0806A512: - movs r0, #2 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x6a - strh r2, [r0] - adds r0, r4, #0 - bl sub_0806EDC4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004260 - b _0806A54C -_0806A52C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A54C - movs r0, #2 - strb r0, [r4, #0xd] - adds r0, r4, #0 - bl sub_0806EDC4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004260 -_0806A54C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806A550 -sub_0806A550: @ 0x0806A550 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0806A568 - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - movs r1, #0xc - bl sub_08004260 - b _0806A5B0 -_0806A568: - adds r5, r4, #0 - adds r5, #0x5a - ldrb r0, [r5] - cmp r0, #1 - bne _0806A590 - movs r0, #0 - strb r0, [r5] - movs r0, #8 - movs r1, #2 - bl sub_08080964 - ldr r2, _0806A5B4 @ =gUnk_02033280 - ldr r0, [r2] - movs r1, #0x80 - lsls r1, r1, #1 - orrs r0, r1 - str r0, [r2] - ldr r0, _0806A5B8 @ =0x0000011B - bl sub_080A3268 -_0806A590: - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A5B0 - movs r1, #0 - movs r0, #5 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - adds r0, r4, #0 - movs r1, #0xd - bl sub_08004260 - adds r0, r4, #0 - bl sub_0806A914 -_0806A5B0: - pop {r4, r5, pc} - .align 2, 0 -_0806A5B4: .4byte gUnk_02033280 -_0806A5B8: .4byte 0x0000011B - - thumb_func_start nullsub_503 -nullsub_503: @ 0x0806A5BC - bx lr - .align 2, 0 - - thumb_func_start sub_0806A5C0 -sub_0806A5C0: @ 0x0806A5C0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A5E6 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_0806A5E6: - pop {r4, pc} - - thumb_func_start sub_0806A5E8 -sub_0806A5E8: @ 0x0806A5E8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806A60A - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x10 - bl sub_08004260 - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x3c - strb r0, [r4, #0xe] -_0806A60A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806A628 - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #0xcc - bl sub_080A3268 -_0806A628: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_0806A630 -sub_0806A630: @ 0x0806A630 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806A646 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x12 - bl sub_08004260 -_0806A646: - ldr r0, _0806A670 @ =gUnk_02033280 - ldr r0, [r0] - movs r1, #0x80 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - beq _0806A65A - adds r0, r4, #0 - bl sub_08004274 -_0806A65A: - adds r1, r4, #0 - adds r1, #0x5a - ldrb r0, [r1] - cmp r0, #1 - bne _0806A66E - movs r0, #0 - strb r0, [r1] - movs r0, #0x72 - bl sub_080A3268 -_0806A66E: - pop {r4, pc} - .align 2, 0 -_0806A670: .4byte gUnk_02033280 - - thumb_func_start sub_0806A674 -sub_0806A674: @ 0x0806A674 - push {r4, lr} - sub sp, #8 - adds r4, r0, #0 - ldr r1, _0806A694 @ =gUnk_08112294 - mov r0, sp - movs r2, #8 - bl memcpy - ldrb r3, [r4, #0xc] - cmp r3, #1 - beq _0806A6BE - cmp r3, #1 - bgt _0806A698 - cmp r3, #0 - beq _0806A6A0 - b _0806A82A - .align 2, 0 -_0806A694: .4byte gUnk_08112294 -_0806A698: - cmp r3, #2 - bne _0806A69E - b _0806A824 -_0806A69E: - b _0806A82A -_0806A6A0: - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #9 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0x13 - bl sub_08004260 - b _0806A82A -_0806A6BE: - ldr r0, _0806A6E0 @ =gUnk_02033280 - ldr r0, [r0] - movs r1, #0x80 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - beq _0806A6E4 - movs r0, #0 - movs r1, #2 - strb r1, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x63 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - b _0806A82A - .align 2, 0 -_0806A6E0: .4byte gUnk_02033280 -_0806A6E4: - ldr r0, [r4, #0x50] - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #9 - bne _0806A7C8 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #3 - orrs r1, r0 - strb r1, [r2] - ldrb r2, [r4, #0xe] - cmp r2, #0 - bne _0806A724 - bl sub_08000E50 - adds r2, r0, #0 - movs r1, #7 - ands r0, r1 - strb r0, [r4, #0xe] - lsrs r0, r2, #8 - movs r1, #7 - ands r0, r1 - add r0, sp - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x68 - strb r1, [r0] - b _0806A75A -_0806A724: - ldr r0, _0806A780 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0806A75A - subs r0, r2, #1 - strb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x62 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r1, r4, #0 - adds r1, #0x68 - cmp r0, #0 - bgt _0806A746 - strb r3, [r1] -_0806A746: - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0xf - ble _0806A752 - movs r0, #0xff - strb r0, [r1] -_0806A752: - ldrb r0, [r1] - ldrb r1, [r2] - adds r0, r0, r1 - strb r0, [r2] -_0806A75A: - ldrb r2, [r4, #0xf] - cmp r2, #0 - bne _0806A784 - bl sub_08000E50 - adds r2, r0, #0 - movs r1, #7 - ands r0, r1 - strb r0, [r4, #0xf] - lsrs r0, r2, #8 - movs r1, #7 - ands r0, r1 - add r0, sp - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x69 - strb r1, [r0] - b _0806A82A - .align 2, 0 -_0806A780: .4byte gUnk_030010A0 -_0806A784: - ldr r0, _0806A7C4 @ =gUnk_030010A0 - ldr r0, [r0] - lsrs r0, r0, #4 - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0806A82A - subs r0, r2, #1 - strb r0, [r4, #0xf] - adds r3, r4, #0 - adds r3, #0x63 - movs r0, #0 - ldrsb r0, [r3, r0] - adds r2, r4, #0 - adds r2, #0x69 - cmp r0, #0 - blt _0806A7AA - movs r0, #0xff - strb r0, [r2] -_0806A7AA: - movs r1, #0 - ldrsb r1, [r3, r1] - movs r0, #8 - rsbs r0, r0, #0 - cmp r1, r0 - bgt _0806A7BA - movs r0, #1 - strb r0, [r2] -_0806A7BA: - ldrb r0, [r2] - ldrb r1, [r3] - adds r0, r0, r1 - strb r0, [r3] - b _0806A82A - .align 2, 0 -_0806A7C4: .4byte gUnk_030010A0 -_0806A7C8: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #6 - orrs r1, r0 - strb r1, [r2] - adds r1, r4, #0 - adds r1, #0x62 - ldrb r0, [r1] - movs r2, #0 - ldrsb r2, [r1, r2] - cmp r2, #0 - beq _0806A7FE - cmp r2, #0 - ble _0806A7F0 - subs r0, #1 - strb r0, [r1] -_0806A7F0: - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bge _0806A7FE - adds r0, r2, #1 - strb r0, [r1] -_0806A7FE: - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - movs r2, #0 - ldrsb r2, [r1, r2] - cmp r2, #0 - beq _0806A82A - cmp r2, #0 - ble _0806A814 - subs r0, #1 - strb r0, [r1] -_0806A814: - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bge _0806A82A - adds r0, r2, #1 - strb r0, [r1] - b _0806A82A -_0806A824: - adds r0, r4, #0 - bl sub_08004274 -_0806A82A: - add sp, #8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806A830 -sub_0806A830: @ 0x0806A830 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806A84E - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x14 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 -_0806A84E: - ldr r0, _0806A88C @ =gUnk_02033280 - ldr r0, [r0] - movs r1, #0x80 - lsls r1, r1, #2 - ands r0, r1 - cmp r0, #0 - beq _0806A860 - bl sub_0805E780 -_0806A860: - adds r0, r4, #0 - bl sub_08004274 - adds r1, r4, #0 - adds r1, #0x5a - ldrb r0, [r1] - cmp r0, #1 - bne _0806A88A - movs r0, #0 - strb r0, [r1] - movs r0, #0x37 - movs r1, #5 - movs r2, #0 - bl sub_0806ED50 - adds r1, r0, #0 - cmp r1, #0 - beq _0806A88A - adds r0, r4, #0 - bl sub_0806FA30 -_0806A88A: - pop {r4, pc} - .align 2, 0 -_0806A88C: .4byte gUnk_02033280 - - thumb_func_start sub_0806A890 -sub_0806A890: @ 0x0806A890 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806A8AE - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x15 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 -_0806A8AE: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806A8C6 - bl sub_0805E780 -_0806A8C6: - pop {r4, pc} - - thumb_func_start sub_0806A8C8 -sub_0806A8C8: @ 0x0806A8C8 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x60 - bl sub_0807CBD0 - cmp r0, #0 - bne _0806A8F0 - movs r0, #0x37 - movs r1, #2 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806A8F0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - str r5, [r4, #0x50] -_0806A8F0: - movs r0, #0x37 - movs r1, #3 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806A910 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrh r0, [r4, #0x32] - adds r0, #2 - strh r0, [r4, #0x32] - str r5, [r4, #0x50] -_0806A910: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806A914 -sub_0806A914: @ 0x0806A914 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x37 - movs r1, #1 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806A938 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 -_0806A938: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806A93C -sub_0806A93C: @ 0x0806A93C - push {r4, lr} - adds r4, r0, #0 - bl sub_08078778 - ldr r3, _0806A954 @ =gUnk_0811229C - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_08078850 - pop {r4, pc} - .align 2, 0 -_0806A954: .4byte gUnk_0811229C - - thumb_func_start sub_0806A958 -sub_0806A958: @ 0x0806A958 - push {lr} - ldrb r0, [r0, #0xc] - cmp r0, #5 - beq _0806A966 - ldr r1, _0806A968 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0806A966: - pop {pc} - .align 2, 0 -_0806A968: .4byte gUnk_02033280 - - thumb_func_start sub_0806A96C -sub_0806A96C: @ 0x0806A96C - push {r4, lr} - adds r2, r0, #0 - movs r3, #0 - str r3, [r1, #0x14] - movs r0, #0x39 - adds r0, r0, r2 - mov ip, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0806A9A8 - ldrb r0, [r2, #0xc] - cmp r0, #3 - beq _0806A992 - movs r0, #3 - strb r0, [r2, #0xc] - strb r3, [r2, #0xd] - b _0806A9A8 -_0806A992: - ldrb r0, [r2, #0xd] - cmp r0, #1 - bls _0806A9A8 - mov r4, ip - strb r3, [r4] - movs r0, #1 - str r0, [r1, #0x14] - ldr r2, _0806A9AC @ =gUnk_02033280 - ldrb r1, [r2, #7] - orrs r0, r1 - strb r0, [r2, #7] -_0806A9A8: - pop {r4, pc} - .align 2, 0 -_0806A9AC: .4byte gUnk_02033280 - - thumb_func_start sub_0806A9B0 -sub_0806A9B0: @ 0x0806A9B0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - bl sub_08000E50 - ldr r2, _0806A9E4 @ =gUnk_081122A0 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #9 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #9 - bl sub_08004260 - movs r0, #0x62 - bl sub_0807CCB4 - pop {r4, pc} - .align 2, 0 -_0806A9E4: .4byte gUnk_081122A0 - - thumb_func_start sub_0806A9E8 -sub_0806A9E8: @ 0x0806A9E8 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x37 - movs r1, #4 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806AA0C - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAD8 -_0806AA0C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806AA10 -sub_0806AA10: @ 0x0806AA10 - push {lr} - bl sub_0806A914 - pop {pc} - - thumb_func_start sub_0806AA18 -sub_0806AA18: @ 0x0806AA18 - push {lr} - adds r2, r0, #0 - adds r0, #0x6a - ldrh r0, [r0] - cmp r0, #0 - beq _0806AA2C - ldr r1, _0806AA28 @ =0x00004408 - b _0806AA3C - .align 2, 0 -_0806AA28: .4byte 0x00004408 -_0806AA2C: - ldr r0, _0806AA48 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - ldr r1, _0806AA4C @ =0x0000440D - cmp r0, #0 - bne _0806AA3C - subs r1, #6 -_0806AA3C: - adds r0, r1, #0 - adds r1, r2, #0 - bl sub_08056398 - pop {pc} - .align 2, 0 -_0806AA48: .4byte gUnk_030010A0 -_0806AA4C: .4byte 0x0000440D - - thumb_func_start sub_0806AA50 -sub_0806AA50: @ 0x0806AA50 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x18] - cmp r0, #1 - beq _0806AB38 - cmp r0, #1 - bgt _0806AA6A - cmp r0, #0 - beq _0806AA70 - b _0806AB64 -_0806AA6A: - cmp r0, #2 - beq _0806AB5C - b _0806AB64 -_0806AA70: - str r0, [r5, #0x14] - movs r0, #0x8f - bl sub_0807CBD0 - cmp r0, #0 - bne _0806AA84 - ldr r2, _0806AA80 @ =gUnk_081122A8 - b _0806AA9A - .align 2, 0 -_0806AA80: .4byte gUnk_081122A8 -_0806AA84: - movs r0, #0x15 - bl sub_0807CA84 - cmp r0, #0 - bne _0806AA98 - ldr r2, _0806AA94 @ =gUnk_081122B0 - b _0806AA9A - .align 2, 0 -_0806AA94: .4byte gUnk_081122B0 -_0806AA98: - ldr r2, _0806AAD0 @ =gUnk_081122B8 -_0806AA9A: - ldr r1, _0806AAD4 @ =gUnk_02034350 - ldr r0, [r1, #0x68] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r7, [r0] - mov r8, r1 - mov r4, r8 - ldr r0, [r4, #0x68] - adds r0, #1 - str r0, [r4, #0x68] - cmp r0, #2 - bls _0806AAB6 - movs r0, #0 - str r0, [r4, #0x68] -_0806AAB6: - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_08056398 - ldr r0, [r5, #4] - cmp r0, #1 - beq _0806AAEE - cmp r0, #1 - blo _0806AAD8 - cmp r0, #2 - beq _0806AB02 - b _0806AB1C - .align 2, 0 -_0806AAD0: .4byte gUnk_081122B8 -_0806AAD4: .4byte gUnk_02034350 -_0806AAD8: - adds r0, r4, #0 - adds r0, #0xac - str r6, [r0] - adds r0, r6, #0 - movs r1, #7 - bl sub_0805EA78 - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r6, #0x20] - b _0806AB1C -_0806AAEE: - adds r0, r4, #0 - adds r0, #0xac - ldr r0, [r0] - movs r1, #7 - bl sub_0805EB64 - adds r1, r0, #0 - adds r0, r4, #0 - adds r0, #0xb0 - b _0806AB14 -_0806AB02: - mov r0, r8 - adds r0, #0xb0 - ldr r0, [r0] - movs r1, #7 - bl sub_0805EB64 - adds r1, r0, #0 - mov r0, r8 - adds r0, #0xb4 -_0806AB14: - str r1, [r0] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r1, #0x20] -_0806AB1C: - ldr r0, _0806AB34 @ =0x0000441E - cmp r7, r0 - bne _0806AB2C - movs r0, #0x8f - bl sub_0807CCB4 - movs r0, #1 - str r0, [r5, #0x14] -_0806AB2C: - movs r0, #1 - strb r0, [r5, #0x18] - b _0806AB64 - .align 2, 0 -_0806AB34: .4byte 0x0000441E -_0806AB38: - ldr r0, _0806AB58 @ =gUnk_02034350 - ldr r1, [r5, #4] - lsls r1, r1, #2 - adds r0, #0xac - adds r1, r1, r0 - ldr r1, [r1] - movs r2, #0x36 - ldrsh r0, [r1, r2] - cmp r0, #0 - blt _0806AB64 - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r1, #0x20] - movs r0, #2 - strb r0, [r5, #0x18] - b _0806AB64 - .align 2, 0 -_0806AB58: .4byte gUnk_02034350 -_0806AB5C: - movs r1, #0x36 - ldrsh r0, [r6, r1] - cmp r0, #0 - bge _0806AB6A -_0806AB64: - ldr r1, _0806AB70 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0806AB6A: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806AB70: .4byte gUnk_02033280 - - thumb_func_start sub_0806AB74 -sub_0806AB74: @ 0x0806AB74 - push {lr} - adds r2, r0, #0 - ldr r1, _0806AB94 @ =gUnk_02034350 - movs r0, #1 - strb r0, [r1, #3] - movs r1, #0x32 - ldrsh r0, [r2, r1] - ldr r1, _0806AB98 @ =gUnk_03000BF0 - ldrh r1, [r1, #8] - subs r0, r0, r1 - cmp r0, #0xa7 - bgt _0806AB92 - adds r0, r1, #0 - adds r0, #0xa8 - strh r0, [r2, #0x32] -_0806AB92: - pop {pc} - .align 2, 0 -_0806AB94: .4byte gUnk_02034350 -_0806AB98: .4byte gUnk_03000BF0 - - thumb_func_start sub_0806AB9C -sub_0806AB9C: @ 0x0806AB9C - push {r4, r5, lr} - sub sp, #4 - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #0 - str r0, [sp] - movs r0, #7 - movs r1, #0x37 - movs r2, #7 - movs r3, #1 - bl sub_0805EB2C - cmp r0, #0 - beq _0806ABBC - bl sub_0805E7BC -_0806ABBC: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807F950 - add sp, #4 - pop {r4, r5, pc} - - thumb_func_start sub_0806ABC8 -sub_0806ABC8: @ 0x0806ABC8 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _0806ABF4 - ldr r0, _0806ABF0 @ =gUnk_081126E8 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - b _0806ABFA - .align 2, 0 -_0806ABF0: .4byte gUnk_081126E8 -_0806ABF4: - adds r0, r4, #0 - bl sub_0806ACC4 -_0806ABFA: - pop {r4, pc} - - thumb_func_start sub_0806ABFC -sub_0806ABFC: @ 0x0806ABFC - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _0806AC38 @ =gUnk_08112674 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806AC36 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - adds r2, r4, #0 - adds r2, #0x6a - strb r0, [r2] - lsls r0, r0, #1 - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - subs r2, #1 - strb r0, [r2] - strb r1, [r4, #0xe] -_0806AC36: - pop {r4, pc} - .align 2, 0 -_0806AC38: .4byte gUnk_08112674 - - thumb_func_start sub_0806AC3C -sub_0806AC3C: @ 0x0806AC3C - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #3 - bhi _0806ACBA - ldr r4, _0806AC6C @ =gUnk_03001160 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x18 - movs r3, #0x18 - bl sub_080041A0 - cmp r0, #0 - beq _0806AC70 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080045C4 - adds r2, r0, #0 - movs r0, #0x1e - ands r2, r0 - b _0806AC74 - .align 2, 0 -_0806AC6C: .4byte gUnk_03001160 -_0806AC70: - ldrb r0, [r5, #0x14] - lsls r2, r0, #2 -_0806AC74: - adds r0, r5, #0 - adds r0, #0x69 - ldrb r3, [r0] - adds r4, r0, #0 - cmp r2, r3 - beq _0806AC9A - subs r0, r2, r3 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0xf - bgt _0806AC8E - subs r0, r3, #1 - b _0806AC90 -_0806AC8E: - adds r0, r3, #1 -_0806AC90: - strb r0, [r4] - ldrb r1, [r4] - movs r0, #0x1f - ands r0, r1 - strb r0, [r4] -_0806AC9A: - ldrb r1, [r4] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0806ACBA - ldrb r0, [r4] - bl sub_0806F5B0 - strb r0, [r5, #0x14] - ldrb r1, [r5, #0x14] - lsrs r1, r1, #1 - movs r0, #2 - eors r1, r0 - adds r0, r5, #0 - bl sub_08004260 -_0806ACBA: - adds r0, r5, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806ACC4 -sub_0806ACC4: @ 0x0806ACC4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #1 - beq _0806AD28 - cmp r5, #1 - bgt _0806ACD8 - cmp r5, #0 - beq _0806ACE4 - b _0806ADEA -_0806ACD8: - cmp r5, #2 - beq _0806ADB8 - cmp r5, #3 - bne _0806ACE2 - b _0806ADDC -_0806ACE2: - b _0806ADEA -_0806ACE4: - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _0806AD24 @ =gUnk_08112674 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - bne _0806ACF8 - b _0806ADFA -_0806ACF8: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x6a - strb r0, [r1] - lsls r0, r0, #1 - strb r0, [r4, #0x14] - strb r5, [r4, #0xe] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807DD50 - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r1, #8 - b _0806ADCE - .align 2, 0 -_0806AD24: .4byte gUnk_08112674 -_0806AD28: - adds r5, r4, #0 - adds r5, #0x39 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #2 - bne _0806AD44 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r5] - adds r0, r4, #0 - bl sub_0806F118 - b _0806ADEA -_0806AD44: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0806AEA8 - ldrb r0, [r4, #0xb] - cmp r0, #0xa - bne _0806AD8A - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - beq _0806AD8A - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r5] - ldr r1, _0806ADAC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #8 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0806AFE8 -_0806AD8A: - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _0806ADEA - ldr r0, _0806ADAC @ =gUnk_03001160 - ldrb r3, [r0, #0x14] - lsrs r3, r3, #1 - ldr r0, _0806ADB0 @ =gUnk_081126E4 - adds r0, r3, r0 - ldrb r2, [r0] - lsls r3, r3, #2 - ldr r0, _0806ADB4 @ =gUnk_081126D4 - adds r3, r3, r0 - adds r0, r4, #0 - movs r1, #1 - bl sub_08078850 - b _0806ADEA - .align 2, 0 -_0806ADAC: .4byte gUnk_03001160 -_0806ADB0: .4byte gUnk_081126E4 -_0806ADB4: .4byte gUnk_081126D4 -_0806ADB8: - ldr r0, _0806ADD8 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0806ADEA - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r1, #4 -_0806ADCE: - adds r0, r4, #0 - bl sub_08004260 - b _0806ADEA - .align 2, 0 -_0806ADD8: .4byte gUnk_02000050 -_0806ADDC: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806ADEA - movs r0, #1 - strb r0, [r4, #0xc] -_0806ADEA: - adds r0, r4, #0 - adds r0, #0x59 - ldrb r0, [r0] - cmp r0, #0xff - beq _0806ADFA - adds r0, r4, #0 - bl sub_08004274 -_0806ADFA: - pop {r4, r5, pc} - - thumb_func_start sub_0806ADFC -sub_0806ADFC: @ 0x0806ADFC - push {lr} - adds r1, r0, #0 - adds r1, #0x68 - ldrb r1, [r1] - bl sub_08078784 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806AE0C -sub_0806AE0C: @ 0x0806AE0C - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _0806AE62 - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - lsrs r2, r0, #1 - adds r0, r4, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0806AE3C - adds r2, #0x1c - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - b _0806AE46 -_0806AE3C: - adds r0, r4, #0 - movs r1, #0 - movs r2, #0xff - bl sub_0806FF60 -_0806AE46: - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - b _0806AEA4 -_0806AE62: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r2, [r0] - cmp r2, #0xff - beq _0806AE72 - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 -_0806AE72: - adds r0, r4, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0806AE82 - movs r2, #0xff -_0806AE82: - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C -_0806AEA4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806AEA8 -sub_0806AEA8: @ 0x0806AEA8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x82 - ldrh r5, [r6] - ldr r0, _0806AED4 @ =0x0000FFDF - ands r0, r5 - strh r0, [r6] - movs r0, #0x20 - ands r0, r5 - cmp r0, #0 - beq _0806AECA - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 -_0806AECA: - adds r0, r4, #0 - bl sub_0807DDE4 - strh r5, [r6] - pop {r4, r5, r6, pc} - .align 2, 0 -_0806AED4: .4byte 0x0000FFDF - - thumb_func_start sub_0806AED8 -sub_0806AED8: @ 0x0806AED8 - push {lr} - movs r1, #0 - strb r1, [r0, #0xe] - bl sub_0806AEE4 - pop {pc} - - thumb_func_start sub_0806AEE4 -sub_0806AEE4: @ 0x0806AEE4 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - adds r7, r0, #0 - cmp r7, #0 - beq _0806AEF6 - subs r0, #1 - strb r0, [r4, #0xe] - b _0806AF5A -_0806AEF6: - movs r0, #2 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x20 - movs r2, #0x20 - bl sub_0806EDD8 - adds r3, r0, #0 - cmp r3, #0 - bge _0806AF16 - adds r0, r4, #0 - adds r0, #0x6a - ldrb r1, [r0] - lsls r0, r1, #1 - strb r0, [r4, #0x14] - lsls r3, r1, #3 -_0806AF16: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #5 - asrs r1, r3, #1 - lsls r1, r1, #1 - ldr r2, _0806AF5C @ =gUnk_081125F4 - adds r1, r1, r2 - adds r0, r0, r1 - ldrb r6, [r0] - ldrb r5, [r0, #1] - movs r0, #0x80 - ands r0, r5 - cmp r0, #0 - beq _0806AF3A - adds r0, r3, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] -_0806AF3A: - movs r0, #0x7f - ands r5, r0 - adds r0, r4, #0 - adds r0, #0x5a - strb r6, [r0] - strb r5, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x5b - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x58 - strb r7, [r0] - subs r1, #2 - movs r0, #0xff - strb r0, [r1] -_0806AF5A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806AF5C: .4byte gUnk_081125F4 - - thumb_func_start sub_0806AF60 -sub_0806AF60: @ 0x0806AF60 - push {lr} - ldrb r2, [r0, #0x14] - lsrs r2, r2, #1 - ldr r1, [r1, #4] - adds r1, r1, r2 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_0806AF70 -sub_0806AF70: @ 0x0806AF70 - movs r1, #0x90 - lsls r1, r1, #0xa - str r1, [r0, #0x20] - bx lr - - thumb_func_start sub_0806AF78 -sub_0806AF78: @ 0x0806AF78 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - ldr r0, [r4, #0x34] - cmp r0, #0 - blt _0806AF9E - ldr r0, [r4, #0x20] - cmp r0, #0 - bgt _0806AF9E - movs r0, #0 - str r0, [r4, #0x34] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806AF70 -_0806AF9E: - pop {r4, r5, pc} - - thumb_func_start sub_0806AFA0 -sub_0806AFA0: @ 0x0806AFA0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806ED78 - cmp r0, #0 - beq _0806AFBA - movs r0, #0x24 - ldrsh r1, [r4, r0] - rsbs r1, r1, #0 - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C -_0806AFBA: - pop {r4, pc} - - thumb_func_start sub_0806AFBC -sub_0806AFBC: @ 0x0806AFBC - push {lr} - adds r3, r0, #0 - ldr r0, _0806AFE0 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _0806AFCC - movs r0, #0 -_0806AFCC: - ldrb r1, [r3, #0xb] - lsls r1, r1, #6 - lsls r0, r0, #3 - ldr r2, _0806AFE4 @ =gUnk_081126F0 - adds r0, r0, r2 - adds r1, r1, r0 - adds r0, r3, #0 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806AFE0: .4byte gUnk_02002A40 -_0806AFE4: .4byte gUnk_081126F0 - - thumb_func_start sub_0806AFE8 -sub_0806AFE8: @ 0x0806AFE8 - push {lr} - movs r2, #0 - str r2, [r1, #0x14] - ldr r3, _0806B000 @ =gUnk_08112BF0 - ldrb r2, [r0, #0xb] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0806B000: .4byte gUnk_08112BF0 - - thumb_func_start sub_0806B004 -sub_0806B004: @ 0x0806B004 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - movs r4, #0 - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0806B050 - movs r0, #0x73 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806B048 - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0806B044 - movs r4, #3 - movs r0, #0x78 - bl sub_0807CBD0 - cmp r0, #0 - bne _0806B050 - movs r4, #2 - movs r0, #1 - str r0, [r5, #0x14] - movs r0, #0x78 - bl sub_0807CCB4 - b _0806B050 -_0806B044: - movs r4, #4 - b _0806B050 -_0806B048: - movs r4, #1 - movs r0, #0x6a - bl sub_0807CCB4 -_0806B050: - ldr r0, _0806B060 @ =gUnk_08112C40 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r6, #0 - bl sub_08056398 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806B060: .4byte gUnk_08112C40 - - thumb_func_start sub_0806B064 -sub_0806B064: @ 0x0806B064 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0806B082 - movs r4, #1 - movs r0, #0x73 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806B082 - movs r4, #2 -_0806B082: - ldr r0, _0806B094 @ =gUnk_08112C4A - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806B094: .4byte gUnk_08112C4A - - thumb_func_start sub_0806B098 -sub_0806B098: @ 0x0806B098 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #2 - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0806B0C0 - movs r4, #1 - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0806B0C0 - movs r0, #0x2a - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f -_0806B0C0: - ldr r2, _0806B0DC @ =gUnk_08112C50 - ldrb r1, [r5, #0xb] - subs r1, #7 - lsls r0, r1, #1 - adds r0, r0, r1 - adds r0, r0, r4 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806B0DC: .4byte gUnk_08112C50 - - thumb_func_start sub_0806B0E0 -sub_0806B0E0: @ 0x0806B0E0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0 - movs r0, #0x38 - movs r1, #0xb8 - movs r2, #1 - bl sub_080002C0 - cmp r0, #0x57 - bne _0806B120 - movs r0, #0x48 - movs r1, #0xb8 - movs r2, #1 - bl sub_080002C0 - cmp r0, #0x57 - bne _0806B120 - movs r0, #0x38 - movs r1, #0xc8 - movs r2, #1 - bl sub_080002C0 - cmp r0, #0x57 - bne _0806B120 - movs r0, #0x48 - movs r1, #0xc8 - movs r2, #1 - bl sub_080002C0 - cmp r0, #0x57 - bne _0806B120 - movs r5, #1 -_0806B120: - ldr r0, _0806B130 @ =gUnk_08112C5C - lsls r1, r5, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806B130: .4byte gUnk_08112C5C - - thumb_func_start sub_0806B134 -sub_0806B134: @ 0x0806B134 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x45 - bl sub_0807CA84 - cmp r0, #0 - beq _0806B158 - movs r4, #2 - movs r0, #0x7b - bl sub_0807CBD0 - cmp r0, #0 - bne _0806B160 - movs r4, #1 - movs r0, #0x7b - bl sub_0807CCB4 - b _0806B160 -_0806B158: - movs r4, #0 - movs r0, #0x4a - bl sub_0807CD04 -_0806B160: - ldr r0, _0806B17C @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #5 - bls _0806B16A - movs r4, #3 -_0806B16A: - ldr r0, _0806B180 @ =gUnk_08112C60 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806B17C: .4byte gUnk_02002A40 -_0806B180: .4byte gUnk_08112C60 - - thumb_func_start sub_0806B184 -sub_0806B184: @ 0x0806B184 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806B1C4 - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _0806B1C0 @ =gUnk_08112674 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806B1CA - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _0806B1CA - .align 2, 0 -_0806B1C0: .4byte gUnk_08112674 -_0806B1C4: - adds r0, r4, #0 - bl sub_08004274 -_0806B1CA: - pop {r4, pc} - - thumb_func_start sub_0806B1CC -sub_0806B1CC: @ 0x0806B1CC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0806B21E - cmp r0, #1 - bgt _0806B1E0 - cmp r0, #0 - beq _0806B1E6 - b _0806B25C -_0806B1E0: - cmp r0, #2 - beq _0806B24E - b _0806B25C -_0806B1E6: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 - b _0806B25C -_0806B21E: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806B238 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - bl sub_0806F118 - b _0806B25C -_0806B238: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - b _0806B25C -_0806B24E: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806B25C - movs r0, #1 - strb r0, [r4, #0xc] -_0806B25C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806B260 -sub_0806B260: @ 0x0806B260 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - movs r0, #0 - str r0, [r5, #0x14] - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0806B29E - movs r0, #0x29 - bl sub_0807CC30 - cmp r0, #0 - beq _0806B286 - movs r4, #2 - movs r0, #1 - str r0, [r5, #0x14] - b _0806B2A0 -_0806B286: - movs r0, #0x7a - bl sub_0807CBD0 - cmp r0, #0 - bne _0806B29A - movs r4, #0 - movs r0, #0x7a - bl sub_0807CCB4 - b _0806B2A0 -_0806B29A: - movs r4, #1 - b _0806B2A0 -_0806B29E: - movs r4, #3 -_0806B2A0: - ldr r0, _0806B2B0 @ =gUnk_08112D48 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r6, #0 - bl sub_08056398 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806B2B0: .4byte gUnk_08112D48 - - thumb_func_start sub_0806B2B4 -sub_0806B2B4: @ 0x0806B2B4 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xb3 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806B314 - movs r0, #0 - bl sub_0807CC3C - cmp r0, #0 - bne _0806B2D6 - movs r4, #1 - movs r0, #0 - bl sub_0807CD10 - b _0806B316 -_0806B2D6: - movs r0, #1 - bl sub_0807CC3C - cmp r0, #0 - bne _0806B2EA - movs r4, #2 - movs r0, #1 - bl sub_0807CD10 - b _0806B316 -_0806B2EA: - movs r0, #2 - bl sub_0807CC3C - cmp r0, #0 - bne _0806B2FE - movs r4, #3 - movs r0, #2 - bl sub_0807CD10 - b _0806B316 -_0806B2FE: - movs r4, #4 - movs r0, #0 - bl sub_0807CD8C - movs r0, #1 - bl sub_0807CD8C - movs r0, #2 - bl sub_0807CD8C - b _0806B316 -_0806B314: - movs r4, #0 -_0806B316: - ldr r0, _0806B328 @ =gUnk_08112D50 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806B328: .4byte gUnk_08112D50 - - thumb_func_start sub_0806B32C -sub_0806B32C: @ 0x0806B32C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806B352 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #9 - bl sub_080042AC - b _0806B358 -_0806B352: - adds r0, r2, #0 - bl sub_080042B8 -_0806B358: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806B35C -sub_0806B35C: @ 0x0806B35C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5b - ldrb r0, [r0] - movs r2, #0x3f - ands r2, r0 - adds r2, #0x13 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0x7f - ands r2, r0 - adds r2, #0xb - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #2 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #2 - movs r2, #1 - bl sub_0806FF88 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_0806FFD8 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - - thumb_func_start sub_0806B3AC -sub_0806B3AC: @ 0x0806B3AC - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0806B3C2 - adds r0, r2, #0 - bl sub_0806B41C - b _0806B3C8 -_0806B3C2: - adds r0, r2, #0 - bl sub_0806B3CC -_0806B3C8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806B3CC -sub_0806B3CC: @ 0x0806B3CC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806B3F4 - ldr r1, _0806B418 @ =gUnk_08112E1C - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806B414 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08078778 -_0806B3F4: - adds r0, r4, #0 - bl sub_08004274 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0806B40E - movs r0, #0 - strb r0, [r1] - bl sub_08056378 -_0806B40E: - adds r0, r4, #0 - bl sub_0806ED78 -_0806B414: - pop {r4, pc} - .align 2, 0 -_0806B418: .4byte gUnk_08112E1C - - thumb_func_start sub_0806B41C -sub_0806B41C: @ 0x0806B41C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0806B470 - cmp r0, #1 - bgt _0806B430 - cmp r0, #0 - beq _0806B436 - b _0806B4EC -_0806B430: - cmp r0, #2 - beq _0806B4DE - b _0806B4EC -_0806B436: - ldr r1, _0806B46C @ =gUnk_08112E1C - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806B4EC - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xb] - cmp r0, #2 - bne _0806B462 - adds r0, r4, #0 - movs r1, #0x25 - movs r2, #0 - bl sub_080A29AC -_0806B462: - adds r0, r4, #0 - bl sub_0807DD50 - b _0806B4EC - .align 2, 0 -_0806B46C: .4byte gUnk_08112E1C -_0806B470: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806B4D4 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _0806B4C8 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08002632 - ldr r1, _0806B4CC @ =gUnk_08001A7C - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r3, [r0] - adds r0, r4, #0 - adds r0, #0x68 - ldrb r0, [r0] - cmp r0, #0x21 - bne _0806B4B2 - adds r3, #6 -_0806B4B2: - ldrh r1, [r3] - ldrh r2, [r3, #2] - ldrh r3, [r3, #4] - adds r0, r4, #0 - bl sub_0801DFB4 - ldr r0, _0806B4D0 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - b _0806B4EC - .align 2, 0 -_0806B4C8: .4byte gUnk_03001160 -_0806B4CC: .4byte gUnk_08001A7C -_0806B4D0: .4byte gUnk_03003F80 -_0806B4D4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _0806B4EC -_0806B4DE: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806B4EC - movs r0, #1 - strb r0, [r4, #0xc] -_0806B4EC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806B4F0 -sub_0806B4F0: @ 0x0806B4F0 - push {lr} - ldrb r1, [r0, #0xb] - lsls r1, r1, #3 - ldr r2, _0806B500 @ =gUnk_08112E2C - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806B500: .4byte gUnk_08112E2C - - thumb_func_start sub_0806B504 -sub_0806B504: @ 0x0806B504 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #1 - movs r0, #0x21 - bl sub_0801E7F4 - cmp r0, #0 - beq _0806B518 - movs r4, #3 - b _0806B52A -_0806B518: - movs r0, #0x86 - bl sub_0807CBD0 - cmp r0, #0 - bne _0806B52A - movs r4, #0 - movs r0, #0x86 - bl sub_0807CCB4 -_0806B52A: - ldr r0, _0806B53C @ =gUnk_08112E54 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806B53C: .4byte gUnk_08112E54 - - thumb_func_start sub_0806B540 -sub_0806B540: @ 0x0806B540 - push {r4, lr} - adds r2, r0, #0 - adds r0, #0x84 - ldr r4, [r0] - ldrb r0, [r4, #0x18] - cmp r0, #1 - beq _0806B588 - cmp r0, #1 - bgt _0806B558 - cmp r0, #0 - beq _0806B562 - b _0806B600 -_0806B558: - cmp r0, #2 - beq _0806B5AC - cmp r0, #3 - beq _0806B5EE - b _0806B600 -_0806B562: - ldr r0, _0806B584 @ =0x00002312 - adds r1, r2, #0 - bl sub_08056398 - movs r0, #0x3f - bl sub_0807CBD0 - cmp r0, #0 - bne _0806B606 - ldrb r0, [r4, #0x18] - adds r0, #1 - strb r0, [r4, #0x18] - movs r0, #0x3f - bl sub_0807CCB4 - b _0806B600 - .align 2, 0 -_0806B584: .4byte 0x00002312 -_0806B588: - ldr r0, _0806B5A4 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0806B600 - movs r0, #2 - strb r0, [r4, #0x18] - ldr r0, _0806B5A8 @ =0x00002315 - adds r1, r2, #0 - bl sub_08056398 - b _0806B600 - .align 2, 0 -_0806B5A4: .4byte gUnk_02000050 -_0806B5A8: .4byte 0x00002315 -_0806B5AC: - ldr r0, _0806B5D4 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0806B600 - movs r0, #3 - strb r0, [r4, #0x18] - ldr r0, _0806B5D8 @ =gUnk_02002A40 - adds r0, #0xbb - ldrb r0, [r0] - cmp r0, #0 - beq _0806B5DC - movs r0, #0x58 - movs r1, #0 - movs r2, #0 - bl sub_080A7C18 - b _0806B5E6 - .align 2, 0 -_0806B5D4: .4byte gUnk_02000050 -_0806B5D8: .4byte gUnk_02002A40 -_0806B5DC: - movs r0, #0x3f - movs r1, #0x64 - movs r2, #0 - bl sub_080A7C18 -_0806B5E6: - movs r0, #0xf - bl sub_0807CD10 - b _0806B600 -_0806B5EE: - ldr r0, _0806B5FC @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #8 - beq _0806B600 - movs r0, #0x2d - strh r0, [r4, #0x10] - b _0806B606 - .align 2, 0 -_0806B5FC: .4byte gUnk_03001160 -_0806B600: - ldr r1, _0806B608 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0806B606: - pop {r4, pc} - .align 2, 0 -_0806B608: .4byte gUnk_02033280 - - thumb_func_start sub_0806B60C -sub_0806B60C: @ 0x0806B60C - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806B624 -sub_0806B624: @ 0x0806B624 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806B65C - ldr r1, _0806B658 @ =gUnk_08112E1C - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806B662 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _0806B662 - .align 2, 0 -_0806B658: .4byte gUnk_08112E1C -_0806B65C: - adds r0, r4, #0 - bl sub_08004274 -_0806B662: - pop {r4, pc} - - thumb_func_start sub_0806B664 -sub_0806B664: @ 0x0806B664 - push {lr} - ldr r2, _0806B678 @ =gUnk_08112F78 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0806B678: .4byte gUnk_08112F78 - - thumb_func_start sub_0806B67C -sub_0806B67C: @ 0x0806B67C - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r6, #0xc] - strb r1, [r6, #0xd] - strb r1, [r6, #0xe] - ldrb r0, [r6, #0xa] - cmp r0, #5 - bls _0806B692 - b _0806B7B8 -_0806B692: - lsls r0, r0, #2 - ldr r1, _0806B69C @ =_0806B6A0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806B69C: .4byte _0806B6A0 -_0806B6A0: @ jump table - .4byte _0806B6B8 @ case 0 - .4byte _0806B7A6 @ case 1 - .4byte _0806B70C @ case 2 - .4byte _0806B726 @ case 3 - .4byte _0806B7B0 @ case 4 - .4byte _0806B7A6 @ case 5 -_0806B6B8: - ldrh r0, [r6, #0x32] - subs r0, #0xa0 - strh r0, [r6, #0x32] - movs r0, #0xa0 - strb r0, [r6, #0xe] - movs r0, #0x20 - strb r0, [r6, #0xf] - adds r1, r6, #0 - adds r1, #0x63 - strb r0, [r1] - movs r5, #0 -_0806B6CE: - movs r0, #0x3b - movs r1, #2 - adds r2, r5, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806B6E0 - str r6, [r4, #0x50] -_0806B6E0: - adds r5, #1 - cmp r5, #3 - bls _0806B6CE - movs r0, #0x3b - movs r1, #1 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - str r6, [r4, #0x50] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xff - strb r0, [r1] - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - b _0806B7A6 -_0806B70C: - ldrb r1, [r6, #0xb] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0806B71E - ldrb r0, [r6, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r6, #0x18] -_0806B71E: - adds r0, r6, #0 - bl sub_0806B96C - b _0806B7A6 -_0806B726: - movs r0, #1 - strb r0, [r6, #0xe] - movs r0, #0x20 - strb r0, [r6, #0xf] - movs r0, #0x3b - movs r1, #4 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806B76C - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 - str r6, [r4, #0x50] - adds r0, r6, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, r4, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, #0 - strb r0, [r4, #0x1e] -_0806B76C: - movs r0, #0x3b - movs r1, #5 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806B7A6 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 - str r6, [r4, #0x50] - adds r0, r6, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - adds r1, #1 - adds r3, r4, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_0806B7A6: - adds r0, r6, #0 - movs r1, #0 - bl sub_080042AC - b _0806B7B8 -_0806B7B0: - adds r0, r6, #0 - movs r1, #0 - bl sub_08004260 -_0806B7B8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0806B7BC -sub_0806B7BC: @ 0x0806B7BC - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #3 - bl sub_0807CC3C - cmp r0, #0 - bne _0806B7CC - b _0806B968 -_0806B7CC: - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _0806B84C - cmp r0, #1 - bgt _0806B7DC - cmp r0, #0 - beq _0806B7E6 - b _0806B93C -_0806B7DC: - cmp r0, #2 - beq _0806B86C - cmp r0, #3 - beq _0806B874 - b _0806B93C -_0806B7E6: - ldrh r0, [r5, #0x32] - adds r0, #1 - strh r0, [r5, #0x32] - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806B82C - movs r0, #0x3b - movs r1, #3 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - bne _0806B80C - b _0806B968 -_0806B80C: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r0, _0806B828 @ =0x00001634 - bl sub_08056378 - ldrb r0, [r5, #0xd] - adds r0, #1 - strb r0, [r5, #0xd] - bl sub_0805E780 - b _0806B968 - .align 2, 0 -_0806B828: .4byte 0x00001634 -_0806B82C: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - ands r0, r1 - cmp r0, #0 - beq _0806B83A - b _0806B95A -_0806B83A: - movs r0, #0x20 - strb r0, [r5, #0xf] - ldr r0, _0806B848 @ =0x000001A9 - bl sub_080A3268 - b _0806B95A - .align 2, 0 -_0806B848: .4byte 0x000001A9 -_0806B84C: - adds r0, r5, #0 - bl sub_0806B9BC - adds r4, r0, #0 - cmp r4, #0 - bne _0806B85C - bl sub_0805E780 -_0806B85C: - movs r3, #0x84 - lsls r3, r3, #0xe - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - b _0806B95A -_0806B86C: - adds r0, r5, #0 - bl sub_0806B96C - b _0806B95A -_0806B874: - ldrb r0, [r5, #0xd] - cmp r0, #1 - beq _0806B8A2 - cmp r0, #1 - bgt _0806B884 - cmp r0, #0 - beq _0806B88E - b _0806B91E -_0806B884: - cmp r0, #2 - beq _0806B8C4 - cmp r0, #3 - beq _0806B906 - b _0806B91E -_0806B88E: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806B91E - ldrb r0, [r5, #0xd] - adds r0, #1 - strb r0, [r5, #0xd] - b _0806B91E -_0806B8A2: - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806B91E - movs r0, #2 - strb r0, [r5, #0xd] - ldr r1, _0806B8C0 @ =0x0000013F - adds r0, r5, #0 - bl sub_0801D2B4 - b _0806B8FA - .align 2, 0 -_0806B8C0: .4byte 0x0000013F -_0806B8C4: - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0806B91E - movs r0, #0xef - ands r0, r1 - strb r0, [r2] - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - beq _0806B91E - cmp r0, #0xa - bne _0806B91E - ldrb r0, [r5, #0xd] - adds r0, #1 - strb r0, [r5, #0xd] - movs r0, #0xf4 - bl sub_08004488 - movs r0, #0 - strb r0, [r5, #0xe] -_0806B8FA: - ldrb r1, [r5, #0xd] - subs r1, #1 - adds r0, r5, #0 - bl sub_080042AC - b _0806B91E -_0806B906: - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806B91E - movs r0, #0 - bl sub_0807CD10 - bl sub_0805E780 -_0806B91E: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806B95A - movs r0, #0x20 - strb r0, [r5, #0xf] - ldr r0, _0806B938 @ =0x000001A9 - bl sub_080A3268 - b _0806B95A - .align 2, 0 -_0806B938: .4byte 0x000001A9 -_0806B93C: - adds r0, r5, #0 - bl sub_0806B9BC - adds r4, r0, #0 - cmp r4, #0 - bne _0806B94E - bl sub_0805E780 - b _0806B968 -_0806B94E: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0806B968 - ldrb r0, [r5, #0xa] - cmp r0, #4 - beq _0806B962 -_0806B95A: - adds r0, r5, #0 - bl sub_080042B8 - b _0806B968 -_0806B962: - adds r0, r5, #0 - bl sub_08004274 -_0806B968: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806B96C -sub_0806B96C: @ 0x0806B96C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0806B9BC - adds r5, r0, #0 - cmp r5, #0 - bne _0806B97E - bl sub_0805E780 -_0806B97E: - ldrb r3, [r4, #0xb] - lsls r3, r3, #1 - ldr r0, _0806B9B8 @ =gUnk_08112F80 - adds r3, r3, r0 - ldrb r1, [r5, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r2, #0 - ldrsb r2, [r3, r2] - lsls r2, r2, #0x10 - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - adds r3, #0x21 - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 -_0806B9B8: .4byte gUnk_08112F80 - - thumb_func_start sub_0806B9BC -sub_0806B9BC: @ 0x0806B9BC - push {lr} - ldr r1, [r0, #0x50] - cmp r1, #0 - beq _0806B9CC - ldr r0, [r1, #4] - cmp r0, #0 - bne _0806B9CC - movs r1, #0 -_0806B9CC: - adds r0, r1, #0 - pop {pc} - - thumb_func_start sub_0806B9D0 -sub_0806B9D0: @ 0x0806B9D0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _0806B9E6 - adds r0, #1 - strb r0, [r1, #0xc] - adds r0, r1, #0 - bl sub_0807DD50 - b _0806B9EE -_0806B9E6: - adds r0, r1, #0 - movs r1, #0 - bl sub_0807DD94 -_0806B9EE: - pop {pc} - - thumb_func_start sub_0806B9F0 -sub_0806B9F0: @ 0x0806B9F0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806BA18 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0807DD50 - ldr r1, _0806BA30 @ =gUnk_08114F30 - ldrb r2, [r4, #0x19] - lsrs r0, r2, #6 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r1, r1, #6 - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] -_0806BA18: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_0806BA30: .4byte gUnk_08114F30 - - thumb_func_start sub_0806BA34 -sub_0806BA34: @ 0x0806BA34 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov sb, r0 - adds r4, r1, #0 - ldr r0, _0806BA58 @ =0x00004912 - mov r8, r0 - movs r0, #0 - str r0, [r4, #0x14] - movs r0, #0x73 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806BA60 - ldr r0, _0806BA5C @ =0x00004913 - mov r8, r0 - b _0806BB06 - .align 2, 0 -_0806BA58: .4byte 0x00004912 -_0806BA5C: .4byte 0x00004913 -_0806BA60: - movs r0, #0x39 - bl sub_0807CA84 - adds r7, r0, #0 - movs r0, #0x3a - bl sub_0807CA84 - adds r6, r0, #0 - movs r0, #0x3b - bl sub_0807CA84 - adds r5, r0, #0 - cmp r7, #1 - bne _0806BA88 - ldr r0, _0806BA84 @ =0x00004906 - mov r8, r0 - str r7, [r4, #0x14] - b _0806BAA2 - .align 2, 0 -_0806BA84: .4byte 0x00004906 -_0806BA88: - cmp r6, #1 - bne _0806BA98 - ldr r0, _0806BA94 @ =0x00004907 - mov r8, r0 - str r6, [r4, #0x14] - b _0806BAA2 - .align 2, 0 -_0806BA94: .4byte 0x00004907 -_0806BA98: - cmp r5, #1 - bne _0806BAB4 - ldr r0, _0806BAB0 @ =0x00004908 - mov r8, r0 - str r5, [r4, #0x14] -_0806BAA2: - movs r0, #0x6b - bl sub_0807CCB4 - movs r0, #0x6a - bl sub_0807CCB4 - b _0806BB06 - .align 2, 0 -_0806BAB0: .4byte 0x00004908 -_0806BAB4: - movs r0, #0x6a - bl sub_0807CBD0 - cmp r0, #0 - beq _0806BB06 - movs r0, #0x6b - bl sub_0807CBD0 - cmp r0, #0 - bne _0806BAD0 - ldr r0, _0806BACC @ =0x00004901 - b _0806BAD6 - .align 2, 0 -_0806BACC: .4byte 0x00004901 -_0806BAD0: - cmp r7, #0 - bne _0806BAE4 - ldr r0, _0806BAE0 @ =0x00004902 -_0806BAD6: - mov r8, r0 - movs r0, #0x6b - bl sub_0807CCB4 - b _0806BB06 - .align 2, 0 -_0806BAE0: .4byte 0x00004902 -_0806BAE4: - cmp r6, #0 - bne _0806BAF8 - ldr r0, _0806BAF4 @ =0x00004903 - mov r8, r0 - movs r0, #0x6d - bl sub_0807CCB4 - b _0806BB06 - .align 2, 0 -_0806BAF4: .4byte 0x00004903 -_0806BAF8: - cmp r5, #0 - bne _0806BB06 - ldr r0, _0806BB18 @ =0x00004904 - mov r8, r0 - movs r0, #0x70 - bl sub_0807CCB4 -_0806BB06: - mov r0, r8 - mov r1, sb - bl sub_08056398 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806BB18: .4byte 0x00004904 - - thumb_func_start sub_0806BB1C -sub_0806BB1C: @ 0x0806BB1C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - movs r4, #1 - rsbs r4, r4, #0 - movs r0, #0x39 - bl sub_0807CA84 - cmp r0, #1 - bne _0806BB34 - movs r4, #0x39 - b _0806BB52 -_0806BB34: - movs r0, #0x3a - bl sub_0807CA84 - cmp r0, #1 - bne _0806BB42 - movs r4, #0x3a - b _0806BB52 -_0806BB42: - movs r0, #0x3b - bl sub_0807CA84 - cmp r0, #1 - bne _0806BB4E - movs r4, #0x3b -_0806BB4E: - cmp r4, #0 - ble _0806BB78 -_0806BB52: - ldr r0, [r6, #4] - cmp r0, #0 - bne _0806BB70 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08095BE0 - adds r0, r5, #0 - movs r1, #0xc - bl sub_08004260 - movs r0, #0xcd - bl sub_080A3268 - b _0806BB78 -_0806BB70: - adds r0, r4, #0 - movs r1, #2 - bl sub_0807CAA0 -_0806BB78: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0806BB7C -sub_0806BB7C: @ 0x0806BB7C - push {r4, lr} - adds r4, r1, #0 - movs r0, #0 - str r0, [r4, #0x14] - movs r0, #0x39 - bl sub_0807CA84 - cmp r0, #2 - bne _0806BBAC - movs r0, #0x3a - bl sub_0807CA84 - cmp r0, #2 - bne _0806BBAC - movs r0, #0x3b - bl sub_0807CA84 - cmp r0, #2 - bne _0806BBAC - movs r0, #0x73 - bl sub_0807CCB4 - movs r0, #1 - str r0, [r4, #0x14] -_0806BBAC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806BBB0 -sub_0806BBB0: @ 0x0806BBB0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0806BBCC - movs r0, #0x29 - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - b _0806BBCE -_0806BBCC: - movs r1, #2 -_0806BBCE: - ldr r0, _0806BBE0 @ =gUnk_08113078 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, pc} - .align 2, 0 -_0806BBE0: .4byte gUnk_08113078 - - thumb_func_start sub_0806BBE4 -sub_0806BBE4: @ 0x0806BBE4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806BC40 - ldrb r0, [r4, #0xa] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _0806BC28 @ =gUnk_08113140 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806BC54 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xe] - movs r0, #1 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - blt _0806BC2C - movs r0, #6 - b _0806BC2E - .align 2, 0 -_0806BC28: .4byte gUnk_08113140 -_0806BC2C: - movs r0, #2 -_0806BC2E: - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x14] - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0806BC58 - adds r0, r4, #0 - bl sub_0807DD64 -_0806BC40: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 -_0806BC54: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806BC58 -sub_0806BC58: @ 0x0806BC58 - push {lr} - movs r1, #2 - bl sub_0805E3A0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806BC64 -sub_0806BC64: @ 0x0806BC64 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0x7f - ands r2, r0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - - thumb_func_start sub_0806BC94 -sub_0806BC94: @ 0x0806BC94 - push {lr} - ldrb r3, [r0, #0x18] - lsls r3, r3, #0x19 - lsrs r3, r3, #0x1f - rsbs r2, r3, #0 - orrs r2, r3 - asrs r2, r2, #0x1f - movs r3, #8 - ands r2, r3 - ldr r1, [r1, #4] - adds r1, r1, r2 - ldrb r2, [r0, #0x14] - lsrs r2, r2, #1 - adds r1, r1, r2 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806BCB8 -sub_0806BCB8: @ 0x0806BCB8 - ldrb r1, [r0, #0xe] - strb r1, [r0, #0x14] - bx lr - .align 2, 0 - - thumb_func_start sub_0806BCC0 -sub_0806BCC0: @ 0x0806BCC0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0 - bne _0806BCD0 - adds r0, r1, #0 - bl sub_0806F188 -_0806BCD0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806BCD4 -sub_0806BCD4: @ 0x0806BCD4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806BCE8 -sub_0806BCE8: @ 0x0806BCE8 - push {lr} - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - ldr r2, _0806BCF8 @ =gUnk_08113158 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806BCF8: .4byte gUnk_08113158 - - thumb_func_start sub_0806BCFC -sub_0806BCFC: @ 0x0806BCFC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806BD4C - ldrb r0, [r4, #0xa] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _0806BD48 @ =gUnk_08113140 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806BD52 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - movs r1, #0x41 - rsbs r1, r1, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0806BC58 - adds r0, r4, #0 - movs r1, #3 - bl sub_080042AC - b _0806BD52 - .align 2, 0 -_0806BD48: .4byte gUnk_08113140 -_0806BD4C: - adds r0, r4, #0 - bl sub_080042B8 -_0806BD52: - pop {r4, pc} - - thumb_func_start sub_0806BD54 -sub_0806BD54: @ 0x0806BD54 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806BD6A - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0807DD50 - b _0806BD72 -_0806BD6A: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 -_0806BD72: - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0806BD94 - movs r0, #0xef - ands r0, r1 - strb r0, [r4] - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 - movs r0, #0x10 - movs r1, #0 - bl sub_08080964 -_0806BD94: - ldrb r1, [r4] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0806BDAA - movs r0, #0xdf - ands r0, r1 - strb r0, [r4] - movs r0, #0x7c - bl sub_08004488 -_0806BDAA: - pop {r4, pc} - - thumb_func_start sub_0806BDAC -sub_0806BDAC: @ 0x0806BDAC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0806BDE6 - cmp r0, #1 - bgt _0806BDC0 - cmp r0, #0 - beq _0806BDC6 - b _0806BE3A -_0806BDC0: - cmp r0, #2 - beq _0806BE26 - b _0806BE3A -_0806BDC6: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 - b _0806BE3A -_0806BDE6: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806BE1C - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _0806BE18 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _0806BE3A - .align 2, 0 -_0806BE18: .4byte gUnk_03001160 -_0806BE1C: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _0806BE3A -_0806BE26: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806BE3A - movs r0, #1 - strb r0, [r4, #0xc] -_0806BE3A: - pop {r4, pc} - - thumb_func_start sub_0806BE3C -sub_0806BE3C: @ 0x0806BE3C - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806BE54 -sub_0806BE54: @ 0x0806BE54 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806BE7A - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #2 - bl sub_080042AC - b _0806BE80 -_0806BE7A: - adds r0, r2, #0 - bl sub_080042B8 -_0806BE80: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806BE84 -sub_0806BE84: @ 0x0806BE84 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - movs r0, #0 - str r0, [r4, #0x14] - movs r5, #1 - movs r0, #0x69 - bl sub_0807CBD0 - cmp r0, #0 - bne _0806BEA6 - movs r5, #0 - movs r0, #0x69 - bl sub_0807CCB4 - movs r0, #1 - str r0, [r4, #0x14] -_0806BEA6: - movs r0, #0x3c - bl sub_0807CA84 - cmp r0, #1 - bls _0806BEB2 - movs r5, #2 -_0806BEB2: - ldr r0, _0806BEC4 @ =gUnk_08113344 - lsls r1, r5, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r6, #0 - bl sub_08056398 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806BEC4: .4byte gUnk_08113344 - - thumb_func_start sub_0806BEC8 -sub_0806BEC8: @ 0x0806BEC8 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - movs r4, #0 - str r4, [r5, #0x14] - movs r0, #0x3c - bl sub_0807CA84 - cmp r0, #1 - bne _0806BEE2 - movs r4, #1 - str r4, [r5, #0x14] - b _0806BEE8 -_0806BEE2: - cmp r0, #1 - bls _0806BEE8 - movs r4, #2 -_0806BEE8: - ldr r0, _0806BEF8 @ =gUnk_0811334A - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r6, #0 - bl sub_08056398 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806BEF8: .4byte gUnk_0811334A - - thumb_func_start sub_0806BEFC -sub_0806BEFC: @ 0x0806BEFC - push {lr} - movs r0, #0xbf - lsls r0, r0, #1 - ldr r1, _0806BF2C @ =0x0000058E - movs r2, #1 - bl sub_0807B314 - ldr r0, _0806BF30 @ =0x0000017F - ldr r1, _0806BF34 @ =0x0000058F - movs r2, #1 - bl sub_0807B314 - movs r0, #0xc0 - lsls r0, r0, #1 - ldr r1, _0806BF38 @ =0x000005CE - movs r2, #1 - bl sub_0807B314 - ldr r0, _0806BF3C @ =0x00000181 - ldr r1, _0806BF40 @ =0x000005CF - movs r2, #1 - bl sub_0807B314 - pop {pc} - .align 2, 0 -_0806BF2C: .4byte 0x0000058E -_0806BF30: .4byte 0x0000017F -_0806BF34: .4byte 0x0000058F -_0806BF38: .4byte 0x000005CE -_0806BF3C: .4byte 0x00000181 -_0806BF40: .4byte 0x000005CF - - thumb_func_start sub_0806BF44 -sub_0806BF44: @ 0x0806BF44 - push {r4, r5, lr} - adds r2, r0, #0 - adds r4, r1, #0 - movs r0, #0 - str r0, [r4, #0x14] - movs r1, #0x2e - ldrsh r0, [r2, r1] - ldr r3, _0806BF78 @ =gUnk_03000BF0 - movs r5, #0xa - ldrsh r1, [r3, r5] - subs r0, r0, r1 - adds r0, #0x10 - ldr r1, _0806BF7C @ =0x0000010F - cmp r0, r1 - bhi _0806BF76 - movs r1, #0x32 - ldrsh r0, [r2, r1] - movs r2, #0xc - ldrsh r1, [r3, r2] - subs r0, r0, r1 - adds r0, #0x18 - cmp r0, #0xcf - bhi _0806BF76 - movs r0, #1 - str r0, [r4, #0x14] -_0806BF76: - pop {r4, r5, pc} - .align 2, 0 -_0806BF78: .4byte gUnk_03000BF0 -_0806BF7C: .4byte 0x0000010F - - thumb_func_start sub_0806BF80 -sub_0806BF80: @ 0x0806BF80 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0806BFBE - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806BFA2 - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 -_0806BFA2: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806BFD8 - b _0806BFD4 -_0806BFBE: - ldrb r0, [r4, #0xc] - adds r1, r0, #0 - cmp r1, #0 - bne _0806BFD4 - adds r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0x1e] - adds r0, r4, #0 - adds r1, r4, #0 - bl sub_0806FAD8 -_0806BFD4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806BFD8 -sub_0806BFD8: @ 0x0806BFD8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x5b - ldrb r0, [r0] - movs r5, #3 - adds r1, r5, #0 - ands r1, r0 - cmp r1, #1 - beq _0806BFF0 - cmp r1, #2 - beq _0806C002 - b _0806C00A -_0806BFF0: - bl sub_08000E50 - adds r1, r0, #0 - ands r1, r5 - adds r1, #0xc - adds r0, r4, #0 - bl sub_08004260 - b _0806C00A -_0806C002: - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0806C00A: - pop {r4, r5, pc} - - thumb_func_start sub_0806C00C -sub_0806C00C: @ 0x0806C00C - push {lr} - adds r2, r1, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _0806C022 - movs r0, #1 -_0806C022: - str r0, [r2, #0x14] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806C028 -sub_0806C028: @ 0x0806C028 - push {lr} - ldrb r2, [r0, #0x14] - lsrs r2, r2, #1 - ldr r1, [r1, #4] - adds r1, r1, r2 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_0806C038 -sub_0806C038: @ 0x0806C038 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0806C074 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r4, r0, #5 - cmp r4, #0 - beq _0806C048 - movs r4, #0 -_0806C048: - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0806C086 - movs r0, #0x3a - bl sub_0807CA84 - cmp r0, #0 - bne _0806C078 - movs r4, #6 - movs r0, #0xaf - bl sub_0807CBD0 - cmp r0, #0 - bne _0806C086 - movs r4, #5 - movs r0, #0xaf - bl sub_0807CCB4 - b _0806C086 - .align 2, 0 -_0806C074: .4byte gUnk_02002A40 -_0806C078: - movs r4, #7 - movs r0, #0x3a - bl sub_0807CA84 - cmp r0, #1 - bls _0806C086 - movs r4, #0 -_0806C086: - ldr r0, _0806C098 @ =gUnk_081133A4 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806C098: .4byte gUnk_081133A4 - - thumb_func_start sub_0806C09C -sub_0806C09C: @ 0x0806C09C - push {lr} - ldr r3, _0806C0AC @ =gUnk_081133B4 - movs r1, #1 - movs r2, #0 - bl sub_08078850 - pop {pc} - .align 2, 0 -_0806C0AC: .4byte gUnk_081133B4 - - thumb_func_start sub_0806C0B0 -sub_0806C0B0: @ 0x0806C0B0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r5, r0, #0 - cmp r5, #0 - bne _0806C104 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 - ldr r1, _0806C100 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xfd - lsls r0, r0, #6 - strh r0, [r2] - adds r1, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - strh r0, [r4, #0x24] - str r5, [r4, #0x20] - b _0806C134 - .align 2, 0 -_0806C100: .4byte gUnk_03000F50 -_0806C104: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - movs r1, #0x24 - ldrsh r0, [r4, r1] - lsls r3, r0, #8 - ldr r0, [r4, #0x20] - adds r3, r3, r0 - asrs r3, r3, #0x10 - cmp r3, #0x10 - ble _0806C11E - movs r3, #0x10 -_0806C11E: - cmp r3, #3 - bgt _0806C124 - movs r3, #4 -_0806C124: - ldr r2, _0806C138 @ =gUnk_03000F50 - lsls r1, r3, #8 - movs r0, #0x10 - subs r0, r0, r3 - orrs r1, r0 - adds r2, #0x68 - strh r1, [r2] - strh r1, [r4, #0x24] -_0806C134: - pop {r4, r5, pc} - .align 2, 0 -_0806C138: .4byte gUnk_03000F50 - - thumb_func_start sub_0806C13C -sub_0806C13C: @ 0x0806C13C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0806C182 - cmp r0, #1 - bgt _0806C150 - cmp r0, #0 - beq _0806C156 - b _0806C1D2 -_0806C150: - cmp r0, #2 - beq _0806C1BE - b _0806C1D2 -_0806C156: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - adds r0, r4, #0 - bl sub_0807DD50 - b _0806C1D2 -_0806C182: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806C1B4 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _0806C1B0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _0806C1D2 - .align 2, 0 -_0806C1B0: .4byte gUnk_03001160 -_0806C1B4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _0806C1D2 -_0806C1BE: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806C1D2 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x88 - bl sub_0807CCB4 -_0806C1D2: - pop {r4, pc} - - thumb_func_start sub_0806C1D4 -sub_0806C1D4: @ 0x0806C1D4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806C1FA - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #2 - bl sub_080042AC - b _0806C200 -_0806C1FA: - adds r0, r2, #0 - bl sub_080042B8 -_0806C200: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806C204 -sub_0806C204: @ 0x0806C204 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _0806C21A - adds r0, #1 - strb r0, [r1, #0xc] - adds r0, r1, #0 - bl sub_0807DD50 - b _0806C222 -_0806C21A: - adds r0, r1, #0 - movs r1, #0 - bl sub_0807DD94 -_0806C222: - pop {pc} - - thumb_func_start sub_0806C224 -sub_0806C224: @ 0x0806C224 - push {lr} - ldr r0, _0806C234 @ =gUnk_0813AD60 - bl sub_08080840 - ldr r1, _0806C238 @ =gUnk_030010A0 - movs r0, #6 - strb r0, [r1, #9] - pop {pc} - .align 2, 0 -_0806C234: .4byte gUnk_0813AD60 -_0806C238: .4byte gUnk_030010A0 - - thumb_func_start sub_0806C23C -sub_0806C23C: @ 0x0806C23C - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0xf - movs r2, #0x43 - movs r3, #0 - bl sub_080A2988 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0806C27C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r4, #0x38 - ldrb r2, [r4] - movs r0, #0x73 - bl sub_0807B314 - movs r0, #0x73 - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_0806C27C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0806C280 -sub_0806C280: @ 0x0806C280 - push {lr} - movs r0, #0x50 - bl sub_0807CD04 - ldr r0, _0806C298 @ =gUnk_0813AD74 - bl sub_08080840 - ldr r1, _0806C29C @ =gUnk_030010A0 - movs r0, #6 - strb r0, [r1, #9] - pop {pc} - .align 2, 0 -_0806C298: .4byte gUnk_0813AD74 -_0806C29C: .4byte gUnk_030010A0 - - thumb_func_start sub_0806C2A0 -sub_0806C2A0: @ 0x0806C2A0 - push {lr} - ldr r0, [r1, #4] - cmp r0, #0 - beq _0806C2AE - cmp r0, #1 - beq _0806C2B8 - b _0806C2C0 -_0806C2AE: - movs r0, #0xd - movs r1, #4 - bl sub_08050054 - b _0806C2C0 -_0806C2B8: - movs r0, #0xc - movs r1, #4 - bl sub_08050054 -_0806C2C0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806C2C4 -sub_0806C2C4: @ 0x0806C2C4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0806C2FA - cmp r0, #1 - bgt _0806C2D8 - cmp r0, #0 - beq _0806C2DE - b _0806C350 -_0806C2D8: - cmp r0, #2 - beq _0806C342 - b _0806C350 -_0806C2DE: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0807DD50 - b _0806C350 -_0806C2FA: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806C338 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - ldr r1, _0806C334 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r4, #0 - adds r1, #0x58 - ldrb r1, [r1] - movs r2, #4 - rsbs r2, r2, #0 - ands r1, r2 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0806F118 - b _0806C350 - .align 2, 0 -_0806C334: .4byte gUnk_03001160 -_0806C338: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _0806C350 -_0806C342: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806C350 - movs r0, #1 - strb r0, [r4, #0xc] -_0806C350: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806C354 -sub_0806C354: @ 0x0806C354 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806C36C -sub_0806C36C: @ 0x0806C36C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806C392 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #6 - bl sub_080042AC - b _0806C398 -_0806C392: - adds r0, r2, #0 - bl sub_080042B8 -_0806C398: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806C39C -sub_0806C39C: @ 0x0806C39C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #1 - beq _0806C3E2 - cmp r5, #1 - bgt _0806C3B0 - cmp r5, #0 - beq _0806C3B6 - b _0806C450 -_0806C3B0: - cmp r5, #2 - beq _0806C436 - b _0806C450 -_0806C3B6: - adds r0, r4, #0 - bl sub_0806C454 - cmp r0, #0 - beq _0806C450 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x69 - strb r5, [r0] - adds r0, r4, #0 - bl sub_0807DD50 - b _0806C450 -_0806C3E2: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806C420 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _0806C41C @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0806F118 - b _0806C450 - .align 2, 0 -_0806C41C: .4byte gUnk_03001160 -_0806C420: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - b _0806C450 -_0806C436: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806C450 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 -_0806C450: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806C454 -sub_0806C454: @ 0x0806C454 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806C470 @ =gUnk_08113754 - bl sub_0806FDEC - cmp r0, #0 - beq _0806C474 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - movs r0, #1 - b _0806C476 - .align 2, 0 -_0806C470: .4byte gUnk_08113754 -_0806C474: - movs r0, #0 -_0806C476: - pop {r4, pc} - - thumb_func_start sub_0806C478 -sub_0806C478: @ 0x0806C478 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0x7f - ands r2, r0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - - thumb_func_start sub_0806C4A8 -sub_0806C4A8: @ 0x0806C4A8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _0806C4D8 - adds r0, r4, #0 - bl sub_0806EDC4 - adds r1, r0, #0 - cmp r1, #0 - bge _0806C4CC - movs r1, #3 -_0806C4CC: - lsls r0, r1, #1 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_080042AC - movs r0, #1 -_0806C4D8: - str r0, [r5, #0x14] - pop {r4, r5, pc} - - thumb_func_start sub_0806C4DC -sub_0806C4DC: @ 0x0806C4DC - push {lr} - ldr r1, _0806C4F0 @ =gUnk_02002A40 - ldrb r1, [r1, #8] - lsls r1, r1, #3 - ldr r2, _0806C4F4 @ =gUnk_08113760 - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806C4F0: .4byte gUnk_02002A40 -_0806C4F4: .4byte gUnk_08113760 - - thumb_func_start sub_0806C4F8 -sub_0806C4F8: @ 0x0806C4F8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806C510 -sub_0806C510: @ 0x0806C510 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806C548 - adds r0, r4, #0 - bl sub_0806C454 - cmp r0, #0 - beq _0806C54E - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrh r0, [r4, #0x32] - subs r0, #4 - strh r0, [r4, #0x32] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _0806C54E -_0806C548: - adds r0, r4, #0 - bl sub_08004274 -_0806C54E: - pop {r4, pc} - - thumb_func_start sub_0806C550 -sub_0806C550: @ 0x0806C550 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806C56E - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 - b _0806C576 -_0806C56E: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 -_0806C576: - pop {r4, pc} - - thumb_func_start sub_0806C578 -sub_0806C578: @ 0x0806C578 - push {lr} - ldr r0, _0806C584 @ =gUnk_0813AD10 - bl sub_08080840 - pop {pc} - .align 2, 0 -_0806C584: .4byte gUnk_0813AD10 - - thumb_func_start sub_0806C588 -sub_0806C588: @ 0x0806C588 - push {lr} - ldr r0, _0806C594 @ =gUnk_0813AD24 - bl sub_08080840 - pop {pc} - .align 2, 0 -_0806C594: .4byte gUnk_0813AD24 - - thumb_func_start sub_0806C598 -sub_0806C598: @ 0x0806C598 - push {lr} - ldr r0, _0806C5A4 @ =gUnk_0813AD38 - bl sub_08080840 - pop {pc} - .align 2, 0 -_0806C5A4: .4byte gUnk_0813AD38 - - thumb_func_start sub_0806C5A8 -sub_0806C5A8: @ 0x0806C5A8 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xc] - cmp r4, #1 - beq _0806C604 - cmp r4, #1 - bgt _0806C5BC - cmp r4, #0 - beq _0806C5C2 - b _0806C670 -_0806C5BC: - cmp r4, #2 - beq _0806C656 - b _0806C670 -_0806C5C2: - ldrb r1, [r5, #0xa] - lsls r1, r1, #4 - ldr r0, _0806C600 @ =gUnk_08113910 - adds r1, r1, r0 - adds r0, r5, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806C670 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xe] - strb r0, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x69 - strb r4, [r0] - adds r0, r5, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r5, #0 - bl sub_0807DD50 - b _0806C670 - .align 2, 0 -_0806C600: .4byte gUnk_08113910 -_0806C604: - adds r2, r5, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806C64C - movs r0, #0 - strb r1, [r5, #0xc] - strb r0, [r2] - adds r4, r5, #0 - adds r4, #0x58 - ldrb r0, [r4] - adds r1, r5, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _0806C648 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - bl sub_0806F5A4 - ldrb r1, [r4] - movs r2, #4 - rsbs r2, r2, #0 - ands r1, r2 - adds r1, r1, r0 - adds r0, r5, #0 - bl sub_08004260 - adds r0, r5, #0 - bl sub_0806F118 - b _0806C670 - .align 2, 0 -_0806C648: .4byte gUnk_03001160 -_0806C64C: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DD94 - b _0806C670 -_0806C656: - adds r0, r5, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806C670 - movs r0, #1 - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r5, #0 - bl sub_08004260 -_0806C670: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806C674 -sub_0806C674: @ 0x0806C674 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806C68C -sub_0806C68C: @ 0x0806C68C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r2, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 - ldrb r6, [r4, #0x1e] - adds r0, r4, #0 - adds r0, #0x5b - ldrb r0, [r0] - movs r5, #0x3f - ands r5, r0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0806C6D2 - adds r2, #3 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - adds r2, r6, #0 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - b _0806C70A -_0806C6D2: - adds r2, #6 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - adds r2, r5, #3 - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #2 - adds r2, r6, #0 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #2 - movs r2, #1 - bl sub_0806FF88 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_0806FFD8 - adds r0, r4, #0 - bl sub_0807000C -_0806C70A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0806C70C -sub_0806C70C: @ 0x0806C70C - push {lr} - adds r3, r0, #0 - ldr r0, _0806C730 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _0806C71C - movs r0, #0 -_0806C71C: - ldrb r1, [r3, #0xa] - lsls r1, r1, #6 - lsls r0, r0, #3 - ldr r2, _0806C734 @ =gUnk_08113930 - adds r0, r0, r2 - adds r1, r1, r0 - adds r0, r3, #0 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806C730: .4byte gUnk_02002A40 -_0806C734: .4byte gUnk_08113930 - - thumb_func_start sub_0806C738 -sub_0806C738: @ 0x0806C738 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806C778 - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _0806C774 @ =gUnk_08113910 - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806C77E - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _0806C77E - .align 2, 0 -_0806C774: .4byte gUnk_08113910 -_0806C778: - adds r0, r4, #0 - bl sub_08004274 -_0806C77E: - pop {r4, pc} - - thumb_func_start sub_0806C780 -sub_0806C780: @ 0x0806C780 - push {lr} - ldr r2, _0806C794 @ =gUnk_08113A7C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0806C794: .4byte gUnk_08113A7C - - thumb_func_start sub_0806C798 -sub_0806C798: @ 0x0806C798 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _0806C7D0 @ =gUnk_08113A1C - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806C7CE - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_0807DD50 - adds r0, r4, #0 - bl sub_0806C7D4 -_0806C7CE: - pop {r4, pc} - .align 2, 0 -_0806C7D0: .4byte gUnk_08113A1C - - thumb_func_start sub_0806C7D4 -sub_0806C7D4: @ 0x0806C7D4 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #2 - bne _0806C7F4 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r2] - adds r0, r4, #0 - bl sub_0806F118 - b _0806C82C -_0806C7F4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - ldrb r0, [r4, #0xb] - cmp r0, #3 - bne _0806C82C - movs r0, #0x58 - bl sub_0807CC30 - cmp r0, #0 - bne _0806C82C - movs r0, #0x63 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806C82C - movs r0, #0 - bl sub_0807CC3C - cmp r0, #0 - beq _0806C82C - movs r0, #7 - strb r0, [r4, #0xb] - ldr r1, _0806C830 @ =gUnk_08014A80 - adds r0, r4, #0 - bl sub_0807DD80 -_0806C82C: - pop {r4, pc} - .align 2, 0 -_0806C830: .4byte gUnk_08014A80 - - thumb_func_start sub_0806C834 -sub_0806C834: @ 0x0806C834 - push {lr} - adds r2, r0, #0 - ldr r0, _0806C858 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0806C856 - ldrb r0, [r2, #0xc] - subs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x14] - lsrs r1, r1, #1 - adds r1, #4 - adds r0, r2, #0 - bl sub_08004260 -_0806C856: - pop {pc} - .align 2, 0 -_0806C858: .4byte gUnk_02000050 - - thumb_func_start sub_0806C85C -sub_0806C85C: @ 0x0806C85C - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806C86C - movs r0, #1 - strb r0, [r4, #0xc] -_0806C86C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806C870 -sub_0806C870: @ 0x0806C870 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806C888 -sub_0806C888: @ 0x0806C888 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r7, #0x3f - ands r7, r1 - ldrb r0, [r4, #0xa] - cmp r0, #4 - bne _0806C8D4 - adds r0, r4, #0 - movs r1, #0 - movs r2, #9 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - adds r2, r7, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #2 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_0806FFD8 - adds r0, r4, #0 - movs r1, #2 - movs r2, #1 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - b _0806C90A -_0806C8D4: - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0806C8E2 - movs r6, #1 - movs r5, #0 - b _0806C8E6 -_0806C8E2: - movs r6, #0 - movs r5, #1 -_0806C8E6: - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FF60 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C -_0806C90A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0806C90C -sub_0806C90C: @ 0x0806C90C - push {lr} - movs r2, #0 - str r2, [r1, #0x14] - ldr r3, _0806C924 @ =gUnk_08113A8C - ldrb r2, [r0, #0xb] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0806C924: .4byte gUnk_08113A8C - - thumb_func_start sub_0806C928 -sub_0806C928: @ 0x0806C928 - push {lr} - ldr r1, _0806C93C @ =gUnk_02002A40 - ldrb r1, [r1, #8] - lsls r1, r1, #3 - ldr r2, _0806C940 @ =gUnk_08113ABC - adds r1, r1, r2 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806C93C: .4byte gUnk_02002A40 -_0806C940: .4byte gUnk_08113ABC - - thumb_func_start sub_0806C944 -sub_0806C944: @ 0x0806C944 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x58 - bl sub_0807CC30 - cmp r0, #0 - bne _0806C956 - movs r1, #0 - b _0806C964 -_0806C956: - movs r0, #0x63 - bl sub_0807CBD0 - movs r1, #2 - cmp r0, #0 - beq _0806C964 - movs r1, #1 -_0806C964: - ldr r0, _0806C974 @ =gUnk_08113B0C - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, pc} - .align 2, 0 -_0806C974: .4byte gUnk_08113B0C - - thumb_func_start sub_0806C978 -sub_0806C978: @ 0x0806C978 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x58 - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - ldr r0, _0806C998 @ =gUnk_08113B12 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, pc} - .align 2, 0 -_0806C998: .4byte gUnk_08113B12 - - thumb_func_start sub_0806C99C -sub_0806C99C: @ 0x0806C99C - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x58 - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - asrs r4, r1, #0x1f - movs r0, #2 - ands r4, r0 - movs r0, #0x63 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806C9BC - adds r4, #1 -_0806C9BC: - ldr r0, _0806C9CC @ =gUnk_08113B16 - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806C9CC: .4byte gUnk_08113B16 - - thumb_func_start sub_0806C9D0 -sub_0806C9D0: @ 0x0806C9D0 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r0, #0x64 - bl sub_0807CBD0 - cmp r0, #0 - bne _0806C9E2 - movs r4, #1 -_0806C9E2: - ldr r0, _0806C9F4 @ =gUnk_08113B1E - lsls r1, r4, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r5, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806C9F4: .4byte gUnk_08113B1E - - thumb_func_start sub_0806C9F8 -sub_0806C9F8: @ 0x0806C9F8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x58 - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - ldr r0, _0806CA18 @ =gUnk_08113B22 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, pc} - .align 2, 0 -_0806CA18: .4byte gUnk_08113B22 - - thumb_func_start sub_0806CA1C -sub_0806CA1C: @ 0x0806CA1C - push {lr} - adds r1, r0, #0 - ldr r0, _0806CA28 @ =0x0000251B - bl sub_08056398 - pop {pc} - .align 2, 0 -_0806CA28: .4byte 0x0000251B - - thumb_func_start sub_0806CA2C -sub_0806CA2C: @ 0x0806CA2C - push {lr} - adds r1, r0, #0 - ldr r0, _0806CA38 @ =0x00002527 - bl sub_08056398 - pop {pc} - .align 2, 0 -_0806CA38: .4byte 0x00002527 - - thumb_func_start sub_0806CA3C -sub_0806CA3C: @ 0x0806CA3C - push {lr} - ldr r1, _0806CA48 @ =gUnk_08113B28 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806CA48: .4byte gUnk_08113B28 - - thumb_func_start sub_0806CA4C -sub_0806CA4C: @ 0x0806CA4C - push {lr} - ldr r1, _0806CA58 @ =gUnk_08113B30 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806CA58: .4byte gUnk_08113B30 - - thumb_func_start sub_0806CA5C -sub_0806CA5C: @ 0x0806CA5C - push {r4, lr} - adds r4, r1, #0 - ldr r3, _0806CA8C @ =gUnk_08113B38 - ldrb r1, [r4, #0x18] - adds r2, r1, #1 - strb r2, [r4, #0x18] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r1, r1, r3 - ldrb r1, [r1] - strh r1, [r4, #0x10] - ldrb r0, [r0, #0xb] - cmp r0, #0xa - bne _0806CA7E - movs r0, #0xe8 - bl sub_08004488 -_0806CA7E: - ldrh r0, [r4, #0x10] - cmp r0, #0 - beq _0806CA8A - ldr r1, _0806CA90 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0806CA8A: - pop {r4, pc} - .align 2, 0 -_0806CA8C: .4byte gUnk_08113B38 -_0806CA90: .4byte gUnk_02033280 - - thumb_func_start sub_0806CA94 -sub_0806CA94: @ 0x0806CA94 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806CAD4 - ldrb r1, [r4, #0xa] - lsls r1, r1, #4 - ldr r0, _0806CAD0 @ =gUnk_08113A1C - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806CADA - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _0806CADA - .align 2, 0 -_0806CAD0: .4byte gUnk_08113A1C -_0806CAD4: - adds r0, r4, #0 - bl sub_08004274 -_0806CADA: - pop {r4, pc} - - thumb_func_start sub_0806CADC -sub_0806CADC: @ 0x0806CADC - push {lr} - ldr r2, _0806CAF0 @ =gUnk_08113D8C - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0806CAF0: .4byte gUnk_08113D8C - - thumb_func_start sub_0806CAF4 -sub_0806CAF4: @ 0x0806CAF4 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _0806CB66 - adds r0, #1 - strb r0, [r5, #0xc] - adds r0, r5, #0 - movs r1, #2 - bl sub_0805E3A0 - movs r0, #0x4a - movs r1, #1 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806CB2C - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAD8 -_0806CB2C: - movs r0, #0x4a - movs r1, #2 - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806CB4E - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 -_0806CB4E: - adds r0, r5, #0 - bl sub_0807DD64 - adds r0, r5, #0 - bl sub_08078778 - ldr r3, _0806CB7C @ =gUnk_08113D84 - ldrb r2, [r3, #4] - adds r0, r5, #0 - movs r1, #1 - bl sub_08078850 -_0806CB66: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r5, #0 - bl sub_0807DDE4 - adds r0, r5, #0 - bl sub_08004274 - pop {r4, r5, pc} - .align 2, 0 -_0806CB7C: .4byte gUnk_08113D84 - - thumb_func_start sub_0806CB80 -sub_0806CB80: @ 0x0806CB80 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r1, r0, #0 - cmp r1, #0 - bne _0806CB9E - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #2 - strb r0, [r4, #0x14] - strb r1, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 -_0806CB9E: - ldr r0, [r4, #0x50] - cmp r0, #0 - beq _0806CBB0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #3 - ands r0, r1 - adds r0, #0x21 - strb r0, [r4, #0x1e] -_0806CBB0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806CBB4 -sub_0806CBB4: @ 0x0806CBB4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806CBD6 - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0x11 - bl sub_08004260 -_0806CBD6: - adds r0, r4, #0 - bl sub_08004274 - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _0806CC06 - ldrb r0, [r4, #0x18] - movs r3, #4 - rsbs r3, r3, #0 - adds r2, r3, #0 - ands r2, r0 - strb r2, [r4, #0x18] - adds r0, r1, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _0806CC06 - adds r0, r2, #0 - ands r0, r3 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_0806CC06: - pop {r4, pc} - - thumb_func_start sub_0806CC08 -sub_0806CC08: @ 0x0806CC08 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0806CC40 - cmp r0, #1 - bgt _0806CC1C - cmp r0, #0 - beq _0806CC22 - b _0806CCB0 -_0806CC1C: - cmp r0, #2 - beq _0806CC96 - b _0806CCB0 -_0806CC22: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD64 -_0806CC40: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806CC80 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _0806CC7C @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #8 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _0806CCB0 - .align 2, 0 -_0806CC7C: .4byte gUnk_03001160 -_0806CC80: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - b _0806CCB0 -_0806CC96: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806CCB0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC -_0806CCB0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806CCB4 -sub_0806CCB4: @ 0x0806CCB4 - push {lr} - adds r2, r1, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _0806CCCA - movs r0, #1 -_0806CCCA: - str r0, [r2, #0x14] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806CCD0 -sub_0806CCD0: @ 0x0806CCD0 - push {r4, lr} - adds r3, r0, #0 - adds r4, r1, #0 - adds r0, #0x5b - ldrb r0, [r0] - movs r2, #0x3f - ands r2, r0 - cmp r2, #0 - beq _0806CCF4 - ldrb r1, [r3, #0x14] - lsrs r1, r1, #1 - adds r1, r2, r1 - adds r0, r3, #0 - bl sub_08004260 - movs r0, #1 - str r0, [r4, #0x14] - b _0806CCF6 -_0806CCF4: - str r2, [r4, #0x14] -_0806CCF6: - pop {r4, pc} - - thumb_func_start sub_0806CCF8 -sub_0806CCF8: @ 0x0806CCF8 - push {lr} - movs r1, #0x85 - lsls r1, r1, #1 - bl sub_0801D2B4 - pop {pc} - - thumb_func_start sub_0806CD04 -sub_0806CD04: @ 0x0806CD04 - push {lr} - ldr r1, _0806CD10 @ =0x0000010B - bl sub_0801D2B4 - pop {pc} - .align 2, 0 -_0806CD10: .4byte 0x0000010B - - thumb_func_start sub_0806CD14 -sub_0806CD14: @ 0x0806CD14 - push {lr} - movs r1, #0x86 - lsls r1, r1, #1 - bl sub_0801D2B4 - pop {pc} - - thumb_func_start sub_0806CD20 -sub_0806CD20: @ 0x0806CD20 - push {lr} - ldr r1, _0806CD2C @ =0x0000010D - bl sub_0801D2B4 - pop {pc} - .align 2, 0 -_0806CD2C: .4byte 0x0000010D - - thumb_func_start sub_0806CD30 -sub_0806CD30: @ 0x0806CD30 - push {lr} - movs r1, #0x87 - lsls r1, r1, #1 - bl sub_0801D2B4 - pop {pc} - - thumb_func_start sub_0806CD3C -sub_0806CD3C: @ 0x0806CD3C - push {lr} - ldr r1, _0806CD48 @ =0x0000010F - bl sub_0801D2B4 - pop {pc} - .align 2, 0 -_0806CD48: .4byte 0x0000010F - - thumb_func_start sub_0806CD4C -sub_0806CD4C: @ 0x0806CD4C - push {lr} - movs r1, #0x88 - lsls r1, r1, #1 - bl sub_0801D2B4 - pop {pc} - - thumb_func_start sub_0806CD58 -sub_0806CD58: @ 0x0806CD58 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806CD70 -sub_0806CD70: @ 0x0806CD70 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806CD9E - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #6 - bl sub_080042AC - b _0806CDA4 -_0806CD9E: - adds r0, r4, #0 - bl sub_080042B8 -_0806CDA4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806CDA8 -sub_0806CDA8: @ 0x0806CDA8 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xc] - cmp r1, #1 - beq _0806CDE8 - cmp r1, #1 - bgt _0806CDBC - cmp r1, #0 - beq _0806CDC2 - b _0806CE58 -_0806CDBC: - cmp r1, #2 - beq _0806CE3E - b _0806CE58 -_0806CDC2: - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - strb r1, [r0] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 - b _0806CE58 -_0806CDE8: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806CE28 - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _0806CE24 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0806F118 - b _0806CE58 - .align 2, 0 -_0806CE24: .4byte gUnk_03001160 -_0806CE28: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - b _0806CE58 -_0806CE3E: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806CE58 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC -_0806CE58: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806CE5C -sub_0806CE5C: @ 0x0806CE5C - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08078784 - ldr r3, _0806CE7C @ =gUnk_08113F44 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_08078850 - pop {r4, pc} - .align 2, 0 -_0806CE7C: .4byte gUnk_08113F44 - - thumb_func_start sub_0806CE80 -sub_0806CE80: @ 0x0806CE80 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0806CEB4 @ =gUnk_02002A40 - ldrb r4, [r0, #8] - cmp r4, #5 - bne _0806CED6 - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - bne _0806CEC0 - movs r0, #0x70 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806CEBC - movs r0, #0x71 - bl sub_0807CBD0 - cmp r0, #0 - bne _0806CEB8 - movs r4, #0xb - movs r0, #0x71 - bl sub_0807CCB4 - b _0806CED6 - .align 2, 0 -_0806CEB4: .4byte gUnk_02002A40 -_0806CEB8: - movs r4, #0xc - b _0806CED6 -_0806CEBC: - movs r4, #0xa - b _0806CED6 -_0806CEC0: - movs r0, #0x89 - bl sub_0807CBD0 - cmp r0, #0 - bne _0806CED4 - movs r4, #0xd - movs r0, #0x89 - bl sub_0807CCB4 - b _0806CED6 -_0806CED4: - movs r4, #0xe -_0806CED6: - lsls r1, r4, #3 - ldr r0, _0806CEE4 @ =gUnk_08113F48 - adds r1, r1, r0 - adds r0, r5, #0 - bl sub_0806F1AC - pop {r4, r5, pc} - .align 2, 0 -_0806CEE4: .4byte gUnk_08113F48 - - thumb_func_start sub_0806CEE8 -sub_0806CEE8: @ 0x0806CEE8 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806CF0E - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #8 - bl sub_080042AC - b _0806CF14 -_0806CF0E: - adds r0, r2, #0 - bl sub_080042B8 -_0806CF14: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806CF18 -sub_0806CF18: @ 0x0806CF18 - push {lr} - ldr r2, _0806CF2C @ =gUnk_081140D4 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0806CF2C: .4byte gUnk_081140D4 - - thumb_func_start sub_0806CF30 -sub_0806CF30: @ 0x0806CF30 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _0806CF5E - movs r0, #1 - strb r0, [r5, #0xc] - strb r0, [r5, #0xd] - ldrh r1, [r5, #0x2e] - adds r0, r5, #0 - adds r0, #0x68 - strh r1, [r0] - adds r0, r5, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r5, #0 - bl sub_0806D0B0 - adds r0, r5, #0 - bl sub_0807DD64 - b _0806CF6C -_0806CF5E: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r5, #0 - bl sub_0807DDE4 -_0806CF6C: - ldrb r0, [r5, #0xd] - cmp r0, #2 - beq _0806CFD4 - cmp r0, #2 - bgt _0806D000 - cmp r0, #0 - blt _0806D000 - ldr r0, _0806CFCC @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0806D000 - ldr r0, _0806CFD0 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r2, [r0, r1] - ldrh r3, [r5, #0x2e] - movs r4, #0x2e - ldrsh r1, [r5, r4] - adds r4, r0, #0 - cmp r2, r1 - bge _0806CFA8 - adds r0, r5, #0 - adds r0, #0x68 - ldrh r0, [r0] - subs r0, #0x20 - cmp r0, r1 - bge _0806CFA8 - subs r0, r3, #1 - strh r0, [r5, #0x2e] -_0806CFA8: - movs r3, #0x2e - ldrsh r1, [r4, r3] - ldrh r2, [r5, #0x2e] - movs r4, #0x2e - ldrsh r0, [r5, r4] - cmp r1, r0 - ble _0806D000 - adds r0, r5, #0 - adds r0, #0x68 - ldrh r0, [r0] - adds r0, #0x20 - movs r3, #0x2e - ldrsh r1, [r5, r3] - cmp r0, r1 - ble _0806D000 - adds r0, r2, #1 - strh r0, [r5, #0x2e] - b _0806D000 - .align 2, 0 -_0806CFCC: .4byte gUnk_030010A0 -_0806CFD0: .4byte gUnk_03001160 -_0806CFD4: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806D000 - bl sub_08000E50 - adds r4, r0, #0 - ldr r1, _0806D008 @ =gUnk_081140CC - movs r0, #3 - ands r0, r4 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - bl sub_080A3268 - movs r0, #7 - ands r4, r0 - lsls r4, r4, #4 - adds r4, #0x80 - strb r4, [r5, #0xe] -_0806D000: - adds r0, r5, #0 - bl sub_0806D02C - pop {r4, r5, pc} - .align 2, 0 -_0806D008: .4byte gUnk_081140CC - - thumb_func_start sub_0806D00C -sub_0806D00C: @ 0x0806D00C - push {r4, lr} - sub sp, #4 - adds r4, r0, #0 - movs r0, #0 - str r0, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #0 - bl sub_0805EB2C - cmp r0, #0 - beq _0806D028 - str r0, [r4, #0x50] -_0806D028: - add sp, #4 - pop {r4, pc} - - thumb_func_start sub_0806D02C -sub_0806D02C: @ 0x0806D02C - push {lr} - bl sub_0806D164 - ldr r2, _0806D0A8 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - adds r1, r2, #0 - adds r1, #0x60 - ldr r0, _0806D0AC @ =0x00003F3F - strh r0, [r1] - adds r1, #2 - movs r0, #0x3d - strh r0, [r1] - movs r1, #0x16 - ldrsh r0, [r2, r1] - rsbs r0, r0, #0 - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r0, r3 - cmp r0, #0 - bge _0806D060 - movs r0, #0 -_0806D060: - cmp r0, #0xf0 - ble _0806D066 - movs r0, #0xf0 -_0806D066: - cmp r1, #0 - bge _0806D06C - movs r1, #0 -_0806D06C: - cmp r1, #0xf0 - ble _0806D072 - movs r1, #0xf0 -_0806D072: - lsls r0, r0, #8 - orrs r0, r1 - adds r1, r2, #0 - adds r1, #0x5a - strh r0, [r1] - movs r1, #0x18 - ldrsh r0, [r2, r1] - rsbs r0, r0, #0 - adds r1, r0, r3 - cmp r0, #0 - bge _0806D08A - movs r0, #0 -_0806D08A: - cmp r0, #0xa0 - ble _0806D090 - movs r0, #0xa0 -_0806D090: - cmp r1, #0 - bge _0806D096 - movs r1, #0 -_0806D096: - cmp r1, #0xa0 - ble _0806D09C - movs r1, #0xa0 -_0806D09C: - lsls r0, r0, #8 - orrs r0, r1 - adds r1, r2, #0 - adds r1, #0x5e - strh r0, [r1] - pop {pc} - .align 2, 0 -_0806D0A8: .4byte gUnk_03000F50 -_0806D0AC: .4byte 0x00003F3F - - thumb_func_start sub_0806D0B0 -sub_0806D0B0: @ 0x0806D0B0 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _0806D0E8 @ =gUnk_0200B650 - movs r1, #0 - str r1, [r0] - movs r0, #0x30 - bl sub_0801D7EC - bl sub_0806D110 - ldr r5, _0806D0EC @ =gUnk_02002F00 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r5, #0 - bl sub_0801D630 - cmp r4, #0 - beq _0806D0DA - adds r0, r4, #0 - bl sub_0806D164 -_0806D0DA: - ldr r0, _0806D0F0 @ =gUnk_03000F50 - ldr r1, _0806D0F4 @ =0x00001D47 - strh r1, [r0, #0x14] - str r5, [r0, #0x1c] - movs r1, #1 - strh r1, [r0, #0x1a] - pop {r4, r5, pc} - .align 2, 0 -_0806D0E8: .4byte gUnk_0200B650 -_0806D0EC: .4byte gUnk_02002F00 -_0806D0F0: .4byte gUnk_03000F50 -_0806D0F4: .4byte 0x00001D47 - - thumb_func_start sub_0806D0F8 -sub_0806D0F8: @ 0x0806D0F8 - push {lr} - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - bl sub_0805EB00 - cmp r0, #0 - beq _0806D10C - bl sub_0806D0B0 -_0806D10C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806D110 -sub_0806D110: @ 0x0806D110 - push {r4, r5, lr} - ldr r4, _0806D134 @ =gUnk_02002F00 - movs r0, #0x80 - lsls r0, r0, #7 - adds r5, r4, r0 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806D138 - movs r0, #0x80 - lsls r0, r0, #4 - adds r4, r4, r0 - adds r5, #0x40 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806D138 - pop {r4, r5, pc} - .align 2, 0 -_0806D134: .4byte gUnk_02002F00 - - thumb_func_start sub_0806D138 -sub_0806D138: @ 0x0806D138 - push {r4, r5, r6, lr} - adds r3, r0, #0 - movs r4, #0 - ldr r2, _0806D15C @ =0x040000D4 - ldr r6, _0806D160 @ =0x80000020 - movs r5, #0x80 - lsls r5, r5, #1 -_0806D146: - str r3, [r2] - str r1, [r2, #4] - str r6, [r2, #8] - ldr r0, [r2, #8] - adds r4, #1 - adds r3, #0x40 - adds r1, r1, r5 - cmp r4, #0x1f - bls _0806D146 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806D15C: .4byte 0x040000D4 -_0806D160: .4byte 0x80000020 - - thumb_func_start sub_0806D164 -sub_0806D164: @ 0x0806D164 - push {r4, r5, r6, r7, lr} - ldr r5, _0806D1B8 @ =gUnk_03000BF0 - movs r1, #0xa - ldrsh r2, [r5, r1] - movs r3, #0x2e - ldrsh r1, [r0, r3] - subs r2, r2, r1 - adds r2, #0xa0 - ldr r4, _0806D1BC @ =gUnk_03000F50 - movs r3, #0xf - adds r1, r2, #0 - ands r1, r3 - strh r1, [r4, #0x16] - ldrh r1, [r5, #0xc] - ldrh r0, [r0, #0x32] - subs r1, r1, r0 - adds r1, #0xb0 - strh r1, [r4, #0x18] - ldr r3, _0806D1C0 @ =gUnk_02006F00 - ldr r0, _0806D1C4 @ =0xFFFFC000 - adds r6, r3, r0 - movs r5, #0x20 - lsrs r2, r2, #4 - lsls r2, r2, #2 - adds r3, r2, r3 - adds r7, r4, #0 - ldr r1, _0806D1C8 @ =0x040000D4 - ldr r4, _0806D1CC @ =0x80000020 - movs r2, #0x80 - lsls r2, r2, #1 -_0806D1A0: - str r3, [r1] - str r6, [r1, #4] - str r4, [r1, #8] - ldr r0, [r1, #8] - adds r3, r3, r2 - adds r6, #0x40 - subs r5, #1 - cmp r5, #0 - bne _0806D1A0 - movs r0, #1 - strh r0, [r7, #0x1a] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806D1B8: .4byte gUnk_03000BF0 -_0806D1BC: .4byte gUnk_03000F50 -_0806D1C0: .4byte gUnk_02006F00 -_0806D1C4: .4byte 0xFFFFC000 -_0806D1C8: .4byte 0x040000D4 -_0806D1CC: .4byte 0x80000020 - - thumb_func_start sub_0806D1D0 -sub_0806D1D0: @ 0x0806D1D0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #0 - bne _0806D21A - bl sub_0806D00C - cmp r0, #0 - bne _0806D1E6 - bl sub_0805E780 -_0806D1E6: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r5, [r4, #0x1e] - movs r0, #0x1e - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 -_0806D21A: - ldrb r0, [r4, #0xd] - cmp r0, #1 - beq _0806D25A - cmp r0, #1 - ble _0806D228 - cmp r0, #2 - beq _0806D25E -_0806D228: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r5, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806D24A - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x30 - strb r0, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - movs r0, #1 - strb r0, [r4, #0x1e] -_0806D24A: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0806D268 - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _0806D268 -_0806D25A: - strb r0, [r4, #0x1e] - b _0806D268 -_0806D25E: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_0806D268: - ldr r0, [r4, #0x50] - ldrh r1, [r0, #0x2e] - strh r1, [r4, #0x2e] - ldrh r0, [r0, #0x32] - strh r0, [r4, #0x32] - pop {r4, r5, pc} - - thumb_func_start sub_0806D274 -sub_0806D274: @ 0x0806D274 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806D2CA - adds r0, r4, #0 - bl sub_0806D00C - cmp r0, #0 - bne _0806D28C - bl sub_0805E780 -_0806D28C: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - movs r0, #2 - strb r0, [r4, #0x1e] - movs r0, #8 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - movs r0, #0x4c - movs r1, #3 - movs r2, #0 - bl sub_0806ED50 - cmp r0, #0 - beq _0806D2CA - str r4, [r0, #0x54] -_0806D2CA: - ldrb r0, [r4, #0xd] - cmp r0, #4 - bhi _0806D2F4 - lsls r0, r0, #2 - ldr r1, _0806D2DC @ =_0806D2E0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806D2DC: .4byte _0806D2E0 -_0806D2E0: @ jump table - .4byte _0806D2F4 @ case 0 - .4byte _0806D2F4 @ case 1 - .4byte _0806D31C @ case 2 - .4byte _0806D334 @ case 3 - .4byte _0806D338 @ case 4 -_0806D2F4: - ldr r0, _0806D318 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _0806D338 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806D33C - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x1e] - movs r1, #1 - eors r0, r1 - b _0806D33A - .align 2, 0 -_0806D318: .4byte gUnk_02000050 -_0806D31C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806D33C - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x1e] - movs r1, #1 - eors r0, r1 - b _0806D33A -_0806D334: - movs r0, #4 - b _0806D33A -_0806D338: - movs r0, #2 -_0806D33A: - strb r0, [r4, #0x1e] -_0806D33C: - ldr r0, [r4, #0x50] - ldrh r1, [r0, #0x2e] - strh r1, [r4, #0x2e] - ldrh r0, [r0, #0x32] - strh r0, [r4, #0x32] - pop {r4, pc} - - thumb_func_start sub_0806D348 -sub_0806D348: @ 0x0806D348 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806D39A - adds r0, r4, #0 - bl sub_0806D00C - cmp r0, #0 - bne _0806D360 - bl sub_0805E780 -_0806D360: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #5 - strb r0, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 -_0806D39A: - ldr r0, [r4, #0x54] - ldrb r0, [r0, #0x1e] - cmp r0, #4 - bne _0806D3AA - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - b _0806D3B2 -_0806D3AA: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 -_0806D3B2: - strb r0, [r4, #0x18] - ldr r0, [r4, #0x50] - ldrh r1, [r0, #0x2e] - strh r1, [r4, #0x2e] - ldrh r0, [r0, #0x32] - strh r0, [r4, #0x32] - pop {r4, pc} - - thumb_func_start sub_0806D3C0 -sub_0806D3C0: @ 0x0806D3C0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806D3F4 - adds r0, r4, #0 - bl sub_0806D00C - cmp r0, #0 - bne _0806D3D8 - bl sub_0805E780 -_0806D3D8: - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0806D3F0 @ =gUnk_080FD180 - str r0, [r4, #0x48] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD64 - b _0806D408 - .align 2, 0 -_0806D3F0: .4byte gUnk_080FD180 -_0806D3F4: - ldr r0, [r4, #0x50] - ldrh r0, [r0, #0x2e] - strh r0, [r4, #0x2e] - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 -_0806D408: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806D40C -sub_0806D40C: @ 0x0806D40C - push {lr} - ldrb r1, [r0, #0x18] - movs r2, #0x40 - orrs r1, r2 - strb r1, [r0, #0x18] - bl sub_0806D41C - pop {pc} - - thumb_func_start sub_0806D41C -sub_0806D41C: @ 0x0806D41C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806D45E - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #6 - strb r0, [r4, #0x1e] - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806D4C0 - adds r0, r4, #0 - movs r1, #1 - bl sub_0806D4C0 - adds r0, r4, #0 - movs r1, #2 - bl sub_0806D4C0 - adds r0, r4, #0 - movs r1, #3 - bl sub_0806D4C0 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - b _0806D46C -_0806D45E: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 -_0806D46C: - ldr r0, _0806D4A8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0806D4BE - movs r1, #0x2e - ldrsh r0, [r4, r1] - subs r0, #0x20 - movs r2, #0x32 - ldrsh r1, [r4, r2] - movs r2, #0x40 - movs r3, #0x40 - bl sub_0806FBFC - cmp r0, #0 - beq _0806D4AC - adds r2, r4, #0 - adds r2, #0x63 - ldrb r3, [r2] - movs r1, #0 - ldrsb r1, [r2, r1] - movs r0, #8 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0806D4BE - subs r0, r3, #1 - strb r0, [r2] - b _0806D4BE - .align 2, 0 -_0806D4A8: .4byte gUnk_030010A0 -_0806D4AC: - adds r1, r4, #0 - adds r1, #0x63 - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bge _0806D4BE - adds r0, r2, #1 - strb r0, [r1] -_0806D4BE: - pop {r4, pc} - - thumb_func_start sub_0806D4C0 -sub_0806D4C0: @ 0x0806D4C0 - push {r4, r5, lr} - adds r5, r0, #0 - adds r1, #6 - movs r0, #0x4c - movs r2, #0 - bl sub_0806ED50 - adds r4, r0, #0 - cmp r4, #0 - beq _0806D4EE - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 -_0806D4EE: - pop {r4, r5, pc} - - thumb_func_start sub_0806D4F0 -sub_0806D4F0: @ 0x0806D4F0 - push {lr} - movs r1, #0 - bl sub_0806D520 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806D4FC -sub_0806D4FC: @ 0x0806D4FC - push {lr} - movs r1, #1 - bl sub_0806D520 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806D508 -sub_0806D508: @ 0x0806D508 - push {lr} - movs r1, #2 - bl sub_0806D520 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806D514 -sub_0806D514: @ 0x0806D514 - push {lr} - movs r1, #3 - bl sub_0806D520 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806D520 -sub_0806D520: @ 0x0806D520 - push {r4, lr} - adds r4, r0, #0 - adds r3, r1, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806D540 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0806D5B0 @ =gUnk_08114100 - adds r0, r3, r0 - ldrb r0, [r0] - adds r0, #6 - strb r0, [r4, #0xf] - strb r0, [r4, #0x1e] - movs r0, #8 - strb r0, [r4, #0xe] -_0806D540: - ldr r0, [r4, #0x50] - ldrh r1, [r0, #0x2e] - strh r1, [r4, #0x2e] - ldrh r1, [r0, #0x32] - strh r1, [r4, #0x32] - adds r0, #0x62 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - ldr r0, [r4, #0x50] - adds r0, #0x63 - ldrb r0, [r0] - adds r1, #1 - strb r0, [r1] - ldr r0, [r4, #0x50] - ldrb r1, [r0, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x1b] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0806D590 - movs r1, #0x2e - ldrsh r0, [r4, r1] - lsls r1, r3, #4 - subs r0, r0, r1 - adds r0, #0xc - movs r2, #0x32 - ldrsh r1, [r4, r2] - movs r2, #0x18 - movs r3, #0x40 - bl sub_0806FBFC - cmp r0, #0 - beq _0806D5B4 -_0806D590: - ldrb r1, [r4, #0x1e] - ldrb r0, [r4, #0xf] - adds r0, #2 - cmp r1, r0 - bge _0806D5D0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806D5D0 - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x1e] - adds r0, #1 - b _0806D5CE - .align 2, 0 -_0806D5B0: .4byte gUnk_08114100 -_0806D5B4: - ldrb r1, [r4, #0x1e] - ldrb r0, [r4, #0xf] - cmp r1, r0 - bls _0806D5D0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806D5D0 - movs r0, #8 - strb r0, [r4, #0xe] - subs r0, r1, #1 -_0806D5CE: - strb r0, [r4, #0x1e] -_0806D5D0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806D5D4 -sub_0806D5D4: @ 0x0806D5D4 - push {lr} - bl sub_08053500 - movs r0, #0xd - bl sub_0805436C - adds r1, r0, #0 - cmp r1, #2 - beq _0806D5F0 - ldr r0, _0806D5FC @ =gUnk_02002A40 - adds r0, #0xb4 - adds r0, r1, r0 - movs r1, #0 - strb r1, [r0] -_0806D5F0: - movs r0, #0xd - movs r1, #0 - bl sub_0807CAA0 - pop {pc} - .align 2, 0 -_0806D5FC: .4byte gUnk_02002A40 - - thumb_func_start sub_0806D600 -sub_0806D600: @ 0x0806D600 - push {lr} - movs r2, #0 - ldr r0, _0806D618 @ =gUnk_02002A40 - ldr r3, _0806D61C @ =0x00000494 - adds r0, r0, r3 - ldr r0, [r0] - cmp r0, #0 - bne _0806D612 - movs r2, #1 -_0806D612: - str r2, [r1, #0x14] - pop {pc} - .align 2, 0 -_0806D618: .4byte gUnk_02002A40 -_0806D61C: .4byte 0x00000494 - - thumb_func_start sub_0806D620 -sub_0806D620: @ 0x0806D620 - push {lr} - movs r0, #0xd - movs r1, #0 - bl sub_0807CAA0 - movs r0, #0xe - movs r1, #0 - movs r2, #0 - bl sub_080A7C18 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806D638 -sub_0806D638: @ 0x0806D638 - ldrh r1, [r0, #0x32] - subs r1, #0x20 - strh r1, [r0, #0x32] - bx lr - - thumb_func_start sub_0806D640 -sub_0806D640: @ 0x0806D640 - ldrh r1, [r0, #0x32] - adds r1, #0x20 - movs r2, #0 - strh r1, [r0, #0x32] - adds r0, #0x39 - strb r2, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_0806D650 -sub_0806D650: @ 0x0806D650 - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_0806D658 -sub_0806D658: @ 0x0806D658 - ldr r1, [r1, #4] - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_0806D660 -sub_0806D660: @ 0x0806D660 - ldrb r1, [r0, #0x1b] - movs r2, #0xc0 - orrs r1, r2 - strb r1, [r0, #0x1b] - bx lr - .align 2, 0 - - thumb_func_start sub_0806D66C -sub_0806D66C: @ 0x0806D66C - ldrb r2, [r0, #0x1b] - movs r1, #0x3f - ands r1, r2 - movs r2, #0x80 - orrs r1, r2 - strb r1, [r0, #0x1b] - bx lr - .align 2, 0 - - thumb_func_start sub_0806D67C -sub_0806D67C: @ 0x0806D67C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r4, _0806D6CC @ =gUnk_08114104 - movs r0, #0 - ldrsb r0, [r4, r0] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - beq _0806D6CA - adds r6, r1, #0 -_0806D690: - movs r1, #0 - ldrsb r1, [r4, r1] - adds r0, r5, #0 - movs r2, #0x40 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0806D6C0 - movs r0, #1 - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0x2e] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - movs r0, #2 - ldrsb r0, [r4, r0] - ldrh r2, [r1, #0x32] - adds r0, r0, r2 - strh r0, [r1, #0x32] - ldrb r0, [r4, #3] - strb r0, [r1, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1, #0x24] -_0806D6C0: - adds r4, #4 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, r6 - bne _0806D690 -_0806D6CA: - pop {r4, r5, r6, pc} - .align 2, 0 -_0806D6CC: .4byte gUnk_08114104 - - thumb_func_start sub_0806D6D0 -sub_0806D6D0: @ 0x0806D6D0 - push {r4, lr} - sub sp, #4 - movs r4, #0 - str r4, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #2 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _0806D6EE - movs r0, #2 - strb r0, [r1, #0xd] -_0806D6EE: - str r4, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #1 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _0806D706 - movs r0, #1 - strb r0, [r1, #0xd] -_0806D706: - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806D70C -sub_0806D70C: @ 0x0806D70C - push {r4, lr} - sub sp, #4 - movs r4, #0 - str r4, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #2 - bl sub_0805EB2C - adds r2, r0, #0 - cmp r2, #0 - beq _0806D728 - strb r4, [r2, #0xd] -_0806D728: - str r4, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #1 - bl sub_0805EB2C - adds r2, r0, #0 - cmp r2, #0 - beq _0806D746 - strb r4, [r2, #0xd] - ldrb r0, [r2, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r2, #0x18] -_0806D746: - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806D74C -sub_0806D74C: @ 0x0806D74C - push {r4, lr} - sub sp, #4 - movs r4, #0 - str r4, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #2 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _0806D76A - movs r0, #3 - strb r0, [r1, #0xd] -_0806D76A: - str r4, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #1 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _0806D782 - movs r0, #2 - strb r0, [r1, #0xd] -_0806D782: - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806D788 -sub_0806D788: @ 0x0806D788 - push {r4, lr} - sub sp, #4 - movs r4, #0 - str r4, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #2 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _0806D7A6 - movs r0, #4 - strb r0, [r1, #0xd] -_0806D7A6: - str r4, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #1 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _0806D7BE - movs r0, #1 - strb r0, [r1, #0xd] -_0806D7BE: - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806D7C4 -sub_0806D7C4: @ 0x0806D7C4 - push {r4, r5, lr} - sub sp, #4 - adds r4, r0, #0 - adds r5, r1, #0 - ldr r1, _0806D800 @ =gUnk_03001160 - ldrh r0, [r1, #0x2e] - movs r2, #0 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - subs r0, #0x18 - strh r0, [r4, #0x32] - str r2, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #2 - bl sub_0805EB2C - cmp r0, #0 - beq _0806D7FC - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r1, #0x32 - ldrsh r3, [r0, r1] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807DEDC -_0806D7FC: - add sp, #4 - pop {r4, r5, pc} - .align 2, 0 -_0806D800: .4byte gUnk_03001160 - - thumb_func_start sub_0806D804 -sub_0806D804: @ 0x0806D804 - push {r4, r5, lr} - sub sp, #4 - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #0 - str r0, [sp] - movs r0, #7 - movs r1, #0x4c - movs r2, #7 - movs r3, #2 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _0806D83A - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - subs r0, #0x10 - strh r0, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] -_0806D83A: - ldr r0, _0806D854 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r1, #0x32 - ldrsh r3, [r0, r1] - subs r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807DEDC - add sp, #4 - pop {r4, r5, pc} - .align 2, 0 -_0806D854: .4byte gUnk_03001160 - - thumb_func_start sub_0806D858 -sub_0806D858: @ 0x0806D858 - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #8 - orrs r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_0806D86C -sub_0806D86C: @ 0x0806D86C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806D888 - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 -_0806D888: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806D8A0 -sub_0806D8A0: @ 0x0806D8A0 - push {r4, r5, lr} - adds r4, r0, #0 - adds r3, r1, #0 - movs r2, #0 - movs r0, #8 - strb r0, [r3, #0x19] - ldr r0, [r3, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r3, #8] - str r2, [r3, #0x14] - movs r2, #0x10 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - bge _0806D8C2 - rsbs r2, r2, #0 -_0806D8C2: - ldr r1, _0806D900 @ =gUnk_03001160 - movs r5, #0x2e - ldrsh r0, [r1, r5] - adds r2, r2, r0 - movs r0, #0x32 - ldrsh r1, [r1, r0] - adds r1, #2 - strh r2, [r3, #0x1e] - strh r1, [r3, #0x22] - movs r3, #0x2e - ldrsh r0, [r4, r3] - subs r2, r2, r0 - movs r5, #0x32 - ldrsh r0, [r4, r5] - subs r1, r1, r0 - adds r0, r2, #0 - bl sub_080045DA - strb r0, [r4, #0x15] - ldrb r2, [r4, #0x14] - movs r1, #0x80 - ands r1, r2 - ldr r2, _0806D904 @ =gUnk_08114134 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1c - adds r0, r0, r2 - ldrb r0, [r0] - orrs r1, r0 - strb r1, [r4, #0x14] - pop {r4, r5, pc} - .align 2, 0 -_0806D900: .4byte gUnk_03001160 -_0806D904: .4byte gUnk_08114134 - - thumb_func_start sub_0806D908 -sub_0806D908: @ 0x0806D908 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldr r3, _0806D93C @ =gUnk_03001160 - movs r5, #0x2e - ldrsh r2, [r3, r5] - movs r5, #0x32 - ldrsh r3, [r3, r5] - bl sub_080045D4 - strb r0, [r4, #0x15] - ldrb r2, [r4, #0x14] - movs r1, #0x80 - ands r1, r2 - ldr r2, _0806D940 @ =gUnk_08114144 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x19 - adds r0, r0, r2 - ldrb r0, [r0] - orrs r1, r0 - strb r1, [r4, #0x14] - pop {r4, r5, pc} - .align 2, 0 -_0806D93C: .4byte gUnk_03001160 -_0806D940: .4byte gUnk_08114144 - - thumb_func_start sub_0806D944 -sub_0806D944: @ 0x0806D944 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0x18] - movs r3, #0x41 - rsbs r3, r3, #0 - ands r3, r0 - strb r3, [r2, #0x18] - ldr r0, _0806D968 @ =gUnk_03001160 - ldr r1, [r2, #0x2c] - ldr r0, [r0, #0x2c] - cmp r1, r0 - bgt _0806D964 - movs r1, #0x40 - adds r0, r3, #0 - orrs r0, r1 - strb r0, [r2, #0x18] -_0806D964: - pop {pc} - .align 2, 0 -_0806D968: .4byte gUnk_03001160 - - thumb_func_start sub_0806D96C -sub_0806D96C: @ 0x0806D96C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x42 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0806D99C - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r3] - ldr r3, _0806D9A0 @ =0xFFE80000 - adds r0, r4, #0 - adds r1, r2, #0 - movs r2, #0 - bl sub_0806FA48 -_0806D99C: - pop {r4, pc} - .align 2, 0 -_0806D9A0: .4byte 0xFFE80000 - - thumb_func_start sub_0806D9A4 -sub_0806D9A4: @ 0x0806D9A4 - push {lr} - ldr r1, _0806D9BC @ =gUnk_03001160 - ldr r2, [r0, #0x2c] - ldr r0, [r1, #0x2c] - adds r3, r1, #0 - cmp r2, r0 - bgt _0806D9C0 - ldrb r1, [r3, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _0806D9C6 - .align 2, 0 -_0806D9BC: .4byte gUnk_03001160 -_0806D9C0: - ldrb r0, [r3, #0x18] - movs r1, #0x40 - orrs r0, r1 -_0806D9C6: - strb r0, [r3, #0x18] - movs r0, #4 - strb r0, [r3, #0x14] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806D9D0 -sub_0806D9D0: @ 0x0806D9D0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806D9F8 - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r2, #0x18] - ldr r0, _0806D9F4 @ =gUnk_080FD170 - str r0, [r2, #0x48] - adds r0, r2, #0 - bl sub_0807DD50 - b _0806DA00 - .align 2, 0 -_0806D9F4: .4byte gUnk_080FD170 -_0806D9F8: - adds r0, r2, #0 - movs r1, #0 - bl sub_0807DD94 -_0806DA00: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806DA04 -sub_0806DA04: @ 0x0806DA04 - push {lr} - ldr r3, [r1, #4] - lsls r3, r3, #3 - ldr r1, _0806DA18 @ =gUnk_0811415C - adds r3, r3, r1 - ldrb r2, [r3, #4] - movs r1, #1 - bl sub_08078850 - pop {pc} - .align 2, 0 -_0806DA18: .4byte gUnk_0811415C - - thumb_func_start sub_0806DA1C -sub_0806DA1C: @ 0x0806DA1C - push {lr} - ldr r3, _0806DA34 @ =gUnk_081141A4 - ldr r2, [r1, #4] - lsls r0, r2, #2 - adds r0, r0, r3 - ldr r0, [r0] - ldr r1, _0806DA38 @ =gUnk_081141E4 - adds r2, r2, r1 - ldrb r1, [r2] - bl sub_0808091C - pop {pc} - .align 2, 0 -_0806DA34: .4byte gUnk_081141A4 -_0806DA38: .4byte gUnk_081141E4 - - thumb_func_start sub_0806DA3C -sub_0806DA3C: @ 0x0806DA3C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - subs r0, #1 - cmp r0, #0xa - bhi _0806DA84 - lsls r0, r0, #2 - ldr r1, _0806DA54 @ =_0806DA58 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806DA54: .4byte _0806DA58 -_0806DA58: @ jump table - .4byte _0806DA88 @ case 0 - .4byte _0806DA8C @ case 1 - .4byte _0806DA90 @ case 2 - .4byte _0806DA94 @ case 3 - .4byte _0806DA98 @ case 4 - .4byte _0806DAA0 @ case 5 - .4byte _0806DAA0 @ case 6 - .4byte _0806DAA0 @ case 7 - .4byte _0806DAA0 @ case 8 - .4byte _0806DAA0 @ case 9 - .4byte _0806DA9C @ case 10 -_0806DA84: - movs r0, #0 - b _0806DAA6 -_0806DA88: - movs r0, #1 - b _0806DAA6 -_0806DA8C: - movs r0, #2 - b _0806DAA6 -_0806DA90: - movs r0, #3 - b _0806DAA6 -_0806DA94: - movs r0, #4 - b _0806DAA6 -_0806DA98: - movs r0, #5 - b _0806DAA6 -_0806DA9C: - movs r0, #9 - b _0806DAA6 -_0806DAA0: - adds r0, r2, #0 - bl sub_0801E99C -_0806DAA6: - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - pop {pc} - - thumb_func_start sub_0806DAAC -sub_0806DAAC: @ 0x0806DAAC - push {r4, lr} - adds r4, r1, #0 - bl sub_0806DA3C - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - bl sub_0801E7F4 - str r0, [r4, #0x14] - ldr r2, _0806DACC @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0806DACC: .4byte gUnk_02033280 - - thumb_func_start sub_0806DAD0 -sub_0806DAD0: @ 0x0806DAD0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806DA3C - adds r1, r0, #0 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r0, r4, #0 - bl sub_08078790 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806DAE8 -sub_0806DAE8: @ 0x0806DAE8 - push {lr} - ldrb r0, [r0, #0xa] - subs r0, #1 - cmp r0, #4 - bhi _0806DB3A - lsls r0, r0, #2 - ldr r1, _0806DAFC @ =_0806DB00 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806DAFC: .4byte _0806DB00 -_0806DB00: @ jump table - .4byte _0806DB14 @ case 0 - .4byte _0806DB1C @ case 1 - .4byte _0806DB24 @ case 2 - .4byte _0806DB2C @ case 3 - .4byte _0806DB34 @ case 4 -_0806DB14: - movs r0, #0xee - bl sub_0807CCB4 - b _0806DB3A -_0806DB1C: - movs r0, #0xef - bl sub_0807CCB4 - b _0806DB3A -_0806DB24: - movs r0, #0xf0 - bl sub_0807CCB4 - b _0806DB3A -_0806DB2C: - movs r0, #0xf1 - bl sub_0807CCB4 - b _0806DB3A -_0806DB34: - movs r0, #0xf2 - bl sub_0807CCB4 -_0806DB3A: - movs r0, #0xcd - bl sub_080A3268 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806DB44 -sub_0806DB44: @ 0x0806DB44 - push {r4, lr} - adds r4, r1, #0 - movs r0, #0 - str r0, [r4, #0x14] - movs r0, #0xee - bl sub_0807CBD0 - cmp r0, #0 - beq _0806DB82 - movs r0, #0xef - bl sub_0807CBD0 - cmp r0, #0 - beq _0806DB82 - movs r0, #0xf0 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806DB82 - movs r0, #0xf1 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806DB82 - movs r0, #0xf2 - bl sub_0807CBD0 - cmp r0, #0 - beq _0806DB82 - movs r0, #1 - str r0, [r4, #0x14] -_0806DB82: - pop {r4, pc} - - thumb_func_start sub_0806DB84 -sub_0806DB84: @ 0x0806DB84 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0806DBE4 @ =gUnk_08114154 - str r0, [r5, #0x48] - movs r0, #0x3e - movs r1, #4 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0806DBB6 - ldr r2, _0806DBE8 @ =0xFFF80000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r3, #0 - bl sub_0806FA48 - ldr r1, _0806DBEC @ =gUnk_08016030 - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_0806DBB6: - movs r0, #0x3e - movs r1, #5 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0806DBE2 - movs r2, #0x80 - lsls r2, r2, #0xc - adds r0, r5, #0 - adds r1, r4, #0 - movs r3, #0 - bl sub_0806FA48 - ldr r1, _0806DBF0 @ =gUnk_0801606C - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_0806DBE2: - pop {r4, r5, pc} - .align 2, 0 -_0806DBE4: .4byte gUnk_08114154 -_0806DBE8: .4byte 0xFFF80000 -_0806DBEC: .4byte gUnk_08016030 -_0806DBF0: .4byte gUnk_0801606C - - thumb_func_start sub_0806DBF4 -sub_0806DBF4: @ 0x0806DBF4 - push {r4, lr} - adds r4, r0, #0 - cmp r4, #1 - blo _0806DC36 - cmp r4, #4 - bls _0806DC04 - cmp r4, #6 - bne _0806DC36 -_0806DC04: - movs r4, #1 - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - beq _0806DC12 - movs r4, #2 -_0806DC12: - movs r0, #3 - bl sub_0807CA84 - cmp r0, #0 - beq _0806DC1E - movs r4, #3 -_0806DC1E: - movs r0, #4 - bl sub_0807CA84 - cmp r0, #0 - beq _0806DC2A - movs r4, #4 -_0806DC2A: - movs r0, #6 - bl sub_0807CA84 - cmp r0, #0 - beq _0806DC36 - movs r4, #6 -_0806DC36: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806DC3C -sub_0806DC3C: @ 0x0806DC3C - ldr r2, _0806DC54 @ =gUnk_02002A40 - adds r1, r2, #0 - adds r1, #0xb4 - ldrb r3, [r1] - adds r1, r0, #0 - adds r1, #0x68 - strb r3, [r1] - adds r2, #0xb5 - ldrb r1, [r2] - adds r0, #0x69 - strb r1, [r0] - bx lr - .align 2, 0 -_0806DC54: .4byte gUnk_02002A40 - - thumb_func_start sub_0806DC58 -sub_0806DC58: @ 0x0806DC58 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x68 - ldrb r0, [r0] - bl sub_0806DBF4 - movs r1, #0 - bl sub_08054414 - adds r4, #0x69 - ldrb r0, [r4] - bl sub_0806DBF4 - movs r1, #1 - bl sub_08054414 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806DC7C -sub_0806DC7C: @ 0x0806DC7C - push {r4, lr} - ldr r4, _0806DC84 @ =gUnk_081141F4 - b _0806DC94 - .align 2, 0 -_0806DC84: .4byte gUnk_081141F4 -_0806DC88: - ldrh r1, [r4] - adds r4, #2 - ldr r0, _0806DC9C @ =0x00004072 - movs r2, #1 - bl sub_0807B314 -_0806DC94: - ldrh r0, [r4] - cmp r0, #0 - bne _0806DC88 - pop {r4, pc} - .align 2, 0 -_0806DC9C: .4byte 0x00004072 - - thumb_func_start sub_0806DCA0 -sub_0806DCA0: @ 0x0806DCA0 - push {r4, lr} - ldr r4, _0806DCA8 @ =gUnk_081141F4 - b _0806DCB6 - .align 2, 0 -_0806DCA8: .4byte gUnk_081141F4 -_0806DCAC: - ldrh r0, [r4] - adds r4, #2 - movs r1, #1 - bl sub_0807BA8C -_0806DCB6: - ldrh r0, [r4] - cmp r0, #0 - bne _0806DCAC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806DCC0 -sub_0806DCC0: @ 0x0806DCC0 - ldr r0, _0806DCD0 @ =gUnk_030010A0 - movs r1, #0xf9 - lsls r1, r1, #3 - strh r1, [r0, #0x20] - movs r1, #0xf8 - strh r1, [r0, #0x22] - bx lr - .align 2, 0 -_0806DCD0: .4byte gUnk_030010A0 - - thumb_func_start sub_0806DCD4 -sub_0806DCD4: @ 0x0806DCD4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806DD40 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - subs r0, #1 - cmp r0, #0xa - bhi _0806DD40 - lsls r0, r0, #2 - ldr r1, _0806DCF4 @ =_0806DCF8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806DCF4: .4byte _0806DCF8 -_0806DCF8: @ jump table - .4byte _0806DD24 @ case 0 - .4byte _0806DD24 @ case 1 - .4byte _0806DD24 @ case 2 - .4byte _0806DD24 @ case 3 - .4byte _0806DD24 @ case 4 - .4byte _0806DD2C @ case 5 - .4byte _0806DD2C @ case 6 - .4byte _0806DD2C @ case 7 - .4byte _0806DD2C @ case 8 - .4byte _0806DD2C @ case 9 - .4byte _0806DD34 @ case 10 -_0806DD24: - adds r0, r4, #0 - bl sub_0809623C - b _0806DD40 -_0806DD2C: - adds r0, r4, #0 - bl sub_08096260 - b _0806DD40 -_0806DD34: - adds r0, r4, #0 - movs r1, #0 - bl sub_0806DB84 - movs r0, #0 - str r0, [r4, #0x48] -_0806DD40: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806DD44 -sub_0806DD44: @ 0x0806DD44 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806DD5A - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_080042AC -_0806DD5A: - adds r0, r4, #0 - bl sub_080042B8 - adds r4, #0x59 - ldrb r0, [r4] - cmp r0, #0xfe - bne _0806DD74 - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x14 - strb r0, [r4] -_0806DD74: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806DD78 -sub_0806DD78: @ 0x0806DD78 - push {lr} - ldr r2, _0806DD8C @ =gUnk_0811423C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0806DD8C: .4byte gUnk_0811423C - - thumb_func_start sub_0806DD90 -sub_0806DD90: @ 0x0806DD90 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - movs r0, #1 - strb r0, [r7, #0xc] - movs r0, #0x3b - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f - movs r0, #0x3c - bl sub_0807CC30 - cmp r0, #0 - beq _0806DDB8 - movs r4, #2 -_0806DDB8: - movs r0, #0x3d - bl sub_0807CC30 - cmp r0, #0 - beq _0806DDC4 - movs r4, #3 -_0806DDC4: - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_08004260 - movs r0, #0x2e - ldrsh r5, [r7, r0] - movs r1, #0x32 - ldrsh r4, [r7, r1] - ldr r2, _0806DEC0 @ =0x00004072 - mov sl, r2 - ldr r0, _0806DEC4 @ =gUnk_03000BF0 - mov r8, r0 - ldrh r1, [r0, #6] - adds r1, #0x18 - subs r1, r5, r1 - lsrs r1, r1, #4 - movs r6, #0x3f - ands r1, r6 - ldrh r0, [r0, #8] - adds r0, #0x10 - subs r0, r4, r0 - lsrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - adds r7, #0x38 - mov sb, r7 - mov r0, sb - ldrb r2, [r0] - mov r0, sl - bl sub_0800015E - mov r2, r8 - ldrh r1, [r2, #6] - adds r1, #0x18 - subs r1, r5, r1 - lsrs r1, r1, #4 - ands r1, r6 - ldrh r0, [r2, #8] - subs r0, r4, r0 - lsrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - mov r0, sb - ldrb r2, [r0] - mov r0, sl - bl sub_0800015E - mov r2, r8 - ldrh r1, [r2, #6] - adds r1, #0x18 - subs r1, r5, r1 - lsrs r1, r1, #4 - ands r1, r6 - ldrh r0, [r2, #8] - subs r0, #0x10 - subs r0, r4, r0 - lsrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - mov r0, sb - ldrb r2, [r0] - mov r0, sl - bl sub_0800015E - mov r2, r8 - ldrh r1, [r2, #6] - subs r1, #0x18 - subs r1, r5, r1 - lsrs r1, r1, #4 - ands r1, r6 - ldrh r0, [r2, #8] - adds r0, #0x10 - subs r0, r4, r0 - lsrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - mov r0, sb - ldrb r2, [r0] - mov r0, sl - bl sub_0800015E - mov r2, r8 - ldrh r1, [r2, #6] - subs r1, #0x18 - subs r1, r5, r1 - lsrs r1, r1, #4 - ands r1, r6 - ldrh r0, [r2, #8] - subs r0, r4, r0 - lsrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - mov r0, sb - ldrb r2, [r0] - mov r0, sl - bl sub_0800015E - mov r1, r8 - ldrh r0, [r1, #6] - subs r0, #0x18 - subs r5, r5, r0 - lsrs r5, r5, #4 - ands r5, r6 - ldrh r0, [r1, #8] - subs r0, #0x10 - subs r4, r4, r0 - lsrs r4, r4, #4 - ands r4, r6 - lsls r4, r4, #6 - orrs r5, r4 - mov r0, sb - ldrb r2, [r0] - mov r0, sl - adds r1, r5, #0 - bl sub_0800015E - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806DEC0: .4byte 0x00004072 -_0806DEC4: .4byte gUnk_03000BF0 - - thumb_func_start sub_0806DEC8 -sub_0806DEC8: @ 0x0806DEC8 - push {lr} - bl sub_08004274 - pop {pc} - - thumb_func_start sub_0806DED0 -sub_0806DED0: @ 0x0806DED0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806DEF8 @ =gUnk_081142BC - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0806DEF4 - ldr r2, _0806DEFC @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x1a] -_0806DEF4: - pop {r4, pc} - .align 2, 0 -_0806DEF8: .4byte gUnk_081142BC -_0806DEFC: .4byte gUnk_03003F80 - - thumb_func_start sub_0806DF00 -sub_0806DF00: @ 0x0806DF00 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xa] - cmp r5, #0 - bne _0806DF5C - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x51 - movs r1, #1 - movs r2, #0 - bl sub_0806ED50 - str r0, [r4, #0x68] - str r4, [r0, #0x50] - movs r0, #0x51 - movs r1, #1 - movs r2, #1 - bl sub_0806ED50 - str r0, [r4, #0x6c] - str r4, [r0, #0x50] - movs r0, #0x51 - movs r1, #1 - movs r2, #2 - bl sub_0806ED50 - str r0, [r4, #0x70] - str r4, [r0, #0x50] - adds r0, r4, #0 - adds r0, #0x74 - strh r5, [r0] - adds r0, #2 - movs r1, #0xa - strh r1, [r0] - ldr r0, _0806DF58 @ =gUnk_030010A0 - strh r1, [r0, #6] - adds r0, r4, #0 - bl sub_0806E014 - adds r0, r4, #0 - bl sub_0807DD50 - b _0806DF6E - .align 2, 0 -_0806DF58: .4byte gUnk_030010A0 -_0806DF5C: - ldr r0, _0806DF70 @ =gUnk_080FD150 - str r0, [r4, #0x48] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0806E0DC -_0806DF6E: - pop {r4, r5, pc} - .align 2, 0 -_0806DF70: .4byte gUnk_080FD150 - - thumb_func_start sub_0806DF74 -sub_0806DF74: @ 0x0806DF74 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_0807DD94 - ldrb r0, [r4, #0xe] - cmp r0, #0xff - beq _0806DFB0 - adds r0, r4, #0 - adds r0, #0x44 - ldrb r0, [r0] - cmp r0, #0 - beq _0806DF96 - ldr r1, [r4, #0x70] - ldrb r0, [r1, #0xe] - adds r0, #1 - strb r0, [r1, #0xe] -_0806DF96: - ldr r1, [r4, #0x68] - ldrb r0, [r1, #0xe] - adds r0, #1 - strb r0, [r1, #0xe] - ldr r1, [r4, #0x6c] - ldrb r0, [r1, #0xe] - adds r0, #1 - strb r0, [r1, #0xe] - movs r0, #0xff - strb r0, [r4, #0xe] - movs r0, #0 - bl sub_0807CD10 -_0806DFB0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806DFB4 -sub_0806DFB4: @ 0x0806DFB4 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x39 - movs r2, #0 - ldrsb r2, [r1, r2] - cmp r2, #0 - beq _0806DFD6 - movs r0, #0 - strb r0, [r1] - ldr r1, [r4, #0x50] - ldrb r0, [r4, #0xb] - strb r0, [r1, #0xe] - ldr r1, [r4, #0x50] - ldrb r0, [r4, #0xf] - strb r0, [r1, #0xb] - b _0806E00C -_0806DFD6: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0806E00C - strb r2, [r4, #0xe] - ldrb r2, [r4, #0xf] - movs r0, #0x35 - movs r1, #2 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0806DFF8 - str r4, [r1, #0x50] - str r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 -_0806DFF8: - adds r0, r4, #0 - bl sub_080788E0 - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - movs r0, #0x74 - movs r2, #2 - bl sub_0807B7D8 -_0806E00C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_111 -nullsub_111: @ 0x0806E010 - bx lr - .align 2, 0 - - thumb_func_start sub_0806E014 -sub_0806E014: @ 0x0806E014 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - bl sub_08000E50 - movs r1, #0x70 - ands r1, r0 - lsrs r4, r1, #4 - movs r0, #0xff - strb r0, [r5, #0xb] - movs r0, #1 - rsbs r0, r0, #0 - adds r7, r0, #0 - strb r0, [r5, #0xe] - movs r0, #0x93 - bl sub_0807CBD0 - adds r1, r0, #0 - cmp r1, #0 - bne _0806E088 - adds r0, r5, #0 - adds r0, #0x44 - strb r1, [r0] - lsls r1, r4, #1 - ldr r0, _0806E084 @ =gUnk_081142CC - adds r6, r1, r0 - ldr r1, [r5, #0x68] - ldrb r0, [r6] - strb r0, [r1, #0xf] - ldr r1, [r5, #0x68] - movs r4, #0x90 - lsls r4, r4, #0xf - adds r0, r5, #0 - adds r2, r4, #0 - adds r3, r4, #0 - bl sub_0806FA48 - ldr r1, [r5, #0x6c] - ldrb r0, [r6, #1] - strb r0, [r1, #0xf] - ldr r1, [r5, #0x6c] - movs r2, #0xd0 - lsls r2, r2, #0xf - adds r0, r5, #0 - adds r3, r4, #0 - bl sub_0806FA48 - ldr r1, [r5, #0x70] - ldrb r0, [r1, #0xf] - orrs r0, r7 - strb r0, [r1, #0xf] - ldr r1, [r5, #0x70] - adds r0, r5, #0 - bl sub_0806FA24 - b _0806E0D6 - .align 2, 0 -_0806E084: .4byte gUnk_081142CC -_0806E088: - adds r1, r5, #0 - adds r1, #0x44 - movs r0, #1 - strb r0, [r1] - lsls r1, r4, #2 - ldr r0, _0806E0D8 @ =gUnk_081142DC - adds r6, r1, r0 - ldr r1, [r5, #0x68] - ldrb r0, [r6] - strb r0, [r1, #0xf] - ldr r1, [r5, #0x68] - movs r2, #0xe0 - lsls r2, r2, #0xe - movs r4, #0x90 - lsls r4, r4, #0xf - adds r0, r5, #0 - adds r3, r4, #0 - bl sub_0806FA48 - ldr r1, [r5, #0x6c] - ldrb r0, [r6, #1] - strb r0, [r1, #0xf] - ldr r1, [r5, #0x6c] - movs r2, #0xb0 - lsls r2, r2, #0xf - adds r0, r5, #0 - adds r3, r4, #0 - bl sub_0806FA48 - ldr r1, [r5, #0x70] - ldrb r0, [r6, #2] - strb r0, [r1, #0xf] - ldr r1, [r5, #0x70] - movs r2, #0xf0 - lsls r2, r2, #0xf - adds r0, r5, #0 - adds r3, r4, #0 - bl sub_0806FA48 -_0806E0D6: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806E0D8: .4byte gUnk_081142DC - - thumb_func_start sub_0806E0DC -sub_0806E0DC: @ 0x0806E0DC - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r6, #0 - strb r6, [r4, #0xe] - ldrb r0, [r4, #0xf] - cmp r0, #0xff - beq _0806E138 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0806E134 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x76 - strh r1, [r5] - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _0806E120 - bl sub_0805E7BC - str r6, [r4, #0x54] -_0806E120: - adds r0, r4, #0 - bl sub_08078828 - ldrh r1, [r5] - movs r0, #0x73 - movs r2, #2 - bl sub_0807B7D8 - b _0806E13C - .align 2, 0 -_0806E134: .4byte gUnk_03000BF0 -_0806E138: - movs r0, #3 - strb r0, [r4, #0xc] -_0806E13C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0806E140 -sub_0806E140: @ 0x0806E140 - push {r4, r5, lr} - adds r3, r0, #0 - adds r5, r1, #0 - ldrb r1, [r3, #0xb] - cmp r1, #0 - beq _0806E1AC - movs r0, #1 - str r0, [r5, #0x14] - adds r1, r3, #0 - adds r1, #0x74 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - adds r1, #2 - ldrh r2, [r1] - adds r0, r3, #0 - adds r0, #0x44 - ldrb r0, [r0] - adds r4, r1, #0 - cmp r0, #0 - bne _0806E16E - lsls r0, r2, #1 - b _0806E172 -_0806E16E: - lsls r0, r2, #1 - adds r0, r0, r2 -_0806E172: - strh r0, [r4] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _0806E18C @ =0x000003E7 - cmp r0, r1 - bls _0806E194 - strh r1, [r4] - movs r0, #0 - str r0, [r5, #0x14] - ldr r0, _0806E190 @ =0x0000421B - bl sub_08056378 - b _0806E1C0 - .align 2, 0 -_0806E18C: .4byte 0x000003E7 -_0806E190: .4byte 0x0000421B -_0806E194: - ldr r0, _0806E1A4 @ =0x00004218 - bl sub_08056378 - ldr r1, _0806E1A8 @ =gUnk_02000050 - ldrh r0, [r4] - str r0, [r1, #0x10] - b _0806E1C0 - .align 2, 0 -_0806E1A4: .4byte 0x00004218 -_0806E1A8: .4byte gUnk_02000050 -_0806E1AC: - str r1, [r5, #0x14] - adds r0, r3, #0 - adds r0, #0x74 - strh r1, [r0] - adds r4, r3, #0 - adds r4, #0x76 - strh r1, [r4] - ldr r0, _0806E1D4 @ =0x0000421C - bl sub_08056378 -_0806E1C0: - ldr r1, _0806E1D8 @ =gUnk_030010A0 - ldrh r0, [r4] - strh r0, [r1, #6] - ldr r2, _0806E1DC @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, pc} - .align 2, 0 -_0806E1D4: .4byte 0x0000421C -_0806E1D8: .4byte gUnk_030010A0 -_0806E1DC: .4byte gUnk_02033280 - - thumb_func_start sub_0806E1E0 -sub_0806E1E0: @ 0x0806E1E0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806E014 - ldr r0, [r4, #0x68] - bl sub_0806E0DC - ldr r0, [r4, #0x6c] - bl sub_0806E0DC - ldr r0, [r4, #0x70] - bl sub_0806E0DC - pop {r4, pc} - - thumb_func_start sub_0806E1FC -sub_0806E1FC: @ 0x0806E1FC - push {lr} - ldr r0, _0806E208 @ =gUnk_0813AD4C - bl sub_08080840 - pop {pc} - .align 2, 0 -_0806E208: .4byte gUnk_0813AD4C - - thumb_func_start sub_0806E20C -sub_0806E20C: @ 0x0806E20C - push {r4, lr} - ldr r4, _0806E224 @ =gUnk_030010A0 - ldrh r0, [r4, #6] - cmp r0, #0 - beq _0806E230 - ldr r0, _0806E228 @ =0x0000421F - bl sub_08056378 - ldr r1, _0806E22C @ =gUnk_02000050 - ldrh r0, [r4, #6] - str r0, [r1, #0x10] - b _0806E236 - .align 2, 0 -_0806E224: .4byte gUnk_030010A0 -_0806E228: .4byte 0x0000421F -_0806E22C: .4byte gUnk_02000050 -_0806E230: - ldr r0, _0806E238 @ =0x00004220 - bl sub_08056378 -_0806E236: - pop {r4, pc} - .align 2, 0 -_0806E238: .4byte 0x00004220 - - thumb_func_start sub_0806E23C -sub_0806E23C: @ 0x0806E23C - push {lr} - ldr r1, _0806E24C @ =gUnk_030010A0 - ldrh r0, [r1, #6] - cmp r0, #0 - beq _0806E24A - bl sub_080526CC -_0806E24A: - pop {pc} - .align 2, 0 -_0806E24C: .4byte gUnk_030010A0 - - thumb_func_start sub_0806E250 -sub_0806E250: @ 0x0806E250 - push {r4, lr} - adds r4, r1, #0 - movs r0, #0 - str r0, [r4, #0x14] - movs r0, #0x31 - bl sub_0801E7F4 - cmp r0, #0 - beq _0806E266 - movs r0, #1 - str r0, [r4, #0x14] -_0806E266: - ldr r2, _0806E274 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0806E274: .4byte gUnk_02033280 - - thumb_func_start sub_0806E278 -sub_0806E278: @ 0x0806E278 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806E2A8 - adds r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0806E2A0 @ =gUnk_081142FC - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_0807DD50 - ldr r3, _0806E2A4 @ =gUnk_08114304 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_08078850 - b _0806E2B0 - .align 2, 0 -_0806E2A0: .4byte gUnk_081142FC -_0806E2A4: .4byte gUnk_08114304 -_0806E2A8: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 -_0806E2B0: - ldr r0, _0806E2CC @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806E2D0 - ldrb r0, [r4, #0x18] - subs r1, #0x84 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - b _0806E2DA - .align 2, 0 -_0806E2CC: .4byte gUnk_03003F80 -_0806E2D0: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_0806E2DA: - pop {r4, pc} - - thumb_func_start sub_0806E2DC -sub_0806E2DC: @ 0x0806E2DC - push {lr} - adds r3, r0, #0 - ldr r0, _0806E300 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _0806E2EC - movs r0, #0 -_0806E2EC: - ldrb r1, [r3, #0xb] - lsls r1, r1, #6 - lsls r0, r0, #3 - ldr r2, _0806E304 @ =gUnk_08114308 - adds r0, r0, r2 - adds r1, r1, r0 - adds r0, r3, #0 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806E300: .4byte gUnk_02002A40 -_0806E304: .4byte gUnk_08114308 - - thumb_func_start sub_0806E308 -sub_0806E308: @ 0x0806E308 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #1 - beq _0806E34C - cmp r5, #1 - bgt _0806E31C - cmp r5, #0 - beq _0806E322 - b _0806E3E0 -_0806E31C: - cmp r5, #2 - beq _0806E3C6 - b _0806E3E0 -_0806E322: - ldr r1, _0806E348 @ =gUnk_081144F0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806E3E0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - strb r5, [r0] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD50 - b _0806E3E0 - .align 2, 0 -_0806E348: .4byte gUnk_081144F0 -_0806E34C: - adds r2, r4, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #2 - bne _0806E3BC - movs r0, #0 - strb r1, [r4, #0xc] - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x69 - strb r0, [r1] - ldr r1, _0806E3B0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08002632 - ldr r1, _0806E3B4 @ =gUnk_08001A7C - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r3, [r0] - adds r0, r4, #0 - adds r0, #0x68 - ldrb r0, [r0] - cmp r0, #0x32 - bne _0806E398 - adds r3, #6 -_0806E398: - ldrh r1, [r3] - ldrh r2, [r3, #2] - ldrh r3, [r3, #4] - adds r0, r4, #0 - bl sub_0801DFB4 - ldr r0, _0806E3B8 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - b _0806E3E0 - .align 2, 0 -_0806E3B0: .4byte gUnk_03001160 -_0806E3B4: .4byte gUnk_08001A7C -_0806E3B8: .4byte gUnk_03003F80 -_0806E3BC: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - b _0806E3E0 -_0806E3C6: - adds r0, r4, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806E3E0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 -_0806E3E0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806E3E4 -sub_0806E3E4: @ 0x0806E3E4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r2, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r2, r0 - adds r2, #8 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - ldrb r2, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FF88 - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - - thumb_func_start sub_0806E418 -sub_0806E418: @ 0x0806E418 - push {lr} - adds r2, r0, #0 - ldr r0, _0806E438 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - subs r0, #2 - cmp r0, #0 - bge _0806E428 - movs r0, #0 -_0806E428: - lsls r1, r0, #3 - ldr r0, _0806E43C @ =gUnk_081144FC - adds r1, r1, r0 - adds r0, r2, #0 - bl sub_0806F1AC - pop {pc} - .align 2, 0 -_0806E438: .4byte gUnk_02002A40 -_0806E43C: .4byte gUnk_081144FC - - thumb_func_start sub_0806E440 -sub_0806E440: @ 0x0806E440 - push {r4, lr} - adds r4, r0, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08078784 - pop {r4, pc} - - thumb_func_start sub_0806E458 -sub_0806E458: @ 0x0806E458 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806E498 - ldr r1, _0806E494 @ =gUnk_081144F0 - adds r0, r4, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806E49E - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0xa - bl sub_08004260 - b _0806E49E - .align 2, 0 -_0806E494: .4byte gUnk_081144F0 -_0806E498: - adds r0, r4, #0 - bl sub_08004274 -_0806E49E: - pop {r4, pc} - - thumb_func_start sub_0806E4A0 -sub_0806E4A0: @ 0x0806E4A0 - push {lr} - ldr r2, _0806E4B4 @ =gUnk_081145B4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0806E4B4: .4byte gUnk_081145B4 - - thumb_func_start sub_0806E4B8 -sub_0806E4B8: @ 0x0806E4B8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r5, #0 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_080787A8 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - strb r5, [r4, #0xd] - adds r0, r4, #0 - bl sub_0806E4EC - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806E4EC -sub_0806E4EC: @ 0x0806E4EC - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xd] - cmp r0, #0 - bne _0806E50E - adds r0, #1 - strb r0, [r5, #0xd] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x3c - strb r0, [r5, #0xe] - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC -_0806E50E: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0806E552 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0806E52A - movs r0, #3 - b _0806E52C -_0806E52A: - movs r0, #2 -_0806E52C: - strb r0, [r5, #0xc] - movs r0, #0 - strb r0, [r5, #0xd] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0806E552 - ldr r4, _0806E560 @ =gUnk_081145C8 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r0, [r1] - bl sub_08004488 -_0806E552: - adds r0, r5, #0 - bl sub_0806E65C - adds r0, r5, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 -_0806E560: .4byte gUnk_081145C8 - - thumb_func_start sub_0806E564 -sub_0806E564: @ 0x0806E564 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0806E5AA - adds r0, #1 - strb r0, [r4, #0xd] - bl sub_08000E50 - movs r2, #1 - ands r0, r2 - cmp r0, #0 - beq _0806E590 - ldrb r0, [r4, #0x18] - lsls r1, r0, #0x19 - lsrs r1, r1, #0x1f - eors r1, r2 - lsls r1, r1, #6 - subs r2, #0x42 - ands r2, r0 - orrs r2, r1 - strb r2, [r4, #0x18] -_0806E590: - bl sub_08000E50 - movs r1, #1 - ands r0, r1 - adds r0, #1 - strb r0, [r4, #0xe] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC -_0806E5AA: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0806E5D4 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0806E5CE - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - b _0806E5D4 -_0806E5CE: - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] -_0806E5D4: - adds r0, r4, #0 - bl sub_0806E65C - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806E5E4 -sub_0806E5E4: @ 0x0806E5E4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0806E622 - adds r0, #1 - strb r0, [r4, #0xd] - bl sub_08000E50 - movs r5, #1 - ands r0, r5 - cmp r0, #0 - beq _0806E612 - ldrb r0, [r4, #0x18] - lsls r1, r0, #0x19 - lsrs r1, r1, #0x1f - eors r1, r5 - lsls r1, r1, #6 - movs r2, #0x41 - rsbs r2, r2, #0 - ands r2, r0 - orrs r2, r1 - strb r2, [r4, #0x18] -_0806E612: - bl sub_08000E50 - adds r1, r0, #0 - ands r1, r5 - adds r1, #2 - adds r0, r4, #0 - bl sub_080042AC -_0806E622: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806E638 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_0806E638: - adds r0, r4, #0 - bl sub_0806E65C - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806E648 -sub_0806E648: @ 0x0806E648 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806E658 - movs r0, #1 - strb r0, [r4, #0xc] -_0806E658: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806E65C -sub_0806E65C: @ 0x0806E65C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x39 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - beq _0806E6A6 - ldr r0, _0806E688 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806E694 - cmp r2, #2 - bne _0806E68C - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806F118 - b _0806E698 - .align 2, 0 -_0806E688: .4byte gUnk_03003F80 -_0806E68C: - adds r0, r4, #0 - bl sub_0806E6A8 - b _0806E698 -_0806E694: - bl sub_080791D0 -_0806E698: - movs r0, #0xd5 - bl sub_080A3268 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - strb r0, [r1] -_0806E6A6: - pop {r4, pc} - - thumb_func_start sub_0806E6A8 -sub_0806E6A8: @ 0x0806E6A8 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0 - bl sub_08002632 - ldr r1, _0806E6D4 @ =gUnk_02002A40 - ldr r2, _0806E6D8 @ =0x000001C1 - adds r1, r1, r2 - adds r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0xf3 - bne _0806E6C2 - movs r5, #1 -_0806E6C2: - ldr r0, _0806E6DC @ =gUnk_081145D0 - lsls r1, r5, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r4, #0 - bl sub_08056398 - pop {r4, r5, pc} - .align 2, 0 -_0806E6D4: .4byte gUnk_02002A40 -_0806E6D8: .4byte 0x000001C1 -_0806E6DC: .4byte gUnk_081145D0 - - thumb_func_start sub_0806E6E0 -sub_0806E6E0: @ 0x0806E6E0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _0806E706 - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - movs r1, #1 - bl sub_080042AC - b _0806E70C -_0806E706: - adds r0, r2, #0 - bl sub_080042B8 -_0806E70C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806E710 -sub_0806E710: @ 0x0806E710 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806E72C @ =gUnk_081145D4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0806ED78 - pop {r4, pc} - .align 2, 0 -_0806E72C: .4byte gUnk_081145D4 - - thumb_func_start sub_0806E730 -sub_0806E730: @ 0x0806E730 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r5, #0 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0801E99C - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_080787A8 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - strb r5, [r4, #0xd] - adds r0, r4, #0 - bl sub_0806E764 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806E764 -sub_0806E764: @ 0x0806E764 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - adds r5, r0, #0 - cmp r5, #0 - bne _0806E782 - adds r0, #1 - strb r0, [r4, #0xd] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0x1e - strb r0, [r4, #0xe] - strb r5, [r4, #0x1e] -_0806E782: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0806E7A8 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0806E7A8 - movs r0, #0xd6 - bl sub_08004488 -_0806E7A8: - adds r0, r4, #0 - bl sub_0806E838 - pop {r4, r5, pc} - - thumb_func_start sub_0806E7B0 -sub_0806E7B0: @ 0x0806E7B0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0806E7F2 - adds r0, #1 - strb r0, [r4, #0xd] - bl sub_08000E50 - movs r5, #1 - ands r0, r5 - cmp r0, #0 - beq _0806E7DE - ldrb r0, [r4, #0x18] - lsls r1, r0, #0x19 - lsrs r1, r1, #0x1f - eors r1, r5 - lsls r1, r1, #6 - movs r2, #0x41 - rsbs r2, r2, #0 - ands r2, r0 - orrs r2, r1 - strb r2, [r4, #0x18] -_0806E7DE: - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - adds r0, #1 - strb r0, [r4, #0xe] - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - strb r5, [r4, #0x1e] -_0806E7F2: - movs r1, #0xc0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0806E81C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0806E816 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - b _0806E81C -_0806E816: - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] -_0806E81C: - adds r0, r4, #0 - bl sub_0806E838 - pop {r4, r5, pc} - - thumb_func_start sub_0806E824 -sub_0806E824: @ 0x0806E824 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F148 - cmp r0, #0 - beq _0806E834 - movs r0, #1 - strb r0, [r4, #0xc] -_0806E834: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806E838 -sub_0806E838: @ 0x0806E838 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x39 - movs r2, #0 - ldrsb r2, [r0, r2] - cmp r2, #0 - beq _0806E882 - ldr r0, _0806E864 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806E870 - cmp r2, #2 - bne _0806E868 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0806F118 - b _0806E874 - .align 2, 0 -_0806E864: .4byte gUnk_03003F80 -_0806E868: - adds r0, r4, #0 - bl sub_0806E884 - b _0806E874 -_0806E870: - bl sub_080791D0 -_0806E874: - movs r0, #0xd6 - bl sub_080A3268 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - strb r0, [r1] -_0806E882: - pop {r4, pc} - - thumb_func_start sub_0806E884 -sub_0806E884: @ 0x0806E884 - push {lr} - adds r1, r0, #0 - ldr r0, _0806E890 @ =0x00000DB6 - bl sub_08056398 - pop {pc} - .align 2, 0 -_0806E890: .4byte 0x00000DB6 - - thumb_func_start sub_0806E894 -sub_0806E894: @ 0x0806E894 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0806E8B6 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #1 - strb r0, [r4, #0x1e] - b _0806E8CA -_0806E8B6: - movs r1, #0xc0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0806E8CA - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] -_0806E8CA: - pop {r4, pc} - - thumb_func_start sub_0806E8CC -sub_0806E8CC: @ 0x0806E8CC - push {lr} - adds r3, r0, #0 - ldr r2, _0806E8EC @ =gUnk_080B313C - ldrb r1, [r3, #0xf] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r2, #8 - adds r0, r0, r2 - ldr r1, [r0] - cmp r1, #0 - beq _0806E8F0 - adds r0, r3, #0 - bl _call_via_r1 - b _0806E8F4 - .align 2, 0 -_0806E8EC: .4byte gUnk_080B313C -_0806E8F0: - bl sub_0805E780 -_0806E8F4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806E8F8 -sub_0806E8F8: @ 0x0806E8F8 - push {lr} - adds r3, r0, #0 - ldr r2, _0806E918 @ =gUnk_080B313C - ldrb r1, [r3, #0xf] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r2, #4 - adds r0, r0, r2 - ldr r1, [r0] - cmp r1, #0 - beq _0806E916 - adds r0, r3, #0 - bl _call_via_r1 -_0806E916: - pop {pc} - .align 2, 0 -_0806E918: .4byte gUnk_080B313C - - thumb_func_start sub_0806E91C -sub_0806E91C: @ 0x0806E91C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _0806E950 - adds r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r1, r5, #0 - adds r1, #0x68 - movs r4, #0 - movs r0, #1 - strh r0, [r1] - adds r1, #2 - ldr r0, _0806E960 @ =0x0000FFFF - strh r0, [r1] - adds r0, r5, #0 - bl sub_0807DD64 - strb r4, [r5, #0x1e] -_0806E950: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r5, #0 - bl sub_0807DDE4 - pop {r4, r5, pc} - .align 2, 0 -_0806E960: .4byte 0x0000FFFF - - thumb_func_start sub_0806E964 -sub_0806E964: @ 0x0806E964 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov sb, r0 - adds r2, r1, #0 - ldr r0, _0806E984 @ =gUnk_03000FF0 - mov r8, r0 - ldrh r1, [r0, #2] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0806E988 - bl sub_08050384 - b _0806EAAA - .align 2, 0 -_0806E984: .4byte gUnk_03000FF0 -_0806E988: - ldrb r0, [r2, #0x18] - adds r1, r0, #0 - mov r6, sb - adds r6, #0x6c - mov r7, sb - adds r7, #0x68 - cmp r1, #0 - bne _0806E9A8 - adds r0, #1 - strb r0, [r2, #0x18] - strh r1, [r6] - movs r2, #0 - ldrsh r1, [r7, r2] - mov r0, sb - bl sub_0806EABC -_0806E9A8: - movs r5, #0x1c - movs r0, #0x55 - bl sub_0807CC30 - cmp r0, #0 - beq _0806E9B6 - movs r5, #0x34 -_0806E9B6: - movs r0, #0 - ldrsh r4, [r7, r0] - mov r2, r8 - ldrh r1, [r2, #2] - movs r2, #0xc0 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0806E9E4 - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0806E9D4 - adds r4, #1 - b _0806E9D6 -_0806E9D4: - subs r4, #1 -_0806E9D6: - cmp r4, #0 - bgt _0806E9DC - adds r4, r5, #0 -_0806E9DC: - cmp r4, r5 - ble _0806EA0A - movs r4, #1 - b _0806EA0A -_0806E9E4: - mov r0, r8 - ldrh r1, [r0, #4] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0806EA0A - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0806E9FC - adds r4, #1 - b _0806E9FE -_0806E9FC: - subs r4, #1 -_0806E9FE: - cmp r4, #0 - bgt _0806EA04 - movs r4, #1 -_0806EA04: - cmp r4, r5 - ble _0806EA0A - adds r4, r5, #0 -_0806EA0A: - movs r1, #0 - ldrsh r0, [r7, r1] - cmp r4, r0 - beq _0806EA28 - mov r0, sb - adds r1, r4, #0 - bl sub_0806EABC - ldrh r1, [r6] - movs r2, #0 - ldrsh r0, [r6, r2] - cmp r0, #0 - ble _0806EA28 - subs r0, r1, #1 - strh r0, [r6] -_0806EA28: - strh r4, [r7] - ldr r0, _0806EA74 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0806EA86 - mov r5, sb - adds r5, #0x6a - lsls r0, r4, #0x10 - asrs r0, r0, #0x10 - movs r2, #0 - ldrsh r1, [r5, r2] - cmp r0, r1 - bne _0806EA4E - movs r1, #0 - ldrsh r0, [r6, r1] - cmp r0, #0 - bne _0806EA7C -_0806EA4E: - ldr r4, _0806EA78 @ =gUnk_081145E4 - movs r2, #0 - ldrsh r0, [r7, r2] - lsls r0, r0, #2 - adds r0, r0, r4 - movs r1, #0 - ldrsh r0, [r0, r1] - bl sub_080A3268 - ldrh r0, [r7] - strh r0, [r5] - movs r2, #0 - ldrsh r0, [r7, r2] - lsls r0, r0, #2 - adds r4, #2 - adds r0, r0, r4 - ldrh r0, [r0] - strh r0, [r6] - b _0806EA86 - .align 2, 0 -_0806EA74: .4byte gUnk_03000FF0 -_0806EA78: .4byte gUnk_081145E4 -_0806EA7C: - ldr r0, _0806EAB4 @ =0x80010000 - bl sub_080A3268 - movs r0, #0 - strh r0, [r5] -_0806EA86: - ldrh r1, [r6] - movs r2, #0 - ldrsh r0, [r6, r2] - cmp r0, #0 - ble _0806EAA4 - subs r0, r1, #1 - movs r1, #0 - strh r0, [r6] - lsls r0, r0, #0x10 - cmp r0, #0 - bgt _0806EAA4 - mov r0, sb - adds r0, #0x6a - strh r1, [r0] - strh r1, [r6] -_0806EAA4: - ldr r1, _0806EAB8 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0806EAAA: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806EAB4: .4byte 0x80010000 -_0806EAB8: .4byte gUnk_02033280 - - thumb_func_start sub_0806EABC -sub_0806EABC: @ 0x0806EABC - push {r4, lr} - adds r4, r1, #0 - bl sub_08050384 - ldr r1, _0806EAE0 @ =gUnk_020227E8 - ldr r2, _0806EAE4 @ =0x00202020 - adds r0, r4, #0 - bl sub_08057044 - ldr r0, _0806EAE8 @ =0x00003302 - ldr r1, _0806EAEC @ =gUnk_081146B8 - bl sub_0805F46C - ldr r1, _0806EAF0 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0xe] - pop {r4, pc} - .align 2, 0 -_0806EAE0: .4byte gUnk_020227E8 -_0806EAE4: .4byte 0x00202020 -_0806EAE8: .4byte 0x00003302 -_0806EAEC: .4byte gUnk_081146B8 -_0806EAF0: .4byte gUnk_03000F50 - - thumb_func_start sub_0806EAF4 -sub_0806EAF4: @ 0x0806EAF4 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0xc] - cmp r0, #0 - bne _0806EB48 - ldr r1, _0806EBA0 @ =gUnk_081146D0 - adds r0, r6, #0 - bl sub_0806FDEC - cmp r0, #0 - beq _0806EBA8 - ldrb r0, [r6, #0xc] - adds r0, #1 - strb r0, [r6, #0xc] - ldrb r1, [r6, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r6, #0x18] - ldrb r2, [r6, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r6, #0x19] - adds r3, r6, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r3] - ldrb r0, [r6, #0x1b] - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r6, #0x1b] - movs r0, #0x78 - strh r0, [r6, #0x2e] - movs r0, #0x10 - strh r0, [r6, #0x32] -_0806EB48: - ldr r7, [r6, #0x50] - cmp r7, #0 - beq _0806EBA4 - adds r0, r7, #0 - adds r0, #0x68 - movs r1, #0 - ldrsh r4, [r0, r1] - movs r5, #0x96 - lsls r5, r5, #2 - adds r0, r4, #0 - adds r1, r5, #0 - bl __divsi3 - adds r1, r6, #0 - adds r1, #0x68 - strh r0, [r1] - adds r0, r4, #0 - adds r1, r5, #0 - bl __modsi3 - adds r4, r0, #0 - movs r1, #0x3c - bl __divsi3 - adds r1, r6, #0 - adds r1, #0x6a - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0x3c - bl __modsi3 - movs r1, #6 - bl __divsi3 - adds r1, r6, #0 - adds r1, #0x6c - strh r0, [r1] - ldr r0, [r7, #4] - cmp r0, #0 - bne _0806EBA8 - bl sub_0805E780 - b _0806EBA8 - .align 2, 0 -_0806EBA0: .4byte gUnk_081146D0 -_0806EBA4: - bl sub_0805E780 -_0806EBA8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0806EBAC -sub_0806EBAC: @ 0x0806EBAC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0xff - strb r0, [r4, #0x1e] - adds r0, r4, #0 - adds r0, #0x68 - movs r1, #0 - ldrsh r2, [r0, r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_0806FF60 - adds r0, r4, #0 - adds r0, #0x6a - movs r1, #0 - ldrsh r2, [r0, r1] - adds r0, r4, #0 - movs r1, #1 - bl sub_0806FF60 - adds r0, r4, #0 - adds r0, #0x6c - movs r1, #0 - ldrsh r2, [r0, r1] - adds r0, r4, #0 - movs r1, #2 - bl sub_0806FF60 - adds r0, r4, #0 - movs r1, #3 - movs r2, #0xa - bl sub_0806FF60 - movs r2, #0xc - rsbs r2, r2, #0 - adds r0, r4, #0 - movs r1, #0 - movs r3, #0 - bl sub_0806FFBC - movs r2, #4 - rsbs r2, r2, #0 - adds r0, r4, #0 - movs r1, #1 - movs r3, #0 - bl sub_0806FFBC - adds r0, r4, #0 - movs r1, #2 - movs r2, #0xc - movs r3, #0 - bl sub_0806FFBC - adds r0, r4, #0 - bl sub_0807000C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806EC20 -sub_0806EC20: @ 0x0806EC20 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x58 - movs r1, #0 - movs r2, #0 - bl sub_0806ED50 - cmp r0, #0 - beq _0806EC34 - str r4, [r0, #0x50] -_0806EC34: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806EC38 -sub_0806EC38: @ 0x0806EC38 - push {lr} - movs r0, #7 - movs r1, #0x58 - movs r2, #7 - bl sub_0805EB00 - cmp r0, #0 - beq _0806EC4C - bl sub_0805E7BC -_0806EC4C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806EC50 -sub_0806EC50: @ 0x0806EC50 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #9] - lsls r0, r0, #3 - ldr r1, _0806EC74 @ =gUnk_08114AE4 - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, #3 - ands r0, r1 - cmp r0, #2 - bne _0806EC6E - ldrb r0, [r3, #0xa] - lsls r0, r0, #3 - ldr r1, [r2, #4] - adds r2, r1, r0 -_0806EC6E: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0806EC74: .4byte gUnk_08114AE4 - - thumb_func_start sub_0806EC78 -sub_0806EC78: @ 0x0806EC78 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0806ED4A - adds r0, r4, #0 - bl sub_0806EC50 - adds r5, r0, #0 - ldrb r1, [r5] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _0806ECA2 - ldrb r1, [r4, #0x10] - movs r0, #1 - orrs r0, r1 - strb r0, [r4, #0x10] - b _0806ED4A -_0806ECA2: - ldrh r0, [r5, #2] - lsls r0, r0, #0x16 - lsrs r2, r0, #0x16 - adds r1, r2, #0 - ldrb r0, [r5, #3] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1e - cmp r0, #1 - beq _0806ECC0 - cmp r0, #2 - bne _0806ECCA - adds r0, r4, #0 - adds r0, #0x60 - strh r2, [r0] - b _0806ECD0 -_0806ECC0: - adds r0, r4, #0 - movs r2, #0 - bl sub_080AE008 - b _0806ECD0 -_0806ECCA: - adds r0, r4, #0 - bl sub_080ADF80 -_0806ECD0: - ldrh r0, [r5, #4] - lsls r0, r0, #0x16 - lsrs r1, r0, #0x16 - adds r0, r4, #0 - bl sub_0801D040 - ldrh r0, [r5, #6] - lsls r0, r0, #0x16 - lsrs r0, r0, #0x16 - strh r0, [r4, #0x12] - ldrb r0, [r5, #5] - movs r3, #3 - movs r1, #0x30 - ands r1, r0 - ldrb r2, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r5, #7] - lsls r1, r1, #0x1b - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - lsrs r1, r1, #0x1d - lsls r1, r1, #3 - ldrb r2, [r0] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldrb r1, [r5, #7] - lsrs r1, r1, #5 - ands r1, r3 - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r1, _0806ED4C @ =gUnk_08114EE4 - ldrb r0, [r5, #1] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r4, #0x48] - ldrb r1, [r4, #0x10] - movs r0, #1 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r1, #0xff - adds r0, r4, #0 - adds r0, #0x58 - strb r1, [r0] - strb r1, [r4, #0x1e] - adds r0, r4, #0 - bl sub_08016A04 -_0806ED4A: - pop {r4, r5, pc} - .align 2, 0 -_0806ED4C: .4byte gUnk_08114EE4 - - thumb_func_start sub_0806ED50 -sub_0806ED50: @ 0x0806ED50 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r2, #0 - bl sub_0805E678 - adds r4, r0, #0 - cmp r4, #0 - beq _0806ED74 - movs r0, #7 - strb r0, [r4, #8] - strb r5, [r4, #9] - strb r6, [r4, #0xa] - strb r7, [r4, #0xb] - adds r0, r4, #0 - movs r1, #7 - bl sub_0805EA2C -_0806ED74: - adds r0, r4, #0 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0806ED78 -sub_0806ED78: @ 0x0806ED78 - push {r4, lr} - bl sub_0800445C - adds r4, r0, #0 - cmp r4, #0 - beq _0806ED94 - ldr r0, _0806ED98 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1e] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0806ED94 - bl sub_08077B20 -_0806ED94: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_0806ED98: .4byte gUnk_03003F80 - - thumb_func_start sub_0806ED9C -sub_0806ED9C: @ 0x0806ED9C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r3, r2, #0 - movs r6, #1 - rsbs r6, r6, #0 - ldr r1, _0806EDC0 @ =gUnk_03001160 - adds r2, r4, #0 - bl sub_080041A0 - cmp r0, #0 - beq _0806EDBC - adds r0, r5, #0 - bl sub_0806EDC4 - adds r6, r0, #0 -_0806EDBC: - adds r0, r6, #0 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806EDC0: .4byte gUnk_03001160 - - thumb_func_start sub_0806EDC4 -sub_0806EDC4: @ 0x0806EDC4 - push {lr} - ldr r1, _0806EDD4 @ =gUnk_03001160 - bl sub_080045C4 - bl sub_0806F5A4 - pop {pc} - .align 2, 0 -_0806EDD4: .4byte gUnk_03001160 - - thumb_func_start sub_0806EDD8 -sub_0806EDD8: @ 0x0806EDD8 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r3, r2, #0 - movs r7, #1 - rsbs r7, r7, #0 - ldr r6, _0806EE00 @ =gUnk_03001160 - adds r1, r6, #0 - adds r2, r4, #0 - bl sub_080041A0 - cmp r0, #0 - beq _0806EDFC - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_080045C4 - adds r7, r0, #0 -_0806EDFC: - adds r0, r7, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806EE00: .4byte gUnk_03001160 - - thumb_func_start sub_0806EE04 -sub_0806EE04: @ 0x0806EE04 - adds r3, r0, #0 - str r1, [r3, #0x54] - adds r0, #0x3c - movs r1, #0 - strb r2, [r0] - adds r0, #3 - strb r1, [r0] - adds r2, r3, #0 - adds r2, #0x46 - movs r0, #0 - strh r1, [r2] - strb r0, [r3, #0x16] - bx lr - .align 2, 0 - - thumb_func_start sub_0806EE20 -sub_0806EE20: @ 0x0806EE20 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _0806EE4C - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _0806EE66 - ldr r1, _0806EE48 @ =gUnk_08114EFC - ldrb r0, [r4, #0x16] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - b _0806EE68 - .align 2, 0 -_0806EE48: .4byte gUnk_08114EFC -_0806EE4C: - adds r1, r4, #0 - adds r1, #0x46 - movs r0, #8 - strh r0, [r1] - ldr r1, _0806EE6C @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5A4 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] -_0806EE66: - movs r0, #0 -_0806EE68: - pop {r4, pc} - .align 2, 0 -_0806EE6C: .4byte gUnk_03001160 - - thumb_func_start sub_0806EE70 -sub_0806EE70: @ 0x0806EE70 - push {r4, lr} - sub sp, #4 - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x46 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #8 - bls _0806EE92 - movs r0, #0 - strh r0, [r1] - adds r0, r4, #0 - bl sub_0806EF14 -_0806EE92: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - mov r1, sp - bl sub_0806EF4C - mov r0, sp - ldrh r1, [r0] - ldrh r2, [r0, #2] - adds r0, r4, #0 - bl sub_080041DC - adds r1, r0, #0 - movs r2, #0x24 - ldrsh r0, [r4, r2] - cmp r0, #0 - bge _0806EEB8 - rsbs r0, r0, #0 -_0806EEB8: - lsrs r0, r0, #3 - cmp r0, r1 - bhi _0806EEC2 - movs r0, #0 - b _0806EECA -_0806EEC2: - adds r0, r4, #0 - movs r1, #3 - bl sub_0806EF74 -_0806EECA: - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806EED0 -sub_0806EED0: @ 0x0806EED0 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x46 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0806EEE8 - movs r0, #0 - b _0806EEF0 -_0806EEE8: - adds r0, r2, #0 - movs r1, #2 - bl sub_0806EF74 -_0806EEF0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806EEF4 -sub_0806EEF4: @ 0x0806EEF4 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0806EF08 - movs r0, #0 - b _0806EF10 -_0806EF08: - adds r0, r2, #0 - movs r1, #1 - bl sub_0806EF74 -_0806EF10: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806EF14 -sub_0806EF14: @ 0x0806EF14 - push {r4, lr} - sub sp, #4 - adds r4, r0, #0 - mov r1, sp - bl sub_0806EF4C - mov r0, sp - ldrh r1, [r0] - ldrh r2, [r0, #2] - adds r0, r4, #0 - bl sub_080045B4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x3c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0806EF48 - ldrb r0, [r4, #0x15] - bl sub_0806F5A4 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] -_0806EF48: - add sp, #4 - pop {r4, pc} - - thumb_func_start sub_0806EF4C -sub_0806EF4C: @ 0x0806EF4C - push {r4, lr} - adds r2, r0, #0 - adds r2, #0x3f - ldrb r2, [r2] - lsls r2, r2, #1 - ldr r3, [r0, #0x54] - adds r3, r3, r2 - ldr r2, _0806EF70 @ =gUnk_03000BF0 - ldrh r0, [r3, #2] - ldrh r4, [r2, #6] - adds r0, r0, r4 - strh r0, [r1] - ldrh r0, [r3, #4] - ldrh r2, [r2, #8] - adds r0, r0, r2 - strh r0, [r1, #2] - pop {r4, pc} - .align 2, 0 -_0806EF70: .4byte gUnk_03000BF0 - - thumb_func_start sub_0806EF74 -sub_0806EF74: @ 0x0806EF74 - push {lr} - adds r3, r0, #0 - adds r3, #0x3f - ldrb r2, [r3] - adds r2, r2, r1 - strb r2, [r3] - bl sub_0806EF88 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806EF88 -sub_0806EF88: @ 0x0806EF88 - push {lr} - adds r1, r0, #0 - adds r1, #0x3f - ldrb r2, [r1] - lsls r2, r2, #1 - ldr r1, [r0, #0x54] - adds r1, r1, r2 - ldr r3, _0806EFA8 @ =gUnk_08114F0C - ldrb r2, [r1] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0806EFA8: .4byte gUnk_08114F0C - - thumb_func_start sub_0806EFAC -sub_0806EFAC: @ 0x0806EFAC - push {lr} - adds r2, r0, #0 - adds r2, #0x3f - movs r1, #0 - strb r1, [r2] - bl sub_0806EF88 - pop {pc} - - thumb_func_start sub_0806EFBC -sub_0806EFBC: @ 0x0806EFBC - movs r1, #1 - strb r1, [r0, #0x16] - adds r0, #0x46 - movs r1, #8 - strh r1, [r0] - movs r0, #0 - bx lr - .align 2, 0 - - thumb_func_start sub_0806EFCC -sub_0806EFCC: @ 0x0806EFCC - movs r2, #2 - strb r2, [r0, #0x16] - ldrh r1, [r1, #2] - adds r0, #0x46 - strh r1, [r0] - movs r0, #0 - bx lr - .align 2, 0 - - thumb_func_start sub_0806EFDC -sub_0806EFDC: @ 0x0806EFDC - push {lr} - adds r3, r0, #0 - ldrh r0, [r1] - lsrs r0, r0, #8 - cmp r0, #0 - beq _0806EFF4 - adds r2, r3, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xfe - ands r0, r1 - b _0806EFFE -_0806EFF4: - adds r2, r3, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #1 - orrs r0, r1 -_0806EFFE: - strb r0, [r2] - adds r1, r3, #0 - adds r1, #0x3f - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r0, r3, #0 - bl sub_0806EF88 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806F014 -sub_0806F014: @ 0x0806F014 - push {lr} - ldrh r1, [r1, #2] - strh r1, [r0, #0x24] - adds r2, r0, #0 - adds r2, #0x3f - ldrb r1, [r2] - adds r1, #2 - strb r1, [r2] - bl sub_0806EF88 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806F02C -sub_0806F02C: @ 0x0806F02C - push {lr} - ldrh r1, [r1] - lsrs r1, r1, #8 - adds r2, r0, #0 - adds r2, #0x3e - strb r1, [r2] - adds r2, #1 - ldrb r1, [r2] - adds r1, #1 - strb r1, [r2] - bl sub_0806EF88 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806F048 -sub_0806F048: @ 0x0806F048 - movs r1, #3 - strb r1, [r0, #0x16] - movs r0, #0 - bx lr - - thumb_func_start sub_0806F050 -sub_0806F050: @ 0x0806F050 - push {lr} - adds r1, #2 - str r1, [r0, #0x54] - adds r2, r0, #0 - adds r2, #0x3f - movs r1, #0 - strb r1, [r2] - bl sub_0806EF88 - pop {pc} - - thumb_func_start sub_0806F064 -sub_0806F064: @ 0x0806F064 - movs r2, #0 - strb r2, [r0, #0x16] - adds r0, #0x3f - ldrb r2, [r0] - adds r2, #1 - strb r2, [r0] - ldrh r0, [r1] - lsrs r0, r0, #8 - bx lr - .align 2, 0 - - thumb_func_start sub_0806F078 -sub_0806F078: @ 0x0806F078 - push {lr} - adds r2, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r1, r0 - beq _0806F0A0 - adds r0, r2, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _0806F096 - adds r0, r2, #0 - bl sub_080042AC - b _0806F09C -_0806F096: - adds r0, r2, #0 - bl sub_08004260 -_0806F09C: - movs r0, #1 - b _0806F0A2 -_0806F0A0: - movs r0, #0 -_0806F0A2: - pop {pc} - - thumb_func_start sub_0806F0A4 -sub_0806F0A4: @ 0x0806F0A4 - push {r4, r5, r6, r7, lr} - sub sp, #4 - ldr r7, _0806F114 @ =gUnk_03003DA8 - ldr r5, [r7, #4] - movs r0, #0 - cmp r5, r7 - beq _0806F0BA -_0806F0B2: - adds r0, #1 - ldr r5, [r5, #4] - cmp r5, r7 - bne _0806F0B2 -_0806F0BA: - cmp r0, #1 - bls _0806F10E - ldr r5, [r7, #4] - cmp r5, r7 - beq _0806F10E - movs r2, #1 -_0806F0C6: - ldrb r1, [r5, #0x10] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0806F108 - ldrb r1, [r5, #0x17] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0806F108 - ldr r4, [r5, #4] - cmp r4, r7 - beq _0806F108 - movs r6, #1 -_0806F0E2: - ldrb r1, [r4, #0x10] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _0806F102 - ldrb r1, [r4, #0x17] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _0806F102 - adds r0, r5, #0 - adds r1, r4, #0 - str r2, [sp] - bl sub_08004484 - ldr r2, [sp] -_0806F102: - ldr r4, [r4, #4] - cmp r4, r7 - bne _0806F0E2 -_0806F108: - ldr r5, [r5, #4] - cmp r5, r7 - bne _0806F0C6 -_0806F10E: - add sp, #4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806F114: .4byte gUnk_03003DA8 - - thumb_func_start sub_0806F118 -sub_0806F118: @ 0x0806F118 - push {r4, lr} - adds r4, r0, #0 - bl sub_08002632 - ldr r1, _0806F140 @ =gUnk_08001A7C - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldrh r1, [r0] - ldrh r2, [r0, #2] - ldrh r3, [r0, #4] - adds r0, r4, #0 - bl sub_0801DFB4 - ldr r0, _0806F144 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - pop {r4, pc} - .align 2, 0 -_0806F140: .4byte gUnk_08001A7C -_0806F144: .4byte gUnk_03003F80 - - thumb_func_start sub_0806F148 -sub_0806F148: @ 0x0806F148 - push {r4, lr} - bl sub_0801E00C - movs r4, #1 - rsbs r4, r4, #0 - ldr r0, _0806F164 @ =gUnk_02022740 - ldrb r0, [r0] - cmp r0, #1 - beq _0806F172 - cmp r0, #2 - beq _0806F168 - movs r4, #0 - b _0806F17E - .align 2, 0 -_0806F164: .4byte gUnk_02022740 -_0806F168: - ldr r0, _0806F184 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - movs r4, #1 -_0806F172: - bl sub_0807919C - ldr r0, _0806F184 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] -_0806F17E: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_0806F184: .4byte gUnk_03003F80 - - thumb_func_start sub_0806F188 -sub_0806F188: @ 0x0806F188 - push {lr} - bl sub_08002632 - adds r1, r0, #0 - cmp r1, #0 - beq _0806F1A0 - ldr r0, _0806F1A4 @ =gUnk_02002A40 - ldr r2, _0806F1A8 @ =0x000001C1 - adds r0, r0, r2 - adds r0, r1, r0 - movs r1, #0xf3 - strb r1, [r0] -_0806F1A0: - pop {pc} - .align 2, 0 -_0806F1A4: .4byte gUnk_02002A40 -_0806F1A8: .4byte 0x000001C1 - - thumb_func_start sub_0806F1AC -sub_0806F1AC: @ 0x0806F1AC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r6, r1, #0 - ldrh r1, [r6, #2] - asrs r7, r1, #4 - movs r0, #1 - ands r7, r0 - movs r0, #0xf - ands r1, r0 - cmp r1, #6 - bls _0806F1C8 - b _0806F332 -_0806F1C8: - lsls r0, r1, #2 - ldr r1, _0806F1D4 @ =_0806F1D8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806F1D4: .4byte _0806F1D8 -_0806F1D8: @ jump table - .4byte _0806F332 @ case 0 - .4byte _0806F342 @ case 1 - .4byte _0806F1F4 @ case 2 - .4byte _0806F24E @ case 3 - .4byte _0806F2BA @ case 4 - .4byte _0806F324 @ case 5 - .4byte _0806F336 @ case 6 -_0806F1F4: - ldr r4, [r6] - asrs r1, r4, #0xc - movs r0, #0xf - ands r1, r0 - ldr r0, _0806F210 @ =0x00000FFF - ands r4, r0 - movs r5, #0 - cmp r1, #1 - beq _0806F22A - cmp r1, #1 - bgt _0806F214 - cmp r1, #0 - beq _0806F21A - b _0806F248 - .align 2, 0 -_0806F210: .4byte 0x00000FFF -_0806F214: - cmp r1, #2 - beq _0806F23A - b _0806F248 -_0806F21A: - adds r0, r4, #0 - bl sub_0807CC3C - adds r5, r0, #0 -_0806F222: - adds r0, r4, #0 - bl sub_0807CD10 - b _0806F248 -_0806F22A: - adds r0, r4, #0 - bl sub_0807CBD0 - adds r5, r0, #0 -_0806F232: - adds r0, r4, #0 - bl sub_0807CCB4 - b _0806F248 -_0806F23A: - adds r0, r4, #0 - bl sub_0807CC30 - adds r5, r0, #0 - adds r0, r4, #0 - bl sub_0807CD04 -_0806F248: - cmp r5, #0 - beq _0806F342 - b _0806F34C -_0806F24E: - ldr r4, [r6] - asrs r1, r4, #0xc - movs r0, #0xf - ands r1, r0 - ldr r0, _0806F26C @ =0x00000FFF - ands r4, r0 - movs r5, #0 - cmp r1, #1 - beq _0806F28A - cmp r1, #1 - bgt _0806F270 - cmp r1, #0 - beq _0806F276 - b _0806F248 - .align 2, 0 -_0806F26C: .4byte 0x00000FFF -_0806F270: - cmp r1, #2 - beq _0806F29E - b _0806F248 -_0806F276: - adds r0, r4, #0 - bl sub_0807CC3C - adds r5, r0, #0 - cmp r5, #0 - beq _0806F222 - adds r0, r4, #0 - bl sub_0807CD8C - b _0806F248 -_0806F28A: - adds r0, r4, #0 - bl sub_0807CBD0 - adds r5, r0, #0 - cmp r5, #0 - beq _0806F232 - adds r0, r4, #0 - bl sub_0807CD34 - b _0806F248 -_0806F29E: - adds r0, r4, #0 - bl sub_0807CC30 - adds r5, r0, #0 - cmp r5, #0 - bne _0806F2B2 - adds r0, r4, #0 - bl sub_0807CD04 - b _0806F248 -_0806F2B2: - adds r0, r4, #0 - bl sub_0807CD80 - b _0806F248 -_0806F2BA: - ldr r4, [r6] - asrs r1, r4, #0xc - movs r0, #0xf - ands r1, r0 - ldr r0, _0806F2D8 @ =0x00000FFF - ands r4, r0 - movs r5, #0 - cmp r1, #4 - bhi _0806F248 - lsls r0, r1, #2 - ldr r1, _0806F2DC @ =_0806F2E0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806F2D8: .4byte 0x00000FFF -_0806F2DC: .4byte _0806F2E0 -_0806F2E0: @ jump table - .4byte _0806F2F4 @ case 0 - .4byte _0806F2FC @ case 1 - .4byte _0806F304 @ case 2 - .4byte _0806F30C @ case 3 - .4byte _0806F314 @ case 4 -_0806F2F4: - adds r0, r4, #0 - bl sub_0807CC3C - b _0806F320 -_0806F2FC: - adds r0, r4, #0 - bl sub_0807CBD0 - b _0806F320 -_0806F304: - adds r0, r4, #0 - bl sub_0807CC30 - b _0806F320 -_0806F30C: - adds r0, r4, #0 - bl sub_0801E7F4 - b _0806F320 -_0806F314: - adds r0, r4, #0 - bl sub_0807CA84 - cmp r0, #0 - beq _0806F320 - movs r0, #1 -_0806F320: - adds r5, r0, #0 - b _0806F248 -_0806F324: - ldr r1, [r6, #4] - cmp r1, #0 - beq _0806F332 - mov r0, r8 - bl _call_via_r1 - b _0806F35E -_0806F332: - movs r0, #0 - b _0806F34E -_0806F336: - ldr r0, _0806F348 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0806F34C -_0806F342: - ldrh r0, [r6, #6] - b _0806F34E - .align 2, 0 -_0806F348: .4byte gUnk_03003F80 -_0806F34C: - ldrh r0, [r6, #4] -_0806F34E: - cmp r7, #0 - beq _0806F35A - mov r1, r8 - bl sub_08056398 - b _0806F35E -_0806F35A: - bl sub_08056378 -_0806F35E: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0806F364 -sub_0806F364: @ 0x0806F364 - push {lr} - ldr r2, _0806F384 @ =gUnk_02033A90 - ldrb r0, [r2, #8] - movs r1, #0x80 - eors r0, r1 - strb r0, [r2, #8] - ldrb r1, [r2, #8] - adds r0, r1, #7 - asrs r0, r0, #3 - ldr r3, _0806F388 @ =0x00000868 - adds r1, r2, r3 - adds r0, r0, r1 - movs r1, #0x10 - bl sub_0801D630 - pop {pc} - .align 2, 0 -_0806F384: .4byte gUnk_02033A90 -_0806F388: .4byte 0x00000868 - - thumb_func_start sub_0806F38C -sub_0806F38C: @ 0x0806F38C - ldr r0, _0806F398 @ =gUnk_02033A90 - ldrb r1, [r0, #8] - movs r2, #0x80 - eors r1, r2 - strb r1, [r0, #8] - bx lr - .align 2, 0 -_0806F398: .4byte gUnk_02033A90 - - thumb_func_start sub_0806F39C -sub_0806F39C: @ 0x0806F39C - push {r4, lr} - adds r3, r0, #0 - ldr r2, _0806F3B8 @ =gUnk_03001160 - ldrb r1, [r2, #0x14] - movs r0, #2 - ands r0, r1 - adds r4, r2, #0 - cmp r0, #0 - beq _0806F3BC - movs r0, #0x2e - ldrsh r1, [r3, r0] - movs r2, #0x2e - ldrsh r0, [r4, r2] - b _0806F3C4 - .align 2, 0 -_0806F3B8: .4byte gUnk_03001160 -_0806F3BC: - movs r0, #0x32 - ldrsh r1, [r3, r0] - movs r2, #0x32 - ldrsh r0, [r4, r2] -_0806F3C4: - subs r1, r1, r0 - cmp r1, #0 - bge _0806F3CC - rsbs r1, r1, #0 -_0806F3CC: - cmp r1, #0x40 - bgt _0806F3D4 - movs r0, #0 - b _0806F3E2 -_0806F3D4: - movs r0, #0x24 - ldrsh r1, [r3, r0] - ldrb r2, [r3, #0x15] - adds r0, r4, #0 - bl sub_080027EA - movs r0, #1 -_0806F3E2: - pop {r4, pc} - - thumb_func_start sub_0806F3E4 -sub_0806F3E4: @ 0x0806F3E4 - push {r4, r5, r6, lr} - sub sp, #0x88 - adds r5, r0, #0 - ldr r2, _0806F408 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1c] - movs r0, #0x7f - ands r0, r1 - cmp r0, #1 - bne _0806F4E0 - ldrb r0, [r2, #0x1d] - cmp r0, #2 - beq _0806F420 - cmp r0, #2 - bgt _0806F40C - cmp r0, #1 - beq _0806F416 - b _0806F410 - .align 2, 0 -_0806F408: .4byte gUnk_03003F80 -_0806F40C: - cmp r0, #3 - beq _0806F42A -_0806F410: - adds r3, r5, #0 - adds r3, #0x46 - b _0806F436 -_0806F416: - adds r1, r5, #0 - adds r1, #0x46 - ldrh r0, [r1] - adds r0, #0x40 - b _0806F432 -_0806F420: - adds r1, r5, #0 - adds r1, #0x46 - ldrh r0, [r1] - adds r0, #0x80 - b _0806F432 -_0806F42A: - adds r1, r5, #0 - adds r1, #0x46 - ldrh r0, [r1] - adds r0, #0xc0 -_0806F432: - strh r0, [r1] - adds r3, r1, #0 -_0806F436: - adds r2, r3, #0 - ldrh r0, [r2] - movs r1, #0xa0 - lsls r1, r1, #3 - cmp r0, r1 - bls _0806F444 - strh r1, [r2] -_0806F444: - ldr r6, _0806F4BC @ =gUnk_03001160 - ldrb r0, [r6, #0x14] - movs r1, #0xe - ands r1, r0 - ldr r0, _0806F4C0 @ =gUnk_08126EE4 - adds r1, r1, r0 - mov r2, sp - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r4, [r6, #0x2e] - adds r0, r0, r4 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r6, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldrh r4, [r3] - adds r0, r5, #0 - mov r1, sp - bl sub_080045C4 - adds r2, r0, #0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806F5BC - mov r0, sp - adds r1, r5, #0 - movs r2, #4 - movs r3, #4 - bl sub_0800419C - cmp r0, #0 - beq _0806F4E0 - ldrb r0, [r5, #0x1c] - movs r1, #0xf - ands r1, r0 - cmp r1, #2 - bne _0806F4C8 - movs r0, #3 - strb r0, [r5, #0xd] - str r5, [r6, #0x70] - ldr r1, _0806F4C4 @ =gUnk_03003F80 - movs r0, #7 - strb r0, [r1, #0x1c] - movs r0, #0x11 - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08077CB8 - cmp r0, #0 - beq _0806F4B4 - str r5, [r0, #0x54] - str r0, [r5, #0x50] -_0806F4B4: - movs r0, #0xed - bl sub_080A3268 - b _0806F4D8 - .align 2, 0 -_0806F4BC: .4byte gUnk_03001160 -_0806F4C0: .4byte gUnk_08126EE4 -_0806F4C4: .4byte gUnk_03003F80 -_0806F4C8: - cmp r1, #1 - bne _0806F4D8 - ldr r0, _0806F4DC @ =gUnk_03003F80 - ldr r0, [r0, #0x2c] - strb r1, [r0, #0xa] - movs r0, #0xef - bl sub_080A3268 -_0806F4D8: - movs r0, #1 - b _0806F4E2 - .align 2, 0 -_0806F4DC: .4byte gUnk_03003F80 -_0806F4E0: - movs r0, #0 -_0806F4E2: - add sp, #0x88 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0806F4E8 -sub_0806F4E8: @ 0x0806F4E8 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0x1d] - movs r2, #3 - ands r2, r0 - cmp r2, #1 - beq _0806F516 - cmp r2, #1 - bgt _0806F500 - cmp r2, #0 - beq _0806F510 - b _0806F51C -_0806F500: - cmp r2, #2 - beq _0806F50A - cmp r2, #3 - beq _0806F516 - b _0806F51C -_0806F50A: - adds r1, #0x62 - movs r0, #0xfe - b _0806F51A -_0806F510: - adds r1, #0x62 - movs r0, #2 - b _0806F51A -_0806F516: - adds r1, #0x62 - movs r0, #0 -_0806F51A: - strb r0, [r1] -_0806F51C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806F520 -sub_0806F520: @ 0x0806F520 - push {lr} - adds r2, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x93 - beq _0806F544 - adds r3, r2, #0 - adds r3, #0x3a - ldrb r1, [r3] - movs r0, #0xfb - ands r0, r1 - movs r1, #0 - strb r0, [r3] - adds r0, r2, #0 - adds r0, #0x63 - strb r1, [r0] - movs r0, #0 - b _0806F546 -_0806F544: - movs r0, #1 -_0806F546: - pop {pc} - - thumb_func_start sub_0806F548 -sub_0806F548: @ 0x0806F548 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_080041A0 - cmp r0, #0 - bne _0806F55A - movs r0, #0 - b _0806F562 -_0806F55A: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806F58C -_0806F562: - pop {r4, r5, pc} - - thumb_func_start sub_0806F564 -sub_0806F564: @ 0x0806F564 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r3, r2, #0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r5, #0 - bl sub_080045D4 - bl sub_0806F5A4 - movs r2, #0 - ldrb r1, [r4, #0x14] - cmp r1, r0 - bne _0806F588 - movs r2, #1 -_0806F588: - adds r0, r2, #0 - pop {r4, r5, pc} - - thumb_func_start sub_0806F58C -sub_0806F58C: @ 0x0806F58C - push {r4, lr} - adds r4, r0, #0 - bl sub_0806FCA0 - movs r2, #0 - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - cmp r1, r0 - bne _0806F5A0 - movs r2, #1 -_0806F5A0: - adds r0, r2, #0 - pop {r4, pc} - - thumb_func_start sub_0806F5A4 -sub_0806F5A4: @ 0x0806F5A4 - ldr r1, _0806F5AC @ =gUnk_08114F38 - adds r0, r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806F5AC: .4byte gUnk_08114F38 - - thumb_func_start sub_0806F5B0 -sub_0806F5B0: @ 0x0806F5B0 - ldr r1, _0806F5B8 @ =gUnk_08114F58 - adds r0, r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806F5B8: .4byte gUnk_08114F58 - - thumb_func_start sub_0806F5BC -sub_0806F5BC: @ 0x0806F5BC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _0806F620 - ldr r0, _0806F628 @ =gUnk_080C9160 - mov r8, r0 - lsls r4, r2, #3 - lsls r0, r2, #4 - add r0, r8 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r5, r1, #0x10 - asrs r5, r5, #0x10 - adds r1, r5, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r6, #0x80 - lsls r6, r6, #1 - adds r1, r6, #0 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r7, #0x2c] - adds r1, r1, r0 - str r1, [r7, #0x2c] - adds r4, #0x40 - lsls r4, r4, #1 - add r4, r8 - movs r1, #0 - ldrsh r0, [r4, r1] - adds r1, r5, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r6, #0 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r7, #0x30] - subs r1, r1, r0 - str r1, [r7, #0x30] -_0806F620: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806F628: .4byte gUnk_080C9160 - - thumb_func_start sub_0806F62C -sub_0806F62C: @ 0x0806F62C - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - adds r6, r0, #0 - adds r5, r1, #0 - adds r4, r2, #0 - ldr r0, _0806F698 @ =gUnk_080C9160 - mov sb, r0 - lsls r4, r4, #0x18 - lsrs r4, r4, #0x18 - lsls r0, r4, #1 - add r0, sb - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r5, r5, #0x10 - asrs r5, r5, #0x10 - adds r1, r5, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #1 - mov r8, r1 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r6, #0x2c] - adds r1, r1, r0 - str r1, [r6, #0x2c] - adds r4, #0x40 - lsls r4, r4, #1 - add r4, sb - movs r1, #0 - ldrsh r0, [r4, r1] - adds r1, r5, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r1, r8 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r6, #0x30] - subs r1, r1, r0 - str r1, [r6, #0x30] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806F698: .4byte gUnk_080C9160 - - thumb_func_start sub_0806F69C -sub_0806F69C: @ 0x0806F69C - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r1, [r6, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0806F6FE - ldr r5, _0806F700 @ =gUnk_080C9160 - ldrb r0, [r6, #0x15] - lsls r0, r0, #4 - adds r0, r0, r5 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r2, #0x24 - ldrsh r1, [r6, r2] - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r4, #0x80 - lsls r4, r4, #1 - adds r1, r4, #0 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r6, #0x2c] - adds r1, r1, r0 - str r1, [r6, #0x2c] - ldrb r0, [r6, #0x15] - lsls r0, r0, #4 - adds r0, #0x80 - adds r0, r0, r5 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r2, #0x24 - ldrsh r1, [r6, r2] - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r4, #0 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r6, #0x30] - subs r1, r1, r0 - str r1, [r6, #0x30] -_0806F6FE: - pop {r4, r5, r6, pc} - .align 2, 0 -_0806F700: .4byte gUnk_080C9160 - - thumb_func_start sub_0806F704 -sub_0806F704: @ 0x0806F704 - push {r4, r5, r6, lr} - lsls r3, r1, #4 - movs r2, #0xfc - lsls r2, r2, #2 - adds r6, r2, #0 - ands r3, r6 - movs r5, #8 - orrs r3, r5 - ldr r4, _0806F72C @ =gUnk_03000BF0 - ldrh r2, [r4, #6] - adds r2, r2, r3 - strh r2, [r0, #0x2e] - lsrs r1, r1, #2 - ands r1, r6 - orrs r1, r5 - ldrh r2, [r4, #8] - adds r2, r2, r1 - strh r2, [r0, #0x32] - pop {r4, r5, r6, pc} - .align 2, 0 -_0806F72C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0806F730 -sub_0806F730: @ 0x0806F730 - push {r4, r5, r6, lr} - movs r6, #0x3f - movs r1, #0x2e - ldrsh r2, [r0, r1] - ldr r4, [r0, #0x48] - movs r1, #0 - ldrsb r1, [r4, r1] - adds r2, r2, r1 - ldr r3, _0806F764 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r5, r2, r1 - movs r2, #0x32 - ldrsh r1, [r0, r2] - movs r2, #1 - ldrsb r2, [r4, r2] - adds r1, r1, r2 - ldrh r2, [r3, #8] - subs r1, r1, r2 - ldrb r0, [r0, #0x14] - cmp r0, #2 - beq _0806F77E - cmp r0, #2 - bgt _0806F768 - cmp r0, #0 - beq _0806F772 - b _0806F788 - .align 2, 0 -_0806F764: .4byte gUnk_03000BF0 -_0806F768: - cmp r0, #4 - beq _0806F778 - cmp r0, #6 - beq _0806F784 - b _0806F788 -_0806F772: - ldrb r0, [r4, #5] - subs r1, r1, r0 - b _0806F788 -_0806F778: - ldrb r0, [r4, #5] - adds r1, r1, r0 - b _0806F788 -_0806F77E: - ldrb r0, [r4, #2] - adds r5, r5, r0 - b _0806F788 -_0806F784: - ldrb r0, [r4, #2] - subs r5, r5, r0 -_0806F788: - lsrs r0, r5, #4 - ands r0, r6 - lsrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - adds r0, r0, r1 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0806F798 -sub_0806F798: @ 0x0806F798 - push {r4, r5, lr} - adds r2, r0, #0 - movs r1, #0x2e - ldrsh r0, [r2, r1] - ldr r4, [r2, #0x48] - movs r1, #0 - ldrsb r1, [r4, r1] - adds r0, r0, r1 - ldr r3, _0806F7CC @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - movs r5, #0x32 - ldrsh r1, [r2, r5] - movs r2, #1 - ldrsb r2, [r4, r2] - adds r1, r1, r2 - ldrh r2, [r3, #8] - subs r1, r1, r2 - movs r2, #0x3f - lsrs r0, r0, #4 - ands r0, r2 - lsrs r1, r1, #4 - ands r1, r2 - lsls r1, r1, #6 - adds r0, r0, r1 - pop {r4, r5, pc} - .align 2, 0 -_0806F7CC: .4byte gUnk_03000BF0 - - thumb_func_start sub_0806F7D0 -sub_0806F7D0: @ 0x0806F7D0 - push {r4, lr} - ldr r4, _0806F7E4 @ =gUnk_02025EB0 - bl sub_0806F730 - ldr r1, _0806F7E8 @ =0x00002004 - adds r4, r4, r1 - adds r0, r0, r4 - ldrb r0, [r0] - pop {r4, pc} - .align 2, 0 -_0806F7E4: .4byte gUnk_02025EB0 -_0806F7E8: .4byte 0x00002004 - - thumb_func_start sub_0806F7EC -sub_0806F7EC: @ 0x0806F7EC - push {r4, lr} - ldr r4, _0806F800 @ =gUnk_02025EB0 - bl sub_0806F730 - lsls r0, r0, #1 - adds r4, #4 - adds r0, r0, r4 - ldrh r0, [r0] - pop {r4, pc} - .align 2, 0 -_0806F800: .4byte gUnk_02025EB0 - - thumb_func_start sub_0806F804 -sub_0806F804: @ 0x0806F804 - lsrs r0, r0, #4 - movs r2, #0x3f - ands r0, r2 - movs r2, #0xfc - lsls r2, r2, #2 - ands r2, r1 - lsls r2, r2, #2 - adds r0, r0, r2 - ldr r1, _0806F820 @ =gUnk_02025EB0 - lsls r0, r0, #1 - adds r1, #4 - adds r0, r0, r1 - ldrh r0, [r0] - bx lr - .align 2, 0 -_0806F820: .4byte gUnk_02025EB0 - - thumb_func_start sub_0806F824 -sub_0806F824: @ 0x0806F824 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - adds r4, r2, #0 - adds r5, r3, #0 - movs r2, #0x2e - ldrsh r6, [r0, r2] - movs r2, #0x32 - ldrsh r3, [r0, r2] - mov r8, r3 - movs r3, #0x2e - ldrsh r2, [r1, r3] - adds r2, r2, r4 - movs r0, #0x32 - ldrsh r3, [r1, r0] - adds r3, r3, r5 - adds r0, r6, #0 - mov r1, r8 - bl sub_080045D4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0806F854 -sub_0806F854: @ 0x0806F854 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r3, r1, #0 - adds r6, r2, #0 - ldr r0, [r4, #0x34] - cmp r0, #0 - beq _0806F8D6 - adds r0, r4, #0 - adds r0, #0x38 - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _0806F8D6 - movs r1, #0x2e - ldrsh r0, [r4, r1] - adds r0, r0, r3 - ldr r2, _0806F8BC @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r5, #0x3f - ands r0, r5 - movs r3, #0x32 - ldrsh r1, [r4, r3] - adds r1, r1, r6 - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r5 - lsls r1, r1, #6 - orrs r0, r1 - movs r1, #2 - movs r2, #8 - bl sub_080002F0 - cmp r0, #0 - beq _0806F8C0 - ldrb r1, [r4, #0x19] - adds r0, r5, #0 - ands r0, r1 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r1, [r4, #0x1b] - adds r0, r5, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x1b] - movs r0, #1 - b _0806F8D8 - .align 2, 0 -_0806F8BC: .4byte gUnk_03000BF0 -_0806F8C0: - ldrb r1, [r4, #0x19] - adds r0, r5, #0 - ands r0, r1 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r1, [r4, #0x1b] - adds r0, r5, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x1b] -_0806F8D6: - movs r0, #0 -_0806F8D8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0806F8DC -sub_0806F8DC: @ 0x0806F8DC - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x38 - ldrb r1, [r5] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _0806F942 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - subs r1, #4 - movs r2, #2 - bl sub_080002A4 - cmp r0, #0 - beq _0806F91C - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - movs r0, #1 - b _0806F944 -_0806F91C: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - subs r1, #4 - ldrb r2, [r5] - bl sub_080002A4 - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] -_0806F942: - movs r0, #0 -_0806F944: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806F948 -sub_0806F948: @ 0x0806F948 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0806F974 @ =gUnk_03003F80 - ldrb r0, [r1, #0xd] - cmp r0, #0xff - beq _0806F994 - ldrb r0, [r1, #0xd] - lsrs r3, r0, #2 - movs r0, #1 - ands r0, r3 - cmp r0, #0 - beq _0806F978 - ldrb r2, [r4, #0x14] - subs r0, r2, #1 - subs r0, r3, r0 - movs r1, #4 - ands r0, r1 - cmp r0, #0 - bne _0806F978 - adds r0, r2, #0 - b _0806F996 - .align 2, 0 -_0806F974: .4byte gUnk_03003F80 -_0806F978: - movs r2, #0 - cmp r3, #4 - bls _0806F980 - movs r2, #1 -_0806F980: - lsls r2, r2, #6 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - movs r0, #6 - ands r3, r0 - strb r3, [r4, #0x14] -_0806F994: - ldrb r0, [r4, #0x14] -_0806F996: - pop {r4, pc} - - thumb_func_start sub_0806F998 -sub_0806F998: @ 0x0806F998 - push {r4, lr} - adds r2, r0, #0 - ldrb r4, [r2, #0x14] - ldrb r1, [r2, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0806F9E6 - movs r0, #0x1c - ands r0, r1 - lsrs r3, r0, #2 - movs r1, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _0806F9C4 - subs r0, r3, r4 - adds r0, #1 - movs r1, #4 - ands r0, r1 - cmp r0, #0 - beq _0806F9E6 -_0806F9C4: - ldrb r0, [r2, #0x15] - lsrs r0, r0, #2 - movs r1, #0x7e - ands r0, r1 - strb r0, [r2, #0x14] - adds r4, r0, #0 - cmp r4, #4 - bhi _0806F9DE - ldrb r1, [r2, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _0806F9E4 -_0806F9DE: - ldrb r0, [r2, #0x18] - movs r1, #0x40 - orrs r0, r1 -_0806F9E4: - strb r0, [r2, #0x18] -_0806F9E6: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806F9EC -sub_0806F9EC: @ 0x0806F9EC - push {lr} - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - muls r0, r1, r0 - cmp r0, #0 - bge _0806F9FE - adds r0, #0xff -_0806F9FE: - lsls r0, r0, #8 - asrs r0, r0, #0x10 - pop {pc} - - thumb_func_start sub_0806FA04 -sub_0806FA04: @ 0x0806FA04 - push {lr} - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0 - beq _0806FA20 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - bl __divsi3 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - b _0806FA22 -_0806FA20: - movs r0, #0 -_0806FA22: - pop {pc} - - thumb_func_start sub_0806FA24 -sub_0806FA24: @ 0x0806FA24 - push {lr} - movs r2, #0 - movs r3, #0 - bl sub_0806FA48 - pop {pc} - - thumb_func_start sub_0806FA30 -sub_0806FA30: @ 0x0806FA30 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_0806FA48 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FAB0 - pop {r4, r5, pc} - - thumb_func_start sub_0806FA48 -sub_0806FA48: @ 0x0806FA48 - push {r4, lr} - ldr r4, [r0, #0x2c] - adds r4, r4, r2 - str r4, [r1, #0x2c] - ldr r2, [r0, #0x30] - adds r2, r2, r3 - str r2, [r1, #0x30] - ldr r2, [r0, #0x34] - str r2, [r1, #0x34] - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r1, #0 - adds r0, #0x38 - strb r2, [r0] - adds r0, r1, #0 - bl sub_08016A04 - pop {r4, pc} - - thumb_func_start sub_0806FA6C -sub_0806FA6C: @ 0x0806FA6C - push {lr} - adds r2, r0, #0 - adds r2, #0x62 - ldrb r2, [r2] - adds r3, r1, #0 - adds r3, #0x62 - strb r2, [r3] - adds r2, r0, #0 - adds r2, #0x63 - ldrb r2, [r2] - adds r3, #1 - strb r2, [r3] - movs r2, #0 - movs r3, #0 - bl sub_0806FA48 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0806FA90 -sub_0806FA90: @ 0x0806FA90 - push {r4, r5, lr} - adds r4, r0, #0 - adds r4, #0x62 - ldrb r4, [r4] - movs r5, #0x62 - strb r4, [r5, r1] - adds r4, r0, #0 - adds r4, #0x63 - ldrb r4, [r4] - movs r5, #0x63 - strb r4, [r5, r1] - lsls r2, r2, #0x10 - lsls r3, r3, #0x10 - bl sub_0806FA48 - pop {r4, r5, pc} - - thumb_func_start sub_0806FAB0 -sub_0806FAB0: @ 0x0806FAB0 - ldr r2, _0806FAD4 @ =gUnk_08114F78 - adds r0, #0x29 - ldrb r0, [r0] - lsls r0, r0, #0x1d - lsrs r0, r0, #0x1d - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, #0x29 - movs r2, #7 - ands r2, r0 - ldrb r3, [r1] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_0806FAD4: .4byte gUnk_08114F78 - - thumb_func_start sub_0806FAD8 -sub_0806FAD8: @ 0x0806FAD8 - ldr r2, _0806FAFC @ =gUnk_08114F80 - adds r0, #0x29 - ldrb r0, [r0] - lsls r0, r0, #0x1d - lsrs r0, r0, #0x1d - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, #0x29 - movs r2, #7 - ands r2, r0 - ldrb r3, [r1] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_0806FAFC: .4byte gUnk_08114F80 - - thumb_func_start sub_0806FB00 -sub_0806FB00: @ 0x0806FB00 - push {r4, lr} - mov ip, r0 - adds r4, r1, #0 - cmp r3, #0 - bne _0806FB0C - movs r3, #1 -_0806FB0C: - mov r1, ip - adds r1, #0x7e - movs r0, #0 - strb r0, [r1] - mov r0, ip - adds r0, #0x7f - strb r3, [r0] - mov r0, ip - ldrh r1, [r0, #0x2e] - adds r0, #0x80 - strh r1, [r0] - mov r1, ip - ldrh r0, [r1, #0x32] - adds r1, #0x82 - strh r0, [r1] - mov r0, ip - adds r0, #0x84 - strh r4, [r0] - adds r0, #2 - strh r2, [r0] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806FB38 -sub_0806FB38: @ 0x0806FB38 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r5, #0 - adds r6, #0x7e - adds r7, r5, #0 - adds r7, #0x7f - ldrb r0, [r6] - ldrb r1, [r7] - cmp r0, r1 - bhs _0806FBA0 - adds r0, #1 - strb r0, [r6] - adds r0, r5, #0 - adds r0, #0x84 - movs r2, #0 - ldrsh r1, [r0, r2] - adds r4, r5, #0 - adds r4, #0x80 - movs r2, #0 - ldrsh r0, [r4, r2] - subs r1, r1, r0 - ldrb r0, [r6] - muls r0, r1, r0 - lsls r0, r0, #8 - ldrb r1, [r7] - bl __divsi3 - asrs r0, r0, #8 - ldrh r4, [r4] - adds r0, r0, r4 - strh r0, [r5, #0x2e] - adds r0, r5, #0 - adds r0, #0x86 - movs r2, #0 - ldrsh r1, [r0, r2] - adds r4, r5, #0 - adds r4, #0x82 - movs r2, #0 - ldrsh r0, [r4, r2] - subs r1, r1, r0 - ldrb r0, [r6] - muls r0, r1, r0 - lsls r0, r0, #8 - ldrb r1, [r7] - bl __divsi3 - asrs r0, r0, #8 - ldrh r4, [r4] - adds r0, r0, r4 - strh r0, [r5, #0x32] - movs r0, #0 - b _0806FBB2 -_0806FBA0: - adds r0, r5, #0 - adds r0, #0x84 - ldrh r0, [r0] - strh r0, [r5, #0x2e] - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - strh r0, [r5, #0x32] - movs r0, #1 -_0806FBB2: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0806FBB4 -sub_0806FBB4: @ 0x0806FBB4 - push {lr} - adds r1, r0, #0 - ldr r0, _0806FBD0 @ =gUnk_030010A0 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _0806FBC8 - ldr r0, _0806FBD4 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _0806FBCC -_0806FBC8: - movs r0, #6 - strb r0, [r1, #0xd] -_0806FBCC: - pop {pc} - .align 2, 0 -_0806FBD0: .4byte gUnk_030010A0 -_0806FBD4: .4byte gUnk_03003F80 - - thumb_func_start sub_0806FBD8 -sub_0806FBD8: @ 0x0806FBD8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806FBEC - movs r0, #0xc - bl sub_0801D8E0 - str r0, [r4, #0x48] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806FBEC -sub_0806FBEC: @ 0x0806FBEC - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x48] - bl sub_0801DA0C - movs r0, #0 - str r0, [r4, #0x48] - pop {r4, pc} - - thumb_func_start sub_0806FBFC -sub_0806FBFC: @ 0x0806FBFC - push {r4, r5, r6, lr} - adds r5, r3, #0 - ldr r4, _0806FC20 @ =gUnk_03001160 - movs r6, #0x2e - ldrsh r3, [r4, r6] - subs r3, r3, r0 - movs r6, #0x32 - ldrsh r0, [r4, r6] - subs r0, r0, r1 - movs r1, #0 - cmp r3, r2 - bhs _0806FC1A - cmp r0, r5 - bhs _0806FC1A - movs r1, #1 -_0806FC1A: - adds r0, r1, #0 - pop {r4, r5, r6, pc} - .align 2, 0 -_0806FC20: .4byte gUnk_03001160 - - thumb_func_start sub_0806FC24 -sub_0806FC24: @ 0x0806FC24 - push {r4, lr} - adds r4, r1, #0 - ldr r1, _0806FC44 @ =gUnk_080046A4 - bl sub_08007DD6 - cmp r0, #0 - beq _0806FC4C - lsls r0, r0, #3 - ldr r1, _0806FC48 @ =gUnk_080047F6 - adds r0, r0, r1 - ldrh r0, [r0] - asrs r0, r4 - movs r1, #1 - ands r0, r1 - b _0806FC4E - .align 2, 0 -_0806FC44: .4byte gUnk_080046A4 -_0806FC48: .4byte gUnk_080047F6 -_0806FC4C: - movs r0, #0 -_0806FC4E: - pop {r4, pc} - - thumb_func_start sub_0806FC50 -sub_0806FC50: @ 0x0806FC50 - push {r4, lr} - adds r4, r1, #0 - ldr r1, _0806FC74 @ =gUnk_080046A4 - bl sub_08007DD6 - cmp r0, #0 - beq _0806FC70 - ldr r1, _0806FC78 @ =gUnk_080047F6 - lsls r0, r0, #3 - adds r2, r0, r1 - ldrh r0, [r2] - asrs r0, r4 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0806FC7C -_0806FC70: - movs r0, #0 - b _0806FC7E - .align 2, 0 -_0806FC74: .4byte gUnk_080046A4 -_0806FC78: .4byte gUnk_080047F6 -_0806FC7C: - adds r0, r2, #0 -_0806FC7E: - pop {r4, pc} - - thumb_func_start sub_0806FC80 -sub_0806FC80: @ 0x0806FC80 - push {r4, r5, lr} - lsls r4, r2, #4 - movs r2, #0x2e - ldrsh r3, [r1, r2] - movs r5, #0x32 - ldrsh r2, [r1, r5] - adds r1, r3, #0 - bl sub_080041DC - cmp r4, r0 - bhs _0806FC9A - movs r0, #0 - b _0806FC9C -_0806FC9A: - movs r0, #1 -_0806FC9C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0806FCA0 -sub_0806FCA0: @ 0x0806FCA0 - push {lr} - bl sub_080045C4 - bl sub_0806F5A4 - pop {pc} - - thumb_func_start sub_0806FCAC -sub_0806FCAC: @ 0x0806FCAC - push {lr} - bl sub_080045C4 - bl sub_0806F5B0 - pop {pc} - - thumb_func_start sub_0806FCB8 -sub_0806FCB8: @ 0x0806FCB8 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0x2e - ldrsh r0, [r4, r5] - subs r0, r0, r1 - movs r5, #0x32 - ldrsh r1, [r4, r5] - subs r1, r1, r2 - adds r2, r3, #0 - bl sub_0806FCD0 - pop {r4, r5, pc} - - thumb_func_start sub_0806FCD0 -sub_0806FCD0: @ 0x0806FCD0 - push {r4, lr} - movs r3, #0 - adds r4, r2, #0 - muls r4, r2, r4 - adds r2, r4, #0 - adds r4, r0, #0 - muls r4, r0, r4 - adds r0, r4, #0 - adds r4, r1, #0 - muls r4, r1, r4 - adds r1, r4, #0 - adds r0, r0, r1 - cmp r2, r0 - blt _0806FCEE - movs r3, #1 -_0806FCEE: - adds r0, r3, #0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0806FCF4 -sub_0806FCF4: @ 0x0806FCF4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r2, #0 - adds r5, r3, #0 - movs r2, #0 - cmp r1, #0 - bge _0806FD04 - rsbs r1, r1, #0 -_0806FD04: - cmp r4, #0 - beq _0806FD1A - movs r0, #0x80 - lsls r0, r0, #9 - bl __divsi3 - adds r1, r0, #0 - adds r0, r4, #0 - muls r0, r1, r0 - lsrs r1, r0, #8 - subs r2, r4, r1 -_0806FD1A: - cmp r5, #0 - beq _0806FD22 - cmp r5, #3 - bne _0806FD24 -_0806FD22: - rsbs r2, r2, #0 -_0806FD24: - cmp r5, #0 - beq _0806FD2C - cmp r5, #2 - bne _0806FD32 -_0806FD2C: - adds r0, r6, #0 - adds r0, #0x63 - b _0806FD36 -_0806FD32: - adds r0, r6, #0 - adds r0, #0x62 -_0806FD36: - strb r2, [r0] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0806FD3C -sub_0806FD3C: @ 0x0806FD3C - ldrb r2, [r0, #0x18] - movs r1, #0x31 - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r0, #0x18] - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r0] - bx lr - - thumb_func_start sub_0806FD54 -sub_0806FD54: @ 0x0806FD54 - push {r4, lr} - adds r3, r0, #0 - ldr r0, _0806FD6C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x10 - ands r0, r1 - cmp r0, #0 - bne _0806FD70 - movs r0, #0 - b _0806FD84 - .align 2, 0 -_0806FD6C: .4byte gUnk_03003F80 -_0806FD70: - ldr r0, _0806FD88 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r4, #0x32 - ldrsh r2, [r0, r4] - subs r2, #9 - adds r0, r3, #0 - movs r3, #0x48 - bl sub_0806FCB8 -_0806FD84: - pop {r4, pc} - .align 2, 0 -_0806FD88: .4byte gUnk_03001160 - - thumb_func_start sub_0806FD8C -sub_0806FD8C: @ 0x0806FD8C - push {lr} - ldr r0, _0806FD9C @ =gUnk_020000C0 - movs r1, #0xc0 - lsls r1, r1, #4 - bl sub_0801D630 - pop {pc} - .align 2, 0 -_0806FD9C: .4byte gUnk_020000C0 - - thumb_func_start sub_0806FDA0 -sub_0806FDA0: @ 0x0806FDA0 - push {r4, lr} - movs r3, #1 - ldr r1, _0806FDD8 @ =gUnk_020000C0 - movs r4, #0xff - movs r2, #0x61 - adds r2, r2, r1 - mov ip, r2 - adds r2, r1, #0 - adds r2, #0x40 - adds r1, r0, #0 - adds r1, #0x28 -_0806FDB6: - ldrb r0, [r2] - lsls r0, r0, #0x1f - cmp r0, #0 - bne _0806FDDC - strb r3, [r1] - ldrb r0, [r2] - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - strb r4, [r2, #1] - strb r4, [r2, #0x11] - mov r0, ip - strb r4, [r0] - strb r4, [r0, #0x10] - movs r0, #1 - b _0806FDEA - .align 2, 0 -_0806FDD8: .4byte gUnk_020000C0 -_0806FDDC: - movs r0, #0x40 - add ip, r0 - adds r2, #0x40 - adds r3, #1 - cmp r3, #0x2f - bls _0806FDB6 - movs r0, #0 -_0806FDEA: - pop {r4, pc} - - thumb_func_start sub_0806FDEC -sub_0806FDEC: @ 0x0806FDEC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r4, r1, #0 - bl sub_0806FDA0 - cmp r0, #0 - bne _0806FE02 - movs r0, #0 - b _0806FE74 -_0806FE02: - adds r0, r6, #0 - bl sub_0801D230 - adds r0, r6, #0 - adds r0, #0x28 - ldrb r0, [r0] - lsls r0, r0, #6 - ldr r1, _0806FE7C @ =gUnk_020000C0 - adds r5, r0, r1 - movs r7, #0 - ldrh r1, [r4, #2] - ldr r0, _0806FE80 @ =0x000003FF - ands r0, r1 - movs r1, #0x27 - adds r1, r1, r6 - mov r8, r1 - cmp r0, #0 - beq _0806FE6C -_0806FE26: - ldr r1, [r4] - lsls r1, r1, #0x16 - lsrs r1, r1, #0x16 - adds r0, r6, #0 - bl sub_0801D040 - adds r2, r0, #0 - ldr r3, [r4] - lsls r1, r3, #6 - lsrs r1, r1, #0x16 - lsls r3, r3, #0x10 - lsrs r3, r3, #0x1a - adds r0, r5, #0 - bl sub_0806FEE8 - ldrb r1, [r4, #3] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _0806FE56 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0806FEFC -_0806FE56: - adds r5, #0x10 - adds r4, #4 - adds r7, #1 - cmp r7, #3 - bhi _0806FE6C - ldrh r1, [r4, #2] - ldr r2, _0806FE80 @ =0x000003FF - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _0806FE26 -_0806FE6C: - movs r0, #0 - mov r1, r8 - strb r0, [r1] - movs r0, #1 -_0806FE74: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0806FE7C: .4byte gUnk_020000C0 -_0806FE80: .4byte 0x000003FF - - thumb_func_start sub_0806FE84 -sub_0806FE84: @ 0x0806FE84 - push {r4, r5, r6, lr} - adds r0, #0x28 - ldrb r2, [r0] - movs r1, #0 - strb r1, [r0] - subs r0, r2, #1 - cmp r0, #0x7e - bhi _0806FEB4 - lsls r1, r2, #6 - ldr r0, _0806FEB8 @ =gUnk_020000C0 - adds r6, r1, r0 - movs r5, #0 - adds r4, r6, #0 -_0806FE9E: - ldrb r0, [r4, #5] - bl sub_0801D244 - adds r4, #0x10 - adds r5, #1 - cmp r5, #3 - bls _0806FE9E - adds r0, r6, #0 - movs r1, #0x40 - bl sub_0801D630 -_0806FEB4: - pop {r4, r5, r6, pc} - .align 2, 0 -_0806FEB8: .4byte gUnk_020000C0 - - thumb_func_start sub_0806FEBC -sub_0806FEBC: @ 0x0806FEBC - adds r0, #0x28 - ldrb r3, [r0] - lsls r3, r3, #6 - lsls r1, r1, #4 - ldr r0, _0806FEE4 @ =gUnk_020000C0 - adds r1, r1, r0 - adds r3, r3, r1 - movs r0, #0 - str r0, [r3] - str r0, [r3, #4] - str r0, [r3, #8] - str r2, [r3, #0xc] - ldrb r0, [r3] - movs r1, #1 - orrs r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r3] - bx lr - .align 2, 0 -_0806FEE4: .4byte gUnk_020000C0 - - thumb_func_start sub_0806FEE8 -sub_0806FEE8: @ 0x0806FEE8 - strb r3, [r0, #8] - strh r1, [r0, #2] - strb r2, [r0, #5] - ldrb r1, [r0] - movs r2, #8 - orrs r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0] - bx lr - - thumb_func_start sub_0806FEFC -sub_0806FEFC: @ 0x0806FEFC - adds r1, #0x60 - ldrh r1, [r1] - ldrb r2, [r0, #8] - adds r1, r1, r2 - strh r1, [r0, #0xa] - ldrb r1, [r0] - movs r2, #4 - orrs r1, r2 - strb r1, [r0] - bx lr - - thumb_func_start sub_0806FF10 -sub_0806FF10: @ 0x0806FF10 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r2, #0 - adds r0, #0x28 - ldrb r2, [r0] - lsls r2, r2, #6 - lsls r1, r1, #4 - ldr r0, _0806FF44 @ =gUnk_020000C0 - adds r1, r1, r0 - adds r4, r2, r1 - adds r0, r5, #0 - bl sub_0801D108 - ldrb r1, [r4, #5] - cmp r1, r0 - beq _0806FF40 - adds r0, r1, #0 - bl sub_0801D244 - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0801D040 - strb r0, [r4, #5] -_0806FF40: - pop {r4, r5, r6, pc} - .align 2, 0 -_0806FF44: .4byte gUnk_020000C0 - - thumb_func_start sub_0806FF48 -sub_0806FF48: @ 0x0806FF48 - adds r0, #0x28 - ldrb r0, [r0] - lsls r0, r0, #6 - lsls r1, r1, #4 - ldr r3, _0806FF5C @ =gUnk_020000C0 - adds r1, r1, r3 - adds r0, r0, r1 - strb r2, [r0, #4] - bx lr - .align 2, 0 -_0806FF5C: .4byte gUnk_020000C0 - - thumb_func_start sub_0806FF60 -sub_0806FF60: @ 0x0806FF60 - push {lr} - adds r3, r2, #0 - adds r0, #0x28 - ldrb r0, [r0] - lsls r0, r0, #6 - ldr r2, _0806FF84 @ =gUnk_020000C0 - adds r0, r0, r2 - lsls r1, r1, #4 - adds r2, r0, r1 - ldrb r0, [r2, #1] - cmp r0, r3 - beq _0806FF82 - strb r3, [r2, #1] - ldrb r0, [r2] - movs r1, #8 - orrs r0, r1 - strb r0, [r2] -_0806FF82: - pop {pc} - .align 2, 0 -_0806FF84: .4byte gUnk_020000C0 - - thumb_func_start sub_0806FF88 -sub_0806FF88: @ 0x0806FF88 - push {r4, r5, lr} - adds r5, r1, #0 - adds r0, #0x28 - ldrb r4, [r0] - lsls r4, r4, #6 - ldr r0, _0806FFB8 @ =gUnk_020000C0 - adds r4, r4, r0 - lsls r5, r5, #4 - adds r5, r4, r5 - lsls r2, r2, #4 - adds r4, r4, r2 - ldrh r0, [r5, #2] - ldrb r1, [r5, #1] - bl sub_080700C8 - ldrb r1, [r5, #6] - ldrb r2, [r0] - adds r1, r1, r2 - strb r1, [r4, #6] - ldrb r1, [r5, #7] - ldrb r0, [r0, #1] - adds r1, r1, r0 - strb r1, [r4, #7] - pop {r4, r5, pc} - .align 2, 0 -_0806FFB8: .4byte gUnk_020000C0 - - thumb_func_start sub_0806FFBC -sub_0806FFBC: @ 0x0806FFBC - push {r4, lr} - adds r0, #0x28 - ldrb r0, [r0] - lsls r0, r0, #6 - lsls r1, r1, #4 - ldr r4, _0806FFD4 @ =gUnk_020000C0 - adds r1, r1, r4 - adds r0, r0, r1 - strb r2, [r0, #6] - strb r3, [r0, #7] - pop {r4, pc} - .align 2, 0 -_0806FFD4: .4byte gUnk_020000C0 - - thumb_func_start sub_0806FFD8 -sub_0806FFD8: @ 0x0806FFD8 - push {r4, r5, lr} - adds r5, r1, #0 - adds r0, #0x28 - ldrb r4, [r0] - lsls r4, r4, #6 - ldr r0, _08070008 @ =gUnk_020000C0 - adds r4, r4, r0 - lsls r5, r5, #4 - adds r5, r4, r5 - lsls r2, r2, #4 - adds r4, r4, r2 - ldrh r0, [r5, #2] - ldrb r1, [r5, #1] - bl sub_080700C8 - ldrb r1, [r5, #6] - ldrb r2, [r0, #2] - adds r1, r1, r2 - strb r1, [r4, #6] - ldrb r1, [r5, #7] - ldrb r0, [r0, #3] - adds r1, r1, r0 - strb r1, [r4, #7] - pop {r4, r5, pc} - .align 2, 0 -_08070008: .4byte gUnk_020000C0 - - thumb_func_start sub_0807000C -sub_0807000C: @ 0x0807000C - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r7, r6, #0 - adds r7, #0x28 - ldrb r4, [r7] - lsls r4, r4, #6 - ldr r0, _08070074 @ =gUnk_020000C0 - adds r4, r4, r0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0807007C - adds r5, r0, #0 - adds r0, r4, #0 - movs r1, #1 - bl sub_0807007C - orrs r5, r0 - adds r0, r4, #0 - movs r1, #2 - bl sub_0807007C - orrs r5, r0 - adds r0, r4, #0 - movs r1, #3 - bl sub_0807007C - orrs r5, r0 - cmp r5, #0 - beq _08070072 - ldr r3, _08070078 @ =gUnk_02024490 - adds r2, r6, #0 - adds r2, #0x26 - ldrb r1, [r2] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r7] - strb r1, [r0, #7] - ldrb r1, [r2] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r2, [r0, #4] - movs r1, #0xf - ands r1, r2 - movs r2, #0x30 - orrs r1, r2 - strb r1, [r0, #4] -_08070072: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08070074: .4byte gUnk_020000C0 -_08070078: .4byte gUnk_02024490 - - thumb_func_start sub_0807007C -sub_0807007C: @ 0x0807007C - push {lr} - lsls r1, r1, #4 - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080700C4 - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _080700C4 - ldrb r0, [r2, #1] - cmp r0, #0xff - beq _080700C4 - ldrh r0, [r2, #2] - lsls r0, r0, #4 - ldr r1, _080700C0 @ =gUnk_080029B4 - adds r3, r0, r1 - ldr r1, [r3, #4] - cmp r1, #0 - beq _080700C4 - ldrb r0, [r2, #1] - lsls r0, r0, #2 - adds r0, r1, r0 - ldrb r1, [r0] - strb r1, [r2, #9] - ldrh r1, [r0, #2] - lsls r1, r1, #5 - ldr r0, [r3, #8] - adds r0, r0, r1 - str r0, [r2, #0xc] - movs r0, #1 - b _080700C6 - .align 2, 0 -_080700C0: .4byte gUnk_080029B4 -_080700C4: - movs r0, #0 -_080700C6: - pop {pc} - - thumb_func_start sub_080700C8 -sub_080700C8: @ 0x080700C8 - lsls r0, r0, #1 - ldr r2, _080700E4 @ =gUnk_089FB780 - adds r0, r0, r2 - ldrh r0, [r0] - subs r2, #0x10 - adds r0, r0, r2 - adds r1, r0, r1 - ldrb r0, [r1] - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r1, [r2] - adds r0, r1, r0 - bx lr - .align 2, 0 -_080700E4: .4byte gUnk_089FB780 - - thumb_func_start sub_080700E8 -sub_080700E8: @ 0x080700E8 - push {lr} - ldr r2, _080700FC @ =gUnk_0811B98C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080700FC: .4byte gUnk_0811B98C - - thumb_func_start sub_08070100 -sub_08070100: @ 0x08070100 - push {r4, r5, lr} - adds r5, r0, #0 - movs r2, #1 - movs r3, #1 - strb r3, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - ldrb r0, [r5, #0x14] - lsls r0, r0, #2 - strb r0, [r5, #0x15] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - movs r0, #0x40 - str r0, [r5, #0x74] - movs r0, #0xf0 - lsls r0, r0, #1 - str r0, [r5, #0x78] - ldr r2, _0807017C @ =gUnk_03001160 - ldr r1, _08070180 @ =gUnk_0811B9A0 - ldrb r0, [r5, #0x14] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r4, [r2, #0x2e] - adds r0, r0, r4 - strh r0, [r5, #0x2e] - ldrb r0, [r5, #0x14] - adds r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r5, #0x32] - adds r1, r5, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - subs r1, #1 - movs r0, #0x8a - strb r0, [r1] - ldr r0, _08070184 @ =gUnk_0811B9D0 - str r0, [r5, #0x48] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #2 - bne _08070188 - strb r3, [r5, #0xa] - b _0807018C - .align 2, 0 -_0807017C: .4byte gUnk_03001160 -_08070180: .4byte gUnk_0811B9A0 -_08070184: .4byte gUnk_0811B9D0 -_08070188: - movs r0, #0 - strb r0, [r5, #0xa] -_0807018C: - ldrb r1, [r2, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r5, #0x1b] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x1b] - ldrb r3, [r5, #0x14] - lsrs r3, r3, #1 - lsls r3, r3, #3 - ldr r0, _080701F0 @ =gUnk_0811B9A8 - adds r3, r3, r0 - ldrb r1, [r3] - movs r0, #1 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r5, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] - ldrb r1, [r3, #1] - lsls r1, r1, #7 - movs r2, #0x7f - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] - ldrb r0, [r3, #4] - adds r4, r5, #0 - adds r4, #0x58 - strb r0, [r4] - movs r0, #2 - ldrsb r0, [r3, r0] - str r0, [r5, #0x6c] - movs r0, #3 - ldrsb r0, [r3, r0] - str r0, [r5, #0x70] - adds r0, r5, #0 - bl sub_0801766C - ldrb r1, [r4] - adds r0, r5, #0 - bl sub_08004260 - ldr r0, _080701F4 @ =0x000001DD - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_080701F0: .4byte gUnk_0811B9A8 -_080701F4: .4byte 0x000001DD - - thumb_func_start sub_080701F8 -sub_080701F8: @ 0x080701F8 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r0, _08070244 @ =gUnk_0811B9C8 - ldrb r1, [r5, #0x14] - adds r2, r1, r0 - movs r6, #0 - ldrsb r6, [r2, r6] - adds r1, #1 - adds r1, r1, r0 - movs r7, #0 - ldrsb r7, [r1, r7] - adds r0, r5, #0 - movs r1, #0xa - adds r2, r6, #0 - adds r3, r7, #0 - bl sub_08008782 - adds r4, r0, #0 - cmp r4, #0 - beq _08070248 - ldrb r1, [r4, #5] - ldrb r2, [r4, #2] - movs r0, #0x53 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08070260 - ldrb r0, [r4, #3] - strb r0, [r1, #0xe] - ldrh r0, [r5, #0x2e] - adds r0, r0, r6 - strh r0, [r1, #0x2e] - ldrh r0, [r5, #0x32] - adds r0, r0, r7 - strh r0, [r1, #0x32] - b _08070260 - .align 2, 0 -_08070244: .4byte gUnk_0811B9C8 -_08070248: - ldr r0, [r5, #0x74] - subs r0, #1 - str r0, [r5, #0x74] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - beq _08070260 - ldr r0, [r5, #0x78] - subs r0, #1 - str r0, [r5, #0x78] - cmp r0, r1 - bne _08070268 -_08070260: - adds r0, r5, #0 - bl sub_08070458 - b _0807037A -_08070268: - adds r0, r5, #0 - bl sub_08004274 - adds r0, r5, #0 - bl sub_0806F69C - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _08070280 - adds r0, r5, #0 - bl sub_0800451C -_08070280: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r7, _08070354 @ =gUnk_03000BF0 - ldrh r1, [r7, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r6, #0x3f - ands r0, r6 - movs r2, #0x32 - ldrsh r1, [r5, r2] - ldrh r2, [r7, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r0, r1 - ldr r1, _08070358 @ =gUnk_03001160 - adds r1, #0x38 - ldrb r1, [r1] - movs r2, #0x80 - bl sub_080002F0 - cmp r0, #0 - bne _0807036A - ldr r1, _0807035C @ =gUnk_08003E44 - movs r3, #0x2e - ldrsh r2, [r5, r3] - movs r0, #0x32 - ldrsh r3, [r5, r0] - adds r0, r5, #0 - bl sub_080040D8 - cmp r0, #0 - bne _08070364 - adds r0, r5, #0 - bl sub_080002B8 - cmp r0, #0x19 - bne _0807036A - movs r0, #4 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - ldrh r2, [r5, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - movs r2, #8 - orrs r0, r2 - strh r0, [r5, #0x2e] - ldrh r0, [r5, #0x32] - ands r1, r0 - orrs r1, r2 - strh r1, [r5, #0x32] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldrh r1, [r7, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r6 - movs r2, #0x32 - ldrsh r1, [r5, r2] - ldrh r2, [r7, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r0, r1 - adds r4, r5, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080001DA - str r0, [r5, #0x7c] - adds r0, r5, #0 - movs r1, #0x14 - bl sub_08004260 - ldr r0, _08070360 @ =0x00004020 - movs r3, #0x2e - ldrsh r1, [r5, r3] - ldrh r2, [r7, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - movs r3, #0x32 - ldrsh r2, [r5, r3] - ldrh r3, [r7, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r4] - bl sub_0800015E - b _0807037A - .align 2, 0 -_08070354: .4byte gUnk_03000BF0 -_08070358: .4byte gUnk_03001160 -_0807035C: .4byte gUnk_08003E44 -_08070360: .4byte 0x00004020 -_08070364: - adds r0, r5, #0 - bl sub_08070458 -_0807036A: - adds r0, r5, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0 - beq _0807037A - adds r0, r5, #0 - bl sub_08070458 -_0807037A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807037C -sub_0807037C: @ 0x0807037C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08070394 - bl sub_0805E780 -_08070394: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08070398 -sub_08070398: @ 0x08070398 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080703B8 - bl sub_0805E780 -_080703B8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080703BC -sub_080703BC: @ 0x080703BC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _08070404 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - adds r1, r0, #0 - ldr r0, _08070408 @ =0x00004021 - cmp r1, r0 - beq _0807042E - cmp r1, r0 - bhi _0807040C - subs r0, #1 - cmp r1, r0 - beq _08070420 - b _08070412 - .align 2, 0 -_08070404: .4byte gUnk_03000BF0 -_08070408: .4byte 0x00004021 -_0807040C: - ldr r0, _08070418 @ =0x00004070 - cmp r1, r0 - beq _0807041C -_08070412: - movs r0, #0 - str r0, [r4, #0x7c] - b _0807042E - .align 2, 0 -_08070418: .4byte 0x00004070 -_0807041C: - movs r0, #0xff - str r0, [r4, #0x78] -_08070420: - ldr r0, [r4, #0x78] - subs r0, #1 - str r0, [r4, #0x78] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _08070436 -_0807042E: - adds r0, r4, #0 - bl sub_08070458 - b _08070454 -_08070436: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - cmp r1, #0 - beq _08070454 - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0807044E - ldrb r0, [r4, #0xc] - cmp r0, #0x1a - bne _08070454 -_0807044E: - adds r0, r4, #0 - bl sub_08070458 -_08070454: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08070458 -sub_08070458: @ 0x08070458 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r2, #0 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - strh r2, [r4, #0x24] - ldr r5, [r4, #0x7c] - cmp r5, #0 - beq _0807049E - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _080704B4 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r6, #0x32 - ldrsh r0, [r4, r6] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r5, #0 - bl sub_0800015E -_0807049E: - adds r0, r4, #0 - movs r1, #0x13 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08017744 - ldr r0, _080704B8 @ =0x00000199 - bl sub_080A3268 - pop {r4, r5, r6, pc} - .align 2, 0 -_080704B4: .4byte gUnk_03000BF0 -_080704B8: .4byte 0x00000199 - - thumb_func_start sub_080704BC -sub_080704BC: @ 0x080704BC - push {lr} - ldr r2, _080704D0 @ =gUnk_0811B9D8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080704D0: .4byte gUnk_0811B9D8 - - thumb_func_start sub_080704D4 -sub_080704D4: @ 0x080704D4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xff - strb r0, [r4, #0x1e] - adds r0, r4, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 - movs r0, #0x87 - lsls r0, r0, #1 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_080704FC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080704FC -sub_080704FC: @ 0x080704FC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0807052C @ =gUnk_03001160 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r2, [r0] - movs r0, #0x80 - ands r0, r2 - ldr r1, _08070530 @ =gUnk_03003F80 - cmp r0, #0 - bne _08070518 - ldr r0, [r1, #0x2c] - cmp r4, r0 - beq _08070534 -_08070518: - ldr r0, [r1, #0x2c] - cmp r4, r0 - bne _08070522 - movs r0, #0 - str r0, [r1, #0x2c] -_08070522: - adds r0, r4, #0 - bl sub_0805E7BC - b _08070566 - .align 2, 0 -_0807052C: .4byte gUnk_03001160 -_08070530: .4byte gUnk_03003F80 -_08070534: - movs r0, #0xf - ands r0, r2 - cmp r0, #0xf - beq _08070562 - ldrb r1, [r5, #0x1e] - adds r0, #0x91 - subs r0, r1, r0 - ldrb r2, [r4, #0x1e] - cmp r0, r2 - beq _08070558 - adds r0, r1, #0 - adds r0, #0x6f - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x1e] - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 -_08070558: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08078E84 - b _08070566 -_08070562: - movs r0, #0xff - strb r0, [r4, #0x1e] -_08070566: - ldr r2, _08070580 @ =gUnk_03001160 - ldrb r1, [r2, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08070584 - ldrb r0, [r2, #0x18] - lsls r0, r0, #0x19 - lsrs r2, r0, #0x1f - movs r0, #1 - eors r2, r0 - b _0807058A - .align 2, 0 -_08070580: .4byte gUnk_03001160 -_08070584: - ldrb r0, [r2, #0x18] - lsls r0, r0, #0x19 - lsrs r2, r0, #0x1f -_0807058A: - lsls r2, r2, #6 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0807059C -sub_0807059C: @ 0x0807059C - push {lr} - ldr r0, _080705A8 @ =gUnk_02034490 - movs r1, #0x18 - bl sub_0801D630 - pop {pc} - .align 2, 0 -_080705A8: .4byte gUnk_02034490 - - thumb_func_start sub_080705AC -sub_080705AC: @ 0x080705AC - push {lr} - ldr r0, _08070614 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08070674 - ldr r0, _08070618 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08070674 - ldr r0, _0807061C @ =gUnk_02034490 - ldrb r0, [r0] - cmp r0, #0 - bne _08070674 - ldr r0, _08070620 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08070674 - ldr r1, _08070624 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xaa - ldrb r0, [r0] - cmp r0, #0 - beq _08070674 - adds r0, r1, #0 - adds r0, #0xf2 - ldrb r0, [r0] - cmp r0, #0 - beq _08070674 - ldr r1, _08070628 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x8b - ldrb r0, [r0] - cmp r0, #0 - bne _08070674 - ldr r0, _0807062C @ =gUnk_03003DC0 - ldrh r0, [r0, #8] - cmp r0, #0 - bne _08070674 - adds r2, r1, #0 - adds r2, #0xa8 - ldrb r0, [r2] - cmp r0, #0 - bne _08070630 - adds r0, r1, #0 - adds r0, #0xa9 - ldrb r0, [r0] - b _08070632 - .align 2, 0 -_08070614: .4byte gUnk_03000FF0 -_08070618: .4byte gUnk_03000FD0 -_0807061C: .4byte gUnk_02034490 -_08070620: .4byte gUnk_02000050 -_08070624: .4byte gUnk_02002A40 -_08070628: .4byte gUnk_03003F80 -_0807062C: .4byte gUnk_03003DC0 -_08070630: - ldrb r0, [r2] -_08070632: - subs r0, #0x12 - cmp r0, #0xa - bhi _08070678 - lsls r0, r0, #2 - ldr r1, _08070644 @ =_08070648 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08070644: .4byte _08070648 -_08070648: @ jump table - .4byte _08070674 @ case 0 - .4byte _08070674 @ case 1 - .4byte _08070678 @ case 2 - .4byte _08070674 @ case 3 - .4byte _08070674 @ case 4 - .4byte _08070678 @ case 5 - .4byte _08070678 @ case 6 - .4byte _08070678 @ case 7 - .4byte _08070678 @ case 8 - .4byte _08070678 @ case 9 - .4byte _08070674 @ case 10 -_08070674: - movs r0, #0 - b _0807067E -_08070678: - bl sub_080A4D88 - movs r0, #1 -_0807067E: - pop {pc} - - thumb_func_start sub_08070680 -sub_08070680: @ 0x08070680 - push {lr} - ldr r2, _08070694 @ =gUnk_0811B9E0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08070694: .4byte gUnk_0811B9E0 - - thumb_func_start sub_08070698 -sub_08070698: @ 0x08070698 - push {r4, r5, r6, lr} - sub sp, #4 - adds r4, r0, #0 - ldr r6, _08070788 @ =gUnk_03003F80 - movs r0, #0xff - strb r0, [r6] - ldr r1, _0807078C @ =gUnk_03001160 - ldrh r0, [r1, #0x2e] - strh r0, [r6, #0x16] - ldrh r0, [r1, #0x32] - strh r0, [r6, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x20 - strb r0, [r4, #0x16] - adds r1, r4, #0 - adds r1, #0x3b - movs r0, #8 - strb r0, [r1] - adds r1, #4 - movs r0, #0x79 - strb r0, [r1] - ldr r0, _08070790 @ =gUnk_08114F88 - str r0, [r4, #0x48] - movs r0, #1 - strh r0, [r4, #0x12] - adds r0, #0xff - strh r0, [r6, #8] - adds r0, r4, #0 - bl sub_0806FDA0 - adds r0, r4, #0 - movs r1, #1 - movs r2, #2 - bl sub_080AE008 - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - bne _08070726 - adds r0, r4, #0 - bl sub_08016A30 -_08070726: - movs r0, #0x10 - bl sub_0805436C - cmp r0, #2 - beq _08070734 - bl sub_08077728 -_08070734: - bl sub_0807A108 - bl sub_0807AEE4 - bl sub_08078EFC - adds r5, r0, #0 - cmp r5, #0 - bne _08070784 - bl sub_0807921C - bl sub_0807A1B8 - adds r1, r6, #0 - adds r1, #0x26 - ldrb r0, [r1] - cmp r0, #0 - beq _08070784 - movs r0, #1 - strb r0, [r1] - bl sub_08079938 - adds r1, r6, #0 - adds r1, #0xa8 - movs r0, #7 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807ACCC - str r5, [sp] - movs r0, #6 - movs r1, #0xf - movs r2, #6 - movs r3, #0xb - bl sub_0805EB2C - cmp r0, #0 - beq _08070784 - bl sub_0805E7BC -_08070784: - add sp, #4 - pop {r4, r5, r6, pc} - .align 2, 0 -_08070788: .4byte gUnk_03003F80 -_0807078C: .4byte gUnk_03001160 -_08070790: .4byte gUnk_08114F88 - - thumb_func_start sub_08070794 -sub_08070794: @ 0x08070794 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r6, _080707F0 @ =gUnk_03003F80 - adds r3, r6, #0 - adds r3, #0xa8 - movs r4, #0 - strb r4, [r3] - ldr r1, [r6, #0x30] - movs r7, #0x10 - adds r0, r1, #0 - ands r0, r7 - mov ip, r6 - cmp r0, #0 - beq _08070818 - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x42 - strb r4, [r0] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - movs r0, #0x80 - strb r0, [r6, #6] - strb r7, [r3] - ldrb r0, [r5, #0x14] - lsrs r0, r0, #1 - adds r0, #0x5c - adds r1, r5, #0 - adds r1, #0x58 - ldrb r1, [r1] - cmp r0, r1 - bne _080707F8 - ldrh r0, [r5, #0x12] - cmp r0, #2 - bne _080707F8 - ldr r0, _080707F4 @ =gUnk_03001160 - bl sub_080042B8 - b _08070800 - .align 2, 0 -_080707F0: .4byte gUnk_03003F80 -_080707F4: .4byte gUnk_03001160 -_080707F8: - movs r0, #0x97 - lsls r0, r0, #2 - mov r1, ip - strh r0, [r1, #8] -_08070800: - ldr r0, _08070814 @ =gUnk_03001160 - bl sub_0806F948 - bl sub_08077B2C - adds r0, r5, #0 - bl sub_08077698 - b _08070BE4 - .align 2, 0 -_08070814: .4byte gUnk_03001160 -_08070818: - movs r0, #0x80 - lsls r0, r0, #5 - ands r0, r1 - cmp r0, #0 - beq _08070842 - adds r1, r5, #0 - adds r1, #0x40 - movs r0, #0x1e - strb r0, [r1] - movs r0, #0xc - strb r0, [r3] - movs r1, #0 - movs r2, #0x24 - ldrsh r0, [r5, r2] - cmp r0, #0 - bne _0807083A - movs r1, #1 -_0807083A: - adds r0, r5, #0 - bl sub_08070BEC - b _08070BE4 -_08070842: - movs r4, #0x80 - lsls r4, r4, #0xc - ands r4, r1 - cmp r4, #0 - beq _08070852 - bl sub_08079938 - b _08070BE4 -_08070852: - adds r0, r5, #0 - bl sub_080085B0 - adds r0, r5, #0 - adds r0, #0x40 - strb r4, [r0] - bl sub_08078EFC - cmp r0, #0 - beq _08070868 - b _08070BE4 -_08070868: - adds r0, r6, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _080708AC - ldrb r1, [r6, #2] - movs r2, #0xc0 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _080708AC - ldrb r0, [r6, #3] - cmp r0, #0 - bne _0807088E - adds r0, r6, #0 - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - beq _08070892 -_0807088E: - strh r2, [r5, #0x24] - b _080708AC -_08070892: - ldrb r0, [r6, #0x1b] - cmp r0, #0 - beq _0807089C - movs r0, #0xe0 - b _080708AA -_0807089C: - ldrb r0, [r6, #0x1c] - cmp r0, #0 - beq _080708A6 - movs r0, #0x80 - b _080708AA -_080708A6: - movs r0, #0xa0 - lsls r0, r0, #1 -_080708AA: - strh r0, [r5, #0x24] -_080708AC: - ldr r4, _08070918 @ =gUnk_03003F80 - ldrb r0, [r4, #6] - movs r1, #0x80 - orrs r1, r0 - strb r1, [r4, #6] - ldr r0, [r4, #0x30] - ldr r6, _0807091C @ =0x10000002 - ands r0, r6 - cmp r0, #0 - bne _080708C4 - bl sub_0807A1B8 -_080708C4: - bl sub_08078EFC - cmp r0, #0 - beq _080708CE - b _08070BE4 -_080708CE: - ldrb r0, [r4, #2] - cmp r0, #0 - beq _080708D6 - b _080709D8 -_080708D6: - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #3 - ands r0, r1 - cmp r0, #0 - beq _080708E4 - b _080709D8 -_080708E4: - adds r0, r5, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _08070924 - bl sub_080782C0 - cmp r0, #0 - beq _08070924 - ldr r0, _08070920 @ =gUnk_02034350 - ldrb r0, [r0, #6] - cmp r0, #0 - bne _08070902 - bl sub_08077B2C -_08070902: - ldr r0, [r4, #0x30] - ands r0, r6 - cmp r0, #0 - beq _0807090C - b _08070BE4 -_0807090C: - bl sub_0807A1B8 - bl sub_08078EFC - b _08070BE4 - .align 2, 0 -_08070918: .4byte gUnk_03003F80 -_0807091C: .4byte 0x10000002 -_08070920: .4byte gUnk_02034350 -_08070924: - ldr r0, _0807094C @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - ldr r2, _08070950 @ =0x00041635 - ands r1, r2 - adds r0, #0xaa - ldrb r0, [r0] - orrs r1, r0 - cmp r1, #0 - bne _080709D8 - bl sub_08019840 - cmp r0, #0xf - bls _08070940 - b _08070BE4 -_08070940: - lsls r0, r0, #2 - ldr r1, _08070954 @ =_08070958 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807094C: .4byte gUnk_03003F80 -_08070950: .4byte 0x00041635 -_08070954: .4byte _08070958 -_08070958: @ jump table - .4byte _08070998 @ case 0 - .4byte _08070BE4 @ case 1 - .4byte _08070BE4 @ case 2 - .4byte _080709A8 @ case 3 - .4byte _080709C2 @ case 4 - .4byte _08070BE4 @ case 5 - .4byte _08070BE4 @ case 6 - .4byte _08070BE4 @ case 7 - .4byte _08070BE4 @ case 8 - .4byte _08070BE4 @ case 9 - .4byte _08070BE4 @ case 10 - .4byte _08070BE4 @ case 11 - .4byte _08070BE4 @ case 12 - .4byte _08070BE4 @ case 13 - .4byte _08070BE4 @ case 14 - .4byte _080709B4 @ case 15 -_08070998: - ldr r0, _080709A4 @ =gUnk_03003F80 - ldrb r1, [r0, #6] - movs r2, #0x80 - eors r1, r2 - strb r1, [r0, #6] - b _080709D8 - .align 2, 0 -_080709A4: .4byte gUnk_03003F80 -_080709A8: - ldr r1, _080709B0 @ =gUnk_03003F80 - movs r0, #0x80 - strb r0, [r1, #6] - b _080709D8 - .align 2, 0 -_080709B0: .4byte gUnk_03003F80 -_080709B4: - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - bl sub_080797EC - b _08070BE4 -_080709C2: - ldr r0, _080709D4 @ =gUnk_03003F80 - ldrb r1, [r0, #6] - movs r2, #0x80 - eors r1, r2 - strb r1, [r0, #6] - bl sub_080797EC - b _08070BE4 - .align 2, 0 -_080709D4: .4byte gUnk_03003F80 -_080709D8: - adds r1, r5, #0 - adds r1, #0x3c - movs r0, #0 - strb r0, [r1] - adds r6, r5, #0 - adds r6, #0x29 - ldrb r1, [r6] - subs r0, #8 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r6] - adds r0, r5, #0 - bl sub_0807AC54 - cmp r0, #0 - beq _080709FC - b _08070BE4 -_080709FC: - adds r0, r5, #0 - bl sub_08077698 - bl sub_08078EFC - cmp r0, #0 - beq _08070A0C - b _08070BE4 -_08070A0C: - bl sub_080792D8 - ldr r4, _08070A78 @ =gUnk_03003F80 - ldrb r1, [r4, #2] - ldrb r0, [r4, #0xa] - orrs r0, r1 - cmp r0, #0 - bne _08070A32 - bl sub_08079550 - cmp r0, #0 - beq _08070A26 - b _08070BE4 -_08070A26: - adds r0, r5, #0 - bl sub_08078F74 - cmp r0, #0 - beq _08070A32 - b _08070BE4 -_08070A32: - adds r0, r5, #0 - bl sub_08073904 - bl sub_08078EFC - cmp r0, #0 - beq _08070A42 - b _08070BE4 -_08070A42: - ldrb r2, [r4, #2] - cmp r2, #0 - beq _08070AAC - adds r1, r4, #0 - adds r1, #0xa8 - movs r0, #0x14 - strb r0, [r1] - movs r0, #0xc0 - ands r0, r2 - cmp r0, #0 - bne _08070A80 - movs r0, #7 - ands r0, r2 - cmp r0, #3 - beq _08070A7C - movs r0, #0x20 - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _08070A7C - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08008926 - b _08070A80 - .align 2, 0 -_08070A78: .4byte gUnk_03003F80 -_08070A7C: - movs r0, #0xff - strb r0, [r5, #0x15] -_08070A80: - bl sub_08079E08 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08070A94 - b _08070BE4 -_08070A94: - ldr r0, _08070AA8 @ =gUnk_03003F80 - ldrb r0, [r0, #4] - cmp r0, #0 - beq _08070A9E - b _08070BE4 -_08070A9E: - adds r0, r5, #0 - bl sub_080042B8 - b _08070BE4 - .align 2, 0 -_08070AA8: .4byte gUnk_03003F80 -_08070AAC: - adds r0, r5, #0 - adds r0, #0x42 - ldrb r1, [r0] - adds r7, r0, #0 - cmp r1, #0 - beq _08070ABA - b _08070BBC -_08070ABA: - adds r0, r4, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08070AD4 - adds r1, r4, #0 - adds r1, #0xa8 - movs r0, #7 - strb r0, [r1] - adds r0, r5, #0 - bl sub_0807ACCC - b _08070B56 -_08070AD4: - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x12 - ands r0, r1 - cmp r0, #0 - bne _08070AEE - ldrb r0, [r6] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strb r1, [r6] -_08070AEE: - ldrb r1, [r4, #0x1e] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08070B00 - adds r0, r5, #0 - bl sub_08008AA0 - b _08070B1E -_08070B00: - ldrb r0, [r4, #0x12] - cmp r0, #0x17 - bne _08070B0E - adds r0, r5, #0 - bl sub_08008926 - b _08070B1E -_08070B0E: - cmp r0, #1 - bne _08070B18 - bl sub_08078F60 - b _08070B1E -_08070B18: - adds r0, r5, #0 - bl sub_08008AA0 -_08070B1E: - ldr r2, _08070BB8 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1b] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - bne _08070B56 - ldrb r3, [r2, #0xd] - strb r3, [r5, #0x15] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #3 - ands r0, r1 - cmp r0, #0 - beq _08070B56 - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _08070B52 - ldrb r1, [r5, #0x14] - movs r0, #0xe - ands r0, r1 - lsls r0, r0, #2 - strb r0, [r5, #0x15] -_08070B52: - bl sub_0807A108 -_08070B56: - movs r4, #0 - ldr r3, _08070BB8 @ =gUnk_03003F80 - ldrb r2, [r3, #7] - ldrb r0, [r5, #0x15] - orrs r0, r2 - movs r1, #0x80 - ands r0, r1 - ldrb r1, [r3, #0xa] - orrs r0, r1 - cmp r0, #0 - bne _08070B8E - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - bne _08070B8E - movs r4, #1 - ldrb r0, [r7] - cmp r0, #0 - bne _08070B8E - ldrb r1, [r3, #0x1e] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - bne _08070B8C - ldrb r0, [r3, #0x12] - cmp r0, #0x17 - beq _08070B8E -_08070B8C: - movs r4, #3 -_08070B8E: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08070BEC - adds r0, r5, #0 - bl sub_08008AC6 - ldrb r0, [r7] - cmp r0, #0 - bne _08070BE4 - ldr r1, _08070BB8 @ =gUnk_03003F80 - ldrb r0, [r1, #0xb] - cmp r0, #0 - bne _08070BE4 - ldrb r0, [r1, #0x12] - cmp r0, #0x1e - beq _08070BE4 - adds r0, r5, #0 - bl sub_0806F948 - b _08070BE4 - .align 2, 0 -_08070BB8: .4byte gUnk_03003F80 -_08070BBC: - ldr r0, [r4, #0x2c] - cmp r0, #0 - bne _08070BC8 - adds r0, r5, #0 - bl sub_080042B8 -_08070BC8: - adds r0, r4, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08070BE4 - ldr r0, _08070BE8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08070BE4 - adds r0, r5, #0 - bl sub_080A2A64 -_08070BE4: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08070BE8: .4byte gUnk_030010A0 - - thumb_func_start sub_08070BEC -sub_08070BEC: @ 0x08070BEC - push {r4, lr} - adds r4, r1, #0 - movs r0, #1 - ands r0, r4 - cmp r0, #0 - beq _08070BFE - bl sub_080797EC - b _08070C02 -_08070BFE: - bl sub_08079938 -_08070C02: - movs r0, #2 - ands r0, r4 - cmp r0, #0 - beq _08070C0E - bl sub_08079E08 -_08070C0E: - pop {r4, pc} - - thumb_func_start sub_08070C10 -sub_08070C10: @ 0x08070C10 - push {lr} - ldr r2, _08070C34 @ =gUnk_03003F80 - movs r1, #0xff - strb r1, [r2, #0xd] - movs r1, #0x80 - strb r1, [r2, #6] - adds r2, #0xa8 - movs r1, #0xa - strb r1, [r2] - ldr r2, _08070C38 @ =gUnk_0811BA60 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08070C34: .4byte gUnk_03003F80 -_08070C38: .4byte gUnk_0811BA60 - - thumb_func_start sub_08070C3C -sub_08070C3C: @ 0x08070C3C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004168 - ldr r2, _08070C64 @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - movs r0, #5 - orrs r1, r0 - ldr r0, _08070C68 @ =0xFFFFFBFF - ands r1, r0 - str r1, [r2, #0x30] - movs r0, #0 - strb r0, [r2, #2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08070C6C - movs r0, #0xdd - lsls r0, r0, #1 - b _08070C7E - .align 2, 0 -_08070C64: .4byte gUnk_03003F80 -_08070C68: .4byte 0xFFFFFBFF -_08070C6C: - movs r0, #8 - ands r1, r0 - cmp r1, #0 - beq _08070C7A - movs r0, #0x8b - lsls r0, r0, #3 - b _08070C7E -_08070C7A: - movs r0, #0xdc - lsls r0, r0, #1 -_08070C7E: - strh r0, [r2, #8] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - bl sub_08077B2C - bl sub_0807A108 - movs r0, #0x7b - bl sub_080A3268 - movs r0, #0x85 - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08070CB4 -sub_08070CB4: @ 0x08070CB4 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080042B8 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08070D1A - ldr r0, _08070CF4 @ =gUnk_02002A40 - adds r0, #0xaa - ldrb r0, [r0] - ldr r4, _08070CF8 @ =gUnk_03003F80 - cmp r0, #0 - beq _08070CFC - ldr r1, [r4, #0x30] - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08070CFC - movs r0, #6 - rsbs r0, r0, #0 - ands r1, r0 - str r1, [r4, #0x30] - ldrb r1, [r5, #0x18] - adds r0, #2 - ands r0, r1 - strb r0, [r5, #0x18] - b _08070D1A - .align 2, 0 -_08070CF4: .4byte gUnk_02002A40 -_08070CF8: .4byte gUnk_03003F80 -_08070CFC: - ldr r0, [r4, #0x30] - ldr r1, _08070D1C @ =0xFFFF7FFB - ands r0, r1 - str r0, [r4, #0x30] - bl sub_08079458 - movs r0, #0 - strb r0, [r4, #0xa] - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0x20 - strb r0, [r1] - subs r0, #0x22 - bl sub_080526A0 -_08070D1A: - pop {r4, r5, pc} - .align 2, 0 -_08070D1C: .4byte 0xFFFF7FFB - - thumb_func_start sub_08070D20 -sub_08070D20: @ 0x08070D20 - push {lr} - ldr r2, _08070D34 @ =gUnk_0811BA68 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08070D34: .4byte gUnk_0811BA68 - - thumb_func_start sub_08070D38 -sub_08070D38: @ 0x08070D38 - push {r4, lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x14] - movs r0, #0xe - ands r0, r1 - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - strb r0, [r2, #0x15] - movs r4, #0 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #0x24] - adds r0, r2, #0 - adds r0, #0x42 - strb r4, [r0] - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] - ldr r3, _08070D94 @ =gUnk_03003F80 - adds r0, r3, #0 - adds r0, #0x38 - ldrb r0, [r0] - strb r0, [r2, #0xe] - movs r0, #1 - strh r0, [r2, #0x12] - ldr r0, [r3, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08070D98 - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r2, #0x20] - movs r0, #0x8a - lsls r0, r0, #1 - strh r0, [r3, #8] - movs r0, #0x10 - movs r1, #0 - bl sub_08080964 - b _08070DA2 - .align 2, 0 -_08070D94: .4byte gUnk_03003F80 -_08070D98: - ldr r0, _08070DBC @ =0x00000C18 - strh r0, [r3, #8] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r2, #0x20] -_08070DA2: - ldr r0, _08070DC0 @ =gUnk_03003F80 - movs r1, #0x80 - strb r1, [r0, #2] - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_080A3268 - bl sub_08077B2C - bl sub_08078F60 - pop {r4, pc} - .align 2, 0 -_08070DBC: .4byte 0x00000C18 -_08070DC0: .4byte gUnk_03003F80 - - thumb_func_start sub_08070DC4 -sub_08070DC4: @ 0x08070DC4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080085B0 - bl sub_08079E08 - bl sub_0807A1B8 - bl sub_08078EFC - cmp r0, #0 - bne _08070E76 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08070E76 - ldr r6, _08070E18 @ =gUnk_03003F80 - strb r0, [r6, #2] - bl sub_08078EFC - adds r5, r0, #0 - cmp r5, #0 - bne _08070E76 - bl sub_08079D48 - cmp r0, #0 - bne _08070E10 - adds r0, r6, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08070E1C -_08070E10: - strb r5, [r6, #2] - bl sub_080791D0 - b _08070E76 - .align 2, 0 -_08070E18: .4byte gUnk_03003F80 -_08070E1C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _08070E32 - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - b _08070E76 -_08070E32: - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r6, #0x14] - cmp r0, #0 - bne _08070E56 - bl sub_08008B22 - cmp r0, #0 - beq _08070E56 - movs r0, #7 - strb r0, [r6, #0x11] - bl sub_08079938 - bl sub_080791BC - b _08070E76 -_08070E56: - movs r0, #1 - strh r0, [r4, #0x12] - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldr r2, _08070E78 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08070E76 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #8] -_08070E76: - pop {r4, r5, r6, pc} - .align 2, 0 -_08070E78: .4byte gUnk_03003F80 - - thumb_func_start sub_08070E7C -sub_08070E7C: @ 0x08070E7C - push {lr} - ldrb r1, [r0, #0xe] - subs r1, #1 - strb r1, [r0, #0xe] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0 - bne _08070E94 - ldr r0, _08070E98 @ =gUnk_03003F80 - strb r1, [r0, #2] - bl sub_080791D0 -_08070E94: - pop {pc} - .align 2, 0 -_08070E98: .4byte gUnk_03003F80 - - thumb_func_start sub_08070E9C -sub_08070E9C: @ 0x08070E9C - push {r4, lr} - adds r4, r0, #0 - bl sub_08078EFC - cmp r0, #0 - beq _08070EAE - bl sub_08056360 - b _08070ED2 -_08070EAE: - ldr r1, _08070ED4 @ =gUnk_03003F80 - adds r2, r1, #0 - adds r2, #0x27 - movs r0, #4 - strb r0, [r2] - adds r1, #0xa8 - movs r0, #0x13 - strb r0, [r1] - bl sub_0807A1B8 - ldr r1, _08070ED8 @ =gUnk_0811BA74 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 -_08070ED2: - pop {r4, pc} - .align 2, 0 -_08070ED4: .4byte gUnk_03003F80 -_08070ED8: .4byte gUnk_0811BA74 - - thumb_func_start sub_08070EDC -sub_08070EDC: @ 0x08070EDC - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #0x11] - ldr r0, _08070F10 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _08070EFE - movs r0, #1 - strb r0, [r2, #0xd] -_08070EFE: - ldr r2, _08070F14 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08070F18 - bl sub_08079938 - b _08070F1C - .align 2, 0 -_08070F10: .4byte gUnk_02000050 -_08070F14: .4byte gUnk_03003F80 -_08070F18: - ldr r0, _08070F20 @ =0x00000C18 - strh r0, [r2, #8] -_08070F1C: - pop {pc} - .align 2, 0 -_08070F20: .4byte 0x00000C18 - - thumb_func_start sub_08070F24 -sub_08070F24: @ 0x08070F24 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r0, _08070F4C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08070F4A - ldrb r0, [r4, #0x11] - lsrs r2, r0, #4 - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x11] - bl sub_080791D0 -_08070F4A: - pop {r4, pc} - .align 2, 0 -_08070F4C: .4byte gUnk_02000050 - - thumb_func_start sub_08070F50 -sub_08070F50: @ 0x08070F50 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08070F9C @ =gUnk_03003F80 - adds r0, #0xa8 - movs r1, #0x15 - strb r1, [r0] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r1, _08070FA0 @ =gUnk_0811BA7C - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r5, [r4, #0x54] - cmp r5, #0 - beq _08070F9A - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA30 - ldrh r0, [r4, #0x12] - ldrb r1, [r4, #0x1e] - bl sub_080700C8 - ldrb r1, [r0] - adds r2, r5, #0 - adds r2, #0x62 - strb r1, [r2] - ldrb r1, [r0, #1] - adds r0, r5, #0 - adds r0, #0x63 - strb r1, [r0] -_08070F9A: - pop {r4, r5, pc} - .align 2, 0 -_08070F9C: .4byte gUnk_03003F80 -_08070FA0: .4byte gUnk_0811BA7C - - thumb_func_start sub_08070FA4 -sub_08070FA4: @ 0x08070FA4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0x14] - ldr r3, _08070FE8 @ =gUnk_03003F80 - ldr r2, [r3, #0x30] - movs r0, #1 - orrs r2, r0 - str r2, [r3, #0x30] - strb r1, [r3, #2] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _08071008 - movs r0, #8 - ands r2, r0 - cmp r2, #0 - beq _08070FF0 - adds r0, r3, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_080542AC - ldr r1, _08070FEC @ =0x0000045B - cmp r0, #0 - beq _08071004 - adds r1, #3 - b _08071004 - .align 2, 0 -_08070FE8: .4byte gUnk_03003F80 -_08070FEC: .4byte 0x0000045B -_08070FF0: - adds r0, r3, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_080542AC - ldr r1, _08071018 @ =0x000001B9 - cmp r0, #0 - beq _08071004 - movs r1, #0xb8 - lsls r1, r1, #2 -_08071004: - ldr r0, _0807101C @ =gUnk_03003F80 - strh r1, [r0, #8] -_08071008: - movs r0, #1 - strb r0, [r4, #0xd] - bl sub_08077B2C - bl sub_08078F60 - pop {r4, pc} - .align 2, 0 -_08071018: .4byte 0x000001B9 -_0807101C: .4byte gUnk_03003F80 - - thumb_func_start sub_08071020 -sub_08071020: @ 0x08071020 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - beq _08071036 - movs r0, #2 - strb r0, [r4, #0xd] -_08071036: - pop {r4, pc} - - thumb_func_start sub_08071038 -sub_08071038: @ 0x08071038 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - bl sub_08078EFC - cmp r0, #0 - bne _08071078 - ldr r0, _0807107C @ =gUnk_02000050 - ldrb r0, [r0] - movs r2, #0x7f - ands r2, r0 - cmp r2, #0 - bne _08071078 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08071078 - str r2, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x42 - strb r2, [r0] - subs r0, #5 - movs r1, #0xf8 - strb r1, [r0] - ldr r0, _08071080 @ =gUnk_03003F80 - strb r2, [r0, #2] - bl sub_080791D0 -_08071078: - pop {r4, pc} - .align 2, 0 -_0807107C: .4byte gUnk_02000050 -_08071080: .4byte gUnk_03003F80 - - thumb_func_start sub_08071084 -sub_08071084: @ 0x08071084 - push {lr} - ldr r1, _080710A0 @ =gUnk_03003F80 - adds r1, #0xa8 - movs r2, #0xb - strb r2, [r1] - ldr r2, _080710A4 @ =gUnk_0811BA88 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080710A0: .4byte gUnk_03003F80 -_080710A4: .4byte gUnk_0811BA88 - - thumb_func_start sub_080710A8 -sub_080710A8: @ 0x080710A8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - adds r0, #1 - movs r2, #0 - strb r0, [r4, #0xd] - ldr r1, _080710EC @ =gUnk_03003F80 - ldr r3, [r1, #0x30] - movs r0, #1 - orrs r3, r0 - ldr r0, _080710F0 @ =0xFFFFF3FF - ands r3, r0 - str r3, [r1, #0x30] - strb r2, [r1, #0xc] - ldrb r2, [r1, #5] - ldrb r0, [r1, #0x1b] - orrs r0, r2 - adds r5, r1, #0 - cmp r0, #0 - bne _080710FA - movs r0, #0x80 - ands r3, r0 - cmp r3, #0 - bne _080710FA - bl sub_08077B2C - ldr r0, [r5, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _080710F4 - movs r0, #0x84 - lsls r0, r0, #3 - b _080710F8 - .align 2, 0 -_080710EC: .4byte gUnk_03003F80 -_080710F0: .4byte 0xFFFFF3FF -_080710F4: - movs r0, #0x81 - lsls r0, r0, #4 -_080710F8: - strh r0, [r5, #8] -_080710FA: - movs r0, #0 - strb r0, [r5, #0x1e] - ldrb r1, [r4, #0x14] - movs r0, #0xe - ands r0, r1 - lsls r0, r0, #2 - strb r0, [r4, #0x15] - movs r0, #1 - bl sub_08079FC4 - lsls r0, r0, #4 - subs r0, #4 - lsls r0, r0, #0xc - str r0, [r4, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - bl sub_0807A108 - movs r0, #0x7c - bl sub_080A3268 - movs r0, #0x78 - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08071130 -sub_08071130: @ 0x08071130 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08078EFC - cmp r0, #0 - bne _08071206 - ldr r6, _080711B4 @ =gUnk_03003F80 - ldrb r0, [r6, #0x1b] - cmp r0, #0 - bne _08071158 - adds r0, r5, #0 - bl sub_080042B8 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08071206 -_08071158: - adds r0, r5, #0 - bl sub_0806F69C - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r5, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08071206 - strb r0, [r6, #2] - adds r0, r5, #0 - bl sub_0800455E - ldr r0, [r5, #0x74] - cmp r0, #0 - beq _0807117E - bl sub_0800455E -_0807117E: - adds r0, r5, #0 - movs r1, #7 - bl sub_08008790 - ldrb r0, [r6, #0x14] - cmp r0, #0 - bne _08071206 - bl sub_0807A1B8 - bl sub_08078EFC - adds r4, r0, #0 - cmp r4, #0 - bne _08071206 - bl sub_08079D48 - cmp r0, #0 - beq _080711AC - adds r0, r6, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _080711B8 -_080711AC: - strb r4, [r6, #2] - bl sub_080791D0 - b _08071206 - .align 2, 0 -_080711B4: .4byte gUnk_03003F80 -_080711B8: - movs r0, #6 - strb r0, [r5, #0xe] - ldrb r1, [r6, #5] - ldrb r0, [r6, #0xb] - orrs r0, r1 - cmp r0, #0 - bne _080711EE - ldr r1, [r6, #0x30] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080711EE - movs r0, #8 - ands r1, r0 - cmp r1, #0 - beq _080711E0 - ldr r0, _080711DC @ =0x00000424 - b _080711E4 - .align 2, 0 -_080711DC: .4byte 0x00000424 -_080711E0: - movs r0, #0x82 - lsls r0, r0, #4 -_080711E4: - strh r0, [r6, #8] - adds r1, r5, #0 - adds r1, #0x58 - movs r0, #0xff - strb r0, [r1] -_080711EE: - ldrb r0, [r5, #0xd] - adds r0, #1 - movs r4, #0 - strb r0, [r5, #0xd] - bl sub_08078F60 - adds r0, r5, #0 - adds r0, #0x42 - strb r4, [r0] - movs r0, #0x7d - bl sub_080A3268 -_08071206: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08071208 -sub_08071208: @ 0x08071208 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _08071244 @ =gUnk_03003F80 - ldrb r1, [r2, #5] - ldrb r0, [r2, #0xb] - orrs r0, r1 - cmp r0, #0 - bne _08071228 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08071228 - adds r0, r4, #0 - bl sub_080042B8 -_08071228: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08071240 - ldr r1, _08071244 @ =gUnk_03003F80 - movs r0, #0 - strb r0, [r1, #2] - bl sub_080791D0 -_08071240: - pop {r4, pc} - .align 2, 0 -_08071244: .4byte gUnk_03003F80 - - thumb_func_start sub_08071248 -sub_08071248: @ 0x08071248 - push {lr} - ldr r3, _08071274 @ =gUnk_03003F80 - adds r2, r3, #0 - adds r2, #0xa8 - movs r1, #0x16 - strb r1, [r2] - ldr r1, [r3, #0x30] - movs r2, #4 - orrs r1, r2 - str r1, [r3, #0x30] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - ldr r2, _08071278 @ =gUnk_0811BA94 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08071274: .4byte gUnk_03003F80 -_08071278: .4byte gUnk_0811BA94 - - thumb_func_start sub_0807127C -sub_0807127C: @ 0x0807127C - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xd] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x3a - ands r0, r1 - strb r0, [r2] - ldr r5, _080712AC @ =gUnk_03003F80 - ldr r1, [r5, #0x30] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080712B4 - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r0, _080712B0 @ =0x00000C19 - strh r0, [r5, #8] - movs r0, #0x84 - bl sub_080A3268 - b _080712E4 - .align 2, 0 -_080712AC: .4byte gUnk_03003F80 -_080712B0: .4byte 0x00000C19 -_080712B4: - movs r0, #0x80 - lsls r0, r0, #9 - ands r1, r0 - cmp r1, #0 - bne _080712C4 - adds r0, r4, #0 - bl sub_08004168 -_080712C4: - adds r0, r4, #0 - movs r1, #0xb - movs r2, #0 - bl sub_080A29AC - ldr r0, [r5, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _080712E0 - ldr r0, _080712DC @ =0x0000072C - b _080712E2 - .align 2, 0 -_080712DC: .4byte 0x0000072C -_080712E0: - ldr r0, _080712EC @ =0x0000044C -_080712E2: - strh r0, [r5, #8] -_080712E4: - bl sub_08077B2C - pop {r4, r5, pc} - .align 2, 0 -_080712EC: .4byte 0x0000044C - - thumb_func_start sub_080712F0 -sub_080712F0: @ 0x080712F0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080042B8 - movs r5, #0 - ldr r3, _08071314 @ =gUnk_03003F80 - ldr r0, [r3, #0x30] - movs r2, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08071318 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0807133E - b _08071342 - .align 2, 0 -_08071314: .4byte gUnk_03003F80 -_08071318: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0807133E - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xce - beq _0807133C - ldr r0, _08071338 @ =0x000002CE - strh r0, [r3, #8] - b _0807133E - .align 2, 0 -_08071338: .4byte 0x000002CE -_0807133C: - movs r5, #1 -_0807133E: - cmp r5, #0 - beq _0807137A -_08071342: - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - subs r1, #5 - movs r0, #0x20 - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x59 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r2, _0807137C @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #5 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r2, #0x30] - bl sub_08079458 -_0807137A: - pop {r4, r5, pc} - .align 2, 0 -_0807137C: .4byte gUnk_03003F80 - - thumb_func_start sub_08071380 -sub_08071380: @ 0x08071380 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _080713E8 @ =gUnk_03003F80 - adds r1, r5, #0 - adds r1, #0xa8 - movs r0, #0xe - strb r0, [r1] - ldr r1, _080713EC @ =gUnk_0811BA9C - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xd] - cmp r0, #7 - beq _080713FC - cmp r0, #2 - bls _080713FC - ldr r0, [r5, #0x30] - movs r1, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080713FC - ldr r0, _080713F0 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #0x81 - lsls r0, r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080713FC - bl sub_08052660 - cmp r0, #0 - bne _080713D0 - ldr r0, _080713F4 @ =gUnk_02033A90 - ldrb r0, [r0, #0x17] - cmp r0, #3 - bne _080713F8 -_080713D0: - movs r0, #7 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #7 - movs r1, #0x10 - bl sub_08050054 - movs r0, #0xf8 - bl sub_080A3268 - b _080713FC - .align 2, 0 -_080713E8: .4byte gUnk_03003F80 -_080713EC: .4byte gUnk_0811BA9C -_080713F0: .4byte gUnk_03000FF0 -_080713F4: .4byte gUnk_02033A90 -_080713F8: - bl sub_0804ACF8 -_080713FC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08071400 -sub_08071400: @ 0x08071400 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - movs r1, #0 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x42 - strb r1, [r0] - ldr r0, _0807149C @ =gUnk_02033A90 - ldrh r3, [r0, #0x12] - ldrh r5, [r0, #0x14] - movs r0, #0x2e - ldrsh r2, [r4, r0] - cmp r2, r3 - bne _0807142A - movs r1, #0x32 - ldrsh r0, [r4, r1] - cmp r0, r5 - beq _08071444 -_0807142A: - movs r0, #0x32 - ldrsh r1, [r4, r0] - adds r0, r2, #0 - adds r2, r3, #0 - adds r3, r5, #0 - bl sub_080045D4 - strb r0, [r4, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - bl sub_08079E08 -_08071444: - adds r0, r4, #0 - bl sub_08073904 - adds r0, r4, #0 - bl sub_080042B8 - ldr r2, _080714A0 @ =gUnk_03003F80 - ldrb r0, [r2, #2] - cmp r0, #0 - bne _0807147C - ldr r0, [r2, #0x30] - movs r1, #0x20 - orrs r0, r1 - str r0, [r2, #0x30] - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #4 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x18] - subs r0, #0x45 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, _0807149C @ =gUnk_02033A90 - ldrb r0, [r0, #0x17] - cmp r0, #4 - bne _0807147C - ldr r0, _080714A4 @ =0x0000052C - strh r0, [r2, #8] -_0807147C: - movs r0, #8 - strb r0, [r4, #0xe] - ldr r0, _0807149C @ =gUnk_02033A90 - ldrb r0, [r0, #0x17] - cmp r0, #3 - beq _0807149A - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_0807149A: - pop {r4, r5, pc} - .align 2, 0 -_0807149C: .4byte gUnk_02033A90 -_080714A0: .4byte gUnk_03003F80 -_080714A4: .4byte 0x0000052C - - thumb_func_start sub_080714A8 -sub_080714A8: @ 0x080714A8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08071524 @ =gUnk_02033A90 - ldrb r0, [r0, #0x17] - cmp r0, #5 - bgt _080714BE - cmp r0, #4 - blt _080714BE - ldr r0, _08071528 @ =gUnk_03001160 - bl sub_0806F948 -_080714BE: - ldr r3, _0807152C @ =gUnk_03003F80 - ldrb r1, [r3, #0xd] - movs r0, #0x84 - ands r0, r1 - cmp r0, #0 - bne _0807153E - ldrb r0, [r4, #0x15] - cmp r0, r1 - beq _080714D4 - movs r0, #8 - strb r0, [r4, #0xe] -_080714D4: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08071538 - ldrb r0, [r3, #0xd] - strb r0, [r4, #0x15] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1a - strb r0, [r4, #0x14] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r1, #0 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #9 - strb r0, [r4, #0xc] - movs r0, #7 - strb r0, [r4, #0xd] - strb r1, [r4, #0xf] - ldr r1, [r3, #0x30] - movs r0, #8 - ands r0, r1 - ldr r4, _08071530 @ =0x0000080C - adds r2, r4, #0 - cmp r0, #0 - beq _08071516 - ldr r0, _08071534 @ =0x0000041C - adds r2, r0, #0 -_08071516: - strh r2, [r3, #8] - movs r0, #0x21 - rsbs r0, r0, #0 - ands r1, r0 - str r1, [r3, #0x30] - b _0807156A - .align 2, 0 -_08071524: .4byte gUnk_02033A90 -_08071528: .4byte gUnk_03001160 -_0807152C: .4byte gUnk_03003F80 -_08071530: .4byte 0x0000080C -_08071534: .4byte 0x0000041C -_08071538: - ldrb r0, [r3, #0xd] - strb r0, [r4, #0x15] - b _08071542 -_0807153E: - movs r0, #8 - strb r0, [r4, #0xe] -_08071542: - ldr r0, _0807155C @ =gUnk_02033A90 - ldrb r0, [r0, #0x17] - cmp r0, #4 - bne _08071560 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - bne _08071566 - adds r0, r4, #0 - bl sub_080042B8 - b _0807156A - .align 2, 0 -_0807155C: .4byte gUnk_02033A90 -_08071560: - adds r0, r4, #0 - bl sub_08077698 -_08071566: - bl sub_08079938 -_0807156A: - pop {r4, pc} - - thumb_func_start sub_0807156C -sub_0807156C: @ 0x0807156C - push {lr} - ldr r2, _080715A0 @ =gUnk_03000BF0 - movs r1, #0 - str r1, [r2, #0x30] - ldr r2, _080715A4 @ =gUnk_02034490 - movs r1, #1 - strb r1, [r2] - movs r1, #3 - strb r1, [r0, #0xd] - movs r1, #0x1e - strb r1, [r0, #0xf] - ldr r2, _080715A8 @ =gUnk_03003F80 - movs r1, #0xe7 - lsls r1, r1, #3 - strh r1, [r2, #8] - movs r1, #6 - movs r2, #1 - movs r3, #0 - bl sub_080A2988 - bl sub_08077B20 - bl sub_0805E544 - pop {pc} - .align 2, 0 -_080715A0: .4byte gUnk_03000BF0 -_080715A4: .4byte gUnk_02034490 -_080715A8: .4byte gUnk_03003F80 - - thumb_func_start sub_080715AC -sub_080715AC: @ 0x080715AC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080715CC - adds r0, r4, #0 - bl sub_080042B8 - ldr r0, _080715D0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080715CC - movs r0, #4 - strb r0, [r4, #0xd] -_080715CC: - pop {r4, pc} - .align 2, 0 -_080715D0: .4byte gUnk_03003F80 - - thumb_func_start sub_080715D4 -sub_080715D4: @ 0x080715D4 - push {lr} - adds r3, r0, #0 - movs r2, #0 - movs r0, #5 - strb r0, [r3, #0xd] - movs r0, #0x29 - adds r0, r0, r3 - mov ip, r0 - ldrb r1, [r0] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - mov r1, ip - strb r0, [r1] - strb r2, [r3, #0xf] - ldrb r0, [r3, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r3, #0x19] - adds r0, r3, #0 - adds r0, #0x80 - movs r2, #0x80 - lsls r2, r2, #1 - str r2, [r0] - adds r0, #4 - str r2, [r0] - adds r0, r3, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - ldr r2, _08071628 @ =gUnk_03003F80 - ldr r0, _0807162C @ =0x000002C3 - strh r0, [r2, #8] - ldr r0, [r2, #0x30] - movs r1, #0x80 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r0, _08071630 @ =0x0000016F - bl sub_080A3268 - pop {pc} - .align 2, 0 -_08071628: .4byte gUnk_03003F80 -_0807162C: .4byte 0x000002C3 -_08071630: .4byte 0x0000016F - - thumb_func_start sub_08071634 -sub_08071634: @ 0x08071634 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - beq _08071654 - adds r1, r5, #0 - adds r1, #0x80 - ldr r0, [r1] - adds r0, #0x80 - lsls r0, r0, #0x14 - lsrs r7, r0, #0x17 - adds r4, r1, #0 - b _0807166A -_08071654: - adds r4, r5, #0 - adds r4, #0x80 - ldrb r1, [r4] - lsrs r1, r1, #6 - movs r0, #3 - eors r1, r0 - adds r1, #1 - movs r0, #0x10 - bl __divsi3 - asrs r7, r0, #1 -_0807166A: - adds r0, r5, #0 - adds r0, #0x84 - ldr r3, [r0] - movs r1, #0x80 - lsls r1, r1, #1 - adds r2, r0, #0 - cmp r3, r1 - bls _08071684 - adds r0, r3, #0 - adds r0, #0x80 - lsls r0, r0, #0x14 - lsrs r3, r0, #0x17 - b _08071694 -_08071684: - cmp r3, r1 - bne _0807168C - movs r3, #0x10 - b _08071694 -_0807168C: - ldr r1, _080716B0 @ =gUnk_0811BABC - lsrs r0, r3, #5 - adds r0, r0, r1 - ldrb r3, [r0] -_08071694: - movs r0, #0x80 - lsls r0, r0, #9 - mov r8, r0 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #2 - beq _080716EA - cmp r0, #2 - bgt _080716B4 - cmp r0, #1 - beq _080716BA - b _08071754 - .align 2, 0 -_080716B0: .4byte gUnk_0811BABC -_080716B4: - cmp r0, #3 - beq _0807171E - b _08071754 -_080716BA: - movs r1, #0x29 - adds r1, r1, r5 - mov ip, r1 - ldrb r1, [r1] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - mov r1, ip - strb r0, [r1] - ldr r0, [r4] - cmp r0, #0x80 - bls _080716D6 - subs r0, r0, r7 - str r0, [r4] -_080716D6: - lsls r1, r3, #1 - ldr r0, [r2] - adds r0, r0, r1 - str r0, [r2] - mov r0, r8 - lsls r1, r0, #1 - ldr r0, [r5, #0x30] - adds r0, r0, r1 - str r0, [r5, #0x30] - b _08071754 -_080716EA: - ldr r0, [r4] - adds r0, r0, r7 - str r0, [r4] - ldr r1, [r2] - movs r6, #0x80 - lsls r6, r6, #1 - cmp r1, r6 - bls _08071710 - ldr r0, _0807170C @ =0x0000017F - cmp r1, r0 - bhi _08071702 - lsrs r3, r3, #1 -_08071702: - subs r0, r1, r3 - cmp r0, #0xff - bhi _08071716 - str r6, [r2] - b _08071718 - .align 2, 0 -_0807170C: .4byte 0x0000017F -_08071710: - cmp r1, #0x80 - bls _08071718 - subs r0, r1, r3 -_08071716: - str r0, [r2] -_08071718: - ldr r0, [r5, #0x34] - mov r1, r8 - b _08071750 -_0807171E: - ldr r0, [r4] - ldr r6, _08071740 @ =0x0000033F - cmp r0, r6 - bhi _0807172A - adds r0, r0, r7 - str r0, [r4] -_0807172A: - ldr r1, [r2] - cmp r1, r6 - bls _08071744 - movs r0, #8 - strb r0, [r5, #0xe] - movs r0, #0x1e - strb r0, [r5, #0xf] - movs r0, #6 - strb r0, [r5, #0xd] - b _0807174A - .align 2, 0 -_08071740: .4byte 0x0000033F -_08071744: - lsls r0, r3, #1 - adds r0, r1, r0 - str r0, [r2] -_0807174A: - mov r0, r8 - lsls r1, r0, #1 - ldr r0, [r5, #0x34] -_08071750: - subs r0, r0, r1 - str r0, [r5, #0x34] -_08071754: - ldr r1, [r4] - ldr r2, [r2] - adds r0, r5, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r5, #0 - bl sub_080042B8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807176C -sub_0807176C: @ 0x0807176C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _080717C6 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080717CA - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r1, _080717AC @ =gUnk_02033A90 - ldrb r0, [r1, #0x17] - cmp r0, #3 - bne _080717B0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080717CA - adds r0, r4, #0 - bl sub_080717F8 - b _080717CA - .align 2, 0 -_080717AC: .4byte gUnk_02033A90 -_080717B0: - cmp r0, #6 - bne _080717C0 - ldr r0, _080717BC @ =gUnk_0813AB58 - bl sub_08080840 - b _080717CA - .align 2, 0 -_080717BC: .4byte gUnk_0813AB58 -_080717C0: - movs r0, #1 - strb r0, [r1, #0x19] - b _080717CA -_080717C6: - subs r0, #1 - strb r0, [r4, #0xe] -_080717CA: - pop {r4, pc} - - thumb_func_start sub_080717CC -sub_080717CC: @ 0x080717CC - push {lr} - adds r1, r0, #0 - ldr r0, _080717E4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080717F4 - ldrb r0, [r1, #0xe] - cmp r0, #0 - beq _080717E8 - subs r0, #1 - strb r0, [r1, #0xe] - b _080717F4 - .align 2, 0 -_080717E4: .4byte gUnk_03000FD0 -_080717E8: - adds r0, r1, #0 - bl sub_080717F8 - movs r0, #0x10 - bl sub_080500F4 -_080717F4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080717F8 -sub_080717F8: @ 0x080717F8 - push {r4, lr} - ldr r2, _08071850 @ =gUnk_02033A90 - ldrb r1, [r2, #0x16] - lsls r1, r1, #1 - strb r1, [r0, #0x14] - ldr r3, _08071854 @ =gUnk_0811BAC4 - ldrb r1, [r2, #0x16] - lsls r1, r1, #2 - adds r1, r1, r3 - ldrh r1, [r1] - ldrh r4, [r2, #0x12] - adds r1, r1, r4 - movs r4, #0 - strh r1, [r0, #0x2e] - ldrb r1, [r2, #0x16] - lsls r1, r1, #1 - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r3 - ldrh r1, [r1] - ldrh r3, [r2, #0x14] - adds r1, r1, r3 - strh r1, [r0, #0x32] - movs r1, #0xb4 - strb r1, [r2, #0x1a] - ldr r1, _08071858 @ =gUnk_02034490 - strb r4, [r1] - movs r1, #9 - strb r1, [r0, #0xc] - strb r4, [r0, #0xd] - ldr r3, _0807185C @ =gUnk_03003F80 - ldr r1, [r3, #0x30] - movs r2, #0x21 - rsbs r2, r2, #0 - ands r1, r2 - movs r2, #0x80 - orrs r1, r2 - str r1, [r3, #0x30] - bl sub_0805EC60 - bl sub_0805E564 - pop {r4, pc} - .align 2, 0 -_08071850: .4byte gUnk_02033A90 -_08071854: .4byte gUnk_0811BAC4 -_08071858: .4byte gUnk_02034490 -_0807185C: .4byte gUnk_03003F80 - - thumb_func_start sub_08071860 -sub_08071860: @ 0x08071860 - push {r4, lr} - adds r4, r0, #0 - bl sub_08078EFC - cmp r0, #0 - beq _08071876 - bl sub_08056360 - bl sub_08071A6C - b _08071896 -_08071876: - ldr r0, _08071898 @ =gUnk_03003F80 - adds r0, #0xa8 - movs r1, #0x13 - strb r1, [r0] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r1, _0807189C @ =gUnk_0811BAD4 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 -_08071896: - pop {r4, pc} - .align 2, 0 -_08071898: .4byte gUnk_03003F80 -_0807189C: .4byte gUnk_0811BAD4 - - thumb_func_start sub_080718A0 -sub_080718A0: @ 0x080718A0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08077B2C - ldr r0, _080718EC @ =gUnk_03000B80 - adds r0, #0x63 - movs r1, #0 - strb r1, [r0] - adds r0, r4, #0 - adds r0, #0x3d - strb r1, [r0] - ldr r1, _080718F0 @ =gUnk_03003DC0 - movs r2, #6 - movs r0, #6 - strb r0, [r1] - ldrb r1, [r4, #0x11] - subs r0, #0x16 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x11] - ldr r5, _080718F4 @ =gUnk_03003F80 - ldr r0, [r5, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080718F8 - movs r0, #2 - strb r0, [r4, #0xd] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x3b - ands r0, r1 - strb r0, [r2] - bl sub_08052BB8 - b _08071938 - .align 2, 0 -_080718EC: .4byte gUnk_03000B80 -_080718F0: .4byte gUnk_03003DC0 -_080718F4: .4byte gUnk_03003F80 -_080718F8: - ldrb r0, [r5, #2] - cmp r0, #0 - bne _08071928 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x14] - cmp r0, #2 - bne _08071914 - ldr r0, _08071910 @ =0x000003CA - b _08071916 - .align 2, 0 -_08071910: .4byte 0x000003CA -_08071914: - ldr r0, _08071924 @ =0x000003C6 -_08071916: - strh r0, [r5, #8] - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _08071938 - .align 2, 0 -_08071924: .4byte 0x000003C6 -_08071928: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08071938 - strb r0, [r5, #2] -_08071938: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0807193C -sub_0807193C: @ 0x0807193C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08071986 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - movs r1, #6 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - str r0, [r4, #0x54] - cmp r0, #0 - beq _08071986 - ldrb r0, [r4, #0x14] - cmp r0, #2 - bne _0807197C - ldr r1, _08071978 @ =gUnk_03003F80 - movs r0, #0xf3 - lsls r0, r0, #2 - b _08071980 - .align 2, 0 -_08071978: .4byte gUnk_03003F80 -_0807197C: - ldr r1, _08071988 @ =gUnk_03003F80 - ldr r0, _0807198C @ =0x000003C7 -_08071980: - strh r0, [r1, #8] - bl sub_08052BB8 -_08071986: - pop {r4, pc} - .align 2, 0 -_08071988: .4byte gUnk_03003F80 -_0807198C: .4byte 0x000003C7 - - thumb_func_start sub_08071990 -sub_08071990: @ 0x08071990 - push {r4, lr} - adds r2, r0, #0 - ldr r0, _080719C0 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _080719E2 - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] - ldr r3, _080719C4 @ =gUnk_03003F80 - ldr r0, [r3, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080719D8 - ldrb r0, [r2, #0x14] - cmp r0, #2 - bne _080719CC - ldr r0, _080719C8 @ =0x000003CD - strh r0, [r3, #8] - b _08071A4A - .align 2, 0 -_080719C0: .4byte gUnk_02000050 -_080719C4: .4byte gUnk_03003F80 -_080719C8: .4byte 0x000003CD -_080719CC: - ldr r0, _080719D4 @ =0x000003C9 - strh r0, [r3, #8] - b _08071A4A - .align 2, 0 -_080719D4: .4byte 0x000003C9 -_080719D8: - bl sub_08071A6C - bl sub_08079258 - b _08071A4A -_080719E2: - ldr r4, _08071A20 @ =gUnk_03003F80 - ldr r0, [r4, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08071A4A - ldrb r0, [r2, #0x14] - movs r3, #0 - cmp r0, #2 - bne _080719F8 - movs r3, #4 -_080719F8: - ldr r0, [r2, #0x54] - ldrb r0, [r0, #0xe] - cmp r0, #0 - beq _08071A24 - adds r0, r3, #0 - adds r0, #0xc8 - adds r1, r2, #0 - adds r1, #0x58 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - ldrb r1, [r1] - cmp r0, r1 - beq _08071A44 - movs r1, #0xf2 - lsls r1, r1, #2 - adds r0, r1, #0 - adds r0, r3, r0 - strh r0, [r4, #8] - b _08071A4A - .align 2, 0 -_08071A20: .4byte gUnk_03003F80 -_08071A24: - adds r0, r3, #0 - adds r0, #0xc7 - adds r1, r2, #0 - adds r1, #0x58 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - ldrb r1, [r1] - cmp r0, r1 - beq _08071A44 - ldr r1, _08071A40 @ =0x000003C7 - adds r0, r3, r1 - strh r0, [r4, #8] - b _08071A4A - .align 2, 0 -_08071A40: .4byte 0x000003C7 -_08071A44: - adds r0, r2, #0 - bl sub_080042B8 -_08071A4A: - pop {r4, pc} - - thumb_func_start sub_08071A4C -sub_08071A4C: @ 0x08071A4C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08071A68 - bl sub_08071A6C - bl sub_0807921C -_08071A68: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08071A6C -sub_08071A6C: @ 0x08071A6C - ldr r1, _08071A84 @ =gUnk_03003DC0 - movs r0, #0 - strb r0, [r1] - ldr r3, _08071A88 @ =gUnk_03001160 - ldrb r1, [r3, #0x11] - lsrs r2, r1, #4 - subs r0, #0x10 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #0x11] - bx lr - .align 2, 0 -_08071A84: .4byte gUnk_03003DC0 -_08071A88: .4byte gUnk_03001160 - - thumb_func_start sub_08071A8C -sub_08071A8C: @ 0x08071A8C - push {lr} - ldr r1, _08071AA8 @ =gUnk_03003F80 - adds r1, #0xa8 - movs r2, #0x19 - strb r2, [r1] - ldr r2, _08071AAC @ =gUnk_0811BAE4 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08071AA8: .4byte gUnk_03003F80 -_08071AAC: .4byte gUnk_0811BAE4 - - thumb_func_start sub_08071AB0 -sub_08071AB0: @ 0x08071AB0 - push {r4, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xd] - adds r0, #1 - strb r0, [r3, #0xd] - ldr r1, _08071AD8 @ =gUnk_03003F80 - ldr r2, [r1, #0x30] - movs r0, #1 - orrs r2, r0 - str r2, [r1, #0x30] - ldrb r4, [r3, #0xa] - cmp r4, #1 - bne _08071ADC - movs r1, #0 - movs r0, #0 - strh r0, [r3, #0x24] - strb r1, [r3, #0xe] - strb r4, [r3, #0xf] - b _08071AE8 - .align 2, 0 -_08071AD8: .4byte gUnk_03003F80 -_08071ADC: - movs r0, #0x80 - ands r2, r0 - cmp r2, #0 - beq _08071AE6 - movs r0, #0x40 -_08071AE6: - strh r0, [r3, #0x24] -_08071AE8: - adds r0, r3, #0 - bl sub_08071AF0 - pop {r4, pc} - - thumb_func_start sub_08071AF0 -sub_08071AF0: @ 0x08071AF0 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08071B34 @ =gUnk_03003F80 - adds r0, r5, #0 - adds r0, #0x80 - movs r1, #0 - strh r1, [r0] - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _08071B44 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08071B58 - ldr r0, _08071B38 @ =gUnk_0811BAF0 - ldrb r1, [r4, #0xe] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r2, [r1] - adds r0, r2, #0 - cmp r0, #0xff - beq _08071B3C - strb r2, [r4, #0xf] - ldrh r0, [r1, #2] - strh r0, [r4, #0x24] - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - b _08071B58 - .align 2, 0 -_08071B34: .4byte gUnk_03003F80 -_08071B38: .4byte gUnk_0811BAF0 -_08071B3C: - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - b _08071B5C -_08071B44: - ldrb r0, [r5, #6] - subs r0, #1 - strb r0, [r5, #6] - movs r1, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08071B58 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] -_08071B58: - bl sub_08079E08 -_08071B5C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08071B60 -sub_08071B60: @ 0x08071B60 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08071BAC @ =gUnk_03003F80 - movs r2, #0 - movs r0, #2 - strb r0, [r5, #6] - ldr r0, [r5, #0x30] - movs r1, #2 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r5, #0x30] - strb r2, [r4, #0xa] - adds r0, r4, #0 - adds r0, #0x42 - strb r2, [r0] - adds r0, r4, #0 - bl sub_080728AC - movs r0, #6 - strb r0, [r4, #0xf] - ldr r0, [r5, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08071BA8 - movs r0, #0x82 - lsls r0, r0, #1 - strh r0, [r5, #8] - movs r0, #3 - strh r0, [r4, #0x12] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r1, #0x3c - adds r0, r4, #0 - bl sub_080042AC -_08071BA8: - pop {r4, r5, pc} - .align 2, 0 -_08071BAC: .4byte gUnk_03003F80 - - thumb_func_start sub_08071BB0 -sub_08071BB0: @ 0x08071BB0 - push {lr} - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - ldr r2, _08071BD4 @ =gUnk_0811BB2C - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldr r0, _08071BD8 @ =gUnk_03003F80 - adds r0, #0xa8 - movs r1, #0x12 - strb r1, [r0] - pop {pc} - .align 2, 0 -_08071BD4: .4byte gUnk_0811BB2C -_08071BD8: .4byte gUnk_03003F80 - - thumb_func_start sub_08071BDC -sub_08071BDC: @ 0x08071BDC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08071C10 @ =gUnk_03003F80 - ldr r0, [r5, #0x30] - movs r1, #0x88 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - bne _08071C9C - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _08071C1C - ldr r0, [r5, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08071C14 - movs r0, #0x84 - lsls r0, r0, #3 - strh r0, [r5, #8] - b _08071C9C - .align 2, 0 -_08071C10: .4byte gUnk_03003F80 -_08071C14: - movs r0, #0x81 - lsls r0, r0, #4 - strh r0, [r5, #8] - b _08071C9C -_08071C1C: - strb r0, [r5, #0xc] - ldr r1, [r5, #0x30] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08071C4C - ldrb r0, [r5, #0x12] - subs r0, #8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #2 - bhi _08071C42 - adds r0, r4, #0 - bl sub_0807A298 - bl sub_08079458 - movs r0, #0xa - strb r0, [r4, #0xc] -_08071C42: - ldr r0, _08071C48 @ =0x00000C1A - b _08071C5A - .align 2, 0 -_08071C48: .4byte 0x00000C1A -_08071C4C: - movs r0, #8 - ands r1, r0 - movs r0, #0xde - lsls r0, r0, #1 - cmp r1, #0 - beq _08071C5A - ldr r0, _08071CA0 @ =0x00000459 -_08071C5A: - ldr r2, _08071CA4 @ =gUnk_03003F80 - movs r3, #0 - strh r0, [r2, #8] - ldr r0, [r2, #0x30] - ldr r1, _08071CA8 @ =0xFEDBF2FE - ands r0, r1 - str r0, [r2, #0x30] - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #4 - strb r0, [r4, #0x14] - adds r5, r4, #0 - adds r5, #0x29 - ldrb r1, [r5] - subs r0, #0x3d - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r5] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r3, [r2, #2] - strb r3, [r2, #6] - adds r0, r4, #0 - bl sub_0800451C - bl sub_08077B2C - movs r0, #0x87 - bl sub_080A3268 -_08071C9C: - pop {r4, r5, pc} - .align 2, 0 -_08071CA0: .4byte 0x00000459 -_08071CA4: .4byte gUnk_03003F80 -_08071CA8: .4byte 0xFEDBF2FE - - thumb_func_start sub_08071CAC -sub_08071CAC: @ 0x08071CAC - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r3, #0x80 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08071CFE - ldr r1, _08071CE0 @ =gUnk_03003F80 - ldr r2, [r1, #0x30] - adds r0, r2, #0 - ands r0, r3 - cmp r0, #0 - bne _08071CEC - movs r0, #8 - ands r2, r0 - ldr r0, _08071CE4 @ =0x000002BD - cmp r2, #0 - beq _08071CEE - ldr r0, _08071CE8 @ =0x0000045A - b _08071CEE - .align 2, 0 -_08071CE0: .4byte gUnk_03003F80 -_08071CE4: .4byte 0x000002BD -_08071CE8: .4byte 0x0000045A -_08071CEC: - ldr r0, _08071D00 @ =0x00000C1B -_08071CEE: - strh r0, [r1, #8] - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0xf0 - strb r0, [r4, #0xe] - movs r0, #0x7b - bl sub_080A3268 -_08071CFE: - pop {r4, pc} - .align 2, 0 -_08071D00: .4byte 0x00000C1B - - thumb_func_start sub_08071D04 -sub_08071D04: @ 0x08071D04 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080042B8 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - beq _08071D7A - movs r4, #0 - movs r0, #0x28 - bl sub_080544DC - adds r1, r0, #0 - cmp r1, #0 - beq _08071D3A - ldr r0, _08071D6C @ =gUnk_02002A40 - adds r0, r0, r1 - adds r0, #0xb5 - movs r1, #0x20 - strb r1, [r0] - movs r0, #0x40 - movs r1, #0x60 - movs r2, #2 - bl sub_080A2960 - movs r4, #0x20 -_08071D3A: - cmp r4, #0 - beq _08071D74 - adds r0, r4, #0 - bl sub_080526A0 - movs r2, #0 - movs r0, #3 - strb r0, [r5, #0xd] - ldr r1, _08071D70 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x3c - strb r2, [r0] - movs r0, #0xff - strb r0, [r5, #0x15] - movs r3, #0 - strh r2, [r5, #0x24] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r5, #0x20] - movs r0, #1 - strb r0, [r1, #2] - adds r1, #0x26 - strb r3, [r1] - b _08071D7A - .align 2, 0 -_08071D6C: .4byte gUnk_02002A40 -_08071D70: .4byte gUnk_03003F80 -_08071D74: - ldr r1, _08071D7C @ =gUnk_030010A0 - movs r0, #1 - strb r0, [r1, #5] -_08071D7A: - pop {r4, r5, pc} - .align 2, 0 -_08071D7C: .4byte gUnk_030010A0 - - thumb_func_start sub_08071D80 -sub_08071D80: @ 0x08071D80 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r5, _08071DB4 @ =gUnk_03003F80 - movs r0, #1 - strb r0, [r5, #0x14] - adds r0, r4, #0 - bl sub_08073904 - ldrb r1, [r5, #2] - movs r0, #7 - ands r0, r1 - cmp r0, #3 - bne _08071DB2 - movs r0, #0 - strb r0, [r5, #2] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xe2 - strb r0, [r1] - bl sub_0805E564 - bl sub_080791D0 -_08071DB2: - pop {r4, r5, pc} - .align 2, 0 -_08071DB4: .4byte gUnk_03003F80 - - thumb_func_start sub_08071DB8 -sub_08071DB8: @ 0x08071DB8 - push {lr} - ldr r2, _08071DCC @ =gUnk_0811BB3C - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08071DCC: .4byte gUnk_0811BB3C - - thumb_func_start sub_08071DD0 -sub_08071DD0: @ 0x08071DD0 - push {lr} - adds r2, r0, #0 - ldr r1, _08071DF4 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x38 - ldrb r0, [r0] - strb r0, [r2, #0xe] - adds r3, r1, #0 - adds r3, #0x39 - ldrb r0, [r3] - cmp r0, #0 - beq _08071DF8 - movs r0, #0 - strb r0, [r3] - movs r0, #2 - strb r0, [r2, #0xd] - adds r0, #0xfe - b _08071E00 - .align 2, 0 -_08071DF4: .4byte gUnk_03003F80 -_08071DF8: - movs r0, #1 - strb r0, [r2, #0xd] - movs r0, #0x8a - lsls r0, r0, #1 -_08071E00: - strh r0, [r1, #8] - pop {pc} - - thumb_func_start sub_08071E04 -sub_08071E04: @ 0x08071E04 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x34] - cmp r0, #0 - beq _08071E38 - ldr r5, _08071E34 @ =gUnk_03003F80 - ldrb r0, [r5, #0x14] - cmp r0, #0 - bne _08071E38 - bl sub_0807A1B8 - ldrb r0, [r5, #0x12] - cmp r0, #1 - bne _08071E38 - movs r0, #7 - strb r0, [r5, #0x11] - ldr r0, [r5, #0x30] - movs r1, #0x80 - lsls r1, r1, #2 - orrs r0, r1 - str r0, [r5, #0x30] - bl sub_080791BC - b _08071E72 - .align 2, 0 -_08071E34: .4byte gUnk_03003F80 -_08071E38: - adds r0, r4, #0 - bl sub_080042B8 - bl sub_08079B24 - cmp r0, #0 - bne _08071E4E - adds r0, r4, #0 - bl sub_08079708 - b _08071E72 -_08071E4E: - bl sub_080792D8 - bl sub_0807953C - cmp r0, #0 - beq _08071E60 - ldrb r0, [r4, #0xe] - subs r0, #2 - b _08071E64 -_08071E60: - ldrb r0, [r4, #0xe] - subs r0, #1 -_08071E64: - strb r0, [r4, #0xe] - movs r0, #0xe - ldrsb r0, [r4, r0] - cmp r0, #0 - bgt _08071E72 - bl sub_080791BC -_08071E72: - pop {r4, r5, pc} - - thumb_func_start sub_08071E74 -sub_08071E74: @ 0x08071E74 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - bl sub_08079E08 - ldrb r0, [r4, #0xe] - adds r1, r0, #0 - adds r1, #0xff - strb r1, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08071E96 - bl sub_080791BC -_08071E96: - pop {r4, pc} - - thumb_func_start sub_08071E98 -sub_08071E98: @ 0x08071E98 - push {lr} - ldr r2, _08071EAC @ =gUnk_0811BB48 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08071EAC: .4byte gUnk_0811BB48 - - thumb_func_start sub_08071EB0 -sub_08071EB0: @ 0x08071EB0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08077B2C - adds r0, r4, #0 - movs r1, #0xe - bl sub_08077C3C - cmp r0, #0 - beq _08071F12 - ldr r3, _08071EE4 @ =gUnk_03003F80 - adds r2, r3, #0 - adds r2, #0x38 - ldrb r1, [r2] - adds r0, #0x68 - strb r1, [r0] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldrb r0, [r2] - cmp r0, #0x20 - bne _08071EEC - ldr r0, _08071EE8 @ =0x00000614 - strh r0, [r3, #8] - b _08071F12 - .align 2, 0 -_08071EE4: .4byte gUnk_03003F80 -_08071EE8: .4byte 0x00000614 -_08071EEC: - cmp r0, #0x20 - blt _08071F00 - cmp r0, #0x25 - bgt _08071F00 - ldr r0, _08071EFC @ =0x000002DF - strh r0, [r3, #8] - b _08071F12 - .align 2, 0 -_08071EFC: .4byte 0x000002DF -_08071F00: - movs r0, #0xc2 - lsls r0, r0, #3 - strh r0, [r3, #8] - adds r0, r3, #0 - adds r0, #0x38 - ldrb r0, [r0] - movs r1, #2 - bl sub_0807CAA0 -_08071F12: - pop {r4, pc} - - thumb_func_start sub_08071F14 -sub_08071F14: @ 0x08071F14 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08071F32 - ldr r1, _08071F34 @ =gUnk_03003F80 - movs r0, #0 - str r0, [r1, #0x2c] - bl sub_0807921C -_08071F32: - pop {r4, pc} - .align 2, 0 -_08071F34: .4byte gUnk_03003F80 - - thumb_func_start sub_08071F38 -sub_08071F38: @ 0x08071F38 - push {lr} - ldr r2, _08071F4C @ =gUnk_0811BB50 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08071F4C: .4byte gUnk_0811BB50 - - thumb_func_start sub_08071F50 -sub_08071F50: @ 0x08071F50 - push {lr} - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #0x78 - strb r1, [r0, #0xe] - ldrb r1, [r0, #0xd] - adds r1, #1 - strb r1, [r0, #0xd] - ldr r1, _08071F78 @ =gUnk_03003F80 - movs r0, #0xa5 - lsls r0, r0, #2 - strh r0, [r1, #8] - bl sub_08077B20 - ldr r0, _08071F7C @ =0x00000195 - bl sub_080A3268 - pop {pc} - .align 2, 0 -_08071F78: .4byte gUnk_03003F80 -_08071F7C: .4byte 0x00000195 - - thumb_func_start sub_08071F80 -sub_08071F80: @ 0x08071F80 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - adds r5, r0, #0 - cmp r5, #0 - bne _08071FB8 - adds r0, r4, #0 - bl sub_08016A04 - ldr r0, _08071FB4 @ =gUnk_03003F80 - strb r5, [r0, #2] - ldrb r0, [r0, #0x14] - cmp r0, #0 - bne _08071FB8 - bl sub_08079D48 - cmp r0, #0 - bne _08071FB8 - adds r0, r4, #0 - bl sub_08072008 - b _08072004 - .align 2, 0 -_08071FB4: .4byte gUnk_03003F80 -_08071FB8: - bl sub_08079B24 - cmp r0, #0 - bne _08071FC8 - adds r0, r4, #0 - bl sub_08079708 - b _08071FFE -_08071FC8: - ldr r0, _08071FEC @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #4 - ands r0, r1 - cmp r0, #0 - beq _08071FFE - bl sub_0807953C - cmp r0, #0 - beq _08071FF0 - ldrb r0, [r4, #0xe] - subs r0, #3 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x62 - movs r0, #2 - b _08071FF4 - .align 2, 0 -_08071FEC: .4byte gUnk_03003F80 -_08071FF0: - adds r1, r4, #0 - adds r1, #0x62 -_08071FF4: - strb r0, [r1] - movs r0, #0xe - ldrsb r0, [r4, r0] - cmp r0, #0 - bgt _08072004 -_08071FFE: - adds r0, r4, #0 - bl sub_08072008 -_08072004: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08072008 -sub_08072008: @ 0x08072008 - push {lr} - adds r3, r0, #0 - adds r1, r3, #0 - adds r1, #0x3d - movs r2, #0 - movs r0, #0xa0 - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x42 - strb r2, [r0] - ldrb r1, [r3, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r3, #0x10] - adds r0, r3, #0 - adds r0, #0x62 - strb r2, [r0] - ldr r2, _08072044 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08072048 @ =0xFFFFF7FE - ands r0, r1 - str r0, [r2, #0x30] - adds r0, r3, #0 - movs r1, #0xd - movs r2, #0 - bl sub_080A29AC - bl sub_080791BC - pop {pc} - .align 2, 0 -_08072044: .4byte gUnk_03003F80 -_08072048: .4byte 0xFFFFF7FE - - thumb_func_start sub_0807204C -sub_0807204C: @ 0x0807204C - push {lr} - ldr r2, _08072060 @ =gUnk_0811BB58 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08072060: .4byte gUnk_0811BB58 - - thumb_func_start sub_08072064 -sub_08072064: @ 0x08072064 - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - ldr r2, _08072094 @ =gUnk_03003F80 - adds r1, r2, #0 - adds r1, #0x3a - ldrb r1, [r1] - strb r1, [r0, #0xe] - adds r0, r2, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, #1 - ldrb r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - strh r1, [r2, #8] - bl sub_08077B2C - pop {pc} - .align 2, 0 -_08072094: .4byte gUnk_03003F80 - - thumb_func_start sub_08072098 -sub_08072098: @ 0x08072098 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080720B4 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080720D8 - b _080720C2 -_080720B4: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080720D8 -_080720C2: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _080720D4 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_080720D4: - bl sub_080791BC -_080720D8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080720DC -sub_080720DC: @ 0x080720DC - push {r4, lr} - adds r4, r0, #0 - bl sub_08078EFC - cmp r0, #0 - bne _080720F8 - ldr r0, _080720FC @ =gUnk_0811BB60 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_080720F8: - pop {r4, pc} - .align 2, 0 -_080720FC: .4byte gUnk_0811BB60 - - thumb_func_start sub_08072100 -sub_08072100: @ 0x08072100 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldr r0, _08072148 @ =gUnk_08114F88 - str r0, [r4, #0x48] - ldr r2, _0807214C @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x38 - ldrb r0, [r0] - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r2, #0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - beq _0807213A - movs r0, #0xff - strb r0, [r4, #0x15] -_0807213A: - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08072154 - ldr r0, _08072150 @ =0x00000404 - b _08072158 - .align 2, 0 -_08072148: .4byte gUnk_08114F88 -_0807214C: .4byte gUnk_03003F80 -_08072150: .4byte 0x00000404 -_08072154: - movs r0, #0x82 - lsls r0, r0, #1 -_08072158: - strh r0, [r2, #8] - bl sub_08077B2C - adds r0, r4, #0 - bl sub_08072168 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08072168 -sub_08072168: @ 0x08072168 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - movs r2, #0xc - rsbs r2, r2, #0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806F854 - lsls r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #6 - cmp r0, #0 - beq _0807218A - movs r1, #0x80 - lsls r1, r1, #7 -_0807218A: - adds r0, r4, #0 - bl sub_08003FC4 - ldr r0, _080721A4 @ =gUnk_03003F80 - adds r0, #0x3a - ldrb r0, [r0] - cmp r0, #0 - beq _080721A8 - adds r0, r4, #0 - bl sub_0806F69C - b _080721AC - .align 2, 0 -_080721A4: .4byte gUnk_03003F80 -_080721A8: - bl sub_08079E08 -_080721AC: - ldr r1, _080721E0 @ =gUnk_03003F80 - ldrb r0, [r4, #0x15] - strb r0, [r1, #0xd] - bl sub_08019840 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080721DE - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_08016A04 - bl sub_080791BC -_080721DE: - pop {r4, pc} - .align 2, 0 -_080721E0: .4byte gUnk_03003F80 - - thumb_func_start sub_080721E4 -sub_080721E4: @ 0x080721E4 - push {lr} - ldr r1, _08072208 @ =gUnk_03003F80 - adds r1, #0xa8 - movs r2, #0x1a - strb r2, [r1] - ldr r2, _0807220C @ =gUnk_0811BB68 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldr r0, _08072210 @ =gUnk_0200AF00 - adds r0, #0x2e - movs r1, #8 - strb r1, [r0] - pop {pc} - .align 2, 0 -_08072208: .4byte gUnk_03003F80 -_0807220C: .4byte gUnk_0811BB68 -_08072210: .4byte gUnk_0200AF00 - - thumb_func_start sub_08072214 -sub_08072214: @ 0x08072214 - push {lr} - adds r3, r0, #0 - movs r0, #1 - strb r0, [r3, #0xd] - movs r0, #0x80 - strh r0, [r3, #0x24] - ldr r2, _08072244 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x38 - ldrb r0, [r0] - strb r0, [r3, #0xe] - ldrb r0, [r3, #0x14] - movs r1, #4 - eors r0, r1 - lsls r0, r0, #2 - strb r0, [r3, #0x15] - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _08072248 - movs r0, #0xd3 - lsls r0, r0, #2 - b _0807224A - .align 2, 0 -_08072244: .4byte gUnk_03003F80 -_08072248: - ldr r0, _0807225C @ =0x00000944 -_0807224A: - strh r0, [r2, #8] - ldr r0, [r2, #0x30] - movs r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - adds r0, r3, #0 - bl sub_08072260 - pop {pc} - .align 2, 0 -_0807225C: .4byte 0x00000944 - - thumb_func_start sub_08072260 -sub_08072260: @ 0x08072260 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0807229C @ =gUnk_03003F80 - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #0 - strh r0, [r1] - bl sub_08079E08 - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080722B0 - ldr r0, [r5, #0x30] - movs r1, #2 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r5, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _080722A0 - movs r0, #0xd3 - lsls r0, r0, #2 - b _080722A2 - .align 2, 0 -_0807229C: .4byte gUnk_03003F80 -_080722A0: - ldr r0, _080722B4 @ =0x00000944 -_080722A2: - strh r0, [r5, #8] - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - bl sub_080791BC -_080722B0: - pop {r4, r5, pc} - .align 2, 0 -_080722B4: .4byte 0x00000944 - - thumb_func_start sub_080722B8 -sub_080722B8: @ 0x080722B8 - push {lr} - ldr r1, _080722D4 @ =gUnk_03003F80 - adds r1, #0xa8 - movs r2, #0xa - strb r2, [r1] - ldr r2, _080722D8 @ =gUnk_0811BB70 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080722D4: .4byte gUnk_03003F80 -_080722D8: .4byte gUnk_0811BB70 - - thumb_func_start sub_080722DC -sub_080722DC: @ 0x080722DC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r2, _08072318 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - adds r5, r2, #0 - cmp r0, #0 - bne _0807231C - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xa0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #0x42 - movs r2, #0 - bl sub_080A2960 - cmp r0, #0 - beq _0807230E - str r4, [r0, #0x54] -_0807230E: - movs r0, #0x8a - lsls r0, r0, #1 - strh r0, [r5, #8] - b _08072332 - .align 2, 0 -_08072318: .4byte gUnk_03003F80 -_0807231C: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #3 - strb r0, [r4, #0xd] - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0xa - strb r0, [r1] -_08072332: - ldr r0, [r5, #0x30] - ldr r1, _08072350 @ =0x00000401 - orrs r0, r1 - str r0, [r5, #0x30] - bl sub_08077B2C - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0x7a - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_08072350: .4byte 0x00000401 - - thumb_func_start sub_08072354 -sub_08072354: @ 0x08072354 - push {r4, lr} - adds r4, r0, #0 - movs r2, #0xc - rsbs r2, r2, #0 - movs r1, #0 - bl sub_0806F854 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08079744 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - adds r3, r0, #0 - cmp r3, #0 - bne _080723C0 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x42 - strb r3, [r0] - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r2, _080723C4 @ =gUnk_03003F80 - ldr r0, _080723C8 @ =0x000002C1 - strh r0, [r2, #8] - ldr r0, [r2, #0x30] - ldr r1, _080723CC @ =0xFFFFFBFF - ands r0, r1 - str r0, [r2, #0x30] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0xc - movs r2, #0 - bl sub_080A29AC - movs r0, #0xd3 - lsls r0, r0, #1 - bl sub_080A3268 -_080723C0: - pop {r4, pc} - .align 2, 0 -_080723C4: .4byte gUnk_03003F80 -_080723C8: .4byte 0x000002C1 -_080723CC: .4byte 0xFFFFFBFF - - thumb_func_start sub_080723D0 -sub_080723D0: @ 0x080723D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0807240A - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0x14 - strb r0, [r1] - subs r0, #0x16 - bl sub_080526A0 - bl sub_08079458 -_0807240A: - pop {r4, pc} - - thumb_func_start sub_0807240C -sub_0807240C: @ 0x0807240C - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x42 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08072448 - ldrb r0, [r2, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r1, r2, #0 - adds r1, #0x3d - movs r0, #0x14 - strb r0, [r1] - ldr r2, _0807244C @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08072450 @ =0xFFFFFBFF - ands r0, r1 - str r0, [r2, #0x30] - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - bl sub_08079458 -_08072448: - pop {pc} - .align 2, 0 -_0807244C: .4byte gUnk_03003F80 -_08072450: .4byte 0xFFFFFBFF - - thumb_func_start sub_08072454 -sub_08072454: @ 0x08072454 - push {lr} - ldr r2, _08072468 @ =gUnk_0811BB80 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08072468: .4byte gUnk_0811BB80 - - thumb_func_start sub_0807246C -sub_0807246C: @ 0x0807246C - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - ldr r2, _0807248C @ =gUnk_03003F80 - adds r1, r2, #0 - adds r1, #0x38 - ldrb r1, [r1] - strb r1, [r0, #0xe] - movs r0, #0xf0 - lsls r0, r0, #2 - strh r0, [r2, #8] - movs r0, #0x7b - bl sub_080A3268 - pop {pc} - .align 2, 0 -_0807248C: .4byte gUnk_03003F80 - - thumb_func_start sub_08072490 -sub_08072490: @ 0x08072490 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _080724AE - adds r0, r1, #0 - bl sub_080042B8 - bl sub_08079E08 - b _080724C2 -_080724AE: - adds r0, r1, #0 - adds r0, #0x3d - movs r1, #0x3c - strb r1, [r0] - movs r0, #8 - rsbs r0, r0, #0 - bl sub_080526A0 - bl sub_080791D0 -_080724C2: - pop {pc} - - thumb_func_start sub_080724C4 -sub_080724C4: @ 0x080724C4 - push {lr} - ldr r2, _080724D8 @ =gUnk_0811BB88 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080724D8: .4byte gUnk_0811BB88 - - thumb_func_start sub_080724DC -sub_080724DC: @ 0x080724DC - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - bl sub_0807A108 - adds r0, r4, #0 - bl sub_080002B8 - cmp r0, #0x29 - beq _0807254C - ldr r1, _08072530 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x89 - ldrb r0, [r0] - cmp r0, #0 - bne _08072512 - adds r0, r1, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08072512 - adds r0, r4, #0 - bl sub_0807AE20 -_08072512: - ldr r0, _08072534 @ =gUnk_03000BF0 - ldrh r0, [r0] - cmp r0, #0 - bne _08072538 - ldrb r0, [r4, #0x11] - lsrs r2, r0, #4 - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x11] - adds r0, r4, #0 - bl sub_080728AC - b _08072588 - .align 2, 0 -_08072530: .4byte gUnk_03003F80 -_08072534: .4byte gUnk_03000BF0 -_08072538: - ldr r0, _08072548 @ =gUnk_03003F80 - ldrb r0, [r0, #0x1c] - cmp r0, #0 - bne _08072588 - adds r0, r4, #0 - bl sub_080042B8 - b _08072588 - .align 2, 0 -_08072548: .4byte gUnk_03003F80 -_0807254C: - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #1 - strb r0, [r4, #0xd] - ldr r0, _08072570 @ =gUnk_02034350 - ldrb r0, [r0] - cmp r0, #0 - bne _08072588 - ldr r2, _08072574 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807257C - ldr r0, _08072578 @ =0x00000C18 - b _08072580 - .align 2, 0 -_08072570: .4byte gUnk_02034350 -_08072574: .4byte gUnk_03003F80 -_08072578: .4byte 0x00000C18 -_0807257C: - movs r0, #0x82 - lsls r0, r0, #1 -_08072580: - strh r0, [r2, #8] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] -_08072588: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807258C -sub_0807258C: @ 0x0807258C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080725D0 @ =gUnk_03000BF0 - ldrh r0, [r0] - cmp r0, #0 - bne _08072604 - adds r0, r4, #0 - bl sub_0807A894 - cmp r0, #0x29 - bne _080725E4 - bl sub_08079E08 - bl sub_080797C4 - cmp r0, #0 - beq _080725DC - ldr r2, _080725D4 @ =gUnk_03003F80 - ldr r1, _080725D8 @ =gUnk_03001160 - ldrh r0, [r1, #0x2e] - strh r0, [r2, #0x16] - ldrh r0, [r1, #0x32] - strh r0, [r2, #0x18] - ldrb r1, [r4, #0x11] - lsrs r2, r1, #4 - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x11] - adds r0, r4, #0 - bl sub_080728AC - b _08072604 - .align 2, 0 -_080725D0: .4byte gUnk_03000BF0 -_080725D4: .4byte gUnk_03003F80 -_080725D8: .4byte gUnk_03001160 -_080725DC: - adds r0, r4, #0 - bl sub_080042B8 - b _08072604 -_080725E4: - ldr r2, _08072624 @ =gUnk_03003F80 - ldr r1, _08072628 @ =gUnk_03001160 - ldrh r0, [r1, #0x2e] - strh r0, [r2, #0x16] - ldrh r0, [r1, #0x32] - strh r0, [r2, #0x18] - ldrb r1, [r4, #0x11] - lsrs r2, r1, #4 - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x11] - adds r0, r4, #0 - bl sub_080728AC -_08072604: - ldr r1, _08072624 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x89 - ldrb r0, [r0] - cmp r0, #0 - bne _08072620 - adds r0, r1, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08072620 - adds r0, r4, #0 - bl sub_0807AE20 -_08072620: - pop {r4, pc} - .align 2, 0 -_08072624: .4byte gUnk_03003F80 -_08072628: .4byte gUnk_03001160 - - thumb_func_start sub_0807262C -sub_0807262C: @ 0x0807262C - push {lr} - ldr r1, _08072648 @ =gUnk_03003F80 - adds r1, #0xa8 - movs r2, #9 - strb r2, [r1] - ldr r2, _0807264C @ =gUnk_0811BB90 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08072648: .4byte gUnk_03003F80 -_0807264C: .4byte gUnk_0811BB90 - - thumb_func_start sub_08072650 -sub_08072650: @ 0x08072650 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08072698 @ =gUnk_03003F80 - ldr r0, [r5, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xe - ands r0, r1 - cmp r0, #0 - bne _0807266E - ldr r0, _0807269C @ =gUnk_03001160 - bl sub_0806F948 - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] -_0807266E: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xd] - strb r1, [r4, #0xe] - bl sub_08077B2C - ldr r3, [r5, #0x30] - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _080726A4 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldr r0, _080726A0 @ =0x00000C08 - b _080726BE - .align 2, 0 -_08072698: .4byte gUnk_03003F80 -_0807269C: .4byte gUnk_03001160 -_080726A0: .4byte 0x00000C08 -_080726A4: - adds r0, r4, #0 - adds r0, #0x40 - movs r1, #0x1e - strb r1, [r0] - movs r0, #8 - ands r3, r0 - cmp r3, #0 - beq _080726BA - movs r0, #0x87 - lsls r0, r0, #3 - b _080726BE -_080726BA: - movs r0, #0xab - lsls r0, r0, #2 -_080726BE: - strh r0, [r5, #8] - ldr r2, _080726E0 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xb - orrs r0, r1 - str r0, [r2, #0x30] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _080726E4 - movs r0, #0x79 - bl sub_080A3268 - b _080726EA - .align 2, 0 -_080726E0: .4byte gUnk_03003F80 -_080726E4: - movs r0, #0x78 - bl sub_080A3268 -_080726EA: - movs r0, #0x7e - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080726F4 -sub_080726F4: @ 0x080726F4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r3, _08072744 @ =gUnk_03003F80 - ldr r2, [r3, #0x30] - movs r0, #0xc0 - lsls r0, r0, #0xc - ands r0, r2 - movs r1, #0x80 - lsls r1, r1, #0xb - cmp r0, r1 - bne _08072730 - movs r0, #0x80 - lsls r0, r0, #0xe - ands r0, r2 - cmp r0, #0 - bne _0807274C - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0807274C - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807274C -_08072730: - ldr r0, _08072748 @ =0xFFFBFFFF - ands r2, r0 - str r2, [r3, #0x30] - bl sub_08078EFC - cmp r0, #0 - beq _08072740 - b _080728A0 -_08072740: - b _080727E0 - .align 2, 0 -_08072744: .4byte gUnk_03003F80 -_08072748: .4byte 0xFFFBFFFF -_0807274C: - ldrb r1, [r4, #0x14] - movs r0, #6 - ands r0, r1 - lsls r0, r0, #2 - strb r0, [r4, #0x15] - ldr r0, _080727A0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0807277E - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0807277E - ldr r0, _080727A4 @ =gUnk_03001160 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - movs r0, #4 - strb r0, [r4, #0xe] -_0807277E: - ldr r5, _080727A0 @ =gUnk_03003F80 - ldr r0, [r5, #0x30] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - bne _0807278E - bl sub_0807A1B8 -_0807278E: - bl sub_08078EFC - cmp r0, #0 - beq _080727AC - ldr r0, [r5, #0x30] - ldr r1, _080727A8 @ =0xFFFBFFFF - ands r0, r1 - str r0, [r5, #0x30] - b _080728A0 - .align 2, 0 -_080727A0: .4byte gUnk_03003F80 -_080727A4: .4byte gUnk_03001160 -_080727A8: .4byte 0xFFFBFFFF -_080727AC: - ldr r1, [r5, #0x30] - movs r0, #0x80 - lsls r0, r0, #0xc - ands r0, r1 - cmp r0, #0 - beq _080727C4 - ldr r0, _080727C0 @ =0xFFFBFFFF - ands r1, r0 - str r1, [r5, #0x30] - b _080728A0 - .align 2, 0 -_080727C0: .4byte 0xFFFBFFFF -_080727C4: - adds r0, r4, #0 - bl sub_0807AC54 - cmp r0, #0 - bne _080728A0 - ldr r1, [r5, #0x30] - movs r3, #0x94 - lsls r3, r3, #2 - ands r3, r1 - cmp r3, #0 - beq _080727EC - ldr r0, _080727E8 @ =0xFFFBFFFF - ands r1, r0 - str r1, [r5, #0x30] -_080727E0: - adds r0, r4, #0 - bl sub_080728AC - b _080728A0 - .align 2, 0 -_080727E8: .4byte 0xFFFBFFFF -_080727EC: - ldrb r0, [r5, #0x12] - cmp r0, #0x17 - bne _080727FE - adds r0, r4, #0 - bl sub_0800892E - adds r5, r4, #0 - adds r5, #0x5a - b _08072844 -_080727FE: - adds r1, r4, #0 - adds r1, #0x5a - ldrb r0, [r1] - movs r2, #0xf - ands r2, r0 - adds r5, r1, #0 - cmp r2, #1 - beq _0807282A - cmp r2, #1 - bgt _08072818 - cmp r2, #0 - beq _08072822 - b _0807283C -_08072818: - cmp r2, #2 - beq _08072832 - cmp r2, #3 - beq _0807283A - b _0807283C -_08072822: - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - b _0807283C -_0807282A: - ldrh r0, [r4, #0x24] - adds r0, #0x20 - strh r0, [r4, #0x24] - b _0807283C -_08072832: - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - b _0807283C -_0807283A: - strh r3, [r4, #0x24] -_0807283C: - bl sub_08078F24 - bl sub_08079E08 -_08072844: - ldrb r1, [r5] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - bne _08072860 - ldr r0, _080728A4 @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - movs r0, #0x80 - ands r1, r0 - cmp r1, #0 - bne _08072860 - adds r0, r4, #0 - adds r0, #0x40 - strb r1, [r0] -_08072860: - ldrb r1, [r5] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08072870 - adds r0, r4, #0 - bl sub_08077698 -_08072870: - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08072882 - ldr r0, _080728A4 @ =gUnk_03003F80 - ldrb r0, [r0, #4] - cmp r0, #0 - beq _08072886 -_08072882: - bl sub_080791D0 -_08072886: - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807289A - ldr r0, _080728A4 @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - ldr r2, _080728A8 @ =0xFFDBFFFF - ands r1, r2 - str r1, [r0, #0x30] -_0807289A: - adds r0, r4, #0 - bl sub_080042B8 -_080728A0: - pop {r4, r5, pc} - .align 2, 0 -_080728A4: .4byte gUnk_03003F80 -_080728A8: .4byte 0xFFDBFFFF - - thumb_func_start sub_080728AC -sub_080728AC: @ 0x080728AC - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08079938 - ldr r0, _080728C8 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080728CC - adds r0, r4, #0 - bl sub_0807B068 - b _080728D0 - .align 2, 0 -_080728C8: .4byte gUnk_03003F80 -_080728CC: - bl sub_08078F60 -_080728D0: - ldr r1, _08072940 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _080728E0 - movs r0, #0 - strh r0, [r4, #0x24] -_080728E0: - ldr r0, [r1, #0x30] - movs r5, #0x40 - ands r5, r0 - adds r3, r0, #0 - cmp r5, #0 - bne _080728F6 - ldr r0, _08072944 @ =gUnk_03001160 - ldrb r1, [r0, #0x18] - movs r2, #3 - orrs r1, r2 - strb r1, [r0, #0x18] -_080728F6: - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - bne _08072910 - ldr r2, _08072944 @ =gUnk_03001160 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] -_08072910: - ldr r0, _08072948 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _0807292C - cmp r5, #0 - beq _08072928 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_08072928: - bl sub_080791D0 -_0807292C: - ldr r0, _08072940 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - bne _0807293C - bl sub_0807A1B8 -_0807293C: - pop {r4, r5, pc} - .align 2, 0 -_08072940: .4byte gUnk_03003F80 -_08072944: .4byte gUnk_03001160 -_08072948: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807294C -sub_0807294C: @ 0x0807294C - push {lr} - ldr r1, _08072968 @ =gUnk_03003F80 - adds r1, #0xa8 - movs r2, #0x17 - strb r2, [r1] - ldr r2, _0807296C @ =gUnk_0811BB98 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08072968: .4byte gUnk_03003F80 -_0807296C: .4byte gUnk_0811BB98 - - thumb_func_start sub_08072970 -sub_08072970: @ 0x08072970 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _08072A4C - movs r7, #1 - strb r7, [r5, #0xd] - ldrh r2, [r5, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - movs r2, #8 - orrs r0, r2 - strh r0, [r5, #0x2e] - ldrh r0, [r5, #0x32] - ands r1, r0 - movs r0, #0xa - movs r3, #0 - orrs r1, r0 - strh r1, [r5, #0x32] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - strb r0, [r2] - strb r3, [r5, #0xe] - ldr r2, _080729D8 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xd - orrs r0, r1 - str r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _080729DC - movs r0, #0x95 - lsls r0, r0, #4 - strh r0, [r2, #8] - adds r6, r5, #0 - adds r6, #0x38 - b _08072A14 - .align 2, 0 -_080729D8: .4byte gUnk_03003F80 -_080729DC: - ldr r0, _08072A50 @ =0x0000061C - strh r0, [r2, #8] - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r2, _08072A54 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r4, #0x32 - ldrsh r1, [r5, r4] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r4, r5, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080001DA - ldr r1, _08072A58 @ =0x00004020 - adds r6, r4, #0 - cmp r0, r1 - bne _08072A14 - strb r7, [r5, #0xe] -_08072A14: - ldr r0, _08072A5C @ =0x00004070 - movs r7, #0x2e - ldrsh r1, [r5, r7] - ldr r3, _08072A54 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r7, #0x32 - ldrsh r2, [r5, r7] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r6] - bl sub_0800015E - bl sub_08077B2C - adds r0, r5, #0 - bl sub_08072A60 - movs r0, #0x81 - bl sub_080A3268 -_08072A4C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08072A50: .4byte 0x0000061C -_08072A54: .4byte gUnk_03000BF0 -_08072A58: .4byte 0x00004020 -_08072A5C: .4byte 0x00004070 - - thumb_func_start sub_08072A60 -sub_08072A60: @ 0x08072A60 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08072AC4 - ldrb r0, [r2, #0xe] - cmp r0, #1 - bne _08072A9C - movs r0, #3 - strb r0, [r2, #0xd] - movs r0, #0x28 - strb r0, [r2, #0xe] - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x61 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08072A94 @ =gUnk_03003F80 - ldr r0, _08072A98 @ =0x00000624 - strh r0, [r1, #8] - b _08072ACA - .align 2, 0 -_08072A94: .4byte gUnk_03003F80 -_08072A98: .4byte 0x00000624 -_08072A9C: - movs r0, #2 - strb r0, [r2, #0xd] - ldr r2, _08072AB4 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08072ABC - ldr r0, _08072AB8 @ =0x00000954 - strh r0, [r2, #8] - b _08072ACA - .align 2, 0 -_08072AB4: .4byte gUnk_03003F80 -_08072AB8: .4byte 0x00000954 -_08072ABC: - movs r0, #0xc4 - lsls r0, r0, #3 - strh r0, [r2, #8] - b _08072ACA -_08072AC4: - adds r0, r2, #0 - bl sub_080042B8 -_08072ACA: - pop {pc} - - thumb_func_start sub_08072ACC -sub_08072ACC: @ 0x08072ACC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08072AE0 @ =gUnk_03003F80 - ldrb r3, [r5, #0xd] - lsls r2, r3, #0x18 - lsrs r0, r2, #0x18 - cmp r0, #0xff - bne _08072AE4 - movs r0, #0 - b _08072B56 - .align 2, 0 -_08072AE0: .4byte gUnk_03003F80 -_08072AE4: - ldrb r1, [r4, #0xf] - cmp r1, #7 - bls _08072B50 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - strb r3, [r4, #0x15] - movs r0, #0xd0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r0, #0x78 - strh r0, [r4, #0x24] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x80 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - movs r1, #0x39 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x41 - strb r0, [r5, #2] - bl sub_0807921C - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _08072B4C @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - b _08072B58 - .align 2, 0 -_08072B4C: .4byte gUnk_03000BF0 -_08072B50: - lsrs r0, r2, #0x1a - strb r0, [r4, #0x14] - adds r0, r1, #1 -_08072B56: - strb r0, [r4, #0xf] -_08072B58: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08072B5C -sub_08072B5C: @ 0x08072B5C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - movs r1, #0x28 - subs r1, r1, r0 - asrs r1, r1, #4 - adds r1, #1 - adds r0, r5, #0 - bl sub_080042BA - adds r0, r5, #0 - bl sub_0806F948 - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _08072B82 - subs r0, #1 - strb r0, [r5, #0xe] - b _08072C40 -_08072B82: - ldr r0, _08072C04 @ =0x00004021 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08072C08 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldrb r0, [r5, #0x14] - lsls r0, r0, #2 - strb r0, [r5, #0x15] - movs r0, #1 - bl sub_0807A2F8 - adds r4, r0, #0 - cmp r4, #0 - bne _08072C10 - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x40 - strh r0, [r5, #0x24] - movs r0, #0xe4 - lsls r0, r0, #0xa - str r0, [r5, #0x20] - ldr r0, [r5, #0x34] - subs r0, #1 - str r0, [r5, #0x34] - ldr r1, _08072C0C @ =gUnk_03003F80 - movs r0, #0x41 - strb r0, [r1, #2] - movs r2, #0xc - rsbs r2, r2, #0 - adds r0, r5, #0 - movs r1, #0 - bl sub_0806F854 - bl sub_0807921C - b _08072C40 - .align 2, 0 -_08072C04: .4byte 0x00004021 -_08072C08: .4byte gUnk_03000BF0 -_08072C0C: .4byte gUnk_03003F80 -_08072C10: - bl sub_08052620 - cmp r0, #0 - bne _08072C1E - adds r0, r5, #0 - bl sub_08004542 -_08072C1E: - ldrb r0, [r5, #0xd] - adds r0, #1 - strb r0, [r5, #0xd] - lsls r4, r4, #4 - subs r4, #4 - lsls r4, r4, #0xc - str r4, [r5, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - ldr r1, _08072C44 @ =gUnk_03003F80 - movs r0, #0x81 - lsls r0, r0, #4 - strh r0, [r1, #8] - movs r0, #0x7c - bl sub_080A3268 -_08072C40: - pop {r4, r5, r6, pc} - .align 2, 0 -_08072C44: .4byte gUnk_03003F80 - - thumb_func_start sub_08072C48 -sub_08072C48: @ 0x08072C48 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08072C98 - adds r0, r4, #0 - movs r1, #7 - bl sub_08008790 - ldr r4, _08072C90 @ =gUnk_03003F80 - ldrb r0, [r4, #0x14] - cmp r0, #0 - beq _08072C94 - bl sub_08008B22 - cmp r0, #0 - beq _08072C98 - movs r0, #7 - strb r0, [r4, #0x11] - ldr r0, [r4, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08072C98 - bl sub_080791BC - b _08072C98 - .align 2, 0 -_08072C90: .4byte gUnk_03003F80 -_08072C94: - bl sub_0807921C -_08072C98: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08072C9C -sub_08072C9C: @ 0x08072C9C - push {lr} - ldr r1, _08072CB8 @ =gUnk_03003F80 - adds r1, #0xa8 - movs r2, #0x11 - strb r2, [r1] - ldr r2, _08072CBC @ =gUnk_0811BBAC - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08072CB8: .4byte gUnk_03003F80 -_08072CBC: .4byte gUnk_0811BBAC - - thumb_func_start sub_08072CC0 -sub_08072CC0: @ 0x08072CC0 - movs r1, #1 - strb r1, [r0, #0xd] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - ldr r3, _08072CF4 @ =gUnk_03003F80 - adds r1, r3, #0 - adds r1, #0x3a - ldrb r1, [r1] - lsrs r1, r1, #2 - adds r1, #1 - strb r1, [r0, #0xf] - adds r1, r3, #0 - adds r1, #0x39 - ldrb r1, [r1] - strb r1, [r0, #0x15] - movs r2, #0 - movs r1, #0x80 - lsls r1, r1, #3 - strh r1, [r0, #0x24] - ldr r0, _08072CF8 @ =0x00000524 - strh r0, [r3, #8] - strb r2, [r3, #5] - bx lr - .align 2, 0 -_08072CF4: .4byte gUnk_03003F80 -_08072CF8: .4byte 0x00000524 - - thumb_func_start sub_08072CFC -sub_08072CFC: @ 0x08072CFC - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_080042BA - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _08072D1C - adds r0, r4, #0 - bl sub_0806F69C - b _08072D4E -_08072D1C: - movs r0, #2 - strb r0, [r4, #0xd] - ldr r2, _08072D50 @ =gUnk_03003F80 - adds r1, r2, #0 - adds r1, #0x38 - ldrb r0, [r1] - cmp r0, #7 - bhi _08072D30 - movs r0, #8 - strb r0, [r1] -_08072D30: - ldrb r0, [r1] - lsls r0, r0, #0xc - str r0, [r4, #0x20] - movs r1, #0 - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - movs r0, #0x81 - lsls r0, r0, #4 - strh r0, [r2, #8] - movs r0, #5 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - bl sub_08077B2C -_08072D4E: - pop {r4, pc} - .align 2, 0 -_08072D50: .4byte gUnk_03003F80 - - thumb_func_start sub_08072D54 -sub_08072D54: @ 0x08072D54 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080042B8 - movs r2, #0xc - rsbs r2, r2, #0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806F854 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08072D7A - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - b _08072E80 -_08072D7A: - adds r0, r4, #0 - bl sub_0806F730 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - adds r2, r0, #0 - ldrb r5, [r4, #0xf] - cmp r5, #1 - beq _08072DD0 - cmp r5, #1 - bgt _08072D9C - cmp r5, #0 - beq _08072DA6 - b _08072E6C -_08072D9C: - cmp r5, #2 - beq _08072DFA - cmp r5, #3 - beq _08072E30 - b _08072E6C -_08072DA6: - ldr r1, _08072DC8 @ =gUnk_0811BBD4 - ldr r0, _08072DCC @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r2, #0 - bl sub_08007DD6 - cmp r0, #0 - beq _08072E6C - movs r0, #1 - strb r0, [r4, #0xe] - strb r0, [r4, #0xf] - b _08072E6C - .align 2, 0 -_08072DC8: .4byte gUnk_0811BBD4 -_08072DCC: .4byte gUnk_03001160 -_08072DD0: - ldr r1, _08072DEC @ =gUnk_0811BBD4 - ldr r0, _08072DF0 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r2, #0 - bl sub_08007DD6 - cmp r0, #0 - beq _08072DF4 - strb r5, [r4, #0xe] - b _08072E6C - .align 2, 0 -_08072DEC: .4byte gUnk_0811BBD4 -_08072DF0: .4byte gUnk_03001160 -_08072DF4: - movs r0, #2 - strb r0, [r4, #0xf] - b _08072E6C -_08072DFA: - ldrb r0, [r4, #0x14] - movs r5, #4 - eors r0, r5 - strb r0, [r4, #0x14] - ldr r1, _08072E28 @ =gUnk_0811BBD4 - ldr r0, _08072E2C @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r2, #0 - bl sub_08007DD6 - cmp r0, #0 - beq _08072E22 - movs r0, #1 - strb r0, [r4, #0xe] - movs r0, #3 - strb r0, [r4, #0xf] -_08072E22: - ldrb r0, [r4, #0x14] - eors r0, r5 - b _08072E6A - .align 2, 0 -_08072E28: .4byte gUnk_0811BBD4 -_08072E2C: .4byte gUnk_03001160 -_08072E30: - ldrb r0, [r4, #0x14] - movs r1, #4 - eors r0, r1 - strb r0, [r4, #0x14] - ldr r1, _08072E58 @ =gUnk_0811BBD4 - ldr r0, _08072E5C @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r2, #0 - bl sub_08007DD6 - cmp r0, #0 - beq _08072E60 - movs r0, #1 - strb r0, [r4, #0xe] - b _08072E64 - .align 2, 0 -_08072E58: .4byte gUnk_0811BBD4 -_08072E5C: .4byte gUnk_03001160 -_08072E60: - movs r0, #4 - strb r0, [r4, #0xf] -_08072E64: - ldrb r0, [r4, #0x14] - movs r1, #4 - eors r0, r1 -_08072E6A: - strb r0, [r4, #0x14] -_08072E6C: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08072E7A - adds r0, r4, #0 - bl sub_0806F69C - b _08072E7E -_08072E7A: - bl sub_08079E08 -_08072E7E: - movs r0, #0 -_08072E80: - strb r0, [r4, #0xe] - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08072F10 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - bne _08072EAA - adds r0, r4, #0 - bl sub_0800455E - b _08072EB0 -_08072EAA: - adds r0, r4, #0 - bl sub_08004542 -_08072EB0: - adds r0, r4, #0 - movs r1, #7 - bl sub_08008790 - ldr r5, _08072EDC @ =gUnk_03003F80 - ldrb r0, [r5, #0x14] - cmp r0, #0 - beq _08072EE0 - bl sub_08008B22 - cmp r0, #0 - beq _08072F10 - movs r0, #7 - strb r0, [r5, #0x11] - ldr r0, [r5, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08072F10 - bl sub_080791BC - b _08072F10 - .align 2, 0 -_08072EDC: .4byte gUnk_03003F80 -_08072EE0: - ldr r0, [r5, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08072EF4 - ldr r0, _08072EF0 @ =0x00000424 - b _08072EF8 - .align 2, 0 -_08072EF0: .4byte 0x00000424 -_08072EF4: - movs r0, #0x82 - lsls r0, r0, #4 -_08072EF8: - strh r0, [r5, #8] - movs r1, #0 - movs r0, #6 - strb r0, [r4, #0xe] - movs r0, #3 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x42 - strb r1, [r0] - movs r0, #0x7d - bl sub_080A3268 -_08072F10: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08072F14 -sub_08072F14: @ 0x08072F14 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _08072F2C - bl sub_0807921C - b _08072F32 -_08072F2C: - adds r0, r1, #0 - bl sub_080042B8 -_08072F32: - pop {pc} - - thumb_func_start sub_08072F34 -sub_08072F34: @ 0x08072F34 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08078EFC - cmp r0, #0 - bne _08072F86 - ldr r6, _08072F88 @ =gUnk_03003F80 - adds r1, r6, #0 - adds r1, #0xa8 - movs r0, #0x18 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_0807A1E8 - strb r0, [r6, #0x12] - ldr r1, _08072F8C @ =gUnk_0811BBE4 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r5, r4, #0 - adds r5, #0x42 - ldrb r0, [r5] - cmp r0, #0 - beq _08072F86 - bl sub_080792D8 - ldrb r1, [r5] - cmp r1, #0 - bne _08072F86 - movs r0, #0x1d - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - strh r1, [r4, #0x30] - ldr r0, _08072F90 @ =0x000002CF - strh r0, [r6, #8] -_08072F86: - pop {r4, r5, r6, pc} - .align 2, 0 -_08072F88: .4byte gUnk_03003F80 -_08072F8C: .4byte gUnk_0811BBE4 -_08072F90: .4byte 0x000002CF - - thumb_func_start sub_08072F94 -sub_08072F94: @ 0x08072F94 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08072FB4 @ =gUnk_03003F80 - ldrb r1, [r0, #0x12] - adds r3, r0, #0 - cmp r1, #0x1e - beq _08072FB8 - cmp r1, #0x1e - blt _08072FAE - cmp r1, #0x2c - bgt _08072FAE - cmp r1, #0x2a - bge _08072FB8 -_08072FAE: - bl sub_0807921C - b _0807308C - .align 2, 0 -_08072FB4: .4byte gUnk_03003F80 -_08072FB8: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r0 - strb r1, [r2] - adds r2, r3, #0 - ldrb r1, [r2, #0xd] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08073072 - strb r1, [r4, #0x15] - ldrb r0, [r2, #0xd] - cmp r0, #8 - beq _08072FDE - cmp r0, #0x18 - bne _08073008 -_08072FDE: - ldrb r0, [r2, #0x12] - cmp r0, #0x1e - beq _0807308C - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08072FF8 - movs r0, #0xb5 - lsls r0, r0, #2 - b _08072FFA -_08072FF8: - ldr r0, _08073004 @ =0x000002D5 -_08072FFA: - strh r0, [r2, #8] - adds r0, r4, #0 - bl sub_08073094 - b _0807306A - .align 2, 0 -_08073004: .4byte 0x000002D5 -_08073008: - ldrb r0, [r2, #0x12] - cmp r0, #0x1e - bne _08073020 - movs r0, #7 - ands r0, r1 - cmp r0, #0 - beq _08073020 - adds r0, r1, #0 - adds r0, #8 - movs r1, #0x10 - ands r0, r1 - strb r0, [r4, #0x15] -_08073020: - ldrb r1, [r4, #0x15] - movs r2, #0x10 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0807304C - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08073044 - ldr r0, _08073040 @ =0x000002D1 - b _08073068 - .align 2, 0 -_08073040: .4byte 0x000002D1 -_08073044: - ldr r0, _08073048 @ =0x000002D2 - b _08073068 - .align 2, 0 -_08073048: .4byte 0x000002D2 -_0807304C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08073064 - ldr r0, _08073060 @ =0x000002CF - b _08073068 - .align 2, 0 -_08073060: .4byte 0x000002CF -_08073064: - movs r0, #0xb4 - lsls r0, r0, #2 -_08073068: - strh r0, [r3, #8] -_0807306A: - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - b _0807308C -_08073072: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08073088 - movs r0, #0xb5 - lsls r0, r0, #2 - strh r0, [r2, #8] - b _0807308C -_08073088: - ldr r0, _08073090 @ =0x000002D5 - strh r0, [r3, #8] -_0807308C: - pop {r4, pc} - .align 2, 0 -_08073090: .4byte 0x000002D5 - - thumb_func_start sub_08073094 -sub_08073094: @ 0x08073094 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldr r2, _080730FC @ =gUnk_0811BBEC - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r4, #0x24] - bl sub_08079E08 - bl sub_08019840 - cmp r0, #0 - bne _080731A4 - ldr r0, _08073100 @ =gUnk_03003F80 - ldrb r1, [r0, #6] - movs r2, #0x80 - eors r1, r2 - strb r1, [r0, #6] - ldrb r0, [r0, #0x12] - cmp r0, #0x2a - beq _080730DE - cmp r0, #0x2c - beq _080730DE - bl sub_0807A1B8 -_080730DE: - bl sub_08078EFC - cmp r0, #0 - bne _080731A4 - ldr r1, _08073100 @ =gUnk_03003F80 - ldrb r0, [r1, #0x12] - subs r0, #0x19 - adds r2, r1, #0 - cmp r0, #0x13 - bhi _08073178 - lsls r0, r0, #2 - ldr r1, _08073104 @ =_08073108 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080730FC: .4byte gUnk_0811BBEC -_08073100: .4byte gUnk_03003F80 -_08073104: .4byte _08073108 -_08073108: @ jump table - .4byte _0807316C @ case 0 - .4byte _08073178 @ case 1 - .4byte _08073178 @ case 2 - .4byte _08073178 @ case 3 - .4byte _08073178 @ case 4 - .4byte _0807317E @ case 5 - .4byte _08073178 @ case 6 - .4byte _08073178 @ case 7 - .4byte _08073178 @ case 8 - .4byte _08073178 @ case 9 - .4byte _08073178 @ case 10 - .4byte _08073178 @ case 11 - .4byte _08073178 @ case 12 - .4byte _08073178 @ case 13 - .4byte _08073178 @ case 14 - .4byte _08073178 @ case 15 - .4byte _08073178 @ case 16 - .4byte _08073158 @ case 17 - .4byte _0807317E @ case 18 - .4byte _08073158 @ case 19 -_08073158: - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x16 - orrs r0, r1 - str r0, [r2, #0x30] - b _0807317E -_0807316C: - adds r0, r4, #0 - bl sub_08074808 - bl sub_080791D0 - b _080731A4 -_08073178: - bl sub_0807921C - b _080731A4 -_0807317E: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080731A4 - bl sub_0807A1B8 - bl sub_08078EFC - cmp r0, #0 - bne _080731A4 - ldrb r0, [r4, #0xd] - subs r0, #1 - strb r0, [r4, #0xd] -_080731A4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080731A8 -sub_080731A8: @ 0x080731A8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080731D0 @ =gUnk_03003F80 - adds r0, #0xa8 - movs r1, #0x1c - strb r1, [r0] - movs r0, #0 - movs r1, #8 - bl sub_0805E4E0 - ldr r1, _080731D4 @ =gUnk_0811BBF8 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080731D0: .4byte gUnk_03003F80 -_080731D4: .4byte gUnk_0811BBF8 - - thumb_func_start sub_080731D8 -sub_080731D8: @ 0x080731D8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - movs r2, #0 - strb r0, [r4, #0x10] - movs r1, #0 - movs r0, #0x40 - strh r0, [r4, #0x24] - strb r1, [r4, #0x14] - ldrh r1, [r4, #0x2e] - movs r5, #0x10 - rsbs r5, r5, #0 - adds r0, r5, #0 - ands r0, r1 - movs r7, #8 - orrs r0, r7 - strh r0, [r4, #0x2e] - strh r2, [r4, #0x2c] - ldr r6, _08073214 @ =gUnk_03003F80 - adds r0, r6, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - bne _08073218 - movs r0, #1 - strb r0, [r4, #0xd] - b _0807329A - .align 2, 0 -_08073214: .4byte gUnk_03003F80 -_08073218: - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #3 - strb r0, [r4, #0xd] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x7e - strh r0, [r1] - ldrh r0, [r4, #0x32] - subs r0, #0x10 - strh r0, [r4, #0x32] - adds r0, r4, #0 - movs r1, #0x70 - movs r2, #1 - movs r3, #0 - bl sub_080A2988 - str r0, [r4, #0x54] - adds r0, r6, #0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #7 - bne _08073270 - ldrh r1, [r4, #0x32] - adds r0, r5, #0 - ands r0, r1 - adds r0, #8 - strh r0, [r4, #0x32] - ldrh r1, [r4, #0x2e] - adds r0, r5, #0 - ands r0, r1 - strh r0, [r4, #0x2e] - strb r7, [r4, #0x15] - movs r0, #2 - strb r0, [r4, #0x14] - ldr r0, _0807326C @ =0x00000187 - bl sub_080A3268 - b _08073294 - .align 2, 0 -_0807326C: .4byte 0x00000187 -_08073270: - ldrh r1, [r4, #0x32] - adds r0, r5, #0 - ands r0, r1 - adds r0, #2 - strh r0, [r4, #0x32] - ldrh r1, [r4, #0x2e] - adds r0, r5, #0 - ands r0, r1 - adds r0, #0xf - strh r0, [r4, #0x2e] - movs r0, #0x18 - strb r0, [r4, #0x15] - movs r0, #6 - strb r0, [r4, #0x14] - movs r0, #0xc4 - lsls r0, r0, #1 - bl sub_080A3268 -_08073294: - adds r0, r4, #0 - bl sub_08066DE4 -_0807329A: - ldr r2, _080732AC @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _080732B4 - ldr r0, _080732B0 @ =0x00000404 - b _080732B8 - .align 2, 0 -_080732AC: .4byte gUnk_03003F80 -_080732B0: .4byte 0x00000404 -_080732B4: - movs r0, #0x82 - lsls r0, r0, #1 -_080732B8: - strh r0, [r2, #8] - ldr r1, _080732CC @ =gUnk_03000BF0 - movs r0, #0 - str r0, [r1, #0x30] - bl sub_0807A108 - bl sub_08077B2C - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080732CC: .4byte gUnk_03000BF0 - - thumb_func_start sub_080732D0 -sub_080732D0: @ 0x080732D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_080002B8 - cmp r0, #0x28 - beq _080732EE - movs r0, #0 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F69C - b _08073328 -_080732EE: - ldrb r0, [r4, #0xd] - adds r0, #1 - movs r1, #0 - strb r0, [r4, #0xd] - strh r1, [r4, #0x30] - adds r0, r4, #0 - movs r1, #0x70 - movs r2, #1 - movs r3, #0 - bl sub_080A2988 - ldr r0, _08073318 @ =gUnk_03003F80 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #7 - bne _08073320 - ldr r0, _0807331C @ =0x00000187 - bl sub_080A3268 - b _08073328 - .align 2, 0 -_08073318: .4byte gUnk_03003F80 -_0807331C: .4byte 0x00000187 -_08073320: - movs r0, #0xc4 - lsls r0, r0, #1 - bl sub_080A3268 -_08073328: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807332C -sub_0807332C: @ 0x0807332C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r0, _08073344 @ =gUnk_03003F80 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #7 - bne _08073348 - movs r0, #0 - b _0807334A - .align 2, 0 -_08073344: .4byte gUnk_03003F80 -_08073348: - movs r0, #0x1c -_0807334A: - strb r0, [r4, #0x15] - ldrh r1, [r4, #0x2e] - movs r0, #0xf - ands r0, r1 - cmp r0, #0xf - beq _08073386 - ldr r0, _08073368 @ =gUnk_03003F80 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #7 - bne _0807336C - movs r0, #2 - strb r0, [r4, #0x14] - movs r0, #4 - b _0807337C - .align 2, 0 -_08073368: .4byte gUnk_03003F80 -_0807336C: - movs r0, #6 - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x15] - cmp r0, #0x18 - bls _0807337E - subs r0, #1 - movs r1, #0x1f - ands r0, r1 -_0807337C: - strb r0, [r4, #0x15] -_0807337E: - adds r0, r4, #0 - bl sub_0806F69C - b _080733B6 -_08073386: - ldr r0, _0807339C @ =gUnk_03003F80 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - beq _080733A4 - ldr r0, _080733A0 @ =gUnk_03000BF0 - str r4, [r0, #0x30] - bl sub_080791BC - b _080733B6 - .align 2, 0 -_0807339C: .4byte gUnk_03003F80 -_080733A0: .4byte gUnk_03000BF0 -_080733A4: - ldr r0, _080733B8 @ =gUnk_03001000 - movs r1, #3 - strb r1, [r0, #4] - movs r1, #1 - strb r1, [r0, #0xb] - movs r0, #5 - movs r1, #8 - bl sub_08050054 -_080733B6: - pop {r4, pc} - .align 2, 0 -_080733B8: .4byte gUnk_03001000 - - thumb_func_start sub_080733BC -sub_080733BC: @ 0x080733BC - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrh r1, [r4, #0x2e] - movs r0, #0xf - ands r0, r1 - cmp r0, #8 - bne _080733FC - movs r0, #0x10 - strb r0, [r4, #0x15] - movs r0, #4 - strb r0, [r4, #0x14] - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _080733FC - bl sub_0805E7BC - movs r0, #0 - str r0, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - bne _080733F6 - adds r0, r4, #0 - bl sub_0807AABC - b _080733FC -_080733F6: - adds r0, r4, #0 - bl sub_0807AA80 -_080733FC: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - adds r0, #0x7e - ldrh r1, [r0] - movs r2, #0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08073418 - ldr r0, _0807341C @ =gUnk_03000BF0 - str r4, [r0, #0x30] - bl sub_0807921C -_08073418: - pop {r4, pc} - .align 2, 0 -_0807341C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08073420 -sub_08073420: @ 0x08073420 - push {r4, lr} - adds r4, r0, #0 - bl sub_08078EFC - cmp r0, #0 - bne _0807345E - bl sub_0807A1B8 - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - ldr r0, _08073460 @ =gUnk_03003F80 - adds r0, #0xa8 - movs r1, #8 - strb r1, [r0] - ldr r1, _08073464 @ =gUnk_0811BC08 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 -_0807345E: - pop {r4, pc} - .align 2, 0 -_08073460: .4byte gUnk_03003F80 -_08073464: .4byte gUnk_0811BC08 - - thumb_func_start sub_08073468 -sub_08073468: @ 0x08073468 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _080734CC @ =gUnk_03003F80 - movs r1, #0 - movs r0, #0xe0 - lsls r0, r0, #3 - strh r0, [r5, #8] - strb r1, [r5, #2] - ldr r0, _080734D0 @ =0xFFFF0000 - str r0, [r4, #0x20] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xf0 - lsls r0, r0, #1 - str r0, [r4, #0x7c] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - ldr r1, [r5, #0x30] - movs r2, #0x80 - lsls r2, r2, #0x11 - adds r0, r1, #0 - ands r0, r2 - cmp r0, #0 - bne _080734AC - orrs r1, r2 - str r1, [r5, #0x30] - adds r0, r4, #0 - movs r1, #0x61 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 -_080734AC: - bl sub_08077B2C - ldr r0, [r4, #0x20] - cmp r0, #0 - bgt _080734C0 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - bne _080734C8 -_080734C0: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] -_080734C8: - pop {r4, r5, pc} - .align 2, 0 -_080734CC: .4byte gUnk_03003F80 -_080734D0: .4byte 0xFFFF0000 - - thumb_func_start sub_080734D4 -sub_080734D4: @ 0x080734D4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080734FC @ =0xFFFFF000 - bl sub_08003FC4 - ldr r0, [r4, #0x20] - cmp r0, #0 - bgt _080734EE - ldr r0, _08073500 @ =gUnk_03003F80 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - bne _080734FA -_080734EE: - movs r0, #0x92 - lsls r0, r0, #0xb - str r0, [r4, #0x20] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] -_080734FA: - pop {r4, pc} - .align 2, 0 -_080734FC: .4byte 0xFFFFF000 -_08073500: .4byte gUnk_03003F80 - - thumb_func_start sub_08073504 -sub_08073504: @ 0x08073504 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - movs r1, #0x80 - lsls r1, r1, #7 - cmp r0, #0 - bge _08073516 - movs r1, #0x80 - lsls r1, r1, #4 -_08073516: - adds r0, r4, #0 - bl sub_08003FC4 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _08073576 - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x20 - rsbs r0, r0, #0 - cmp r1, r0 - ble _08073576 - ldrb r0, [r4, #0xd] - adds r0, #1 - movs r2, #0 - strb r0, [r4, #0xd] - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - str r0, [r1] - adds r0, r4, #0 - adds r0, #0x87 - strb r2, [r0] - subs r0, #1 - strb r2, [r0] - ldr r0, _08073580 @ =gUnk_03003F80 - movs r1, #0xe1 - lsls r1, r1, #3 - strh r1, [r0, #8] - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - bne _08073576 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #6 - strb r0, [r4, #0xd] - movs r0, #0x10 - strh r0, [r4, #0x24] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #0xa9 - lsls r0, r0, #1 - bl sub_080A3268 -_08073576: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08073580: .4byte gUnk_03003F80 - - thumb_func_start sub_08073584 -sub_08073584: @ 0x08073584 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r2, _080735DC @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r5, #0x80 - adds r0, r5, #0 - ands r0, r1 - adds r6, r2, #0 - cmp r0, #0 - bne _080735C0 - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bgt _080735C0 - adds r0, r6, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _080735C0 - ldr r0, [r6, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x11 - ands r0, r1 - cmp r0, #0 - bne _080735E0 -_080735C0: - ldrb r0, [r6, #2] - movs r1, #0x40 - orrs r1, r0 - strb r1, [r6, #2] - bl sub_0807921C - adds r0, r4, #0 - bl sub_08073904 - movs r0, #0xe6 - lsls r0, r0, #3 - strh r0, [r6, #8] - b _08073794 - .align 2, 0 -_080735DC: .4byte gUnk_03003F80 -_080735E0: - ldr r0, _0807360C @ =gUnk_0200AF00 - adds r0, #0x2f - movs r1, #1 - strb r1, [r0] - movs r0, #0 - bl sub_0807A2F8 - cmp r0, #0 - beq _08073610 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x14] - movs r0, #6 - ands r0, r1 - lsls r0, r0, #2 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - b _08073794 - .align 2, 0 -_0807360C: .4byte gUnk_0200AF00 -_08073610: - ldr r0, _08073620 @ =gUnk_02033A90 - ldrb r0, [r0, #1] - cmp r0, #0x10 - bne _08073624 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - b _08073626 - .align 2, 0 -_08073620: .4byte gUnk_02033A90 -_08073624: - strh r5, [r4, #0x24] -_08073626: - ldr r3, _08073650 @ =gUnk_03003F80 - ldrb r1, [r3, #0xd] - movs r0, #0x80 - ands r0, r1 - adds r2, r4, #0 - adds r2, #0x80 - cmp r0, #0 - bne _0807365A - ldrb r0, [r4, #0x15] - cmp r0, r1 - beq _0807365A - ldrb r1, [r3, #0xd] - subs r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0xf - bgt _08073654 - ldr r0, [r2] - subs r0, #0x20 - b _08073658 - .align 2, 0 -_08073650: .4byte gUnk_03003F80 -_08073654: - ldr r0, [r2] - adds r0, #0x20 -_08073658: - str r0, [r2] -_0807365A: - ldr r0, [r2] - lsrs r0, r0, #8 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - bl sub_08079E08 - ldrb r2, [r4, #0x14] - lsls r3, r2, #2 - ldrb r1, [r4, #0x15] - cmp r2, #0 - bne _0807367C - adds r3, #8 - movs r0, #0x1f - ands r3, r0 - adds r1, #8 - ands r1, r0 -_0807367C: - subs r0, r3, #7 - cmp r0, r1 - bls _08073686 - subs r3, r2, #2 - b _0807368E -_08073686: - adds r0, r3, #7 - cmp r0, r1 - bhs _08073694 - adds r3, r2, #2 -_0807368E: - movs r0, #7 - ands r3, r0 - b _08073696 -_08073694: - adds r3, r2, #0 -_08073696: - movs r0, #0x87 - adds r0, r0, r4 - mov ip, r0 - ldrb r1, [r4, #0x14] - cmp r3, r1 - beq _080736A8 - movs r0, #0x14 - mov r2, ip - strb r0, [r2] -_080736A8: - strb r3, [r4, #0x14] - movs r5, #0 - ldr r1, _080736E4 @ =gUnk_03003F80 - ldrb r2, [r1, #0xd] - lsrs r3, r2, #2 - mov r6, ip - ldrb r0, [r6] - adds r6, r1, #0 - cmp r0, #0 - beq _080736CA - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _08073736 - ldrb r0, [r4, #0x14] - cmp r0, r3 - beq _08073736 -_080736CA: - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _080736FA - ldrb r2, [r4, #0x14] - cmp r2, r3 - beq _080736FA - movs r0, #4 - eors r0, r3 - cmp r2, r0 - bne _080736E8 - movs r5, #2 - b _080736FA - .align 2, 0 -_080736E4: .4byte gUnk_03003F80 -_080736E8: - movs r0, #6 - ands r0, r3 - adds r0, #2 - movs r1, #7 - ands r0, r1 - movs r5, #3 - cmp r2, r0 - bne _080736FA - movs r5, #1 -_080736FA: - ldr r1, _0807371C @ =gUnk_0811BC28 - lsls r0, r5, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrh r1, [r6, #8] - cmp r0, r1 - bne _0807372C - ldr r0, _08073720 @ =gUnk_02033A90 - ldrb r0, [r0, #1] - cmp r0, #0x10 - bne _08073724 - adds r0, r4, #0 - movs r1, #2 - bl sub_080042BA - b _0807372E - .align 2, 0 -_0807371C: .4byte gUnk_0811BC28 -_08073720: .4byte gUnk_02033A90 -_08073724: - adds r0, r4, #0 - bl sub_080042B8 - b _0807372E -_0807372C: - strh r0, [r6, #8] -_0807372E: - adds r0, r4, #0 - adds r0, #0x86 - strb r5, [r0] - b _08073762 -_08073736: - mov r2, ip - ldrb r0, [r2] - subs r0, #1 - strb r0, [r2] - ldr r1, _0807375C @ =gUnk_0811BC30 - adds r0, r4, #0 - adds r0, #0x86 - ldrb r0, [r0] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrh r1, [r6, #8] - cmp r0, r1 - bne _08073760 - adds r0, r4, #0 - bl sub_080042B8 - b _08073762 - .align 2, 0 -_0807375C: .4byte gUnk_0811BC30 -_08073760: - strh r0, [r6, #8] -_08073762: - ldr r0, [r4, #0x7c] - subs r1, r0, #1 - str r1, [r4, #0x7c] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _08073784 - ldr r2, _08073780 @ =gUnk_03003F80 - ldrb r1, [r2, #2] - movs r0, #0x40 - orrs r0, r1 - strb r0, [r2, #2] - bl sub_0807921C - b _08073794 - .align 2, 0 -_08073780: .4byte gUnk_03003F80 -_08073784: - adds r0, r1, #0 - movs r1, #0x14 - bl __divsi3 - ldr r2, _08073798 @ =0x0000FFF8 - adds r1, r2, #0 - subs r1, r1, r0 - strh r1, [r4, #0x36] -_08073794: - pop {r4, r5, r6, pc} - .align 2, 0 -_08073798: .4byte 0x0000FFF8 - - thumb_func_start sub_0807379C -sub_0807379C: @ 0x0807379C - push {lr} - adds r2, r0, #0 - ldrh r3, [r2, #0x36] - movs r0, #0x36 - ldrsh r1, [r2, r0] - movs r0, #0x20 - rsbs r0, r0, #0 - cmp r1, r0 - ble _080737B4 - subs r0, r3, #1 - strh r0, [r2, #0x36] - b _080737BA -_080737B4: - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] -_080737BA: - pop {pc} - - thumb_func_start sub_080737BC -sub_080737BC: @ 0x080737BC - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F69C - ldr r0, [r4, #0x34] - movs r1, #0x98 - lsls r1, r1, #7 - adds r0, r0, r1 - str r0, [r4, #0x34] - ldrb r1, [r4, #0x15] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080737E2 - ldrh r1, [r4, #0x2e] - b _080737E4 -_080737E2: - ldrh r1, [r4, #0x32] -_080737E4: - movs r0, #0xf - ands r0, r1 - cmp r0, #8 - bne _08073804 - adds r0, r4, #0 - bl sub_080002D0 - cmp r0, #0 - bne _08073804 - ldr r2, _08073808 @ =gUnk_03003F80 - ldrb r1, [r2, #2] - movs r0, #0x40 - orrs r0, r1 - strb r0, [r2, #2] - bl sub_0807921C -_08073804: - pop {r4, pc} - .align 2, 0 -_08073808: .4byte gUnk_03003F80 - - thumb_func_start sub_0807380C -sub_0807380C: @ 0x0807380C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08073854 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0807382A - ldrb r0, [r4, #0x14] - adds r0, #2 - movs r1, #6 - ands r0, r1 - strb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] -_0807382A: - ldr r2, _08073858 @ =gUnk_03003F80 - ldr r1, _0807385C @ =gUnk_0811BC38 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2, #8] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x10 - rsbs r0, r0, #0 - cmp r1, r0 - bge _08073860 - movs r1, #0x80 - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_08003FC4 - b _0807387A - .align 2, 0 -_08073854: .4byte gUnk_030010A0 -_08073858: .4byte gUnk_03003F80 -_0807385C: .4byte gUnk_0811BC38 -_08073860: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0807387A - movs r0, #7 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] -_0807387A: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08073884 -sub_08073884: @ 0x08073884 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080738DC @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _080738A2 - ldrb r0, [r4, #0x14] - adds r0, #2 - movs r1, #6 - ands r0, r1 - strb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] -_080738A2: - ldr r2, _080738E0 @ =gUnk_03003F80 - ldr r1, _080738E4 @ =gUnk_0811BC40 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r2, #8] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080738F0 - adds r1, r2, #0 - adds r1, #0x39 - ldrb r0, [r1] - cmp r0, #0xff - beq _080738EC - adds r1, r0, #0 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _080738E8 @ =gUnk_0813AD88 - adds r0, r0, r1 - bl sub_08080840 - b _080738F0 - .align 2, 0 -_080738DC: .4byte gUnk_030010A0 -_080738E0: .4byte gUnk_03003F80 -_080738E4: .4byte gUnk_0811BC40 -_080738E8: .4byte gUnk_0813AD88 -_080738EC: - bl sub_08052A4C -_080738F0: - ldr r1, _08073900 @ =0xFFFFE800 - adds r0, r4, #0 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08073900: .4byte 0xFFFFE800 - - thumb_func_start sub_08073904 -sub_08073904: @ 0x08073904 - push {lr} - ldr r3, _0807391C @ =gUnk_0811BC48 - ldr r1, _08073920 @ =gUnk_03003F80 - ldrb r2, [r1, #2] - movs r1, #7 - ands r1, r2 - lsls r1, r1, #2 - adds r1, r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807391C: .4byte gUnk_0811BC48 -_08073920: .4byte gUnk_03003F80 - - thumb_func_start sub_08073924 -sub_08073924: @ 0x08073924 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _08073964 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xb - ands r0, r1 - cmp r0, #0 - bne _08073962 - movs r1, #0x36 - ldrsh r0, [r4, r1] - movs r1, #0x80 - lsls r1, r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08073962 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _08073962 - movs r0, #0x40 - strb r0, [r2, #2] - movs r0, #0xff - strb r0, [r2, #0xd] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r4, #0x15] - bl sub_08077B20 - adds r0, r4, #0 - bl sub_08073968 -_08073962: - pop {r4, pc} - .align 2, 0 -_08073964: .4byte gUnk_03003F80 - - thumb_func_start sub_08073968 -sub_08073968: @ 0x08073968 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08073998 @ =gUnk_03003F80 - ldrb r1, [r4, #2] - movs r0, #0xc0 - ands r0, r1 - cmp r0, #0 - bne _0807397C - ldrb r0, [r4, #0xd] - strb r0, [r5, #0x15] -_0807397C: - bl sub_08078F24 - ldrb r1, [r4, #5] - ldrb r0, [r4, #0xb] - orrs r0, r1 - cmp r0, #0 - bne _080739D4 - ldr r1, [r4, #0x30] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080739A0 - ldr r0, _0807399C @ =0x0000041C - b _080739BA - .align 2, 0 -_08073998: .4byte gUnk_03003F80 -_0807399C: .4byte 0x0000041C -_080739A0: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080739BC - movs r0, #0x80 - lsls r0, r0, #0x13 - ands r1, r0 - cmp r1, #0 - beq _080739B8 - movs r0, #0x81 - lsls r0, r0, #4 - b _080739BA -_080739B8: - ldr r0, _080739E4 @ =0x0000080C -_080739BA: - strh r0, [r4, #8] -_080739BC: - ldr r0, _080739E8 @ =gUnk_03003F80 - ldrb r1, [r0, #2] - movs r0, #0xc0 - ands r0, r1 - cmp r0, #0 - bne _080739CE - adds r0, r5, #0 - bl sub_0806F948 -_080739CE: - movs r0, #0x7c - bl sub_080A3268 -_080739D4: - ldr r2, _080739E8 @ =gUnk_03003F80 - ldrb r1, [r2, #2] - movs r0, #0xf8 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #2] - pop {r4, r5, pc} - .align 2, 0 -_080739E4: .4byte 0x0000080C -_080739E8: .4byte gUnk_03003F80 - - thumb_func_start sub_080739EC -sub_080739EC: @ 0x080739EC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _08073A14 @ =gUnk_03003F80 - ldrb r2, [r1, #2] - movs r0, #0xc0 - ands r0, r2 - adds r5, r1, #0 - cmp r0, #0 - beq _08073A18 - ldrb r0, [r4, #0x15] - strb r0, [r5, #0xd] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08073A0E - movs r0, #0 - strh r0, [r4, #0x2a] -_08073A0E: - movs r2, #0x80 - lsls r2, r2, #6 - b _08073A48 - .align 2, 0 -_08073A14: .4byte gUnk_03003F80 -_08073A18: - movs r2, #0xc - rsbs r2, r2, #0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806F854 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08073A38 - ldrb r1, [r5, #2] - movs r0, #8 - orrs r0, r1 - strb r0, [r5, #2] - movs r2, #0x80 - lsls r2, r2, #7 - b _08073A48 -_08073A38: - movs r2, #0x80 - lsls r2, r2, #6 - ldrb r1, [r5, #2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08073A48 - lsrs r2, r2, #1 -_08073A48: - ldrb r1, [r5, #2] - movs r0, #0xc0 - ands r0, r1 - cmp r0, #0 - bne _08073A7E - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08073A7E - ldr r0, [r4, #0x20] - cmp r0, #0 - bne _08073A7E - movs r0, #0xa0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #0xa - strb r0, [r4, #0xe] - movs r0, #0xff - strb r0, [r4, #0x15] - adds r0, r1, #2 - strb r0, [r5, #2] - movs r0, #0xba - lsls r0, r0, #1 - strh r0, [r5, #8] - bl sub_08078F60 - b _08073A90 -_08073A7E: - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08073A90 - adds r0, r4, #0 - bl sub_08073AD4 -_08073A90: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08073A94 -sub_08073A94: @ 0x08073A94 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08073AAE - adds r0, r4, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - beq _08073AB4 -_08073AAE: - adds r0, r4, #0 - bl sub_08073B60 -_08073AB4: - ldr r0, _08073ACC @ =gUnk_03001160 - ldr r0, [r0, #0x34] - cmp r0, #0 - beq _08073AC8 - ldr r1, _08073AD0 @ =gUnk_03003F80 - movs r0, #0 - strb r0, [r1, #2] - adds r0, r4, #0 - bl sub_08073924 -_08073AC8: - pop {r4, pc} - .align 2, 0 -_08073ACC: .4byte gUnk_03001160 -_08073AD0: .4byte gUnk_03003F80 - - thumb_func_start sub_08073AD4 -sub_08073AD4: @ 0x08073AD4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x38 - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08073AFA - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] -_08073AFA: - ldr r6, _08073B48 @ =gUnk_03003F80 - ldrb r5, [r6, #2] - movs r0, #0xc1 - rsbs r0, r0, #0 - ands r5, r0 - ldrb r0, [r4, #0xc] - cmp r0, #0xa - beq _08073B32 - bl sub_0807A2B8 - movs r0, #0 - strb r0, [r6, #2] - bl sub_0807A1B8 - ldrb r0, [r6, #0xc] - cmp r0, #0 - bne _08073B5C - adds r0, r6, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _08073B5C - ldrb r0, [r6, #4] - cmp r0, #0 - beq _08073B32 - adds r0, r4, #0 - bl sub_08073B60 -_08073B32: - ldr r2, _08073B48 @ =gUnk_03003F80 - adds r0, r5, #1 - strb r0, [r2, #2] - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08073B50 - ldr r0, _08073B4C @ =0x00000424 - b _08073B54 - .align 2, 0 -_08073B48: .4byte gUnk_03003F80 -_08073B4C: .4byte 0x00000424 -_08073B50: - movs r0, #0x82 - lsls r0, r0, #4 -_08073B54: - strh r0, [r2, #8] - movs r0, #0x7d - bl sub_080A3268 -_08073B5C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08073B60 -sub_08073B60: @ 0x08073B60 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08073B88 @ =gUnk_03003F80 - movs r0, #0 - strb r0, [r4, #0x1b] - strb r0, [r4, #4] - strb r0, [r4, #2] - bl sub_08079938 - adds r0, r5, #0 - bl sub_080085B0 - ldr r0, [r4, #0x30] - movs r1, #0x20 - ands r0, r1 - cmp r0, #0 - bne _08073B86 - bl sub_080791BC -_08073B86: - pop {r4, r5, pc} - .align 2, 0 -_08073B88: .4byte gUnk_03003F80 - - thumb_func_start sub_08073B8C -sub_08073B8C: @ 0x08073B8C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08073BCC @ =gUnk_03003F80 - ldrb r0, [r5, #4] - cmp r0, #0 - beq _08073C04 - movs r2, #0xc - rsbs r2, r2, #0 - adds r0, r4, #0 - movs r1, #0 - bl sub_0806F854 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08073BB8 - adds r0, r4, #0 - bl sub_080042B8 -_08073BB8: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08073BD0 - subs r0, #1 - strb r0, [r4, #0xe] - b _08073C28 - .align 2, 0 -_08073BCC: .4byte gUnk_03003F80 -_08073BD0: - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #8 - rsbs r0, r0, #0 - cmp r1, r0 - blt _08073C28 - ldrb r0, [r5, #0x14] - cmp r0, #0 - bne _08073C0C - bl sub_0807A2B8 - cmp r0, #0 - bne _08073BFC - bl sub_08079D48 - cmp r0, #0 - bne _08073C0C -_08073BFC: - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_08073C04: - adds r0, r4, #0 - bl sub_08073B60 - b _08073C28 -_08073C0C: - ldr r1, _08073C2C @ =gUnk_03003F80 - ldrb r0, [r1, #2] - adds r0, #1 - strb r0, [r1, #2] - movs r0, #0xf - strb r0, [r4, #0xe] - movs r0, #0x10 - movs r1, #0 - bl sub_08080964 - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_080A3268 -_08073C28: - pop {r4, r5, pc} - .align 2, 0 -_08073C2C: .4byte gUnk_03003F80 - - thumb_func_start sub_08073C30 -sub_08073C30: @ 0x08073C30 - push {lr} - adds r2, r0, #0 - ldr r0, _08073C54 @ =gUnk_03003F80 - ldrb r0, [r0, #4] - cmp r0, #0 - beq _08073C4A - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08073C58 -_08073C4A: - adds r0, r2, #0 - bl sub_08073B60 - b _08073C66 - .align 2, 0 -_08073C54: .4byte gUnk_03003F80 -_08073C58: - ldrb r0, [r2, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r0, r2, #0 - bl sub_080042B8 -_08073C66: - pop {pc} - - thumb_func_start sub_08073C68 -sub_08073C68: @ 0x08073C68 - push {lr} - ldr r2, _08073C7C @ =gUnk_0811BC60 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08073C7C: .4byte gUnk_0811BC60 - - thumb_func_start sub_08073C80 -sub_08073C80: @ 0x08073C80 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r2, _08073D00 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - orrs r0, r1 - str r0, [r2, #0x30] - movs r5, #0 - ldr r0, _08073D04 @ =0x00000C18 - strh r0, [r2, #8] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x19] - movs r7, #4 - rsbs r7, r7, #0 - adds r0, r7, #0 - ands r0, r1 - strb r0, [r4, #0x19] - ldr r0, _08073D08 @ =gUnk_0811BC80 - str r0, [r4, #0x48] - strb r5, [r4, #0xe] - movs r6, #2 - strb r6, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x42 - strb r5, [r0] - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - movs r1, #1 - movs r2, #2 - bl sub_080AE008 - ldr r0, _08073D0C @ =gUnk_03000BF0 - str r4, [r0, #0x30] - bl sub_080809D4 - ldr r1, _08073D10 @ =gUnk_030010A0 - ldrb r0, [r1, #0xf] - cmp r0, #9 - bne _08073D14 - strb r5, [r1, #0xf] - ldrb r1, [r4, #0x18] - adds r0, r7, #0 - ands r0, r1 - strb r0, [r4, #0x18] - strb r6, [r4, #0xd] - b _08073D1E - .align 2, 0 -_08073D00: .4byte gUnk_03003F80 -_08073D04: .4byte 0x00000C18 -_08073D08: .4byte gUnk_0811BC80 -_08073D0C: .4byte gUnk_03000BF0 -_08073D10: .4byte gUnk_030010A0 -_08073D14: - movs r0, #4 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 -_08073D1E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08073D20 -sub_08073D20: @ 0x08073D20 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldr r5, _08073D70 @ =gUnk_03003F80 - movs r0, #0xa8 - adds r0, r0, r5 - mov r8, r0 - movs r0, #0 - mov r1, r8 - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x39 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x40 - movs r0, #1 - strb r0, [r1] - bl sub_08078F60 - adds r7, r5, #0 - adds r7, #0x26 - ldrb r0, [r7] - cmp r0, #0 - bne _08073D60 - movs r0, #0xc0 - strh r0, [r4, #0x24] -_08073D60: - bl sub_08079B24 - cmp r0, #0 - bne _08073D74 - adds r0, r4, #0 - bl sub_08079708 - b _08073EFC - .align 2, 0 -_08073D70: .4byte gUnk_03003F80 -_08073D74: - bl sub_08078EFC - adds r6, r0, #0 - cmp r6, #0 - beq _08073D80 - b _08073EFC -_08073D80: - adds r0, r4, #0 - bl sub_08073904 - bl sub_0807A1B8 - ldrb r0, [r5, #2] - cmp r0, #0 - beq _08073D96 - movs r0, #0x14 - mov r1, r8 - strb r0, [r1] -_08073D96: - ldrb r0, [r5, #0x12] - subs r0, #0x18 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bls _08073DB0 - strb r6, [r7] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] -_08073DB0: - bl sub_08078EFC - cmp r0, #0 - beq _08073DBA - b _08073EFC -_08073DBA: - ldrb r0, [r4, #0xd] - cmp r0, #2 - bne _08073DC2 - b _08073EFC -_08073DC2: - ldr r0, [r5, #0x30] - movs r1, #0x40 - ands r0, r1 - cmp r0, #0 - bne _08073E10 - adds r0, r4, #0 - bl sub_080085B0 - bl sub_080792D8 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _08073DE6 - bl sub_08079550 - cmp r0, #0 - beq _08073DE6 - b _08073EFC -_08073DE6: - adds r0, r4, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - beq _08073DFA - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r4, #0x15] - b _08073EFC -_08073DFA: - bl sub_080782C0 - cmp r0, #0 - beq _08073E08 - bl sub_08078EFC - b _08073EFC -_08073E08: - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_08073E10: - bl sub_08019840 - cmp r0, #0 - bne _08073EFC - adds r0, r4, #0 - bl sub_08077698 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - adds r1, r0, #0 - cmp r1, #0 - bne _08073E32 - ldr r0, _08073E74 @ =gUnk_03003F80 - strb r1, [r0, #2] -_08073E32: - ldr r2, _08073E74 @ =gUnk_03003F80 - ldrb r1, [r2, #7] - movs r3, #0x80 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _08073EFC - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _08073EFC - adds r0, r4, #0 - adds r0, #0x3d - movs r1, #0 - ldrsb r1, [r0, r1] - adds r6, r0, #0 - cmp r1, #8 - bgt _08073E90 - adds r0, r2, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08073E78 - adds r1, r2, #0 - adds r1, #0xa8 - movs r0, #7 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0807ACCC - bl sub_08079E08 - b _08073E90 - .align 2, 0 -_08073E74: .4byte gUnk_03003F80 -_08073E78: - ldrb r1, [r2, #0xd] - strb r1, [r4, #0x15] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _08073E90 - adds r1, r2, #0 - adds r1, #0xa8 - movs r0, #1 - strb r0, [r1] - bl sub_08079E08 -_08073E90: - ldr r5, _08073EF0 @ =gUnk_03003F80 - ldrb r0, [r5, #0xb] - cmp r0, #0 - bne _08073E9E - adds r0, r4, #0 - bl sub_0806F948 -_08073E9E: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0807B068 - movs r0, #0x10 - bl sub_080793E4 - cmp r0, #0 - beq _08073EDC - movs r0, #0x14 - strb r0, [r6] - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #4 - strb r0, [r1] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - movs r0, #0x7a - bl sub_080A3268 -_08073EDC: - ldr r0, [r5, #0x30] - movs r1, #0x40 - ands r0, r1 - cmp r0, #0 - bne _08073EF4 - adds r0, r4, #0 - bl sub_08008AC6 - b _08073EFC - .align 2, 0 -_08073EF0: .4byte gUnk_03003F80 -_08073EF4: - adds r1, r5, #0 - adds r1, #0xa8 - movs r0, #0xd - strb r0, [r1] -_08073EFC: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08073F04 -sub_08073F04: @ 0x08073F04 - push {lr} - adds r3, r0, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #0x10 - orrs r1, r2 - strb r1, [r3] - ldrb r2, [r0, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r0, #0x18] - ldrb r1, [r0, #0xd] - adds r1, #1 - strb r1, [r0, #0xd] - movs r1, #0xa0 - lsls r1, r1, #0xa - str r1, [r0, #0x20] - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0, #0x24] - ldr r2, _08073F48 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x81 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r2, #0x30] - bl sub_08077B2C - pop {pc} - .align 2, 0 -_08073F48: .4byte gUnk_03003F80 - - thumb_func_start sub_08073F4C -sub_08073F4C: @ 0x08073F4C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08073F84 @ =gUnk_02033A90 - ldrh r3, [r0, #0x12] - ldrh r5, [r0, #0x14] - movs r0, #0x2e - ldrsh r2, [r4, r0] - cmp r2, r3 - bne _08073F66 - movs r1, #0x32 - ldrsh r0, [r4, r1] - cmp r0, r5 - beq _08073F88 -_08073F66: - movs r0, #0x32 - ldrsh r1, [r4, r0] - adds r0, r2, #0 - adds r2, r3, #0 - adds r3, r5, #0 - bl sub_080045D4 - strb r0, [r4, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0806F69C - b _08073FC6 - .align 2, 0 -_08073F84: .4byte gUnk_02033A90 -_08073F88: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x80 - movs r1, #0x90 - lsls r1, r1, #3 - str r1, [r0] - adds r0, #4 - str r1, [r0] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - bl sub_08074018 - ldr r1, _08073FC8 @ =gUnk_03003F80 - ldr r0, _08073FCC @ =0x0000073C - strh r0, [r1, #8] -_08073FC6: - pop {r4, r5, pc} - .align 2, 0 -_08073FC8: .4byte gUnk_03003F80 -_08073FCC: .4byte 0x0000073C - - thumb_func_start sub_08073FD0 -sub_08073FD0: @ 0x08073FD0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08073FF8 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08074016 - ldrb r1, [r4, #0x18] - lsls r0, r1, #0x1e - cmp r0, #0 - bne _08073FF8 - movs r0, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x7c - bl sub_080A3268 -_08073FF8: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - ldr r0, [r4, #0x20] - cmp r0, #0 - bne _08074016 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xb8 - lsls r0, r0, #1 - bl sub_080A3268 -_08074016: - pop {r4, pc} - - thumb_func_start sub_08074018 -sub_08074018: @ 0x08074018 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x80 - ldr r0, [r1] - movs r3, #0x80 - lsls r3, r3, #1 - cmp r0, r3 - bls _0807402E - subs r0, #0x20 - str r0, [r1] -_0807402E: - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r2, r0, #0 - cmp r1, r3 - bls _08074042 - adds r0, r1, #0 - subs r0, #0x20 - str r0, [r2] - b _08074048 -_08074042: - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] -_08074048: - adds r0, r4, #0 - adds r0, #0x80 - ldr r1, [r0] - ldr r2, [r2] - adds r0, r4, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - - thumb_func_start sub_08074060 -sub_08074060: @ 0x08074060 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - cmp r0, #0 - bne _080740D0 - ldr r0, _080740C4 @ =gUnk_08114F88 - str r0, [r4, #0x48] - movs r3, #0x10 - movs r0, #0x10 - strb r0, [r4, #0x15] - movs r0, #4 - strb r0, [r4, #0x14] - movs r2, #0 - adds r0, #0xfc - strh r0, [r4, #0x24] - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - ldrb r1, [r0] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r4, #0x18] - strb r2, [r4, #0xf] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldr r1, _080740C8 @ =gUnk_03003F80 - ldr r0, _080740CC @ =0x0000080C - strh r0, [r1, #8] - adds r0, r4, #0 - bl sub_0805EC60 - b _080740D6 - .align 2, 0 -_080740C4: .4byte gUnk_08114F88 -_080740C8: .4byte gUnk_03003F80 -_080740CC: .4byte 0x0000080C -_080740D0: - adds r0, r4, #0 - bl sub_080042B8 -_080740D6: - pop {r4, pc} - - thumb_func_start sub_080740D8 -sub_080740D8: @ 0x080740D8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080740EA - ldrb r0, [r4, #0x15] - b _080740F0 -_080740EA: - ldrb r1, [r4, #0x15] - movs r0, #0x10 - eors r0, r1 -_080740F0: - cmp r0, #8 - beq _08074128 - cmp r0, #8 - bhi _080740FE - cmp r0, #0 - beq _08074168 - b _0807418C -_080740FE: - cmp r0, #0x10 - beq _08074148 - cmp r0, #0x18 - bne _0807418C - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, [r4, #0x48] - ldrb r0, [r2, #2] - subs r1, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - ldr r3, _08074124 @ =gUnk_03000BF0 - ldrh r0, [r3, #6] - subs r6, r1, r0 - movs r1, #0x32 - ldrsh r0, [r4, r1] - b _08074182 - .align 2, 0 -_08074124: .4byte gUnk_03000BF0 -_08074128: - ldr r2, [r4, #0x48] - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldrb r1, [r2, #2] - adds r0, r0, r1 - movs r1, #0 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - ldr r3, _08074144 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r6, r0, r1 - movs r1, #0x32 - ldrsh r0, [r4, r1] - b _08074182 - .align 2, 0 -_08074144: .4byte gUnk_03000BF0 -_08074148: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, [r4, #0x48] - movs r0, #0 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - ldr r3, _08074164 @ =gUnk_03000BF0 - ldrh r0, [r3, #6] - subs r6, r1, r0 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrb r1, [r2, #5] - adds r0, r0, r1 - b _08074182 - .align 2, 0 -_08074164: .4byte gUnk_03000BF0 -_08074168: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, [r4, #0x48] - movs r0, #0 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - ldr r3, _080741A4 @ =gUnk_03000BF0 - ldrh r0, [r3, #6] - subs r6, r1, r0 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrb r1, [r2, #5] - subs r0, r0, r1 -_08074182: - movs r1, #1 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - ldrh r1, [r3, #8] - subs r5, r0, r1 -_0807418C: - ldr r2, _080741A8 @ =gUnk_080082DC - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_080086B4 - cmp r0, #0 - beq _080741AC - adds r0, r4, #0 - bl sub_0806F69C - b _080741B0 - .align 2, 0 -_080741A4: .4byte gUnk_03000BF0 -_080741A8: .4byte gUnk_080082DC -_080741AC: - movs r0, #1 - strb r0, [r4, #0xf] -_080741B0: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080741C2 - bl sub_0807921C -_080741C2: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080741C4 -sub_080741C4: @ 0x080741C4 - push {lr} - ldr r0, _080741F0 @ =gUnk_03003F80 - ldrb r1, [r0, #2] - adds r2, r0, #0 - cmp r1, #0 - beq _080741D8 - movs r0, #7 - ands r0, r1 - cmp r0, #3 - bne _080741E0 -_080741D8: - ldr r0, _080741F4 @ =gUnk_03001160 - ldr r0, [r0, #0x34] - cmp r0, #0 - beq _080741F8 -_080741E0: - movs r1, #0 - strb r1, [r2, #0x11] - adds r0, r2, #0 - adds r0, #0x37 - strb r1, [r0] - movs r0, #1 - b _080741FA - .align 2, 0 -_080741F0: .4byte gUnk_03003F80 -_080741F4: .4byte gUnk_03001160 -_080741F8: - movs r0, #0 -_080741FA: - pop {pc} - - thumb_func_start nullsub_112 -nullsub_112: @ 0x080741FC - bx lr - .align 2, 0 - - thumb_func_start sub_08074200 -sub_08074200: @ 0x08074200 - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074226 - adds r0, r4, #0 - bl sub_08079C30 - cmp r0, #0 - beq _08074226 - ldrb r0, [r4, #0xc] - cmp r0, #3 - beq _08074226 - bl sub_08077B2C - ldr r1, _08074228 @ =gUnk_03003F80 - movs r0, #3 - strb r0, [r1, #0xc] -_08074226: - pop {r4, pc} - .align 2, 0 -_08074228: .4byte gUnk_03003F80 - - thumb_func_start sub_0807422C -sub_0807422C: @ 0x0807422C - push {lr} - movs r1, #8 - movs r2, #0x18 - bl sub_08074244 - pop {pc} - - thumb_func_start sub_08074238 -sub_08074238: @ 0x08074238 - push {lr} - movs r1, #0 - movs r2, #0x10 - bl sub_08074244 - pop {pc} - - thumb_func_start sub_08074244 -sub_08074244: @ 0x08074244 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r6, r1, #0 - adds r7, r2, #0 - ldr r5, _0807428C @ =gUnk_03003F80 - ldrb r0, [r5, #0x12] - subs r0, #0x28 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bls _08074278 - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] -_08074278: - bl sub_080741C4 - cmp r0, #0 - bne _080742A6 - ldrb r0, [r5, #0x1e] - cmp r0, #0 - bne _08074290 - ldrb r0, [r5, #0xd] - b _08074294 - .align 2, 0 -_0807428C: .4byte gUnk_03003F80 -_08074290: - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 -_08074294: - cmp r6, r0 - bne _0807429C - cmp r7, r0 - beq _080742A6 -_0807429C: - ldr r1, _080742A8 @ =gUnk_03003F80 - adds r1, #0x80 - ldrh r0, [r1] - subs r0, #0x50 - strh r0, [r1] -_080742A6: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080742A8: .4byte gUnk_03003F80 - - thumb_func_start sub_080742AC -sub_080742AC: @ 0x080742AC - push {lr} - adds r2, r0, #0 - ldr r0, _080742E0 @ =gUnk_03003F80 - adds r1, r0, #0 - adds r1, #0x26 - ldrb r0, [r1] - cmp r0, #0 - beq _080742C0 - movs r0, #0 - strb r0, [r1] -_080742C0: - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r3] - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - pop {pc} - .align 2, 0 -_080742E0: .4byte gUnk_03003F80 - - thumb_func_start sub_080742E4 -sub_080742E4: @ 0x080742E4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _0807430E - ldr r2, _08074310 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0807430E - ldrb r0, [r2, #0x11] - cmp r0, #0xf - bne _0807430E - adds r0, r4, #0 - movs r1, #0xe - movs r2, #0 - movs r3, #0 - bl sub_080A2988 -_0807430E: - pop {r4, pc} - .align 2, 0 -_08074310: .4byte gUnk_03003F80 - - thumb_func_start sub_08074314 -sub_08074314: @ 0x08074314 - push {lr} - adds r2, r0, #0 - ldrh r1, [r2, #0x32] - movs r0, #0xf - ands r0, r1 - cmp r0, #0xd - bgt _08074330 - movs r0, #0xcc - lsls r0, r0, #7 - strh r0, [r2, #0x2a] - adds r0, r2, #0 - bl sub_080743A4 - b _08074336 -_08074330: - adds r0, r2, #0 - bl sub_0807A298 -_08074336: - pop {pc} - - thumb_func_start sub_08074338 -sub_08074338: @ 0x08074338 - push {lr} - adds r2, r0, #0 - ldrh r1, [r2, #0x32] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - ble _08074354 - movs r0, #0xcc - lsls r0, r0, #7 - strh r0, [r2, #0x2a] - adds r0, r2, #0 - bl sub_080743A4 - b _0807435A -_08074354: - adds r0, r2, #0 - bl sub_0807A298 -_0807435A: - pop {pc} - - thumb_func_start sub_0807435C -sub_0807435C: @ 0x0807435C - push {lr} - adds r2, r0, #0 - ldrh r1, [r2, #0x2e] - movs r0, #0xf - ands r0, r1 - cmp r0, #0xb - bgt _08074376 - movs r0, #0x66 - strh r0, [r2, #0x2a] - adds r0, r2, #0 - bl sub_080743A4 - b _0807437C -_08074376: - adds r0, r2, #0 - bl sub_0807A298 -_0807437C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08074380 -sub_08074380: @ 0x08074380 - push {lr} - adds r2, r0, #0 - ldrh r1, [r2, #0x2e] - movs r0, #0xf - ands r0, r1 - cmp r0, #4 - ble _0807439A - movs r0, #0x66 - strh r0, [r2, #0x2a] - adds r0, r2, #0 - bl sub_080743A4 - b _080743A0 -_0807439A: - adds r0, r2, #0 - bl sub_0807A298 -_080743A0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080743A4 -sub_080743A4: @ 0x080743A4 - push {lr} - ldr r3, _080743D0 @ =gUnk_03003F80 - ldr r1, [r3, #0x30] - movs r2, #0x40 - orrs r1, r2 - str r1, [r3, #0x30] - movs r3, #0 - movs r1, #0x80 - strb r1, [r0, #0xb] - ldrb r2, [r0, #0x18] - subs r1, #0x84 - ands r1, r2 - strb r1, [r0, #0x18] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - adds r0, #0x42 - strb r3, [r0] - bl sub_08077B2C - pop {pc} - .align 2, 0 -_080743D0: .4byte gUnk_03003F80 - - thumb_func_start sub_080743D4 -sub_080743D4: @ 0x080743D4 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074416 - adds r0, r5, #0 - bl sub_08079C30 - cmp r0, #0 - beq _08074416 - adds r0, r5, #0 - bl sub_0807AABC - adds r0, r5, #0 - bl sub_08074808 - movs r0, #0x24 - ldrsh r4, [r5, r0] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - movs r0, #0x10 - strb r0, [r5, #0x15] - ldr r2, _08074418 @ =gUnk_03003F80 - ldrb r1, [r2, #0xa] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0xa] - adds r0, r5, #0 - bl sub_0806F69C - strh r4, [r5, #0x24] -_08074416: - pop {r4, r5, pc} - .align 2, 0 -_08074418: .4byte gUnk_03003F80 - - thumb_func_start sub_0807441C -sub_0807441C: @ 0x0807441C - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldr r0, _08074440 @ =gUnk_03003F80 - adds r0, #0xa0 - ldrb r0, [r0] - cmp r0, #4 - bne _08074502 - ldr r6, _08074444 @ =gUnk_02002A40 - adds r4, r6, #0 - adds r4, #0xb4 - ldrb r0, [r4] - bl sub_0805449C - cmp r0, #0 - beq _08074448 - ldrb r0, [r4] - b _0807444E - .align 2, 0 -_08074440: .4byte gUnk_03003F80 -_08074444: .4byte gUnk_02002A40 -_08074448: - adds r0, r6, #0 - adds r0, #0xb5 - ldrb r0, [r0] -_0807444E: - subs r0, #1 - cmp r0, #5 - bhi _0807448A - lsls r0, r0, #2 - ldr r1, _08074460 @ =_08074464 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08074460: .4byte _08074464 -_08074464: @ jump table - .4byte _0807447C @ case 0 - .4byte _0807447C @ case 1 - .4byte _08074480 @ case 2 - .4byte _08074484 @ case 3 - .4byte _0807448A @ case 4 - .4byte _08074488 @ case 5 -_0807447C: - movs r5, #0 - b _0807448A -_08074480: - movs r5, #1 - b _0807448A -_08074484: - movs r5, #2 - b _0807448A -_08074488: - movs r5, #3 -_0807448A: - movs r4, #0 - cmp r4, r5 - bhs _080744A6 - ldr r1, _08074494 @ =gUnk_03004040 - b _080744A0 - .align 2, 0 -_08074494: .4byte gUnk_03004040 -_08074498: - adds r1, #4 - adds r4, #1 - cmp r4, r5 - bhs _080744A6 -_080744A0: - ldr r0, [r1] - cmp r0, #0 - bne _08074498 -_080744A6: - cmp r5, r4 - bls _080744D4 - adds r0, r7, #0 - movs r1, #0x10 - adds r2, r4, #0 - movs r3, #0 - bl sub_080A2988 - adds r3, r0, #0 - ldr r1, _080744D0 @ =gUnk_03004040 - lsls r0, r4, #2 - adds r0, r0, r1 - str r3, [r0] - cmp r3, #0 - beq _08074502 - adds r0, r7, #0 - adds r1, r3, #0 - bl sub_0806FA24 - b _08074502 - .align 2, 0 -_080744D0: .4byte gUnk_03004040 -_080744D4: - ldr r2, _08074504 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1b] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x1b] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xf - orrs r0, r1 - str r0, [r2, #0x30] - ldr r0, [r7, #0x2c] - ldr r2, _08074508 @ =0xFFF00000 - ands r0, r2 - movs r1, #0x80 - lsls r1, r1, #0xc - orrs r0, r1 - str r0, [r7, #0x2c] - ldr r0, [r7, #0x30] - ands r0, r2 - orrs r0, r1 - str r0, [r7, #0x30] - bl sub_08077AEC -_08074502: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08074504: .4byte gUnk_03003F80 -_08074508: .4byte 0xFFF00000 - - thumb_func_start sub_0807450C -sub_0807450C: @ 0x0807450C - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _0807457A - ldr r7, _0807457C @ =gUnk_03003F80 - ldrb r0, [r7, #0x14] - cmp r0, #0 - bne _0807457A - adds r4, r6, #0 - adds r4, #0x3d - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _08074568 - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - movs r0, #0x7a - bl sub_080A3268 - movs r0, #0x18 - strb r0, [r4] - adds r1, r6, #0 - adds r1, #0x42 - movs r0, #4 - strb r0, [r1] - movs r0, #0x2e - ldrsh r2, [r6, r0] - ldr r5, _08074580 @ =0x0000FFF0 - adds r0, r2, #0 - ands r0, r5 - movs r4, #8 - orrs r0, r4 - movs r1, #0x32 - ldrsh r3, [r6, r1] - adds r1, r3, #0 - ands r1, r5 - orrs r1, r4 - bl sub_080045D4 - adds r1, r6, #0 - adds r1, #0x3e - strb r0, [r1] -_08074568: - ldr r0, [r7, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0807457A - adds r0, r6, #0 - movs r1, #7 - bl sub_08008790 -_0807457A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807457C: .4byte gUnk_03003F80 -_08074580: .4byte 0x0000FFF0 - - thumb_func_start sub_08074584 -sub_08074584: @ 0x08074584 - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _080745AC - ldr r0, _080745B0 @ =gUnk_03003F80 - adds r0, #0x35 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080745A8 - adds r0, r4, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - beq _080745AC -_080745A8: - bl sub_08078F60 -_080745AC: - pop {r4, pc} - .align 2, 0 -_080745B0: .4byte gUnk_03003F80 - - thumb_func_start sub_080745B4 -sub_080745B4: @ 0x080745B4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074636 - ldr r0, _080745E4 @ =gUnk_03003F80 - mov ip, r0 - ldr r3, [r0, #0x30] - movs r0, #0x80 - ands r3, r0 - cmp r3, #0 - beq _080745E8 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0xb9 - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0807479C - b _08074636 - .align 2, 0 -_080745E4: .4byte gUnk_03003F80 -_080745E8: - mov r5, ip - adds r5, #0x26 - ldrb r0, [r5] - cmp r0, #0 - beq _08074618 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - subs r2, #0x13 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - strb r3, [r5] -_08074618: - mov r0, ip - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - bne _08074630 - mov r1, ip - ldrb r0, [r1, #0x11] - cmp r0, #1 - bne _08074636 -_08074630: - movs r0, #0x83 - bl sub_080A3268 -_08074636: - pop {r4, r5, pc} - - thumb_func_start sub_08074638 -sub_08074638: @ 0x08074638 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08074674 @ =gUnk_03003F80 - adds r5, r0, #0 - adds r5, #0x26 - ldrb r0, [r5] - cmp r0, #0 - beq _08074670 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - movs r3, #0 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - subs r2, #0x13 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - strb r3, [r5] -_08074670: - pop {r4, r5, pc} - .align 2, 0 -_08074674: .4byte gUnk_03003F80 - - thumb_func_start sub_08074678 -sub_08074678: @ 0x08074678 - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - beq _08074690 - ldr r0, _0807468C @ =gUnk_03003F80 - movs r1, #0 - strb r1, [r0, #0x11] - b _080746CE - .align 2, 0 -_0807468C: .4byte gUnk_03003F80 -_08074690: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _0807476C - adds r0, r4, #0 - bl sub_08079C30 - adds r1, r0, #0 - cmp r1, #0 - bne _080746B0 - ldr r0, _080746AC @ =gUnk_03003F80 - strb r1, [r0, #0x11] - b _080746CE - .align 2, 0 -_080746AC: .4byte gUnk_03003F80 -_080746B0: - ldr r3, _080746D4 @ =gUnk_03003F80 - ldr r1, [r3, #0x30] - movs r0, #0x80 - ands r1, r0 - cmp r1, #0 - bne _0807476C - ldrb r2, [r3, #0x1e] - cmp r2, #0 - beq _080746D8 - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _080746DC - strb r1, [r3, #0x11] - adds r0, r3, #0 -_080746CE: - adds r0, #0x37 - strb r1, [r0] - b _08074792 - .align 2, 0 -_080746D4: .4byte gUnk_03003F80 -_080746D8: - bl sub_08077B20 -_080746DC: - ldr r1, _08074700 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x37 - ldrb r0, [r0] - cmp r0, #1 - bne _08074704 - adds r0, r4, #0 - movs r1, #0x70 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - adds r0, r4, #0 - movs r1, #0x52 - movs r2, #0 - bl sub_080A29AC - b _08074714 - .align 2, 0 -_08074700: .4byte gUnk_03003F80 -_08074704: - adds r0, r1, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08074720 -_08074714: - ldr r0, _0807471C @ =0x00000161 - bl sub_080A3268 - b _08074732 - .align 2, 0 -_0807471C: .4byte 0x00000161 -_08074720: - ldr r0, _08074760 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _08074732 - ldr r0, _08074764 @ =0x00000161 - bl sub_080A3268 -_08074732: - ldr r2, _08074768 @ =gUnk_03003F80 - adds r1, r2, #0 - adds r1, #0x80 - ldrh r0, [r1] - subs r0, #0xf0 - strh r0, [r1] - adds r1, #0x28 - movs r0, #0x1b - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x37 - ldrb r0, [r0] - lsls r3, r0, #0x18 - lsrs r0, r3, #0x18 - cmp r0, #0xef - bhi _0807476C - subs r1, #0x69 - lsrs r0, r3, #0x1d - adds r0, #4 - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - b _08074792 - .align 2, 0 -_08074760: .4byte gUnk_030010A0 -_08074764: .4byte 0x00000161 -_08074768: .4byte gUnk_03003F80 -_0807476C: - ldr r2, _08074794 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08074798 @ =0xFFFBFFFF - ands r0, r1 - str r0, [r2, #0x30] - adds r0, r4, #0 - movs r1, #0x52 - movs r2, #0 - bl sub_080A29AC - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0x20 - strb r0, [r1] - subs r0, #0x24 - bl sub_080526A0 - bl sub_08079458 -_08074792: - pop {r4, pc} - .align 2, 0 -_08074794: .4byte gUnk_03003F80 -_08074798: .4byte 0xFFFBFFFF - - thumb_func_start sub_0807479C -sub_0807479C: @ 0x0807479C - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - adds r2, r0, #0 - cmp r2, #0 - bne _08074804 - ldr r1, _080747C0 @ =gUnk_03003F80 - ldrb r0, [r1, #0x14] - adds r3, r1, #0 - cmp r0, #0 - bne _080747C4 - adds r1, #0x3f - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - b _080747E6 - .align 2, 0 -_080747C0: .4byte gUnk_03003F80 -_080747C4: - adds r0, r3, #0 - adds r0, #0x26 - strb r2, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - adds r2, #0x13 - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] -_080747E6: - adds r0, r3, #0 - adds r0, #0x26 - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _080747FE - adds r0, r4, #0 - bl sub_08079C30 - cmp r0, #0 - beq _08074804 -_080747FE: - adds r0, r4, #0 - bl sub_08074808 -_08074804: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08074808 -sub_08074808: @ 0x08074808 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - bl sub_08077AEC - movs r0, #0x46 - bl sub_0807CA84 - adds r3, r0, #0 - cmp r3, #1 - bne _080748B8 - ldr r1, _08074838 @ =gUnk_03003F80 - adds r2, r1, #0 - adds r2, #0x26 - ldrb r0, [r2] - cmp r0, #0 - bne _0807486C - ldr r0, [r1, #0x30] - movs r1, #0x80 - lsls r1, r1, #9 - ands r0, r1 - cmp r0, #0 - beq _0807483C - strb r3, [r2] - b _08074840 - .align 2, 0 -_08074838: .4byte gUnk_03003F80 -_0807483C: - movs r0, #8 - strb r0, [r2] -_08074840: - movs r1, #0 - movs r0, #0 - strh r0, [r6, #0x24] - ldr r0, _080748AC @ =gUnk_03003F80 - adds r2, r0, #0 - adds r2, #0x89 - strb r1, [r2] - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08074862 - adds r0, r6, #0 - movs r1, #0xb - movs r2, #0 - bl sub_080A29AC -_08074862: - ldr r0, _080748B0 @ =0x000001A5 - bl sub_080A3268 - bl sub_08077B2C -_0807486C: - ldr r5, _080748AC @ =gUnk_03003F80 - adds r4, r5, #0 - adds r4, #0x26 - ldrb r1, [r4] - movs r7, #0xf - adds r0, r7, #0 - ands r0, r1 - cmp r0, #1 - beq _0807488A - adds r0, r6, #0 - bl sub_08079744 - ldrb r0, [r4] - subs r0, #1 - strb r0, [r4] -_0807488A: - ldr r0, [r5, #0x30] - ldr r1, _080748B4 @ =0xFFFFF3FF - ands r0, r1 - str r0, [r5, #0x30] - movs r1, #0x80 - lsls r1, r1, #7 - ands r0, r1 - cmp r0, #0 - beq _080748BE - adds r1, r6, #0 - adds r1, #0x7a - ldrh r0, [r1] - cmp r0, #0xe - bhi _080748BE - strh r7, [r1] - b _080748BE - .align 2, 0 -_080748AC: .4byte gUnk_03003F80 -_080748B0: .4byte 0x000001A5 -_080748B4: .4byte 0xFFFFF3FF -_080748B8: - ldr r1, _080748C0 @ =gUnk_03003F80 - movs r0, #0x14 - strb r0, [r1, #0xc] -_080748BE: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080748C0: .4byte gUnk_03003F80 - - thumb_func_start sub_080748C4 -sub_080748C4: @ 0x080748C4 - ldr r1, _080748D0 @ =gUnk_03003F80 - adds r1, #0x3f - ldrb r0, [r1] - subs r0, #2 - strb r0, [r1] - bx lr - .align 2, 0 -_080748D0: .4byte gUnk_03003F80 - - thumb_func_start sub_080748D4 -sub_080748D4: @ 0x080748D4 - push {lr} - bl sub_080741C4 - pop {pc} - - thumb_func_start sub_080748DC -sub_080748DC: @ 0x080748DC - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074910 - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - beq _0807490A - ldrh r0, [r4, #0x32] - adds r0, #0xc - strh r0, [r4, #0x32] - ldr r0, _08074914 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0807490A - ldrh r0, [r4, #0x36] - subs r0, #0xc - strh r0, [r4, #0x36] -_0807490A: - adds r0, r4, #0 - bl sub_0807AABC -_08074910: - pop {r4, pc} - .align 2, 0 -_08074914: .4byte gUnk_03003F80 - - thumb_func_start sub_08074918 -sub_08074918: @ 0x08074918 - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074934 - adds r0, r4, #0 - bl sub_08079C30 - cmp r0, #0 - beq _08074934 - ldr r1, _08074938 @ =gUnk_03003F80 - movs r0, #0x11 - strb r0, [r1, #0xc] -_08074934: - pop {r4, pc} - .align 2, 0 -_08074938: .4byte gUnk_03003F80 - - thumb_func_start sub_0807493C -sub_0807493C: @ 0x0807493C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x44 - bl sub_0807CA84 - cmp r0, #1 - bne _08074952 - adds r0, r4, #0 - bl sub_0807496C - b _08074966 -_08074952: - ldrh r1, [r4, #0x32] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0xf - movs r2, #0 - orrs r0, r1 - strh r0, [r4, #0x32] - ldr r0, _08074968 @ =gUnk_03003F80 - strb r2, [r0, #0x12] -_08074966: - pop {r4, pc} - .align 2, 0 -_08074968: .4byte gUnk_03003F80 - - thumb_func_start sub_0807496C -sub_0807496C: @ 0x0807496C - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - adds r3, r0, #0 - cmp r3, #0 - bne _080749A2 - ldr r0, _080749A4 @ =gUnk_03003F80 - strb r3, [r0, #2] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - strb r3, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - bl sub_08077B2C -_080749A2: - pop {r4, pc} - .align 2, 0 -_080749A4: .4byte gUnk_03003F80 - - thumb_func_start sub_080749A8 -sub_080749A8: @ 0x080749A8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x44 - bl sub_0807CA84 - cmp r0, #1 - bne _080749BE - adds r0, r4, #0 - bl sub_080749D4 - b _080749CE -_080749BE: - ldrh r1, [r4, #0x32] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0 - strh r0, [r4, #0x32] - ldr r0, _080749D0 @ =gUnk_03003F80 - strb r1, [r0, #0x12] -_080749CE: - pop {r4, pc} - .align 2, 0 -_080749D0: .4byte gUnk_03003F80 - - thumb_func_start sub_080749D4 -sub_080749D4: @ 0x080749D4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_080741C4 - adds r3, r0, #0 - cmp r3, #0 - bne _08074A40 - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x1b] - strb r3, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - ldr r5, _08074A2C @ =gUnk_03003F80 - adds r0, r5, #0 - adds r0, #0x26 - strb r3, [r0] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - ldrh r1, [r4, #0x32] - movs r0, #0xf - ands r0, r1 - cmp r0, #7 - bgt _08074A34 - ldr r0, _08074A30 @ =0x000002D3 - strh r0, [r5, #8] - movs r0, #0x10 - strb r0, [r4, #0x15] - b _08074A3C - .align 2, 0 -_08074A2C: .4byte gUnk_03003F80 -_08074A30: .4byte 0x000002D3 -_08074A34: - movs r1, #0 - ldr r0, _08074A44 @ =0x000002D6 - strh r0, [r5, #8] - strb r1, [r4, #0x15] -_08074A3C: - bl sub_08077B2C -_08074A40: - pop {r4, r5, pc} - .align 2, 0 -_08074A44: .4byte 0x000002D6 - - thumb_func_start sub_08074A48 -sub_08074A48: @ 0x08074A48 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08074A90 @ =gUnk_03003F80 - adds r0, r5, #0 - adds r0, #0x26 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08074A86 - ldr r0, _08074A94 @ =gUnk_03001160 - movs r1, #0 - movs r2, #0x54 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _08074A86 - movs r0, #1 - strb r0, [r1, #0xe] - adds r0, r1, #0 - bl sub_08016A04 - ldrh r1, [r5, #0x22] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r2, [r0] - movs r0, #0x39 - bl sub_08000152 -_08074A86: - adds r0, r4, #0 - bl sub_0807479C - pop {r4, r5, pc} - .align 2, 0 -_08074A90: .4byte gUnk_03003F80 -_08074A94: .4byte gUnk_03001160 - - thumb_func_start nullsub_504 -nullsub_504: @ 0x08074A98 - bx lr - .align 2, 0 - - thumb_func_start sub_08074A9C -sub_08074A9C: @ 0x08074A9C - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074AF0 - ldr r2, _08074AE0 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x80 - ldrh r1, [r0] - subs r1, #0x80 - strh r1, [r0] - ldrb r0, [r2, #0x11] - cmp r0, #1 - beq _08074ACA - adds r0, r2, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08074AF0 -_08074ACA: - ldrb r0, [r2, #0x12] - cmp r0, #0x25 - bne _08074AE4 - adds r0, r4, #0 - movs r1, #0x21 - movs r2, #1 - movs r3, #0 - bl sub_080A2988 - b _08074AF0 - .align 2, 0 -_08074AE0: .4byte gUnk_03003F80 -_08074AE4: - adds r0, r4, #0 - movs r1, #0x21 - movs r2, #1 - movs r3, #1 - bl sub_080A2988 -_08074AF0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08074AF4 -sub_08074AF4: @ 0x08074AF4 - push {lr} - adds r3, r0, #0 - ldr r1, _08074B04 @ =gUnk_03003F80 - ldrb r0, [r1, #0x1e] - cmp r0, #0 - bne _08074B08 - ldrb r2, [r1, #0xd] - b _08074B0C - .align 2, 0 -_08074B04: .4byte gUnk_03003F80 -_08074B08: - ldrb r0, [r3, #0x14] - lsls r2, r0, #2 -_08074B0C: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_08074244 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08074B18 -sub_08074B18: @ 0x08074B18 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08074B40 @ =gUnk_03003F80 - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _08074B48 - bl sub_080741C4 - cmp r0, #0 - bne _08074B48 - ldr r0, [r4, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08074B44 - adds r0, r5, #0 - bl sub_08074200 - b _08074B48 - .align 2, 0 -_08074B40: .4byte gUnk_03003F80 -_08074B44: - movs r0, #0x1a - strb r0, [r4, #0xc] -_08074B48: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08074B4C -sub_08074B4C: @ 0x08074B4C - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074B6E - ldr r0, _08074B70 @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - movs r0, #0x80 - ands r1, r0 - cmp r1, #0 - bne _08074B6E - strb r1, [r4, #0x14] - strb r1, [r4, #0x15] - adds r0, r4, #0 - bl sub_08074BF8 -_08074B6E: - pop {r4, pc} - .align 2, 0 -_08074B70: .4byte gUnk_03003F80 - - thumb_func_start sub_08074B74 -sub_08074B74: @ 0x08074B74 - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074B9A - ldr r0, _08074B9C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08074B9A - movs r0, #4 - strb r0, [r4, #0x14] - movs r0, #0x10 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08074BF8 -_08074B9A: - pop {r4, pc} - .align 2, 0 -_08074B9C: .4byte gUnk_03003F80 - - thumb_func_start sub_08074BA0 -sub_08074BA0: @ 0x08074BA0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074BC6 - ldr r0, _08074BC8 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08074BC6 - movs r0, #6 - strb r0, [r4, #0x14] - movs r0, #0x18 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08074BF8 -_08074BC6: - pop {r4, pc} - .align 2, 0 -_08074BC8: .4byte gUnk_03003F80 - - thumb_func_start sub_08074BCC -sub_08074BCC: @ 0x08074BCC - push {r4, lr} - adds r4, r0, #0 - bl sub_080741C4 - cmp r0, #0 - bne _08074BF2 - ldr r0, _08074BF4 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08074BF2 - movs r0, #2 - strb r0, [r4, #0x14] - movs r0, #8 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08074BF8 -_08074BF2: - pop {r4, pc} - .align 2, 0 -_08074BF4: .4byte gUnk_03003F80 - - thumb_func_start sub_08074BF8 -sub_08074BF8: @ 0x08074BF8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08077B2C - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldr r1, _08074C40 @ =gUnk_03003F80 - ldr r0, [r1, #0x30] - movs r2, #0x80 - lsls r2, r2, #0x12 - orrs r0, r2 - str r0, [r1, #0x30] - ldrb r2, [r1, #0xa] - movs r0, #0x80 - orrs r2, r0 - strb r2, [r1, #0xa] - ldrb r2, [r1, #0x1a] - orrs r0, r2 - strb r0, [r1, #0x1a] - adds r1, #0x27 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0806F69C - pop {r4, pc} - .align 2, 0 -_08074C40: .4byte gUnk_03003F80 - - thumb_func_start sub_08074C44 -sub_08074C44: @ 0x08074C44 - push {r4, lr} - adds r4, r0, #0 - bl sub_08078EFC - cmp r0, #0 - bne _08074C60 - ldr r0, _08074C64 @ =gUnk_0811BC88 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08074C60: - pop {r4, pc} - .align 2, 0 -_08074C64: .4byte gUnk_0811BC88 - - thumb_func_start sub_08074C68 -sub_08074C68: @ 0x08074C68 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x68 - movs r2, #0 - strb r2, [r6] - ldr r5, _08074CA0 @ =gUnk_03003F80 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r3, [r0] - cmp r3, #1 - beq _08074CA8 - adds r0, r4, #0 - adds r0, #0x84 - ldr r1, [r0] - ldr r0, _08074CA4 @ =gUnk_02022750 - cmp r1, r0 - bne _08074CF2 - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - bl sub_08074CF8 - b _08074CF2 - .align 2, 0 -_08074CA0: .4byte gUnk_03003F80 -_08074CA4: .4byte gUnk_02022750 -_08074CA8: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r2, [r4, #0x14] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - movs r0, #2 - strb r0, [r4, #0xd] - strb r3, [r6] - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r5, #0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - bne _08074CE4 - ldr r0, _08074CE0 @ =0x0000073A - b _08074CE6 - .align 2, 0 -_08074CE0: .4byte 0x0000073A -_08074CE4: - ldr r0, _08074CF4 @ =0x00000736 -_08074CE6: - strh r0, [r5, #8] - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 -_08074CF2: - pop {r4, r5, r6, pc} - .align 2, 0 -_08074CF4: .4byte 0x00000736 - - thumb_func_start sub_08074CF8 -sub_08074CF8: @ 0x08074CF8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r6, [r5, #0x14] - adds r4, r5, #0 - adds r4, #0x84 - ldr r1, [r4] - bl sub_0807DF74 - ldr r1, [r4] - adds r0, r5, #0 - bl sub_08074D34 - adds r0, r5, #0 - adds r0, #0x82 - ldrh r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08074D20 - strb r6, [r5, #0x14] -_08074D20: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r5, #0 - bl sub_08003FC4 - adds r0, r5, #0 - bl sub_080042B8 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08074D34 -sub_08074D34: @ 0x08074D34 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r0, [r6, #8] - cmp r0, #0 - bne _08074D46 - b _08074EF8 -_08074D46: - movs r7, #0x80 - lsls r7, r7, #1 - adds r5, r4, #0 - adds r5, #0x82 -_08074D4E: - ldr r1, [r6, #8] - mvns r0, r1 - adds r2, r0, #1 - ands r2, r1 - eors r1, r2 - str r1, [r6, #8] - cmp r2, r7 - bne _08074D60 - b _08074E82 -_08074D60: - cmp r2, r7 - bhi _08074D90 - cmp r2, #8 - beq _08074E2C - cmp r2, #8 - bhi _08074D7C - cmp r2, #2 - beq _08074E08 - cmp r2, #2 - bls _08074D76 - b _08074EF0 -_08074D76: - cmp r2, #1 - beq _08074DEC - b _08074EF0 -_08074D7C: - cmp r2, #0x20 - beq _08074E62 - cmp r2, #0x20 - bhi _08074D8A - cmp r2, #0x10 - beq _08074E54 - b _08074EF0 -_08074D8A: - cmp r2, #0x80 - beq _08074E70 - b _08074EF0 -_08074D90: - movs r0, #0x80 - lsls r0, r0, #7 - cmp r2, r0 - bne _08074D9A - b _08074EAE -_08074D9A: - cmp r2, r0 - bhi _08074DBE - movs r0, #0x80 - lsls r0, r0, #5 - cmp r2, r0 - beq _08074E96 - cmp r2, r0 - bhi _08074DB4 - movs r0, #0x80 - lsls r0, r0, #2 - cmp r2, r0 - beq _08074E90 - b _08074EF0 -_08074DB4: - movs r0, #0x80 - lsls r0, r0, #6 - cmp r2, r0 - beq _08074EA8 - b _08074EF0 -_08074DBE: - movs r0, #0x80 - lsls r0, r0, #0xa - cmp r2, r0 - bne _08074DC8 - b _08074EBE -_08074DC8: - cmp r2, r0 - bhi _08074DD6 - movs r0, #0x80 - lsls r0, r0, #8 - cmp r2, r0 - beq _08074EB4 - b _08074EF0 -_08074DD6: - movs r0, #0x80 - lsls r0, r0, #0xd - cmp r2, r0 - bne _08074DE0 - b _08074ED8 -_08074DE0: - movs r0, #0x80 - lsls r0, r0, #0xe - cmp r2, r0 - bne _08074DEA - b _08074EE4 -_08074DEA: - b _08074EF0 -_08074DEC: - ldr r2, _08074E00 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08074E04 - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r2, #8] - b _08074EF0 - .align 2, 0 -_08074E00: .4byte gUnk_03003F80 -_08074E04: - strh r7, [r2, #8] - b _08074EF0 -_08074E08: - ldr r2, _08074E1C @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08074E24 - ldr r0, _08074E20 @ =0x00000404 - strh r0, [r2, #8] - b _08074EF0 - .align 2, 0 -_08074E1C: .4byte gUnk_03003F80 -_08074E20: .4byte 0x00000404 -_08074E24: - movs r0, #0x82 - lsls r0, r0, #1 - strh r0, [r2, #8] - b _08074EF0 -_08074E2C: - ldr r1, _08074E3C @ =gUnk_03003F80 - ldr r0, [r1, #0x30] - ands r0, r2 - cmp r0, #0 - beq _08074E44 - ldr r0, _08074E40 @ =0x0000041C - b _08074E46 - .align 2, 0 -_08074E3C: .4byte gUnk_03003F80 -_08074E40: .4byte 0x0000041C -_08074E44: - ldr r0, _08074E50 @ =0x0000080C -_08074E46: - strh r0, [r1, #8] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - b _08074EF0 - .align 2, 0 -_08074E50: .4byte 0x0000080C -_08074E54: - adds r0, r4, #0 - movs r1, #8 - movs r2, #0x18 - rsbs r2, r2, #0 - bl sub_080A2CFC - b _08074EF0 -_08074E62: - adds r0, r4, #0 - movs r1, #8 - movs r2, #0x18 - rsbs r2, r2, #0 - bl sub_080A2D0C - b _08074EF0 -_08074E70: - ldrb r0, [r4, #0x18] - movs r2, #4 - rsbs r2, r2, #0 - adds r1, r2, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - b _08074EF0 -_08074E82: - ldrb r0, [r4, #0x18] - movs r3, #4 - rsbs r3, r3, #0 - adds r1, r3, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _08074EF0 -_08074E90: - movs r0, #0 - strh r0, [r5] - b _08074EF0 -_08074E96: - ldrh r0, [r5] - ldr r2, _08074EA4 @ =0x0000FFFE - adds r1, r2, #0 - ands r0, r1 - strh r0, [r5] - b _08074EF0 - .align 2, 0 -_08074EA4: .4byte 0x0000FFFE -_08074EA8: - ldrh r0, [r5] - movs r1, #1 - b _08074EB8 -_08074EAE: - ldrh r0, [r5] - movs r1, #8 - b _08074EB8 -_08074EB4: - ldrh r0, [r5] - movs r1, #4 -_08074EB8: - orrs r0, r1 - strh r0, [r5] - b _08074EF0 -_08074EBE: - ldrb r2, [r4, #0x18] - lsls r0, r2, #0x19 - lsrs r0, r0, #0x1f - movs r1, #1 - eors r0, r1 - lsls r0, r0, #6 - movs r3, #0x41 - rsbs r3, r3, #0 - adds r1, r3, #0 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, #0x18] - b _08074EF0 -_08074ED8: - movs r1, #2 - strb r1, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x68 - strb r1, [r0] - b _08074EF0 -_08074EE4: - movs r0, #0 - movs r1, #3 - strb r1, [r4, #0xd] - adds r1, r4, #0 - adds r1, #0x68 - strb r0, [r1] -_08074EF0: - ldr r0, [r6, #8] - cmp r0, #0 - beq _08074EF8 - b _08074D4E -_08074EF8: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08074F00 -sub_08074F00: @ 0x08074F00 - push {lr} - ldr r2, _08074F18 @ =gUnk_0811BC98 - adds r1, r0, #0 - adds r1, #0x68 - ldrb r1, [r1] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08074F18: .4byte gUnk_0811BC98 - - thumb_func_start sub_08074F1C -sub_08074F1C: @ 0x08074F1C - adds r2, r0, #0 - adds r2, #0x68 - movs r3, #0 - movs r1, #1 - strb r1, [r2] - strb r3, [r0, #0x14] - bx lr - .align 2, 0 - - thumb_func_start sub_08074F2C -sub_08074F2C: @ 0x08074F2C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x84 - ldr r1, [r5] - bl sub_0807DF74 - ldr r1, [r5] - adds r0, r4, #0 - bl sub_08074D34 - pop {r4, r5, pc} - - thumb_func_start sub_08074F44 -sub_08074F44: @ 0x08074F44 - push {lr} - adds r0, #0x68 - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - ldr r0, _08074F74 @ =gUnk_03001160 - ldr r0, [r0, #0x6c] - cmp r0, #0 - beq _08074F5A - bl sub_0805E7BC -_08074F5A: - ldr r2, _08074F78 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - bne _08074F80 - ldr r0, _08074F7C @ =0x0000073B - strh r0, [r2, #8] - ldr r0, [r2, #0x30] - movs r1, #8 - orrs r0, r1 - str r0, [r2, #0x30] - b _08074F84 - .align 2, 0 -_08074F74: .4byte gUnk_03001160 -_08074F78: .4byte gUnk_03003F80 -_08074F7C: .4byte 0x0000073B -_08074F80: - ldr r0, _08074F88 @ =0x00000737 - strh r0, [r2, #8] -_08074F84: - pop {pc} - .align 2, 0 -_08074F88: .4byte 0x00000737 - - thumb_func_start sub_08074F8C -sub_08074F8C: @ 0x08074F8C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r3, r4, #0 - adds r3, #0x5a - ldrb r0, [r3] - cmp r0, #1 - bne _08074FAC - movs r0, #0 - strb r0, [r3] - ldr r2, _08074FDC @ =gUnk_02033280 - ldr r0, [r2] - movs r1, #4 - orrs r0, r1 - str r0, [r2] -_08074FAC: - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08074FEA - adds r1, r4, #0 - adds r1, #0x68 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #4 - strb r0, [r4, #0x14] - ldr r1, _08074FE0 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - bne _08074FE4 - movs r0, #0x80 - lsls r0, r0, #3 - b _08074FE8 - .align 2, 0 -_08074FDC: .4byte gUnk_02033280 -_08074FE0: .4byte gUnk_03003F80 -_08074FE4: - movs r0, #0x80 - lsls r0, r0, #1 -_08074FE8: - strh r0, [r1, #8] -_08074FEA: - pop {r4, pc} - - thumb_func_start sub_08074FEC -sub_08074FEC: @ 0x08074FEC - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08075016 - adds r1, r4, #0 - adds r1, #0x68 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #4 - strb r0, [r4, #0xe] - ldr r0, _08075018 @ =gUnk_03003F80 - adds r0, #0x3a - ldrb r0, [r0] - strb r0, [r4, #0x14] -_08075016: - pop {r4, pc} - .align 2, 0 -_08075018: .4byte gUnk_03003F80 - - thumb_func_start sub_0807501C -sub_0807501C: @ 0x0807501C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08075086 - ldr r1, _08075044 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x3a - ldrb r0, [r0] - strb r0, [r2, #0x14] - adds r0, r1, #0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - bne _0807504C - ldr r0, _08075048 @ =0x0000041C - b _0807504E - .align 2, 0 -_08075044: .4byte gUnk_03003F80 -_08075048: .4byte 0x0000041C -_0807504C: - ldr r0, _08075088 @ =0x0000080C -_0807504E: - strh r0, [r1, #8] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - strb r0, [r2, #0x15] - movs r0, #0xc8 - strh r0, [r2, #0x24] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r2, #0x20] - movs r0, #8 - strb r0, [r2, #0xe] - adds r1, r2, #0 - adds r1, #0x68 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0x7c - bl sub_080A3268 -_08075086: - pop {pc} - .align 2, 0 -_08075088: .4byte 0x0000080C - - thumb_func_start sub_0807508C -sub_0807508C: @ 0x0807508C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _080750AA - adds r0, r4, #0 - bl sub_0806F69C - b _080750F2 -_080750AA: - ldr r2, _080750BC @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x39 - ldrb r0, [r0] - cmp r0, #0 - bne _080750C0 - movs r0, #0x80 - lsls r0, r0, #3 - b _080750CE - .align 2, 0 -_080750BC: .4byte gUnk_03003F80 -_080750C0: - ldr r0, [r2, #0x30] - movs r1, #9 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r2, #0x30] - movs r0, #0x80 - lsls r0, r0, #1 -_080750CE: - strh r0, [r2, #8] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080750F2 - movs r0, #4 - strb r0, [r4, #0x14] - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x68 - strb r1, [r0] - movs r0, #0x7d - bl sub_080A3268 -_080750F2: - pop {r4, pc} - - thumb_func_start sub_080750F4 -sub_080750F4: @ 0x080750F4 - push {lr} - ldr r2, _0807510C @ =gUnk_0811BCB4 - adds r1, r0, #0 - adds r1, #0x68 - ldrb r1, [r1] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807510C: .4byte gUnk_0811BCB4 - - thumb_func_start sub_08075110 -sub_08075110: @ 0x08075110 - adds r2, r0, #0 - adds r2, #0x68 - ldrb r1, [r2] - adds r1, #1 - movs r3, #0 - strb r1, [r2] - ldrb r1, [r0, #0x14] - strb r1, [r0, #0xf] - strb r3, [r0, #0x14] - ldr r2, _08075134 @ =gUnk_03003F80 - ldr r0, _08075138 @ =0x00000734 - strh r0, [r2, #8] - ldr r0, [r2, #0x30] - movs r1, #9 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r2, #0x30] - bx lr - .align 2, 0 -_08075134: .4byte gUnk_03003F80 -_08075138: .4byte 0x00000734 - - thumb_func_start sub_0807513C -sub_0807513C: @ 0x0807513C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080042B8 - adds r4, r5, #0 - adds r4, #0x5a - ldrb r0, [r4] - cmp r0, #1 - bne _08075158 - movs r0, #0 - strb r0, [r4] - movs r0, #0x7c - bl sub_080A3268 -_08075158: - ldrb r0, [r4] - cmp r0, #2 - bne _0807516E - movs r0, #0 - strb r0, [r4] - ldr r0, _08075188 @ =0x0000014B - bl sub_080A3268 - movs r0, #0x7a - bl sub_080A3268 -_0807516E: - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08075186 - adds r0, r5, #0 - adds r0, #0x68 - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - movs r0, #0x3c - strb r0, [r5, #0xe] -_08075186: - pop {r4, r5, pc} - .align 2, 0 -_08075188: .4byte 0x0000014B - - thumb_func_start sub_0807518C -sub_0807518C: @ 0x0807518C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080751AA - adds r1, #0x68 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r1, _080751AC @ =gUnk_03003F80 - ldr r0, _080751B0 @ =0x000003C9 - strh r0, [r1, #8] -_080751AA: - pop {pc} - .align 2, 0 -_080751AC: .4byte gUnk_03003F80 -_080751B0: .4byte 0x000003C9 - - thumb_func_start sub_080751B4 -sub_080751B4: @ 0x080751B4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080751E2 - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0x14] - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x68 - strb r1, [r0] - ldr r1, _080751E4 @ =gUnk_03003F80 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1, #8] -_080751E2: - pop {r4, pc} - .align 2, 0 -_080751E4: .4byte gUnk_03003F80 - - thumb_func_start sub_080751E8 -sub_080751E8: @ 0x080751E8 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - ldr r4, _08075230 @ =gUnk_02022750 - adds r0, r4, #0 - movs r1, #0x24 - bl sub_0801D630 - str r6, [r4] - ldr r0, _08075234 @ =gUnk_03001160 - adds r0, #0x84 - str r4, [r0] - ldr r2, _08075238 @ =gUnk_03003F80 - movs r1, #0 - movs r0, #0x1c - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x38 - movs r4, #1 - strb r4, [r0] - adds r3, r2, #0 - adds r3, #0x39 - strb r1, [r3] - adds r0, #2 - strb r5, [r0] - ldr r0, [r2, #0x30] - movs r1, #8 - orrs r0, r1 - str r0, [r2, #0x30] - cmp r7, #0 - bne _08075240 - strb r7, [r3] - ldr r6, _0807523C @ =gUnk_08009ECC - b _08075244 - .align 2, 0 -_08075230: .4byte gUnk_02022750 -_08075234: .4byte gUnk_03001160 -_08075238: .4byte gUnk_03003F80 -_0807523C: .4byte gUnk_08009ECC -_08075240: - strb r4, [r3] - ldr r6, _08075290 @ =gUnk_08009EF0 -_08075244: - ldr r0, _08075294 @ =gUnk_03003F80 - adds r0, #0x39 - ldrb r0, [r0] - movs r1, #0 - cmp r0, #0 - bne _08075252 - movs r1, #2 -_08075252: - movs r0, #0x5b - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08075270 - ldr r0, _08075298 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0807DAD0 -_08075270: - ldr r4, _08075298 @ =gUnk_03001160 - movs r1, #0xe - rsbs r1, r1, #0 - movs r2, #0x1c - rsbs r2, r2, #0 - adds r0, r4, #0 - bl sub_080A2D1C - str r0, [r4, #0x6c] - cmp r0, #0 - beq _0807528C - movs r1, #3 - bl sub_0805E3A0 -_0807528C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08075290: .4byte gUnk_08009EF0 -_08075294: .4byte gUnk_03003F80 -_08075298: .4byte gUnk_03001160 - - thumb_func_start sub_0807529C -sub_0807529C: @ 0x0807529C - push {lr} - movs r2, #0x20 - rsbs r2, r2, #0 - movs r1, #8 - bl sub_080A2D0C - pop {pc} - .align 2, 0 - - thumb_func_start sub_080752AC -sub_080752AC: @ 0x080752AC - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_0806F69C - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _080752D0 - adds r0, r5, #0 - bl sub_080002B8 - cmp r0, #0x29 - beq _080752DC - movs r0, #1 - strb r0, [r4, #0x18] - movs r0, #6 - strb r0, [r4, #0x19] - b _080752DC -_080752D0: - ldrb r0, [r4, #0x19] - subs r0, #1 - strb r0, [r4, #0x19] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _080752E2 -_080752DC: - ldr r1, _080752E4 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_080752E2: - pop {r4, r5, pc} - .align 2, 0 -_080752E4: .4byte gUnk_02033280 - - thumb_func_start sub_080752E8 -sub_080752E8: @ 0x080752E8 - push {lr} - ldr r3, _080752FC @ =gUnk_0811BCC4 - ldrb r2, [r0, #1] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_080752FC: .4byte gUnk_0811BCC4 - - thumb_func_start sub_08075300 -sub_08075300: @ 0x08075300 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077BD4 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 - pop {r4, r5, pc} - - thumb_func_start sub_08075314 -sub_08075314: @ 0x08075314 - push {lr} - ldr r2, _08075330 @ =gUnk_03003F80 - adds r2, #0xa8 - movs r3, #2 - strb r3, [r2] - ldr r3, _08075334 @ =gUnk_0811BD44 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08075330: .4byte gUnk_03003F80 -_08075334: .4byte gUnk_0811BD44 - - thumb_func_start sub_08075338 -sub_08075338: @ 0x08075338 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r7, r1, #0 - ldr r4, _0807536C @ =gUnk_03003F80 - ldr r1, [r4, #0x30] - movs r3, #0x80 - adds r0, r1, #0 - ands r0, r3 - cmp r0, #0 - beq _08075370 - ldrb r0, [r5, #9] - movs r1, #0x80 - orrs r1, r0 - strb r1, [r5, #9] - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_08077D38 - movs r0, #0xc0 - lsls r0, r0, #4 - strh r0, [r4, #8] - movs r0, #0x75 - bl sub_080A3268 - b _080754B4 - .align 2, 0 -_0807536C: .4byte gUnk_03003F80 -_08075370: - ldrb r2, [r4, #2] - cmp r2, #0 - beq _080753DC - movs r6, #7 - adds r0, r6, #0 - ands r0, r2 - cmp r0, #3 - beq _080753E4 - movs r0, #0x78 - ands r0, r2 - cmp r0, #0 - bne _080753E4 - ldr r3, _080753D4 @ =gUnk_03001160 - ldr r1, [r3, #0x20] - ldr r0, _080753D8 @ =0x00017FFF - cmp r1, r0 - bhi _080753E4 - adds r0, r4, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080753E4 - ldr r0, [r3, #0x34] - cmp r0, #0 - beq _080753E4 - movs r0, #0x20 - orrs r0, r2 - strb r0, [r4, #2] - adds r0, r4, #0 - adds r0, #0xab - strb r6, [r0] - movs r0, #8 - asrs r0, r7 - lsls r1, r0, #4 - orrs r0, r1 - ldrb r1, [r4, #4] - orrs r0, r1 - strb r0, [r4, #4] - adds r0, r5, #0 - bl sub_08077B98 - movs r0, #6 - strb r0, [r5, #4] - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_08075898 - b _080754B4 - .align 2, 0 -_080753D4: .4byte gUnk_03001160 -_080753D8: .4byte 0x00017FFF -_080753DC: - ldr r2, _080753F0 @ =gUnk_03001160 - ldr r0, [r2, #0x34] - cmp r0, #0 - beq _080753F4 -_080753E4: - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_080759B8 - b _080754B4 - .align 2, 0 -_080753F0: .4byte gUnk_03001160 -_080753F4: - movs r6, #0x80 - lsls r6, r6, #0xb - ands r6, r1 - cmp r6, #0 - beq _08075480 - adds r0, r4, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #2 - ands r0, r1 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - cmp r6, #0 - bne _0807541E - ldr r0, [r4, #0x2c] - cmp r0, #0 - beq _080754B4 - bl sub_0805E7BC - str r6, [r4, #0x2c] - b _080754B4 -_0807541E: - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_08077D38 - adds r0, r5, #0 - bl sub_08077B98 - movs r3, #8 - adds r1, r3, #0 - asrs r1, r7 - lsls r0, r1, #4 - orrs r0, r1 - ldrb r2, [r4, #4] - orrs r0, r2 - strb r0, [r4, #4] - ldrb r2, [r4, #0xa] - adds r0, r1, #0 - orrs r0, r2 - strb r0, [r4, #0xa] - ldrb r0, [r4, #0xb] - orrs r1, r0 - strb r1, [r4, #0xb] - strb r3, [r5, #4] - movs r0, #0x14 - strb r0, [r5, #7] - movs r0, #6 - strb r0, [r5, #0xf] - ldrb r1, [r5, #9] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #9] - adds r1, r4, #0 - adds r1, #0xab - movs r0, #2 - strb r0, [r1] - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x14 - orrs r0, r1 - str r0, [r4, #0x30] - movs r1, #0x98 - lsls r1, r1, #1 - adds r0, r5, #0 - bl sub_08077DF4 - movs r0, #0x77 - bl sub_080A3268 - b _080754B4 -_08075480: - ldrb r1, [r4, #0x1b] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _08075492 - strb r6, [r4, #0x1b] - adds r0, r2, #0 - bl sub_0806F948 -_08075492: - ldr r1, [r4, #0x2c] - cmp r1, #0 - beq _080754A6 - ldrb r0, [r1, #9] - cmp r0, #1 - beq _080754A6 - adds r0, r1, #0 - bl sub_0805E7BC - str r6, [r4, #0x2c] -_080754A6: - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_08077D38 - adds r0, r5, #0 - bl sub_08077B98 -_080754B4: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080754B8 -sub_080754B8: @ 0x080754B8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r7, _080754D4 @ =gUnk_03003F80 - ldrb r1, [r7, #0x1b] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080754D8 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08075694 - b _0807557E - .align 2, 0 -_080754D4: .4byte gUnk_03003F80 -_080754D8: - ldrb r0, [r7, #4] - cmp r0, #0 - beq _08075576 - adds r0, r4, #0 - bl sub_08077E24 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080754F2 - ldrb r1, [r4, #9] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #9] -_080754F2: - ldr r0, _0807552C @ =gUnk_03001160 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08075538 - bl sub_0807B014 - adds r5, r0, #0 - cmp r5, #0 - beq _08075538 - movs r0, #8 - movs r1, #0xf - movs r2, #2 - bl sub_0805EB00 - cmp r0, #0 - bne _08075538 - adds r0, r4, #0 - movs r1, #0xf - bl sub_08077C3C - cmp r5, #0xf - bne _08075530 - adds r1, r7, #0 - adds r1, #0xab - movs r0, #5 - b _08075536 - .align 2, 0 -_0807552C: .4byte gUnk_03001160 -_08075530: - adds r1, r7, #0 - adds r1, #0xab - movs r0, #8 -_08075536: - strb r0, [r1] -_08075538: - ldrb r1, [r4, #0xe] - movs r2, #0x80 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0807557E - ldr r1, _08075568 @ =gUnk_03003F80 - ldr r0, [r1, #0x30] - ands r0, r2 - cmp r0, #0 - bne _0807555C - adds r0, r1, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0807556C -_0807555C: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080759B8 - b _0807557E - .align 2, 0 -_08075568: .4byte gUnk_03003F80 -_0807556C: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08075580 - b _0807557E -_08075576: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080759B8 -_0807557E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08075580 -sub_08075580: @ 0x08075580 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077EFC - cmp r0, #0 - beq _080755E6 - ldr r2, _080755C8 @ =gUnk_03003F80 - ldrb r3, [r2, #2] - cmp r3, #0 - bne _080755E6 - movs r1, #8 - asrs r1, r5 - ldrb r0, [r2, #0xa] - bics r0, r1 - strb r0, [r2, #0xa] - movs r0, #1 - strb r0, [r2, #0x1b] - ldr r0, [r2, #0x2c] - adds r0, #0x40 - movs r1, #0xd - strb r1, [r0] - strb r3, [r4, #0xf] - movs r0, #2 - strb r0, [r4, #4] - adds r0, r2, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080755CC - movs r0, #0x28 - b _080755CE - .align 2, 0 -_080755C8: .4byte gUnk_03003F80 -_080755CC: - movs r0, #0x50 -_080755CE: - strb r0, [r4, #7] - movs r1, #0xb4 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_08077DF4 - movs r0, #0x43 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - b _080755EE -_080755E6: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080759B8 -_080755EE: - pop {r4, r5, pc} - - thumb_func_start sub_080755F0 -sub_080755F0: @ 0x080755F0 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077EFC - cmp r0, #0 - beq _08075642 - adds r0, r4, #0 - bl sub_08077EC8 - cmp r0, #0 - bne _0807564A - ldr r2, _08075634 @ =gUnk_03003F80 - ldrb r3, [r2, #0x1b] - ldrb r0, [r2, #4] - orrs r0, r3 - cmp r0, #0 - beq _08075638 - ldrb r0, [r4, #7] - subs r0, #1 - strb r0, [r4, #7] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0807564A - movs r0, #3 - strb r0, [r4, #4] - ldrb r0, [r4, #9] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #9] - movs r0, #0x20 - orrs r0, r3 - strb r0, [r2, #0x1b] - b _0807564A - .align 2, 0 -_08075634: .4byte gUnk_03003F80 -_08075638: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080759B8 - b _0807564A -_08075642: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080759B8 -_0807564A: - pop {r4, r5, pc} - - thumb_func_start sub_0807564C -sub_0807564C: @ 0x0807564C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r5, _08075668 @ =gUnk_03003F80 - ldrb r1, [r5, #0x1b] - ldrb r0, [r5, #4] - orrs r0, r1 - cmp r0, #0 - bne _0807566C - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080759B8 - b _08075692 - .align 2, 0 -_08075668: .4byte gUnk_03003F80 -_0807566C: - adds r0, r4, #0 - bl sub_08077EC8 - cmp r0, #0 - bne _08075692 - adds r0, r4, #0 - bl sub_08077EFC - cmp r0, #0 - beq _0807568A - ldrb r1, [r5, #0x1b] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08075692 -_0807568A: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08075694 -_08075692: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08075694 -sub_08075694: @ 0x08075694 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r3, #1 - strb r3, [r4, #7] - ldr r2, _080756C4 @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - movs r0, #0x80 - lsls r0, r0, #0x14 - ands r0, r1 - cmp r0, #0 - beq _080756D0 - ldr r0, _080756C8 @ =0xF7FFFFFF - ands r1, r0 - ldr r0, _080756CC @ =0xFFFBFFFF - ands r1, r0 - str r1, [r2, #0x30] - movs r1, #0x96 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_08077DF4 - b _080756E0 - .align 2, 0 -_080756C4: .4byte gUnk_03003F80 -_080756C8: .4byte 0xF7FFFFFF -_080756CC: .4byte 0xFFFBFFFF -_080756D0: - adds r0, r2, #0 - adds r0, #0xab - strb r3, [r0] - movs r1, #0x92 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_08077DF4 -_080756E0: - ldr r2, _08075730 @ =gUnk_03003F80 - movs r0, #8 - asrs r0, r5 - ldrb r1, [r2, #0xa] - orrs r0, r1 - strb r0, [r2, #0xa] - movs r0, #4 - strb r0, [r4, #4] - movs r0, #6 - strb r0, [r4, #0xf] - ldr r0, _08075734 @ =gUnk_03001160 - adds r0, #0x40 - movs r1, #0x1e - strb r1, [r0] - ldrb r1, [r2, #0x1b] - movs r0, #0x40 - orrs r0, r1 - movs r1, #0xdf - ands r0, r1 - strb r0, [r2, #0x1b] - adds r3, r2, #0 - adds r3, #0xa0 - ldrb r0, [r3] - cmp r0, #4 - bne _08075726 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _08075726 - movs r0, #1 - strb r0, [r3] - bl sub_0807A108 -_08075726: - movs r0, #0x76 - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_08075730: .4byte gUnk_03003F80 -_08075734: .4byte gUnk_03001160 - - thumb_func_start sub_08075738 -sub_08075738: @ 0x08075738 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r5, _08075750 @ =gUnk_03003F80 - ldrb r0, [r5, #4] - cmp r0, #0 - bne _08075754 - adds r0, r4, #0 - bl sub_080759B8 - b _0807588C - .align 2, 0 -_08075750: .4byte gUnk_03003F80 -_08075754: - adds r0, r4, #0 - bl sub_08077E24 - adds r0, r4, #0 - bl sub_08077F10 - cmp r0, #0 - beq _08075768 - movs r0, #2 - strb r0, [r4, #7] -_08075768: - ldrb r2, [r5, #0x1b] - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - beq _080757D4 - ldrb r1, [r5, #0xd] - movs r2, #0x80 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _08075780 - strb r1, [r4, #0xb] -_08075780: - ldr r1, _080757D0 @ =gUnk_03001160 - ldrb r0, [r4, #0xb] - strb r0, [r1, #0x15] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1, #0x24] - ldrb r1, [r4, #0xe] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0807588C - movs r2, #0xa - adds r0, r5, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - beq _080757AA - movs r2, #0xf -_080757AA: - ldrb r0, [r4, #8] - adds r0, #1 - strb r0, [r4, #8] - movs r1, #0xff - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r2, r0 - bls _080757C6 - ldrb r0, [r4, #7] - subs r0, #1 - strb r0, [r4, #7] - ands r0, r1 - cmp r0, #0 - bne _0807588C -_080757C6: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080759B8 - b _0807588C - .align 2, 0 -_080757D0: .4byte gUnk_03001160 -_080757D4: - ldr r7, _08075890 @ =gUnk_03001160 - adds r0, r7, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08075816 - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _08075816 - adds r0, r5, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08075816 - adds r0, r4, #0 - movs r1, #0x14 - bl sub_08077C3C - adds r2, r0, #0 - cmp r2, #0 - beq _08075816 - ldrb r0, [r7, #0x14] - movs r1, #6 - ands r1, r0 - movs r0, #0x80 - orrs r1, r0 - strb r1, [r2, #0x14] -_08075816: - ldr r5, _08075890 @ =gUnk_03001160 - adds r0, r5, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0807587A - ldr r2, _08075894 @ =gUnk_03003F80 - ldrb r3, [r2, #0x1b] - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - bne _0807587A - adds r0, r2, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0807587A - ldrb r0, [r4, #7] - subs r0, #1 - strb r0, [r4, #7] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0807587A - movs r0, #0x10 - orrs r0, r3 - strb r0, [r2, #0x1b] - adds r1, r2, #0 - adds r1, #0xab - movs r0, #6 - strb r0, [r1] - ldrb r0, [r5, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0xb] - movs r0, #1 - strb r0, [r4, #7] - strb r0, [r4, #8] - movs r1, #8 - asrs r1, r6 - ldrb r0, [r2, #0xa] - bics r0, r1 - strb r0, [r2, #0xa] - movs r1, #0x94 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_08077DF4 -_0807587A: - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807588C - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080759B8 -_0807588C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08075890: .4byte gUnk_03001160 -_08075894: .4byte gUnk_03003F80 - - thumb_func_start sub_08075898 -sub_08075898: @ 0x08075898 - push {lr} - adds r2, r0, #0 - ldr r0, _080758AC @ =gUnk_03003F80 - ldrb r0, [r0, #4] - cmp r0, #0 - bne _080758AA - adds r0, r2, #0 - bl sub_080759B8 -_080758AA: - pop {pc} - .align 2, 0 -_080758AC: .4byte gUnk_03003F80 - - thumb_func_start sub_080758B0 -sub_080758B0: @ 0x080758B0 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _080758C4 @ =gUnk_03003F80 - ldrb r0, [r5, #4] - cmp r0, #0 - bne _080758C8 - adds r0, r4, #0 - bl sub_080759B8 - b _080758F8 - .align 2, 0 -_080758C4: .4byte gUnk_03003F80 -_080758C8: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080758F8 - movs r0, #0 - strb r0, [r4, #0xf] - ldrb r1, [r5, #0x1b] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080758EA - movs r0, #3 - b _080758EC -_080758EA: - movs r0, #5 -_080758EC: - strb r0, [r4, #4] - ldr r2, _080758FC @ =gUnk_03003F80 - ldrb r1, [r2, #0x1b] - movs r0, #0xf7 - ands r0, r1 - strb r0, [r2, #0x1b] -_080758F8: - pop {r4, r5, pc} - .align 2, 0 -_080758FC: .4byte gUnk_03003F80 - - thumb_func_start sub_08075900 -sub_08075900: @ 0x08075900 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r5, _08075920 @ =gUnk_03003F80 - ldrb r0, [r5, #0x12] - cmp r0, #0x11 - bne _08075928 - ldr r0, [r5, #0x30] - ldr r1, _08075924 @ =0xFFFBFFFF - ands r0, r1 - str r0, [r5, #0x30] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080759B8 - b _080759B2 - .align 2, 0 -_08075920: .4byte gUnk_03003F80 -_08075924: .4byte 0xFFFBFFFF -_08075928: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r5, #0x1b] - movs r2, #0x80 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08075948 - movs r0, #0xa0 - strb r0, [r5, #0x1b] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0807564C - b _080759B2 -_08075948: - ldrb r0, [r4, #7] - cmp r0, #0 - beq _08075998 - subs r0, #1 - strb r0, [r4, #7] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08075962 - movs r1, #0x9a - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_08077DF4 -_08075962: - ldr r4, _08075990 @ =gUnk_03001160 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #3 - strb r0, [r4, #0x15] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - bl sub_08079E08 - ldr r0, _08075994 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _080759B2 - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - b _080759B2 - .align 2, 0 -_08075990: .4byte gUnk_03001160 -_08075994: .4byte gUnk_030010A0 -_08075998: - ldrb r1, [r4, #0xe] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080759B2 - ldr r0, [r5, #0x30] - ldr r1, _080759B4 @ =0xFFFBFFFF - ands r0, r1 - str r0, [r5, #0x30] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080759B8 -_080759B2: - pop {r4, r5, r6, pc} - .align 2, 0 -_080759B4: .4byte 0xFFFBFFFF - - thumb_func_start sub_080759B8 -sub_080759B8: @ 0x080759B8 - push {r4, lr} - adds r3, r0, #0 - adds r4, r1, #0 - ldr r2, _080759E8 @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - movs r0, #0x80 - ands r1, r0 - cmp r1, #0 - bne _080759D0 - ldr r0, _080759EC @ =gUnk_03001160 - adds r0, #0x40 - strb r1, [r0] -_080759D0: - ldr r0, [r2, #0x30] - ldr r1, _080759F0 @ =0xF7FFFFFF - ands r0, r1 - str r0, [r2, #0x30] - movs r0, #0 - strb r0, [r2, #0x1b] - str r0, [r2, #0x2c] - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_08077E78 - pop {r4, pc} - .align 2, 0 -_080759E8: .4byte gUnk_03003F80 -_080759EC: .4byte gUnk_03001160 -_080759F0: .4byte 0xF7FFFFFF - - thumb_func_start sub_080759F4 -sub_080759F4: @ 0x080759F4 - push {lr} - ldr r3, _08075A08 @ =gUnk_0811BD68 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08075A08: .4byte gUnk_0811BD68 - - thumb_func_start sub_08075A0C -sub_08075A0C: @ 0x08075A0C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r4, #1] - bl sub_0805436C - adds r6, r0, #0 - ldr r1, _08075A64 @ =gUnk_03003F80 - ldrb r0, [r1, #5] - cmp r0, #0 - bne _08075A3E - ldrb r0, [r1, #0xc] - cmp r0, #0x18 - beq _08075A3E - ldrb r0, [r1, #2] - cmp r0, #0 - bne _08075A3E - ldr r0, [r1, #0x2c] - cmp r0, #0 - bne _08075A3E - ldr r0, [r1, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08075A6C -_08075A3E: - movs r0, #0xf - adds r1, r6, #0 - bl sub_08054414 - ldr r0, _08075A64 @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - ldr r2, _08075A68 @ =0xFF7FFFFF - ands r1, r2 - str r1, [r0, #0x30] - movs r0, #0xf - adds r1, r6, #0 - bl sub_08054414 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 - b _08075AD0 - .align 2, 0 -_08075A64: .4byte gUnk_03003F80 -_08075A68: .4byte 0xFF7FFFFF -_08075A6C: - ldrb r1, [r4, #9] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #9] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077D38 - adds r0, r4, #0 - bl sub_08077BD4 - ldr r5, _08075AD4 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_0806F948 - movs r0, #0x10 - strb r0, [r4, #1] - adds r1, r6, #0 - bl sub_08054414 - ldrb r1, [r5, #0x14] - movs r0, #6 - ands r0, r1 - ldr r1, _08075AD8 @ =gUnk_08126EEC - adds r4, r0, r1 - adds r0, r5, #0 - movs r1, #0x45 - movs r2, #1 - movs r3, #0 - bl sub_080A2988 - adds r2, r0, #0 - cmp r2, #0 - beq _08075AD0 - adds r0, r5, #0 - adds r0, #0x60 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x60 - strh r1, [r0] - movs r0, #0 - ldrsb r0, [r4, r0] - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r4, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] -_08075AD0: - pop {r4, r5, r6, pc} - .align 2, 0 -_08075AD4: .4byte gUnk_03001160 -_08075AD8: .4byte gUnk_08126EEC - - thumb_func_start sub_08075ADC -sub_08075ADC: @ 0x08075ADC - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r2, _08075B44 @ =gUnk_03003F80 - ldr r0, [r2, #0x2c] - cmp r0, #0 - bne _08075B08 - ldrb r1, [r4, #0xe] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08075B08 - ldr r0, [r2, #0x30] - movs r1, #0x88 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - bne _08075B08 - bl sub_08079D48 - cmp r0, #0 - bne _08075B4C -_08075B08: - movs r0, #0 - strb r0, [r4, #0xf] - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - ldr r3, _08075B44 @ =gUnk_03003F80 - ldr r0, [r3, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x10 - orrs r0, r1 - str r0, [r3, #0x30] - movs r2, #8 - asrs r2, r5 - lsls r1, r2, #4 - orrs r1, r2 - ldrb r0, [r3, #4] - bics r0, r1 - strb r0, [r3, #4] - mvns r2, r2 - ldrb r1, [r3, #0xa] - adds r0, r2, #0 - ands r0, r1 - strb r0, [r3, #0xa] - ldrb r0, [r3, #0xb] - ands r2, r0 - strb r2, [r3, #0xb] - ldr r0, _08075B48 @ =0x0000013D - bl sub_080A3268 - b _08075B52 - .align 2, 0 -_08075B44: .4byte gUnk_03003F80 -_08075B48: .4byte 0x0000013D -_08075B4C: - adds r0, r4, #0 - bl sub_08077E24 -_08075B52: - pop {r4, r5, pc} - - thumb_func_start sub_08075B54 -sub_08075B54: @ 0x08075B54 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - mov sb, r1 - ldr r5, _08075BB0 @ =gUnk_03003F80 - ldr r0, [r5, #0x30] - movs r1, #0x88 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08075B70 - b _08075C80 -_08075B70: - ldrb r0, [r6, #1] - bl sub_0805436C - adds r4, r0, #0 - adds r0, r6, #0 - bl sub_08077F10 - cmp r0, #0 - bne _08075B86 - cmp r4, #1 - bls _08075BB8 -_08075B86: - ldrb r0, [r5, #2] - cmp r0, #0 - bne _08075BB8 - movs r0, #0xf - adds r1, r4, #0 - bl sub_08054414 - ldr r0, [r5, #0x30] - ldr r1, _08075BB4 @ =0xFF7FFFFF - ands r0, r1 - str r0, [r5, #0x30] - adds r0, r6, #0 - mov r1, sb - bl sub_08077E78 - movs r0, #0x9f - lsls r0, r0, #1 - bl sub_080A3268 - b _08075C80 - .align 2, 0 -_08075BB0: .4byte gUnk_03003F80 -_08075BB4: .4byte 0xFF7FFFFF -_08075BB8: - ldr r0, _08075C88 @ =gUnk_03003F80 - mov r8, r0 - ldrb r0, [r0, #0xc] - cmp r0, #0x18 - beq _08075C80 - ldr r5, _08075C8C @ =gUnk_03001160 - ldrb r0, [r5, #0x1e] - cmp r0, #0x36 - bhi _08075C80 - ldrh r1, [r5, #0x12] - cmp r1, #6 - bne _08075C80 - ldrb r0, [r5, #0x14] - ands r1, r0 - ldr r0, _08075C90 @ =gUnk_08126EEC - adds r7, r1, r0 - mov r1, r8 - ldrb r0, [r1, #2] - cmp r0, #0 - bne _08075C80 - movs r2, #0x2e - ldrsh r0, [r5, r2] - movs r1, #0 - ldrsb r1, [r7, r1] - adds r0, r0, r1 - ldr r4, _08075C94 @ =gUnk_03000BF0 - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r2, #0x32 - ldrsh r1, [r5, r2] - movs r2, #1 - ldrsb r2, [r7, r2] - adds r1, r1, r2 - ldrh r2, [r4, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - movs r2, #0x40 - bl sub_080002F0 - cmp r0, #0 - beq _08075C80 - movs r0, #0xf - strb r0, [r6, #0xf] - ldrb r0, [r6, #4] - adds r0, #1 - strb r0, [r6, #4] - adds r1, r5, #0 - adds r1, #0x7a - movs r0, #2 - strh r0, [r1] - adds r0, r5, #0 - movs r1, #0x45 - movs r2, #1 - movs r3, #0 - bl sub_080A2988 - adds r2, r0, #0 - cmp r2, #0 - beq _08075C60 - adds r0, r5, #0 - adds r0, #0x60 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x60 - strh r1, [r0] - movs r0, #0 - ldrsb r0, [r7, r0] - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r7, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] -_08075C60: - ldr r1, _08075C98 @ =0x0000060C - adds r0, r6, #0 - bl sub_08077DF4 - movs r1, #8 - mov r2, sb - asrs r1, r2 - mov r0, r8 - ldrb r2, [r0, #0xa] - adds r0, r1, #0 - orrs r0, r2 - mov r2, r8 - strb r0, [r2, #0xa] - ldrb r0, [r2, #0xb] - orrs r1, r0 - strb r1, [r2, #0xb] -_08075C80: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08075C88: .4byte gUnk_03003F80 -_08075C8C: .4byte gUnk_03001160 -_08075C90: .4byte gUnk_08126EEC -_08075C94: .4byte gUnk_03000BF0 -_08075C98: .4byte 0x0000060C - - thumb_func_start sub_08075C9C -sub_08075C9C: @ 0x08075C9C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08075CCA - ldr r0, _08075CF8 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - movs r2, #6 - ands r2, r1 - ldr r1, _08075CFC @ =gUnk_08126EEC - adds r2, r2, r1 - movs r1, #0 - ldrsb r1, [r2, r1] - ldrb r2, [r2, #1] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - bl sub_0807AB44 -_08075CCA: - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08075D04 - movs r0, #0 - strb r0, [r4, #0xf] - ldrb r0, [r4, #4] - subs r0, #1 - strb r0, [r4, #4] - ldr r2, _08075D00 @ =gUnk_03003F80 - movs r1, #8 - asrs r1, r5 - mvns r1, r1 - ldrb r3, [r2, #0xa] - adds r0, r1, #0 - ands r0, r3 - strb r0, [r2, #0xa] - ldrb r0, [r2, #0xb] - ands r1, r0 - strb r1, [r2, #0xb] - b _08075D0E - .align 2, 0 -_08075CF8: .4byte gUnk_03001160 -_08075CFC: .4byte gUnk_08126EEC -_08075D00: .4byte gUnk_03003F80 -_08075D04: - ldr r1, _08075D10 @ =gUnk_03001160 - adds r1, #0x7a - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] -_08075D0E: - pop {r4, r5, pc} - .align 2, 0 -_08075D10: .4byte gUnk_03001160 - - thumb_func_start sub_08075D14 -sub_08075D14: @ 0x08075D14 - push {lr} - ldr r3, _08075D28 @ =gUnk_0811BD78 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08075D28: .4byte gUnk_0811BD78 - - thumb_func_start sub_08075D2C -sub_08075D2C: @ 0x08075D2C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r5, _08075D74 @ =gUnk_03003F80 - ldrb r1, [r5, #4] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - bne _08075D7C - ldrb r1, [r4, #1] - adds r0, r4, #0 - bl sub_08077C94 - cmp r0, #0 - bne _08075D7C - ldrb r1, [r4, #9] - movs r0, #0xf - orrs r0, r1 - strb r0, [r4, #9] - ldr r0, _08075D78 @ =gUnk_03001160 - bl sub_0806F948 - adds r0, r4, #0 - movs r1, #0xb - bl sub_08077C0C - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077D38 - ldrb r1, [r5, #4] - movs r0, #8 - orrs r0, r1 - strb r0, [r5, #4] - b _08075D84 - .align 2, 0 -_08075D74: .4byte gUnk_03003F80 -_08075D78: .4byte gUnk_03001160 -_08075D7C: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08075D84: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08075D88 -sub_08075D88: @ 0x08075D88 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r2, _08075DBC @ =gUnk_03003F80 - ldrb r1, [r2, #4] - movs r3, #0x80 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _08075DD0 - ldrb r0, [r4, #1] - cmp r0, #0xc - bne _08075DC0 - ldrb r1, [r2, #0xa] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08075DC0 - ldrb r1, [r4, #0xe] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08075DC0 - bl sub_08078F60 - b _08075DD8 - .align 2, 0 -_08075DBC: .4byte gUnk_03003F80 -_08075DC0: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08075DD8 -_08075DD0: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08075DD8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08075DDC -sub_08075DDC: @ 0x08075DDC - push {lr} - ldr r3, _08075DF0 @ =gUnk_0811BD80 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08075DF0: .4byte gUnk_0811BD80 - - thumb_func_start sub_08075DF4 -sub_08075DF4: @ 0x08075DF4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r6, _08075E2C @ =gUnk_03003F80 - ldrb r1, [r6, #4] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - bne _08075E34 - ldrb r1, [r4, #9] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #9] - ldr r0, _08075E30 @ =gUnk_03001160 - bl sub_0806F948 - adds r0, r4, #0 - bl sub_08077BB8 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077D38 - adds r1, r6, #0 - adds r1, #0x21 - movs r0, #1 - strb r0, [r1] - b _08075E3C - .align 2, 0 -_08075E2C: .4byte gUnk_03003F80 -_08075E30: .4byte gUnk_03001160 -_08075E34: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08075E3C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08075E40 -sub_08075E40: @ 0x08075E40 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - mov r8, r1 - ldr r0, _08075EA0 @ =gUnk_03003F80 - adds r1, r0, #0 - adds r1, #0x21 - ldrb r1, [r1] - adds r6, r0, #0 - cmp r1, #0 - beq _08075EA8 - ldrb r1, [r6, #4] - movs r5, #0x80 - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r7, r0, #0x18 - cmp r7, #0 - bne _08075EA8 - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _08075EB8 - movs r0, #2 - strb r0, [r4, #4] - ldrb r1, [r4, #9] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #9] - ldr r0, _08075EA4 @ =gUnk_02002A40 - adds r0, #0xad - ldrb r0, [r0] - cmp r0, #0 - beq _08075EB8 - strb r7, [r4, #0xf] - movs r1, #8 - mov r0, r8 - asrs r1, r0 - ldrb r0, [r6, #0xa] - bics r0, r1 - strb r0, [r6, #0xa] - b _08075EB8 - .align 2, 0 -_08075EA0: .4byte gUnk_03003F80 -_08075EA4: .4byte gUnk_02002A40 -_08075EA8: - adds r1, r6, #0 - adds r1, #0x21 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - mov r1, r8 - bl sub_08077E78 -_08075EB8: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08075EC0 -sub_08075EC0: @ 0x08075EC0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r0, _08075F04 @ =gUnk_02002A40 - adds r0, #0xad - ldrb r5, [r0] - adds r0, r4, #0 - bl sub_08077EFC - cmp r0, #0 - beq _08075F0C - cmp r5, #0 - beq _08075F0C - ldr r2, _08075F08 @ =gUnk_03003F80 - ldrb r1, [r2, #4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08075EF0 - adds r0, r2, #0 - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - bne _08075F32 -_08075EF0: - adds r1, r2, #0 - adds r1, #0x21 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 - b _08075F32 - .align 2, 0 -_08075F04: .4byte gUnk_02002A40 -_08075F08: .4byte gUnk_03003F80 -_08075F0C: - ldr r2, _08075F34 @ =gUnk_03003F80 - movs r0, #8 - asrs r0, r6 - ldrb r1, [r2, #0xa] - orrs r0, r1 - strb r0, [r2, #0xa] - movs r1, #0x9f - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_08077DF4 - movs r1, #0xf - movs r0, #0xf - strb r0, [r4, #0xf] - ldrb r0, [r4, #9] - orrs r1, r0 - strb r1, [r4, #9] - movs r0, #3 - strb r0, [r4, #4] -_08075F32: - pop {r4, r5, r6, pc} - .align 2, 0 -_08075F34: .4byte gUnk_03003F80 - - thumb_func_start sub_08075F38 -sub_08075F38: @ 0x08075F38 - push {r4, lr} - adds r4, r0, #0 - adds r3, r1, #0 - ldr r2, _08075F6C @ =gUnk_03003F80 - ldrb r1, [r2, #4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08075F70 - adds r0, r2, #0 - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - beq _08075F70 - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08075F80 - movs r0, #4 - strb r0, [r4, #4] - b _08075F80 - .align 2, 0 -_08075F6C: .4byte gUnk_03003F80 -_08075F70: - adds r1, r2, #0 - adds r1, #0x21 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_08077E78 -_08075F80: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08075F84 -sub_08075F84: @ 0x08075F84 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r2, _08075FB4 @ =gUnk_03003F80 - ldrb r1, [r2, #4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08075FC8 - adds r0, r2, #0 - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - beq _08075FC8 - movs r0, #0x70 - bl sub_0807CA84 - cmp r0, #1 - bne _08075FB8 - adds r0, r4, #0 - movs r1, #5 - bl sub_08077E3C - b _08075FBE - .align 2, 0 -_08075FB4: .4byte gUnk_03003F80 -_08075FB8: - adds r0, r4, #0 - bl sub_08077E24 -_08075FBE: - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08075FD8 -_08075FC8: - ldr r0, _08075FDC @ =gUnk_03003F80 - adds r0, #0x21 - movs r1, #0 - strb r1, [r0] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08075FD8: - pop {r4, r5, pc} - .align 2, 0 -_08075FDC: .4byte gUnk_03003F80 - - thumb_func_start sub_08075FE0 -sub_08075FE0: @ 0x08075FE0 - push {lr} - ldr r3, _08075FF4 @ =gUnk_0811BD98 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08075FF4: .4byte gUnk_0811BD98 - - thumb_func_start sub_08075FF8 -sub_08075FF8: @ 0x08075FF8 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r7, r1, #0 - ldr r0, _08076018 @ =gUnk_03003F80 - ldrb r1, [r0, #2] - ldrb r0, [r0, #4] - orrs r0, r1 - cmp r0, #0 - bne _08076076 - movs r5, #0 - movs r0, #8 - movs r1, #2 - movs r2, #2 - bl sub_0805EB00 - b _08076026 - .align 2, 0 -_08076018: .4byte gUnk_03003F80 -_0807601C: - adds r5, #1 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805EB64 -_08076026: - adds r4, r0, #0 - cmp r4, #0 - bne _0807601C - ldrb r0, [r6, #1] - movs r1, #1 - cmp r0, #7 - bne _08076036 - movs r1, #3 -_08076036: - cmp r1, r5 - bls _08076076 - adds r0, r6, #0 - movs r1, #2 - bl sub_08077C3C - adds r4, r0, #0 - cmp r4, #0 - beq _08076076 - ldr r0, _08076080 @ =gUnk_03001160 - ldrb r2, [r0, #0x14] - movs r1, #6 - ands r1, r2 - ldr r2, _08076084 @ =gUnk_0811BDAC - adds r1, r1, r2 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r1, r3] - lsls r3, r3, #0x10 - adds r1, r4, #0 - bl sub_0806FA48 - movs r0, #1 - rsbs r0, r0, #0 - bl sub_080542F4 - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_080A3268 -_08076076: - adds r0, r6, #0 - adds r1, r7, #0 - bl sub_08077E78 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08076080: .4byte gUnk_03001160 -_08076084: .4byte gUnk_0811BDAC - - thumb_func_start sub_08076088 -sub_08076088: @ 0x08076088 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r3, r1, #0 - adds r5, r2, #0 - cmp r3, #0 - beq _080760AA - ldrb r0, [r3, #0x16] - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _080760A4 - b _080761A0 -_080760A4: - movs r0, #2 - strb r0, [r3, #0xc] - strb r1, [r3, #0xd] -_080760AA: - str r3, [r4, #0x18] - ldr r0, _080760C4 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _080760CC - ldr r1, _080760C8 @ =0x00000928 - adds r0, r4, #0 - bl sub_08077DF4 - b _080760D6 - .align 2, 0 -_080760C4: .4byte gUnk_03003F80 -_080760C8: .4byte 0x00000928 -_080760CC: - movs r1, #0xce - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_08077DF4 -_080760D6: - ldr r3, _08076130 @ =gUnk_03003F80 - movs r0, #0 - mov r8, r0 - movs r7, #3 - strb r7, [r3, #5] - adds r0, r3, #0 - adds r0, #0xa8 - movs r6, #4 - strb r6, [r0] - movs r0, #2 - strb r0, [r4, #4] - movs r0, #0xf - strb r0, [r4, #0xf] - ldr r2, _08076134 @ =gUnk_03001160 - movs r1, #0x79 - adds r1, r1, r2 - mov ip, r1 - ldrb r1, [r1] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08076138 - mov r1, r8 - mov r0, ip - strb r1, [r0] - ldrb r0, [r2, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - strb r6, [r3, #5] - movs r1, #8 - asrs r1, r5 - mvns r1, r1 - ldrb r2, [r3, #0xb] - adds r0, r1, #0 - ands r0, r2 - strb r0, [r3, #0xb] - ldrb r0, [r3, #0xa] - ands r1, r0 - strb r1, [r3, #0xa] - strb r7, [r4, #4] - mov r0, r8 - strb r0, [r4, #0xf] - b _0807614A - .align 2, 0 -_08076130: .4byte gUnk_03003F80 -_08076134: .4byte gUnk_03001160 -_08076138: - movs r1, #8 - asrs r1, r5 - ldrb r2, [r3, #0xa] - adds r0, r1, #0 - orrs r0, r2 - strb r0, [r3, #0xa] - ldrb r0, [r3, #0xb] - orrs r1, r0 - strb r1, [r3, #0xb] -_0807614A: - adds r0, r4, #0 - movs r1, #0x13 - bl sub_08077C3C - adds r3, r0, #0 - cmp r3, #0 - bne _08076162 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077F50 - b _080761A0 -_08076162: - ldr r1, _08076194 @ =gUnk_03001160 - str r3, [r1, #0x74] - movs r2, #0 - strb r2, [r1, #0xf] - ldr r0, [r4, #0x18] - str r0, [r3, #0x54] - ldrb r0, [r1, #0x16] - strb r0, [r3, #0x16] - str r4, [r3, #0x50] - str r3, [r4, #0x18] - ldrb r0, [r4, #3] - strb r0, [r3, #0xb] - ldrb r0, [r4, #7] - strb r0, [r3, #0xe] - ldrb r0, [r4, #8] - strb r0, [r3, #0xf] - ldr r0, [r4, #0x18] - ldrb r1, [r0, #0x16] - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0x10 - bne _08076198 - movs r0, #8 - strb r0, [r4, #7] - b _0807619A - .align 2, 0 -_08076194: .4byte gUnk_03001160 -_08076198: - strb r2, [r4, #7] -_0807619A: - movs r0, #0x7f - bl sub_080A3268 -_080761A0: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080761A8 -sub_080761A8: @ 0x080761A8 - push {lr} - ldr r3, _080761BC @ =gUnk_0811BDB4 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_080761BC: .4byte gUnk_0811BDB4 - - thumb_func_start sub_080761C0 -sub_080761C0: @ 0x080761C0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r5, _08076220 @ =gUnk_03003F80 - ldrb r0, [r5, #4] - cmp r0, #0 - bne _080762B8 - ldrb r0, [r5, #2] - cmp r0, #0 - beq _080761DE - ldr r0, [r5, #0x30] - ldr r1, _08076224 @ =0x00001201 - ands r0, r1 - cmp r0, #0 - beq _080762B8 -_080761DE: - ldr r1, _08076228 @ =gUnk_03001160 - ldrb r2, [r1, #0x14] - movs r0, #0x80 - orrs r0, r2 - strb r0, [r5, #1] - adds r1, #0x3d - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #8 - bgt _080762B8 - bl sub_080789A8 - adds r3, r0, #0 - cmp r3, #1 - beq _08076258 - cmp r3, #1 - blo _0807626E - cmp r3, #2 - bne _080762C0 - ldr r0, _0807622C @ =gUnk_03003BE0 - ldr r2, [r0, #8] - ldrb r1, [r2, #0x16] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08076230 - adds r0, r4, #0 - adds r1, r2, #0 - adds r2, r6, #0 - bl sub_08076088 - b _080762C0 - .align 2, 0 -_08076220: .4byte gUnk_03003F80 -_08076224: .4byte 0x00001201 -_08076228: .4byte gUnk_03001160 -_0807622C: .4byte gUnk_03003BE0 -_08076230: - str r2, [r4, #0x18] - strb r3, [r2, #0xc] - movs r1, #5 - strb r1, [r2, #0xd] - adds r0, r5, #0 - adds r0, #0xa8 - strb r1, [r0] - adds r0, r4, #0 - adds r1, r2, #0 - movs r2, #2 - adds r3, r6, #0 - bl sub_080762C4 - ldr r0, _08076254 @ =gUnk_0200AF00 - adds r0, #0x2e - movs r1, #8 - strb r1, [r0] - b _08076264 - .align 2, 0 -_08076254: .4byte gUnk_0200AF00 -_08076258: - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - adds r3, r6, #0 - bl sub_080762C4 -_08076264: - movs r0, #0x81 - lsls r0, r0, #1 - bl sub_080A3268 - b _080762C0 -_0807626E: - movs r0, #5 - strb r0, [r4, #4] - movs r0, #0xf - strb r0, [r4, #7] - movs r0, #6 - strb r0, [r4, #0xf] - movs r3, #8 - adds r1, r3, #0 - asrs r1, r6 - ldrb r2, [r5, #0xa] - adds r0, r1, #0 - orrs r0, r2 - strb r0, [r5, #0xa] - ldrb r0, [r5, #0xb] - orrs r1, r0 - strb r1, [r5, #0xb] - ldr r0, [r5, #0x30] - ands r0, r3 - cmp r0, #0 - bne _080762A2 - movs r1, #0xde - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_08077DF4 - b _080762AA -_080762A2: - ldr r1, _080762B4 @ =0x00000948 - adds r0, r4, #0 - bl sub_08077DF4 -_080762AA: - movs r0, #0x88 - bl sub_080A3268 - b _080762C0 - .align 2, 0 -_080762B4: .4byte 0x00000948 -_080762B8: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077F50 -_080762C0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080762C4 -sub_080762C4: @ 0x080762C4 - push {lr} - str r1, [r0, #0x18] - ldr r1, _080762D4 @ =gUnk_03003F80 - strb r2, [r1, #5] - adds r1, r3, #0 - bl sub_08077D38 - pop {pc} - .align 2, 0 -_080762D4: .4byte gUnk_03003F80 - - thumb_func_start sub_080762D8 -sub_080762D8: @ 0x080762D8 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r4, _08076334 @ =gUnk_03003F80 - ldrb r0, [r4, #5] - movs r1, #0xcf - ands r1, r0 - strb r1, [r4, #5] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_08077F64 - cmp r0, #0 - bne _080762F6 - b _08076486 -_080762F6: - ldr r0, _08076338 @ =gUnk_03001160 - adds r1, r0, #0 - adds r1, #0x3d - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r3, r0, #0 - cmp r1, #8 - bgt _0807636C - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _0807636C - ldr r2, [r5, #0x18] - cmp r2, #0 - beq _08076340 - ldrh r1, [r2, #0xc] - ldr r0, _0807633C @ =0x00000502 - cmp r1, r0 - bne _08076376 - adds r0, r4, #0 - adds r0, #0x90 - ldrh r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08076340 - movs r0, #6 - strb r0, [r2, #0xd] - b _08076376 - .align 2, 0 -_08076334: .4byte gUnk_03003F80 -_08076338: .4byte gUnk_03001160 -_0807633C: .4byte 0x00000502 -_08076340: - ldr r2, _08076364 @ =gUnk_03003F80 - adds r1, r2, #0 - adds r1, #0xa8 - movs r0, #5 - strb r0, [r1] - ldr r0, _08076368 @ =gUnk_0200AF00 - adds r0, #0x2e - movs r1, #8 - strb r1, [r0] - ldrb r0, [r2, #2] - cmp r0, #0 - beq _0807635A - b _0807647E -_0807635A: - ldrb r0, [r2, #5] - cmp r0, #1 - bne _08076394 - b _08076380 - .align 2, 0 -_08076364: .4byte gUnk_03003F80 -_08076368: .4byte gUnk_0200AF00 -_0807636C: - ldr r1, [r5, #0x18] - cmp r1, #0 - beq _08076376 - movs r0, #6 - strb r0, [r1, #0xd] -_08076376: - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_08077F50 - b _08076486 -_08076380: - adds r0, r3, #0 - movs r1, #6 - adds r2, r5, #0 - bl sub_0800875A - cmp r0, #0 - beq _08076394 - adds r0, r5, #0 - movs r1, #0 - b _080763EC -_08076394: - ldr r1, _080763F4 @ =gUnk_0811BE38 - ldr r7, _080763F8 @ =gUnk_03001160 - ldrb r0, [r7, #0x14] - lsrs r0, r0, #1 - lsls r3, r0, #1 - adds r1, r3, r1 - ldr r4, _080763FC @ =gUnk_03003F80 - adds r2, r4, #0 - adds r2, #0x90 - ldrh r0, [r1] - ldrh r2, [r2] - ands r0, r2 - cmp r0, #0 - beq _08076400 - adds r0, r5, #0 - bl sub_08077E24 - ldr r0, [r4, #0x30] - movs r1, #8 - ands r0, r1 - movs r1, #0x94 - lsls r1, r1, #4 - cmp r0, #0 - bne _080763C8 - movs r1, #0xd0 - lsls r1, r1, #2 -_080763C8: - ldrh r0, [r5, #0x10] - cmp r1, r0 - beq _080763D4 - adds r0, r5, #0 - bl sub_08077DF4 -_080763D4: - ldrb r0, [r4, #5] - movs r1, #0x10 - orrs r1, r0 - strb r1, [r4, #5] - adds r2, r4, #0 - adds r2, #0xa8 - movs r0, #0x1a - strb r0, [r2] - cmp r1, #1 - beq _08076486 - ldr r1, [r5, #0x18] - adds r0, r5, #0 -_080763EC: - adds r2, r6, #0 - bl sub_08076088 - b _08076486 - .align 2, 0 -_080763F4: .4byte gUnk_0811BE38 -_080763F8: .4byte gUnk_03001160 -_080763FC: .4byte gUnk_03003F80 -_08076400: - ldr r0, _08076418 @ =gUnk_0811BE40 - adds r0, r3, r0 - ldrh r0, [r0] - ands r0, r2 - cmp r0, #0 - beq _08076460 - ldrb r0, [r7, #0xf] - cmp r0, #5 - bhi _0807641C - adds r0, #1 - strb r0, [r7, #0xf] - b _08076486 - .align 2, 0 -_08076418: .4byte gUnk_0811BE40 -_0807641C: - ldrb r0, [r5, #0xa] - adds r1, r4, #0 - adds r1, #0x35 - strb r0, [r1] - ldrb r0, [r4, #6] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #6] - ldrb r1, [r4, #5] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #5] - adds r1, r4, #0 - adds r1, #0xa8 - movs r0, #0x19 - strb r0, [r1] - ldr r0, [r4, #0x30] - movs r1, #8 - ands r0, r1 - ldr r1, _0807645C @ =0x0000093C - cmp r0, #0 - bne _0807644C - movs r1, #0xcf - lsls r1, r1, #2 -_0807644C: - ldrh r0, [r5, #0x10] - cmp r1, r0 - bne _08076476 - adds r0, r5, #0 - bl sub_08077E24 - b _08076486 - .align 2, 0 -_0807645C: .4byte 0x0000093C -_08076460: - strb r0, [r7, #0xf] - ldr r0, [r4, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _08076472 - movs r1, #0xd0 - lsls r1, r1, #2 - b _08076476 -_08076472: - movs r1, #0x94 - lsls r1, r1, #4 -_08076476: - adds r0, r5, #0 - bl sub_08077DF4 - b _08076486 -_0807647E: - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_08077F50 -_08076486: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08076488 -sub_08076488: @ 0x08076488 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r4, #7] - adds r6, r0, #0 - cmp r6, #0 - bne _08076504 - adds r0, r4, #0 - bl sub_08077F64 - cmp r0, #0 - beq _08076508 - ldr r0, [r4, #0x18] - ldrb r1, [r0, #0x16] - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0x10 - bne _080764B8 - ldr r0, _080764F8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _08076510 -_080764B8: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08076508 - ldr r2, _080764FC @ =gUnk_03001160 - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - ldr r2, _08076500 @ =gUnk_03003F80 - movs r0, #4 - strb r0, [r2, #5] - movs r1, #8 - asrs r1, r5 - mvns r1, r1 - ldrb r3, [r2, #0xb] - adds r0, r1, #0 - ands r0, r3 - strb r0, [r2, #0xb] - ldrb r0, [r2, #0xa] - ands r1, r0 - strb r1, [r2, #0xa] - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - strb r6, [r4, #0xf] - b _08076508 - .align 2, 0 -_080764F8: .4byte gUnk_030010A0 -_080764FC: .4byte gUnk_03001160 -_08076500: .4byte gUnk_03003F80 -_08076504: - subs r0, #1 - strb r0, [r4, #7] -_08076508: - ldr r0, _08076514 @ =gUnk_03003F80 - adds r0, #0xa8 - movs r1, #4 - strb r1, [r0] -_08076510: - pop {r4, r5, r6, pc} - .align 2, 0 -_08076514: .4byte gUnk_03003F80 - - thumb_func_start sub_08076518 -sub_08076518: @ 0x08076518 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - mov r8, r1 - bl sub_08077F64 - cmp r0, #0 - beq _080765D4 - ldr r5, _0807655C @ =gUnk_03003F80 - adds r1, r5, #0 - adds r1, #0xa8 - movs r0, #4 - strb r0, [r1] - ldrb r1, [r5, #2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080765D4 - ldrb r0, [r5, #0x1f] - cmp r0, #0 - bne _080765D4 - ldr r6, _08076560 @ =gUnk_03001160 - adds r0, r6, #0 - adds r0, #0x42 - ldrb r7, [r0] - cmp r7, #0 - beq _08076564 - adds r0, r4, #0 - mov r1, r8 - bl sub_08077F50 - b _080765D4 - .align 2, 0 -_0807655C: .4byte gUnk_03003F80 -_08076560: .4byte gUnk_03001160 -_08076564: - adds r0, r5, #0 - adds r0, #0x92 - ldrh r1, [r0] - ldr r0, _080765B0 @ =0x00008018 - ands r0, r1 - cmp r0, #0 - beq _080765D4 - adds r0, r6, #0 - bl sub_0806F948 - movs r0, #5 - strb r0, [r5, #5] - ldr r1, [r4, #0x18] - movs r0, #2 - strb r0, [r1, #0xd] - ldr r2, [r4, #0x18] - ldrb r1, [r6, #0x14] - movs r0, #0xe - ands r0, r1 - lsls r0, r0, #2 - strb r0, [r2, #0x15] - str r7, [r4, #0x18] - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - movs r0, #0xf - strb r0, [r4, #0xf] - ldr r0, [r5, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _080765B4 - movs r1, #0x93 - lsls r1, r1, #4 - adds r0, r4, #0 - bl sub_08077DF4 - b _080765BE - .align 2, 0 -_080765B0: .4byte 0x00008018 -_080765B4: - movs r1, #0xd1 - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_08077DF4 -_080765BE: - ldr r2, _080765DC @ =gUnk_03003F80 - movs r1, #8 - mov r0, r8 - asrs r1, r0 - ldrb r3, [r2, #0xa] - adds r0, r1, #0 - orrs r0, r3 - strb r0, [r2, #0xa] - ldrb r0, [r2, #0xb] - orrs r1, r0 - strb r1, [r2, #0xb] -_080765D4: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080765DC: .4byte gUnk_03003F80 - - thumb_func_start sub_080765E0 -sub_080765E0: @ 0x080765E0 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077F64 - cmp r0, #0 - beq _08076608 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08076602 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077F50 - b _08076608 -_08076602: - adds r0, r4, #0 - bl sub_08077E24 -_08076608: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0807660C -sub_0807660C: @ 0x0807660C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077E24 - ldrb r0, [r4, #7] - subs r0, #1 - strb r0, [r4, #7] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _0807662C - ldr r0, _0807663C @ =gUnk_03003F80 - ldrb r0, [r0, #1] - cmp r0, #0 - bne _0807663A -_0807662C: - ldr r1, _0807663C @ =gUnk_03003F80 - movs r0, #0 - strb r0, [r1, #1] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_0807663A: - pop {r4, r5, pc} - .align 2, 0 -_0807663C: .4byte gUnk_03003F80 - - thumb_func_start sub_08076640 -sub_08076640: @ 0x08076640 - push {r4, r5, lr} - adds r3, r0, #0 - adds r4, r1, #0 - ldrb r0, [r3, #4] - cmp r0, #0 - beq _08076654 - adds r0, r3, #0 - bl sub_08076758 - b _08076754 -_08076654: - ldr r0, _080766BC @ =gUnk_03003F80 - ldr r1, [r0, #0x2c] - adds r2, r0, #0 - cmp r1, #0 - bne _0807674C - ldrb r0, [r2, #1] - cmp r0, #0 - beq _080766C4 - ldrb r1, [r2, #4] - ldrb r0, [r2, #5] - orrs r0, r1 - cmp r0, #0 - bne _0807674C - ldrb r0, [r2, #0x12] - cmp r0, #0x12 - beq _08076678 - cmp r0, #1 - bne _08076686 -_08076678: - ldr r0, _080766C0 @ =gUnk_03001160 - ldr r0, [r0, #0x34] - cmp r0, #0 - bne _08076686 - ldrb r0, [r2, #0x14] - cmp r0, #0 - beq _0807674C -_08076686: - ldrb r1, [r2, #2] - cmp r1, #0 - beq _08076694 - movs r0, #7 - ands r0, r1 - cmp r0, #3 - bne _08076710 -_08076694: - ldr r5, _080766C0 @ =gUnk_03001160 - ldr r0, [r5, #0x34] - cmp r0, #0 - blt _0807674C - movs r1, #0 - strb r1, [r2, #1] - ldrb r0, [r3, #4] - adds r0, #1 - strb r0, [r3, #4] - strb r1, [r2, #0xb] - movs r0, #1 - strb r0, [r2, #2] - movs r0, #0xff - strb r0, [r2, #0xe] - str r1, [r2, #0x2c] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r5, #0x20] - b _0807673C - .align 2, 0 -_080766BC: .4byte gUnk_03003F80 -_080766C0: .4byte gUnk_03001160 -_080766C4: - ldrb r0, [r2, #0x1b] - ldrb r1, [r2, #0xa] - orrs r0, r1 - ldrb r1, [r2, #4] - orrs r0, r1 - ldrb r1, [r2, #5] - orrs r0, r1 - ldrb r1, [r2, #0x1c] - orrs r0, r1 - adds r1, r2, #0 - adds r1, #0x3d - ldrb r1, [r1] - orrs r0, r1 - cmp r0, #0 - bne _0807674C - ldrb r1, [r2, #0x12] - adds r0, r1, #0 - subs r0, #0x12 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bls _080766F4 - cmp r1, #1 - bne _08076702 -_080766F4: - ldr r0, _0807671C @ =gUnk_03001160 - ldr r0, [r0, #0x34] - cmp r0, #0 - bne _08076702 - ldrb r0, [r2, #0x14] - cmp r0, #0 - beq _0807674C -_08076702: - ldrb r1, [r2, #2] - cmp r1, #0 - beq _08076720 - movs r0, #7 - ands r0, r1 - cmp r0, #3 - beq _08076720 -_08076710: - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_08076758 - b _08076754 - .align 2, 0 -_0807671C: .4byte gUnk_03001160 -_08076720: - ldr r1, _08076748 @ =gUnk_03001160 - ldr r0, [r1, #0x34] - cmp r0, #0 - blt _0807674C - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r1, #0x20] - movs r1, #0 - movs r0, #1 - strb r0, [r2, #2] - str r1, [r2, #0x2c] - ldrb r0, [r3, #4] - adds r0, #1 - strb r0, [r3, #4] -_0807673C: - bl sub_08077F84 - movs r0, #0x78 - bl sub_080A3268 - b _08076754 - .align 2, 0 -_08076748: .4byte gUnk_03001160 -_0807674C: - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_08077E78 -_08076754: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08076758 -sub_08076758: @ 0x08076758 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _080767C0 @ =gUnk_03003F80 - movs r0, #0 - strb r0, [r5, #0xe] - ldrb r2, [r5, #2] - movs r0, #0x28 - ands r0, r2 - cmp r0, #0 - bne _080767F8 - cmp r2, #0 - beq _080767F8 - movs r0, #7 - ands r0, r2 - cmp r0, #3 - beq _080767F8 - adds r0, r4, #0 - bl sub_08077EFC - cmp r0, #0 - beq _080767D8 - ldrb r0, [r4, #4] - cmp r0, #1 - bhi _080767C8 - ldr r2, _080767C4 @ =gUnk_03001160 - ldr r0, [r2, #0x20] - cmp r0, #0 - bgt _080767FE - ldrb r3, [r5, #2] - movs r0, #0x10 - ands r0, r3 - cmp r0, #0 - bne _080767FE - movs r0, #2 - strb r0, [r4, #4] - adds r1, r2, #0 - adds r1, #0x7a - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r2, #0x20] - movs r0, #0x10 - orrs r0, r3 - strb r0, [r5, #2] - movs r0, #0xa2 - lsls r0, r0, #2 - strh r0, [r5, #8] - movs r0, #0xb9 - lsls r0, r0, #1 - bl sub_080A3268 - b _080767FE - .align 2, 0 -_080767C0: .4byte gUnk_03003F80 -_080767C4: .4byte gUnk_03001160 -_080767C8: - ldr r1, _080767D4 @ =gUnk_03001160 - adds r1, #0x7a - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - b _080767FE - .align 2, 0 -_080767D4: .4byte gUnk_03001160 -_080767D8: - ldrb r0, [r4, #4] - cmp r0, #1 - bls _080767FE - ldr r1, _080767F4 @ =gUnk_03001160 - adds r1, #0x7a - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldrb r1, [r5, #2] - movs r0, #0xef - ands r0, r1 - strb r0, [r5, #2] - b _080767FE - .align 2, 0 -_080767F4: .4byte gUnk_03001160 -_080767F8: - adds r0, r4, #0 - bl sub_08077E78 -_080767FE: - pop {r4, r5, pc} - - thumb_func_start sub_08076800 -sub_08076800: @ 0x08076800 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - mov sb, r1 - ldr r4, _0807682C @ =gUnk_03001160 - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - cmp r0, #0 - beq _08076834 - ldr r1, _08076830 @ =gUnk_03003F80 - movs r0, #0 - strb r0, [r1, #0x1e] - strb r0, [r1, #0xe] - adds r0, r6, #0 - mov r1, sb - bl sub_08077E78 - b _080768EC - .align 2, 0 -_0807682C: .4byte gUnk_03001160 -_08076830: .4byte gUnk_03003F80 -_08076834: - ldrb r0, [r6, #7] - subs r0, #1 - strb r0, [r6, #7] - movs r1, #7 - mov r8, r1 - ands r0, r1 - cmp r0, #0 - bne _0807684A - movs r0, #0x7d - bl sub_080A3268 -_0807684A: - ldr r2, _08076880 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080768DA - ldrb r1, [r6, #7] - mov r0, r8 - ands r0, r1 - cmp r0, #0 - bne _080768DA - ldrb r0, [r2, #0x12] - cmp r0, #0x11 - bne _08076884 - adds r0, r4, #0 - adds r0, #0x63 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080768DA - adds r0, r4, #0 - movs r1, #0x52 - movs r2, #0 - bl sub_080A29AC - b _080768DA - .align 2, 0 -_08076880: .4byte gUnk_03003F80 -_08076884: - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r5, r0, #0 - cmp r5, #0 - beq _080768DA - ldrh r0, [r5, #0x32] - adds r0, #2 - strh r0, [r5, #0x32] - ldrb r0, [r6, #4] - cmp r0, #2 - beq _080768DA - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #3 - ands r4, r0 - bl sub_08000E50 - movs r7, #1 - ands r0, r7 - cmp r0, #0 - beq _080768B8 - rsbs r4, r4, #0 -_080768B8: - ldrh r0, [r5, #0x32] - adds r0, r0, r4 - strh r0, [r5, #0x32] - bl sub_08000E50 - adds r4, r0, #0 - mov r0, r8 - ands r4, r0 - bl sub_08000E50 - ands r0, r7 - cmp r0, #0 - beq _080768D4 - rsbs r4, r4, #0 -_080768D4: - ldrh r0, [r5, #0x2e] - adds r0, r0, r4 - strh r0, [r5, #0x2e] -_080768DA: - ldr r0, _080768F4 @ =gUnk_0811BDCC - ldrb r1, [r6, #4] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r2, [r1] - adds r0, r6, #0 - mov r1, sb - bl _call_via_r2 -_080768EC: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080768F4: .4byte gUnk_0811BDCC - - thumb_func_start sub_080768F8 -sub_080768F8: @ 0x080768F8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r3, _08076934 @ =gUnk_03003F80 - ldrb r1, [r3, #0x1c] - ldrb r0, [r3, #4] - orrs r1, r0 - ldrb r0, [r3, #5] - orrs r1, r0 - ldrb r0, [r3, #2] - orrs r1, r0 - ldr r2, [r3, #0x30] - movs r0, #0x80 - lsls r0, r0, #5 - ands r0, r2 - orrs r1, r0 - cmp r1, #0 - bne _08076954 - movs r0, #1 - strb r0, [r3, #0x1e] - adds r0, r3, #0 - adds r0, #0x21 - strb r1, [r0] - movs r0, #0x80 - ands r2, r0 - cmp r2, #0 - bne _08076938 - movs r0, #0x10 - strb r0, [r4, #7] - b _0807693C - .align 2, 0 -_08076934: .4byte gUnk_03003F80 -_08076938: - ldr r0, _08076950 @ =0x00000C14 - strh r0, [r3, #8] -_0807693C: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077D38 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08076964 - b _08076962 - .align 2, 0 -_08076950: .4byte 0x00000C14 -_08076954: - movs r0, #0 - strb r0, [r3, #0x1e] - strb r0, [r3, #0xe] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08076962: - pop {r4, r5, pc} - - thumb_func_start sub_08076964 -sub_08076964: @ 0x08076964 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r6, r1, #0 - bl sub_08077EFC - cmp r0, #0 - bne _08076978 - b _08076A70 -_08076978: - ldr r0, _080769C4 @ =gUnk_03001160 - ldr r7, [r0, #0x34] - cmp r7, #0 - bne _08076A70 - ldr r5, _080769C8 @ =gUnk_03003F80 - ldrb r0, [r5, #0x1e] - cmp r0, #0 - beq _08076A70 - adds r0, r4, #0 - bl sub_08077E24 - ldr r0, [r5, #0x30] - movs r1, #0x80 - mov r8, r1 - ands r0, r1 - cmp r0, #0 - bne _080769A0 - adds r0, r4, #0 - bl sub_08077E24 -_080769A0: - ldrb r0, [r5, #0x1e] - adds r0, #1 - strb r0, [r5, #0x1e] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1e - bne _08076A7E - ldr r0, [r5, #0x30] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - beq _080769CC - strb r7, [r5, #0x1e] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 - b _08076A7E - .align 2, 0 -_080769C4: .4byte gUnk_03001160 -_080769C8: .4byte gUnk_03003F80 -_080769CC: - movs r0, #0x40 - strb r0, [r5, #0x1e] - movs r1, #8 - asrs r1, r6 - ldrb r0, [r5, #0xa] - bics r0, r1 - strb r0, [r5, #0xa] - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - bl sub_0807A158 - cmp r0, #0 - beq _08076A46 - ldr r0, [r5, #0x30] - mov r1, r8 - ands r0, r1 - cmp r0, #0 - bne _08076A60 - adds r0, r5, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08076A46 - adds r0, r5, #0 - adds r0, #0xab - movs r1, #3 - strb r1, [r0] - movs r1, #0xa6 - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_08077DF4 - adds r0, r4, #0 - movs r1, #0xc - bl sub_08077C3C - adds r5, r0, #0 - cmp r5, #0 - beq _08076A70 - ldr r6, _08076A34 @ =gUnk_02002A40 - adds r4, r6, #0 - adds r4, #0xb4 - ldrb r0, [r4] - bl sub_0805449C - cmp r0, #0 - beq _08076A38 - ldrb r1, [r4] - b _08076A3E - .align 2, 0 -_08076A34: .4byte gUnk_02002A40 -_08076A38: - adds r0, r6, #0 - adds r0, #0xb5 - ldrb r1, [r0] -_08076A3E: - adds r0, r5, #0 - adds r0, #0x68 - strb r1, [r0] - b _08076A7E -_08076A46: - ldr r0, _08076A5C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08076A60 - adds r1, #0x84 - adds r0, r4, #0 - bl sub_08077DF4 - b _08076A7E - .align 2, 0 -_08076A5C: .4byte gUnk_03003F80 -_08076A60: - ldr r1, _08076A6C @ =gUnk_03003F80 - movs r0, #0xc1 - lsls r0, r0, #4 - strh r0, [r1, #8] - b _08076A7E - .align 2, 0 -_08076A6C: .4byte gUnk_03003F80 -_08076A70: - ldr r1, _08076A84 @ =gUnk_03003F80 - movs r0, #0 - strb r0, [r1, #0x1e] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08076A7E: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08076A84: .4byte gUnk_03003F80 - - thumb_func_start sub_08076A88 -sub_08076A88: @ 0x08076A88 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r7, r1, #0 - bl sub_08077EFC - cmp r0, #0 - beq _08076B64 - ldr r1, _08076AB4 @ =gUnk_03003F80 - ldrb r0, [r1, #0x1e] - adds r3, r1, #0 - cmp r0, #0 - beq _08076B64 - ldr r0, [r3, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08076ABC - ldr r1, _08076AB8 @ =gUnk_03001160 - movs r0, #0xc0 - lsls r0, r0, #2 - b _08076AC2 - .align 2, 0 -_08076AB4: .4byte gUnk_03003F80 -_08076AB8: .4byte gUnk_03001160 -_08076ABC: - ldr r1, _08076B00 @ =gUnk_03001160 - movs r0, #0xa0 - lsls r0, r0, #2 -_08076AC2: - strh r0, [r1, #0x24] - adds r5, r1, #0 - ldr r1, _08076B04 @ =gUnk_0800275C - ldrb r2, [r5, #0x14] - movs r6, #0xe - adds r0, r6, #0 - ands r0, r2 - lsls r0, r0, #3 - adds r0, r0, r1 - ldrh r1, [r0] - ldrh r0, [r5, #0x2a] - ands r0, r1 - cmp r1, r0 - bne _08076B0E - ldrb r0, [r4, #8] - cmp r0, #0 - beq _08076B08 - movs r2, #0 - movs r0, #6 - strb r0, [r5, #0xc] - strb r2, [r5, #0xd] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - adds r0, r3, #0 - adds r0, #0x38 - strb r2, [r0] - movs r0, #0xff - strb r0, [r3, #0xd] - b _08076B72 - .align 2, 0 -_08076B00: .4byte gUnk_03001160 -_08076B04: .4byte gUnk_0800275C -_08076B08: - movs r0, #1 - strb r0, [r4, #8] - b _08076B72 -_08076B0E: - ldr r1, _08076B60 @ =gUnk_0811BE38 - movs r0, #0xfe - ands r0, r2 - adds r0, r0, r1 - adds r1, r3, #0 - adds r1, #0x90 - ldrh r2, [r0] - ldrh r0, [r1] - ands r0, r2 - cmp r0, #0 - bne _08076B64 - ldrb r0, [r4, #0xa] - adds r1, r6, #0 - ands r1, r0 - lsls r0, r1, #2 - strb r0, [r4, #0xb] - ldrb r2, [r3, #0xd] - cmp r2, #0xff - beq _08076B52 - cmp r2, r0 - beq _08076B52 - adds r0, r2, #0 - ldrb r1, [r4, #0xb] - subs r0, r0, r1 - movs r2, #0x1f - ands r0, r2 - cmp r0, #0xf - bgt _08076B4A - adds r0, r1, #2 - strb r0, [r4, #0xb] -_08076B4A: - ldrb r0, [r4, #0xb] - subs r0, #1 - ands r0, r2 - strb r0, [r4, #0xb] -_08076B52: - ldrb r0, [r4, #0xb] - strb r0, [r3, #0xd] - adds r0, r4, #0 - bl sub_08077E24 - b _08076B72 - .align 2, 0 -_08076B60: .4byte gUnk_0811BE38 -_08076B64: - ldr r1, _08076B74 @ =gUnk_03003F80 - movs r0, #0 - strb r0, [r1, #0x1e] - adds r0, r4, #0 - adds r1, r7, #0 - bl sub_08077E78 -_08076B72: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08076B74: .4byte gUnk_03003F80 - - thumb_func_start sub_08076B78 -sub_08076B78: @ 0x08076B78 - push {lr} - ldr r3, _08076B94 @ =gUnk_0811BDD8 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - ldr r1, _08076B98 @ =gUnk_03001160 - adds r1, #0x7a - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - pop {pc} - .align 2, 0 -_08076B94: .4byte gUnk_0811BDD8 -_08076B98: .4byte gUnk_03001160 - - thumb_func_start sub_08076B9C -sub_08076B9C: @ 0x08076B9C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r3, _08076BB4 @ =gUnk_03003F80 - ldrb r0, [r3, #0xc] - cmp r0, #0x18 - bne _08076BB8 - adds r0, r4, #0 - bl sub_08077E78 - b _08076C1C - .align 2, 0 -_08076BB4: .4byte gUnk_03003F80 -_08076BB8: - ldrb r1, [r4, #9] - movs r0, #0xf - orrs r0, r1 - strb r0, [r4, #9] - ldr r1, _08076C20 @ =gUnk_03001160 - movs r0, #4 - strb r0, [r1, #0x14] - ldrb r2, [r1, #0x18] - subs r0, #0x45 - ands r0, r2 - strb r0, [r1, #0x18] - ldrb r2, [r1, #0x10] - movs r0, #0x7f - ands r0, r2 - strb r0, [r1, #0x10] - adds r1, #0x7a - movs r0, #2 - strh r0, [r1] - ldr r0, [r3, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x15 - orrs r0, r1 - str r0, [r3, #0x30] - adds r1, r3, #0 - adds r1, #0x27 - movs r0, #0xff - strb r0, [r1] - ldr r1, _08076C24 @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - movs r1, #8 - asrs r1, r5 - ldrb r2, [r3, #0xa] - adds r0, r1, #0 - orrs r0, r2 - strb r0, [r3, #0xa] - ldrb r0, [r3, #0xb] - orrs r1, r0 - strb r1, [r3, #0xb] - bl sub_08078F60 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077D38 - ldr r0, _08076C28 @ =0x00000216 - bl sub_080A3268 - bl sub_0805E544 -_08076C1C: - pop {r4, r5, pc} - .align 2, 0 -_08076C20: .4byte gUnk_03001160 -_08076C24: .4byte gUnk_02034490 -_08076C28: .4byte 0x00000216 - - thumb_func_start sub_08076C2C -sub_08076C2C: @ 0x08076C2C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - bl sub_08077E24 - ldrb r1, [r5, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08076C6E - ldr r0, _08076C70 @ =gUnk_03001160 - ldrb r2, [r0, #0x10] - movs r4, #0 - movs r1, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - ldr r2, _08076C74 @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - ldr r3, _08076C78 @ =0xEFFFFFFF - ands r1, r3 - str r1, [r2, #0x30] - adds r2, #0x27 - strb r4, [r2] - ldr r1, _08076C7C @ =gUnk_02034490 - strb r4, [r1] - bl sub_0809D700 - bl sub_0805E564 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08076C6E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08076C70: .4byte gUnk_03001160 -_08076C74: .4byte gUnk_03003F80 -_08076C78: .4byte 0xEFFFFFFF -_08076C7C: .4byte gUnk_02034490 - - thumb_func_start sub_08076C80 -sub_08076C80: @ 0x08076C80 - push {lr} - ldr r3, _08076C94 @ =gUnk_0811BDE0 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08076C94: .4byte gUnk_0811BDE0 - - thumb_func_start sub_08076C98 -sub_08076C98: @ 0x08076C98 - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #9] - movs r0, #0xf - orrs r0, r2 - strb r0, [r4, #9] - adds r0, r4, #0 - bl sub_08077D38 - ldr r0, _08076CB8 @ =gUnk_03001160 - bl sub_0806F948 - adds r0, r4, #0 - bl sub_08077BB8 - pop {r4, pc} - .align 2, 0 -_08076CB8: .4byte gUnk_03001160 - - thumb_func_start sub_08076CBC -sub_08076CBC: @ 0x08076CBC - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xe] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08076CD2 - adds r0, r4, #0 - bl sub_08077E78 - b _08076CE8 -_08076CD2: - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _08076CE2 - adds r0, r4, #0 - movs r1, #0x12 - bl sub_08077C3C -_08076CE2: - adds r0, r4, #0 - bl sub_08077E24 -_08076CE8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08076CEC -sub_08076CEC: @ 0x08076CEC - push {lr} - ldr r3, _08076D00 @ =gUnk_0811BDE8 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08076D00: .4byte gUnk_0811BDE8 - - thumb_func_start sub_08076D04 -sub_08076D04: @ 0x08076D04 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r1, _08076D2C @ =gUnk_03003F80 - movs r0, #0x81 - strb r0, [r1, #3] - movs r0, #2 - strb r0, [r4, #9] - ldr r0, _08076D30 @ =gUnk_03001160 - bl sub_0806F948 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077D38 - adds r0, r4, #0 - bl sub_08077BB8 - pop {r4, r5, pc} - .align 2, 0 -_08076D2C: .4byte gUnk_03003F80 -_08076D30: .4byte gUnk_03001160 - - thumb_func_start sub_08076D34 -sub_08076D34: @ 0x08076D34 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - bl sub_08077EFC - adds r1, r0, #0 - cmp r1, #0 - beq _08076D80 - ldr r5, _08076D78 @ =gUnk_03003F80 - ldrb r0, [r5, #3] - movs r1, #1 - orrs r1, r0 - strb r1, [r5, #3] - adds r0, r4, #0 - bl sub_08077E24 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08076D8C - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - movs r0, #0 - strb r0, [r4, #0xf] - movs r1, #8 - asrs r1, r6 - ldrb r0, [r5, #0xa] - bics r0, r1 - strb r0, [r5, #0xa] - ldr r0, _08076D7C @ =0x0000015D - bl sub_080A3268 - b _08076D8C - .align 2, 0 -_08076D78: .4byte gUnk_03003F80 -_08076D7C: .4byte 0x0000015D -_08076D80: - ldr r0, _08076D90 @ =gUnk_03003F80 - strb r1, [r0, #3] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08076D8C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08076D90: .4byte gUnk_03003F80 - - thumb_func_start sub_08076D94 -sub_08076D94: @ 0x08076D94 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077EFC - adds r1, r0, #0 - cmp r1, #0 - beq _08076DBC - ldr r2, _08076DB8 @ =gUnk_03003F80 - ldrb r1, [r2, #3] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #3] - adds r0, r4, #0 - bl sub_08077E24 - b _08076DC8 - .align 2, 0 -_08076DB8: .4byte gUnk_03003F80 -_08076DBC: - ldr r0, _08076DCC @ =gUnk_03003F80 - strb r1, [r0, #3] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08076DC8: - pop {r4, r5, pc} - .align 2, 0 -_08076DCC: .4byte gUnk_03003F80 - - thumb_func_start sub_08076DD0 -sub_08076DD0: @ 0x08076DD0 - push {lr} - ldr r2, _08076DEC @ =gUnk_03003F80 - adds r2, #0xa8 - movs r3, #3 - strb r3, [r2] - ldr r3, _08076DF0 @ =gUnk_0811BDF4 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08076DEC: .4byte gUnk_03003F80 -_08076DF0: .4byte gUnk_0811BDF4 - - thumb_func_start sub_08076DF4 -sub_08076DF4: @ 0x08076DF4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r7, r1, #0 - ldr r0, _08076E48 @ =gUnk_03001160 - mov r8, r0 - bl sub_0807A894 - cmp r0, #0x29 - beq _08076E50 - ldr r6, _08076E4C @ =gUnk_03003F80 - ldrb r0, [r6, #0x12] - cmp r0, #0x12 - beq _08076E50 - cmp r0, #0x13 - beq _08076E50 - ldrb r5, [r6, #2] - cmp r5, #0 - bne _08076E50 - adds r0, r4, #0 - adds r1, r7, #0 - bl sub_08077D38 - strb r5, [r4, #7] - mov r1, r8 - ldrb r0, [r1, #0x14] - strb r0, [r4, #0xa] - ldrb r1, [r4, #9] - movs r0, #0x80 - orrs r0, r1 - adds r0, #1 - strb r0, [r4, #9] - movs r0, #1 - strb r0, [r6, #0x1d] - mov r1, r8 - str r5, [r1, #0x74] - strb r0, [r6, #0x1c] - adds r0, r4, #0 - bl sub_08077BB8 - b _08076E58 - .align 2, 0 -_08076E48: .4byte gUnk_03001160 -_08076E4C: .4byte gUnk_03003F80 -_08076E50: - adds r0, r4, #0 - adds r1, r7, #0 - bl sub_08077E78 -_08076E58: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08076E60 -sub_08076E60: @ 0x08076E60 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r5, _08076EB4 @ =gUnk_03003F80 - ldrb r1, [r5, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08076E7A - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08076E7A: - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08076EC0 - movs r0, #2 - strb r0, [r4, #4] - ldr r1, _08076EB8 @ =0x00000504 - adds r0, r4, #0 - bl sub_08077DF4 - movs r1, #8 - asrs r1, r6 - ldrb r0, [r5, #0xa] - bics r0, r1 - strb r0, [r5, #0xa] - movs r0, #0x10 - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08077CB8 - adds r1, r0, #0 - cmp r1, #0 - beq _08076EC6 - ldr r0, _08076EBC @ =gUnk_03001160 - str r0, [r1, #0x50] - b _08076EC6 - .align 2, 0 -_08076EB4: .4byte gUnk_03003F80 -_08076EB8: .4byte 0x00000504 -_08076EBC: .4byte gUnk_03001160 -_08076EC0: - adds r0, r4, #0 - bl sub_08077E24 -_08076EC6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08076EC8 -sub_08076EC8: @ 0x08076EC8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r5, _08076EE4 @ =gUnk_03003F80 - ldrb r1, [r5, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08076EE8 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 - b _08076F60 - .align 2, 0 -_08076EE4: .4byte gUnk_03003F80 -_08076EE8: - adds r0, r4, #0 - bl sub_08077EFC - cmp r0, #0 - beq _08076F50 - ldrb r0, [r4, #7] - cmp r0, #0xef - bls _08076EFC - movs r0, #3 - b _08076F0E -_08076EFC: - adds r0, #1 - strb r0, [r4, #7] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x77 - bls _08076F0C - movs r0, #2 - b _08076F0E -_08076F0C: - movs r0, #1 -_08076F0E: - strb r0, [r5, #0x1d] - ldr r0, _08076F1C @ =gUnk_03001160 - ldrb r0, [r0, #0xd] - cmp r0, #0x1b - bne _08076F24 - ldr r1, _08076F20 @ =0x00000524 - b _08076F36 - .align 2, 0 -_08076F1C: .4byte gUnk_03001160 -_08076F20: .4byte 0x00000524 -_08076F24: - ldr r0, _08076F44 @ =gUnk_03003F80 - ldrb r1, [r0, #0xd] - movs r0, #0x80 - ands r0, r1 - movs r1, #0xa3 - lsls r1, r1, #3 - cmp r0, #0 - beq _08076F36 - subs r1, #0x14 -_08076F36: - ldrh r0, [r4, #0x10] - cmp r1, r0 - beq _08076F48 - adds r0, r4, #0 - bl sub_08077DF4 - b _08076F60 - .align 2, 0 -_08076F44: .4byte gUnk_03003F80 -_08076F48: - adds r0, r4, #0 - bl sub_08077E24 - b _08076F60 -_08076F50: - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - movs r0, #8 - asrs r0, r6 - ldrb r1, [r5, #0xa] - orrs r0, r1 - strb r0, [r5, #0xa] -_08076F60: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08076F64 -sub_08076F64: @ 0x08076F64 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r1, _08076F84 @ =gUnk_03003F80 - ldrb r0, [r1, #0x1c] - movs r2, #0xf - ands r2, r0 - adds r3, r1, #0 - cmp r2, #7 - bls _08076F7A - b _080770EC -_08076F7A: - lsls r0, r2, #2 - ldr r1, _08076F88 @ =_08076F8C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08076F84: .4byte gUnk_03003F80 -_08076F88: .4byte _08076F8C -_08076F8C: @ jump table - .4byte _08077100 @ case 0 - .4byte _080770EC @ case 1 - .4byte _080770EC @ case 2 - .4byte _0807704C @ case 3 - .4byte _08077052 @ case 4 - .4byte _08076FAC @ case 5 - .4byte _080770B8 @ case 6 - .4byte _080770D0 @ case 7 -_08076FAC: - ldrb r1, [r4, #0xe] - movs r5, #0x80 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _0807700E - ldrb r0, [r4, #8] - cmp r0, #0 - beq _08077004 - movs r0, #0 - strb r0, [r4, #8] - strb r0, [r4, #7] - movs r1, #1 - strb r1, [r3, #0x1d] - ldr r5, _08076FFC @ =gUnk_03001160 - str r0, [r5, #0x74] - strb r1, [r3, #0x1c] - movs r1, #8 - asrs r1, r6 - ldrb r0, [r3, #0xa] - bics r0, r1 - strb r0, [r3, #0xa] - movs r0, #2 - strb r0, [r4, #4] - ldr r1, _08077000 @ =0x00000504 - adds r0, r4, #0 - bl sub_08077DF4 - movs r0, #0x10 - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_08077CB8 - cmp r0, #0 - bne _08076FF6 - b _08077110 -_08076FF6: - str r5, [r0, #0x50] - b _08077110 - .align 2, 0 -_08076FFC: .4byte gUnk_03001160 -_08077000: .4byte 0x00000504 -_08077004: - movs r0, #6 - strb r0, [r3, #0x1c] - movs r1, #0xa2 - lsls r1, r1, #3 - b _080770F2 -_0807700E: - adds r0, r4, #0 - bl sub_08077EFC - cmp r0, #0 - beq _0807701C - movs r0, #1 - strb r0, [r4, #8] -_0807701C: - adds r0, r4, #0 - bl sub_08077E24 - ldr r0, _08077044 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - bne _08077110 - ldr r0, _08077048 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - lsls r1, r1, #2 - movs r2, #0x10 - eors r1, r2 - strb r1, [r0, #0x15] - strh r5, [r0, #0x24] - bl sub_08079E08 - b _08077110 - .align 2, 0 -_08077044: .4byte gUnk_03003F80 -_08077048: .4byte gUnk_03001160 -_0807704C: - ldr r1, _080770B0 @ =gUnk_03003F80 - movs r0, #4 - strb r0, [r1, #0x1c] -_08077052: - adds r0, r4, #0 - bl sub_08077EFC - cmp r0, #0 - beq _08077060 - movs r0, #1 - strb r0, [r4, #8] -_08077060: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0807708C - ldr r1, _080770B0 @ =gUnk_03003F80 - movs r2, #0 - movs r0, #5 - strb r0, [r1, #0x1c] - ldr r0, _080770B4 @ =gUnk_03001160 - str r2, [r0, #0x70] - ldrb r0, [r1, #0x1d] - cmp r0, #0 - beq _0807708C - movs r0, #0x11 - movs r1, #0 - movs r3, #0 - bl sub_08077CB8 -_0807708C: - ldr r0, _080770B0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - bne _08077110 - ldr r2, _080770B4 @ =gUnk_03001160 - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - strb r0, [r2, #0x15] - movs r0, #0x80 - strh r0, [r2, #0x24] - bl sub_08079E08 - b _08077110 - .align 2, 0 -_080770B0: .4byte gUnk_03003F80 -_080770B4: .4byte gUnk_03001160 -_080770B8: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077110 - ldr r3, _080770CC @ =gUnk_03003F80 - b _08077100 - .align 2, 0 -_080770CC: .4byte gUnk_03003F80 -_080770D0: - ldr r1, _080770E4 @ =0x00000514 - adds r0, r4, #0 - bl sub_08077DF4 - ldr r1, _080770E8 @ =gUnk_03003F80 - movs r2, #0 - movs r0, #3 - strb r0, [r1, #0x1c] - strb r2, [r1, #0x1d] - b _08077110 - .align 2, 0 -_080770E4: .4byte 0x00000514 -_080770E8: .4byte gUnk_03003F80 -_080770EC: - movs r0, #3 - strb r0, [r3, #0x1c] - ldr r1, _080770FC @ =0x00000514 -_080770F2: - adds r0, r4, #0 - bl sub_08077DF4 - b _08077110 - .align 2, 0 -_080770FC: .4byte 0x00000514 -_08077100: - movs r1, #0 - strb r1, [r3, #0x1c] - ldr r0, _08077114 @ =gUnk_03001160 - str r1, [r0, #0x70] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 -_08077110: - pop {r4, r5, r6, pc} - .align 2, 0 -_08077114: .4byte gUnk_03001160 - - thumb_func_start sub_08077118 -sub_08077118: @ 0x08077118 - push {lr} - ldr r3, _0807712C @ =gUnk_0811BE04 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0807712C: .4byte gUnk_0811BE04 - - thumb_func_start sub_08077130 -sub_08077130: @ 0x08077130 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, _0807718C @ =gUnk_03003F80 - ldrb r0, [r5, #2] - cmp r0, #0 - bne _080771B6 - adds r0, r4, #0 - bl sub_08077D38 - adds r0, r5, #0 - adds r0, #0x3d - movs r6, #1 - strb r6, [r0] - ldrb r1, [r4, #9] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #9] - bl sub_080774A0 - adds r5, r0, #0 - cmp r5, #0 - beq _080771A8 - ldrb r0, [r4, #7] - cmp r0, #0 - bne _080771C4 - ldr r1, _08077190 @ =0x0000050C - adds r0, r4, #0 - bl sub_08077DF4 - movs r0, #2 - strb r0, [r4, #4] - cmp r5, #0x56 - bne _080771C4 - ldr r2, _08077194 @ =gUnk_03001160 - ldrb r1, [r2, #0x14] - ands r0, r1 - cmp r0, #0 - beq _08077198 - ldrh r0, [r2, #0x32] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #6 - orrs r1, r0 - strh r1, [r2, #0x32] - b _080771C4 - .align 2, 0 -_0807718C: .4byte gUnk_03003F80 -_08077190: .4byte 0x0000050C -_08077194: .4byte gUnk_03001160 -_08077198: - ldrh r0, [r2, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strh r1, [r2, #0x2e] - b _080771C4 -_080771A8: - movs r1, #0xa1 - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08077DF4 - strb r6, [r4, #4] - b _080771C4 -_080771B6: - adds r0, r4, #0 - bl sub_08077E78 - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0 - strb r0, [r1] -_080771C4: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080771C8 -sub_080771C8: @ 0x080771C8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080771F4 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 - ldr r0, _080771F0 @ =gUnk_03003F80 - adds r0, #0x3d - movs r1, #0 - strb r1, [r0] - b _080772A4 - .align 2, 0 -_080771F0: .4byte gUnk_03003F80 -_080771F4: - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0807720E - ldrb r0, [r4, #8] - cmp r0, #0xff - bne _0807720E - ldr r0, _08077240 @ =gUnk_03001160 - ldrb r2, [r4, #0xe] - movs r1, #0x1e - movs r3, #1 - bl sub_080A2988 -_0807720E: - ldrb r1, [r4, #0xe] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _080772A4 - ldr r5, _08077240 @ =gUnk_03001160 - adds r0, r5, #0 - movs r1, #0xd - adds r2, r4, #0 - bl sub_0800875A - cmp r0, #0 - bne _08077248 - movs r1, #0xa4 - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08077DF4 - movs r0, #3 - strb r0, [r4, #4] - ldr r0, _08077244 @ =0x00000107 - bl sub_080A3268 - b _080772A4 - .align 2, 0 -_08077240: .4byte gUnk_03001160 -_08077244: .4byte 0x00000107 -_08077248: - ldrb r0, [r4, #8] - cmp r0, #0xff - beq _0807728C - ldrb r3, [r4, #3] - adds r0, r5, #0 - movs r1, #0x1f - movs r2, #0 - bl sub_080A2988 - adds r3, r0, #0 - cmp r3, #0 - beq _0807729C - ldrb r0, [r4, #7] - movs r2, #0 - strb r0, [r3, #0xe] - ldrb r0, [r4, #8] - strb r0, [r3, #0xf] - ldrb r1, [r5, #0x14] - movs r0, #6 - ands r0, r1 - strb r0, [r3, #0x14] - adds r0, r5, #0 - adds r0, #0x5a - strb r2, [r0] - ldr r1, _08077288 @ =gUnk_0811BE14 - ldrb r0, [r4, #8] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x59 - strb r1, [r0] - b _0807729C - .align 2, 0 -_08077288: .4byte gUnk_0811BE14 -_0807728C: - ldrb r0, [r4, #3] - cmp r0, #0xf - bne _0807729C - ldrb r0, [r4, #7] - cmp r0, #0x17 - bne _0807729C - movs r0, #0 - strb r0, [r4, #8] -_0807729C: - movs r0, #0x84 - lsls r0, r0, #1 - bl sub_080A3268 -_080772A4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080772A8 -sub_080772A8: @ 0x080772A8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldrb r1, [r4, #0xe] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080772C6 - adds r0, r4, #0 - bl sub_08077F10 - cmp r0, #0 - beq _080772C6 - movs r0, #1 - strb r0, [r4, #7] -_080772C6: - movs r0, #0x71 - bl sub_0807CA84 - cmp r0, #1 - bne _08077318 - ldrb r1, [r4, #0xe] - movs r5, #7 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #3 - beq _08077300 - adds r0, r4, #0 - movs r1, #2 - bl sub_08077E3C - ldr r3, _080772F8 @ =gUnk_03001160 - ldr r2, _080772FC @ =gUnk_0811BE16 - ldrb r1, [r4, #0xe] - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - lsls r0, r0, #1 - b _0807732E - .align 2, 0 -_080772F8: .4byte gUnk_03001160 -_080772FC: .4byte gUnk_0811BE16 -_08077300: - adds r0, r4, #0 - bl sub_08077E24 - ldr r3, _08077310 @ =gUnk_03001160 - ldr r2, _08077314 @ =gUnk_0811BE16 - ldrb r1, [r4, #0xe] - adds r0, r5, #0 - b _08077326 - .align 2, 0 -_08077310: .4byte gUnk_03001160 -_08077314: .4byte gUnk_0811BE16 -_08077318: - adds r0, r4, #0 - bl sub_08077E24 - ldr r3, _0807736C @ =gUnk_03001160 - ldr r2, _08077370 @ =gUnk_0811BE16 - ldrb r1, [r4, #0xe] - movs r0, #7 -_08077326: - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] -_0807732E: - strh r0, [r3, #0x24] - ldr r5, _0807736C @ =gUnk_03001160 - ldrb r0, [r5, #0x14] - lsls r0, r0, #2 - strb r0, [r5, #0x15] - movs r1, #0x24 - ldrsh r0, [r5, r1] - cmp r0, #0 - beq _08077344 - bl sub_08079E08 -_08077344: - ldrb r1, [r4, #0xe] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0807738C - ldrb r0, [r4, #7] - cmp r0, #0 - beq _08077374 - adds r0, r5, #0 - adds r0, #0x59 - movs r1, #1 - strb r1, [r0] - bl sub_080774A0 - cmp r0, #0 - beq _08077374 - movs r0, #0 - strb r0, [r4, #7] - b _0807743E - .align 2, 0 -_0807736C: .4byte gUnk_03001160 -_08077370: .4byte gUnk_0811BE16 -_08077374: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077E78 - ldr r0, _08077388 @ =gUnk_03003F80 - adds r0, #0x3d - movs r1, #0 - strb r1, [r0] - b _0807743E - .align 2, 0 -_08077388: .4byte gUnk_03003F80 -_0807738C: - movs r0, #0x60 - ands r0, r1 - cmp r0, #0 - beq _0807743E - adds r0, r5, #0 - adds r0, #0x59 - movs r6, #1 - strb r6, [r0] - adds r0, r5, #0 - bl sub_0807B5B0 - cmp r0, #0 - beq _080773BC - movs r0, #0x84 - lsls r0, r0, #1 - bl sub_080A3268 - ldrb r2, [r4, #0xe] - adds r0, r5, #0 - movs r1, #0x1e - movs r3, #0 - bl sub_080A2988 - b _0807743E -_080773BC: - ldr r1, _08077440 @ =0x0000051C - adds r0, r4, #0 - bl sub_08077DF4 - adds r0, r5, #0 - movs r1, #0x1d - movs r2, #0 - bl sub_080A29AC - adds r3, r0, #0 - cmp r3, #0 - beq _080773F6 - ldrb r0, [r4, #0xa] - strb r0, [r3, #0x14] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080773F6: - adds r0, r5, #0 - movs r1, #0x1d - movs r2, #0 - bl sub_080A29AC - adds r3, r0, #0 - cmp r3, #0 - beq _08077432 - ldrb r0, [r4, #0xa] - strb r0, [r3, #0x14] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - movs r0, #0x29 - adds r0, r0, r3 - mov ip, r0 - movs r0, #7 - ands r1, r0 - mov r0, ip - ldrb r2, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - strb r6, [r3, #0xf] -_08077432: - movs r0, #3 - strb r0, [r4, #4] - strb r6, [r4, #5] - ldr r0, _08077444 @ =0x00000119 - bl sub_080A3268 -_0807743E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08077440: .4byte 0x0000051C -_08077444: .4byte 0x00000119 - - thumb_func_start sub_08077448 -sub_08077448: @ 0x08077448 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r2, _08077498 @ =gUnk_03001160 - ldrb r0, [r2, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - strb r0, [r2, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #0x24] - ldrb r1, [r4, #0xe] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08077474 - ldrb r0, [r4, #5] - cmp r0, #0 - beq _08077474 - bl sub_08079E08 -_08077474: - adds r0, r4, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077494 - ldr r0, _0807749C @ =gUnk_03003F80 - adds r0, #0x3d - movs r1, #0 - strb r1, [r0] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08077494: - pop {r4, r5, pc} - .align 2, 0 -_08077498: .4byte gUnk_03001160 -_0807749C: .4byte gUnk_03003F80 - - thumb_func_start sub_080774A0 -sub_080774A0: @ 0x080774A0 - push {r4, r5, r6, r7, lr} - ldr r3, _080774FC @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r2, [r3, r0] - ldr r5, _08077500 @ =gUnk_0811BE1E - ldrb r0, [r3, #0x14] - movs r1, #6 - ands r1, r0 - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r2, r2, r0 - ldr r4, _08077504 @ =gUnk_03000BF0 - ldrh r0, [r4, #6] - subs r2, r2, r0 - asrs r6, r2, #4 - movs r2, #0x3f - ands r6, r2 - movs r7, #0x32 - ldrsh r0, [r3, r7] - adds r1, #1 - adds r1, r1, r5 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, r0, r1 - ldrh r1, [r4, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r6, r0 - adds r4, r3, #0 - adds r4, #0x38 - ldrb r1, [r4] - adds r0, r6, #0 - bl sub_080002E0 - cmp r0, #0x16 - bhi _080774F6 - cmp r0, #0xe - bhi _08077508 -_080774F6: - movs r0, #0 - b _0807751A - .align 2, 0 -_080774FC: .4byte gUnk_03001160 -_08077500: .4byte gUnk_0811BE1E -_08077504: .4byte gUnk_03000BF0 -_08077508: - adds r0, r6, #0 - ldrb r1, [r4] - bl sub_080002C8 - cmp r0, #0x56 - bne _08077518 - movs r0, #0x56 - b _0807751A -_08077518: - movs r0, #1 -_0807751A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807751C -sub_0807751C: @ 0x0807751C - push {lr} - ldr r3, _08077530 @ =gUnk_0811BE28 - ldrb r2, [r0, #4] - lsls r2, r2, #2 - adds r2, r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_08077530: .4byte gUnk_0811BE28 - - thumb_func_start sub_08077534 -sub_08077534: @ 0x08077534 - push {r4, lr} - adds r4, r0, #0 - bl sub_08077D38 - ldr r0, _08077570 @ =gUnk_03001160 - bl sub_0806F948 - adds r0, r4, #0 - bl sub_08077BB8 - ldrb r1, [r4, #9] - movs r0, #0xf - orrs r0, r1 - strb r0, [r4, #9] - ldrb r1, [r4, #1] - ldr r0, _08077574 @ =gUnk_02002A40 - adds r0, r0, r1 - adds r0, #0x9a - ldrb r0, [r0] - strb r0, [r4, #7] - ldrb r0, [r4, #7] - subs r0, #0x20 - cmp r0, #0x11 - bhi _080775F8 - lsls r0, r0, #2 - ldr r1, _08077578 @ =_0807757C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08077570: .4byte gUnk_03001160 -_08077574: .4byte gUnk_02002A40 -_08077578: .4byte _0807757C -_0807757C: @ jump table - .4byte _080775C4 @ case 0 - .4byte _080775D4 @ case 1 - .4byte _080775D4 @ case 2 - .4byte _080775D4 @ case 3 - .4byte _080775D4 @ case 4 - .4byte _080775D4 @ case 5 - .4byte _080775F8 @ case 6 - .4byte _080775F8 @ case 7 - .4byte _080775F8 @ case 8 - .4byte _080775D4 @ case 9 - .4byte _080775D4 @ case 10 - .4byte _080775D4 @ case 11 - .4byte _080775D4 @ case 12 - .4byte _080775D4 @ case 13 - .4byte _080775D4 @ case 14 - .4byte _080775F8 @ case 15 - .4byte _080775F8 @ case 16 - .4byte _080775F8 @ case 17 -_080775C4: - ldr r1, _080775D0 @ =0x00000614 - adds r0, r4, #0 - bl sub_08077DF4 - b _08077610 - .align 2, 0 -_080775D0: .4byte 0x00000614 -_080775D4: - movs r0, #3 - strb r0, [r4, #4] - ldr r1, _080775F0 @ =gUnk_03001160 - movs r0, #4 - strb r0, [r1, #0x14] - ldrb r2, [r1, #0x18] - subs r0, #0x45 - ands r0, r2 - strb r0, [r1, #0x18] - ldr r1, _080775F4 @ =0x000002DF - adds r0, r4, #0 - bl sub_08077DF4 - b _08077606 - .align 2, 0 -_080775F0: .4byte gUnk_03001160 -_080775F4: .4byte 0x000002DF -_080775F8: - movs r0, #3 - strb r0, [r4, #4] - movs r1, #0xc2 - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08077DF4 -_08077606: - ldr r2, _08077614 @ =gUnk_03001160 - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] -_08077610: - pop {r4, pc} - .align 2, 0 -_08077614: .4byte gUnk_03001160 - - thumb_func_start sub_08077618 -sub_08077618: @ 0x08077618 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077638 - movs r1, #0xc3 - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08077DF4 - ldrb r0, [r4, #4] - adds r0, #1 - strb r0, [r4, #4] - b _0807763E -_08077638: - adds r0, r4, #0 - bl sub_08077E24 -_0807763E: - pop {r4, pc} - - thumb_func_start sub_08077640 -sub_08077640: @ 0x08077640 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077666 - ldr r2, _08077668 @ =gUnk_03001160 - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08077666: - pop {r4, r5, pc} - .align 2, 0 -_08077668: .4byte gUnk_03001160 - - thumb_func_start sub_0807766C -sub_0807766C: @ 0x0807766C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08077E24 - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08077692 - ldr r2, _08077694 @ =gUnk_03001160 - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 -_08077692: - pop {r4, r5, pc} - .align 2, 0 -_08077694: .4byte gUnk_03001160 - - thumb_func_start sub_08077698 -sub_08077698: @ 0x08077698 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _0807771C @ =gUnk_03003F80 - ldrb r1, [r2, #3] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2, #3] - ldrb r1, [r2, #4] - movs r0, #0xf - ands r0, r1 - strb r0, [r2, #4] - ldrb r0, [r2, #7] - ldrb r3, [r2, #2] - orrs r0, r3 - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08077700 - movs r0, #0x40 - ands r0, r3 - cmp r0, #0 - bne _08077700 - adds r0, r2, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _08077700 - adds r0, r4, #0 - bl sub_08077758 - cmp r0, #0 - beq _08077700 - bl sub_080777A0 - cmp r0, #0 - bne _08077700 - ldr r4, _08077720 @ =gUnk_02002A40 - adds r0, r4, #0 - adds r0, #0xb4 - ldrb r0, [r0] - movs r1, #1 - movs r2, #0 - bl sub_08077880 - adds r4, #0xb5 - ldrb r0, [r4] - movs r1, #2 - movs r2, #0 - bl sub_08077880 - bl sub_080778CC -_08077700: - movs r5, #0 - ldr r4, _08077724 @ =gUnk_03000B80 -_08077704: - ldrb r0, [r4, #9] - cmp r0, #0 - beq _08077712 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080752E8 -_08077712: - adds r4, #0x1c - adds r5, #1 - cmp r5, #3 - bls _08077704 - pop {r4, r5, pc} - .align 2, 0 -_0807771C: .4byte gUnk_03003F80 -_08077720: .4byte gUnk_02002A40 -_08077724: .4byte gUnk_03000B80 - - thumb_func_start sub_08077728 -sub_08077728: @ 0x08077728 - push {lr} - cmp r0, #0 - bne _08077744 - ldr r0, _08077740 @ =gUnk_02002A40 - adds r0, #0xb4 - ldrb r0, [r0] - movs r1, #1 - movs r2, #1 - bl sub_08077880 - b _08077752 - .align 2, 0 -_08077740: .4byte gUnk_02002A40 -_08077744: - ldr r0, _08077754 @ =gUnk_02002A40 - adds r0, #0xb5 - ldrb r0, [r0] - movs r1, #2 - movs r2, #1 - bl sub_08077880 -_08077752: - pop {pc} - .align 2, 0 -_08077754: .4byte gUnk_02002A40 - - thumb_func_start sub_08077758 -sub_08077758: @ 0x08077758 - push {lr} - adds r3, r0, #0 - ldr r2, _08077794 @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - movs r0, #0x80 - lsls r0, r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0807779C - movs r0, #0xd5 - lsls r0, r0, #4 - ands r1, r0 - cmp r1, #0 - bne _08077798 - ldrb r0, [r2, #0x1e] - ldrb r1, [r2, #0x1a] - orrs r1, r0 - adds r0, r3, #0 - adds r0, #0x7a - ldrh r0, [r0] - orrs r1, r0 - cmp r1, #0 - bne _0807779C - adds r0, r3, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _0807779C - movs r0, #1 - b _0807779E - .align 2, 0 -_08077794: .4byte gUnk_03003F80 -_08077798: - bl sub_0807A108 -_0807779C: - movs r0, #0 -_0807779E: - pop {pc} - - thumb_func_start sub_080777A0 -sub_080777A0: @ 0x080777A0 - push {r4, lr} - ldr r3, _080777D0 @ =gUnk_03003F80 - adds r0, r3, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r4, #0x80 - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - beq _08077870 - ldr r1, [r3, #0x30] - movs r0, #0x80 - lsls r0, r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _080777D4 - adds r1, r3, #0 - adds r1, #0xa0 - movs r0, #1 - strb r0, [r1] - bl sub_0807A108 -_080777CC: - movs r0, #1 - b _0807787C - .align 2, 0 -_080777D0: .4byte gUnk_03003F80 -_080777D4: - ldr r2, _080777F4 @ =gUnk_02033A90 - ldrb r0, [r2, #0x18] - cmp r0, #2 - beq _080777FC - cmp r0, #3 - beq _08077810 - ldr r0, _080777F8 @ =gUnk_0200AF00 - adds r0, #0x2c - ldrb r0, [r0] - cmp r0, #0xc - bne _0807787A - adds r2, r3, #0 - ldrb r0, [r2, #0x1c] - cmp r0, #0 - bne _0807787A - b _08077838 - .align 2, 0 -_080777F4: .4byte gUnk_02033A90 -_080777F8: .4byte gUnk_0200AF00 -_080777FC: - ldrb r0, [r2, #0x1a] - cmp r0, #0 - bne _080777CC - ldr r1, _0807780C @ =gUnk_03001160 - ldrb r0, [r1, #0xd] - adds r0, #1 - strb r0, [r1, #0xd] - b _080777CC - .align 2, 0 -_0807780C: .4byte gUnk_03001160 -_08077810: - ldrb r0, [r2, #0x1a] - cmp r0, #0 - bne _0807787A - ands r1, r4 - cmp r1, #0 - beq _0807787A - ldr r0, _08077834 @ =gUnk_03001160 - ldrb r1, [r0, #0xd] - adds r1, #1 - strb r1, [r0, #0xd] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #0xb4 - bl sub_0805E4E0 - b _080777CC - .align 2, 0 -_08077834: .4byte gUnk_03001160 -_08077838: - ldrb r0, [r2, #0x12] - cmp r0, #0x11 - beq _0807787A - adds r0, r2, #0 - adds r0, #0x90 - ldrh r1, [r0] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - beq _0807787A - ldr r0, [r2, #0x30] - ldr r1, _0807786C @ =0x00040400 - ands r0, r1 - cmp r0, #0 - bne _0807787A - ldrb r0, [r2, #2] - cmp r0, #0 - bne _0807787A - ldrb r0, [r2, #4] - cmp r0, #0 - bne _0807787A - movs r0, #0x18 - strb r0, [r2, #0xc] - b _0807787A - .align 2, 0 -_0807786C: .4byte 0x00040400 -_08077870: - ldr r0, [r3, #0x30] - movs r1, #0x20 - ands r0, r1 - cmp r0, #0 - bne _080777CC -_0807787A: - movs r0, #0 -_0807787C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08077880 -sub_08077880: @ 0x08077880 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - subs r0, r4, #1 - cmp r0, #0x1e - bhi _080778C0 - lsls r0, r4, #1 - adds r0, r0, r4 - lsls r0, r0, #2 - ldr r1, _080778C4 @ =gUnk_0811BE48 - adds r5, r0, r1 - ldr r1, _080778C8 @ =gUnk_03004010 - ldrb r0, [r5] - cmp r0, #0 - beq _080778A0 - adds r1, #2 -_080778A0: - ldrh r0, [r1] - ands r0, r6 - cmp r0, #0 - bne _080778AC - cmp r2, #0 - beq _080778C0 -_080778AC: - adds r0, r4, #0 - bl sub_0807794C - adds r1, r0, #0 - cmp r1, #0 - beq _080778C0 - ldrb r0, [r5, #1] - strb r0, [r1, #9] - strb r4, [r1, #1] - strb r6, [r1, #3] -_080778C0: - pop {r4, r5, r6, pc} - .align 2, 0 -_080778C4: .4byte gUnk_0811BE48 -_080778C8: .4byte gUnk_03004010 - - thumb_func_start sub_080778CC -sub_080778CC: @ 0x080778CC - push {lr} - ldr r2, _08077920 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08077924 @ =0x000400A0 - ands r0, r1 - cmp r0, #0 - bne _0807791C - ldr r0, _08077928 @ =gUnk_03001160 - adds r0, #0x79 - ldrb r0, [r0] - cmp r0, #0 - bne _080778FA - ldrb r0, [r2, #5] - cmp r0, #0 - bne _080778FA - adds r0, r2, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0807791C -_080778FA: - bl sub_080789A8 - cmp r0, #0 - bne _08077910 - ldr r0, _08077920 @ =gUnk_03003F80 - adds r0, #0x90 - ldrh r1, [r0] - ldr r0, _0807792C @ =0x00000F03 - ands r0, r1 - cmp r0, #0 - bne _0807791C -_08077910: - movs r0, #0x1b - bl sub_0807794C - adds r1, r0, #0 - cmp r1, #0 - bne _08077930 -_0807791C: - movs r0, #0 - b _08077940 - .align 2, 0 -_08077920: .4byte gUnk_03003F80 -_08077924: .4byte 0x000400A0 -_08077928: .4byte gUnk_03001160 -_0807792C: .4byte 0x00000F03 -_08077930: - movs r0, #0x1b - strb r0, [r1, #1] - ldr r0, _08077944 @ =gUnk_0811BE48 - ldr r2, _08077948 @ =0x00000145 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r1, #9] - movs r0, #1 -_08077940: - pop {pc} - .align 2, 0 -_08077944: .4byte gUnk_0811BE48 -_08077948: .4byte 0x00000145 - - thumb_func_start sub_0807794C -sub_0807794C: @ 0x0807794C - push {lr} - adds r2, r0, #0 - ldr r0, _080779B8 @ =gUnk_03003F80 - ldrb r1, [r0, #0xc] - adds r3, r0, #0 - cmp r1, #0x18 - bne _0807795E - cmp r2, #0x1b - bne _080779B2 -_0807795E: - ldr r0, [r3, #0x30] - movs r1, #0x88 - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - beq _0807796E - cmp r2, #6 - bhi _080779B2 -_0807796E: - ldrb r0, [r3, #2] - cmp r0, #0 - bne _0807797C - ldr r0, _080779BC @ =gUnk_03001160 - ldr r0, [r0, #0x34] - cmp r0, #0 - beq _08077980 -_0807797C: - cmp r2, #6 - bhi _080779B2 -_08077980: - ldr r0, [r3, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807799A - ldr r0, _080779C0 @ =gUnk_0811BE48 - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r0, [r1, #8] - cmp r0, #0 - beq _080779B2 -_0807799A: - ldrb r0, [r3, #0x12] - cmp r0, #0x11 - bne _080779C4 - adds r0, r3, #0 - adds r0, #0x37 - ldrb r0, [r0] - cmp r0, #0 - beq _080779C4 - adds r0, r2, #0 - subs r0, #0x14 - cmp r0, #1 - bls _080779C4 -_080779B2: - movs r0, #0 - b _080779DE - .align 2, 0 -_080779B8: .4byte gUnk_03003F80 -_080779BC: .4byte gUnk_03001160 -_080779C0: .4byte gUnk_0811BE48 -_080779C4: - ldr r1, _080779E0 @ =gUnk_0811BE48 - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0, #2] - ldr r1, _080779E4 @ =gUnk_0811BFC8 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r2, #0 - bl _call_via_r1 -_080779DE: - pop {pc} - .align 2, 0 -_080779E0: .4byte gUnk_0811BE48 -_080779E4: .4byte gUnk_0811BFC8 - - thumb_func_start sub_080779E8 -sub_080779E8: @ 0x080779E8 - movs r0, #0 - bx lr - - thumb_func_start sub_080779EC -sub_080779EC: @ 0x080779EC - push {lr} - ldr r1, _08077A00 @ =gUnk_03000B80 - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - cmp r0, #0 - bne _08077A04 - adds r0, r1, #0 - adds r0, #0x1c - b _08077A16 - .align 2, 0 -_08077A00: .4byte gUnk_03000B80 -_08077A04: - adds r0, r1, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0 - beq _08077A12 - movs r0, #0 - b _08077A16 -_08077A12: - adds r0, r1, #0 - adds r0, #0x38 -_08077A16: - pop {pc} - - thumb_func_start sub_08077A18 -sub_08077A18: @ 0x08077A18 - push {lr} - adds r1, r0, #0 - ldr r0, _08077A3C @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _08077A44 - ldr r0, _08077A40 @ =gUnk_03000B80 - ldrb r2, [r0, #0x1d] - cmp r1, r2 - beq _08077A44 - adds r0, #0x39 - ldrb r0, [r0] - cmp r1, r0 - beq _08077A44 - adds r0, r1, #0 - bl sub_080779EC - b _08077A46 - .align 2, 0 -_08077A3C: .4byte gUnk_03003F80 -_08077A40: .4byte gUnk_03000B80 -_08077A44: - movs r0, #0 -_08077A46: - pop {pc} - - thumb_func_start sub_08077A48 -sub_08077A48: @ 0x08077A48 - push {r4, r5, r6, lr} - adds r2, r0, #0 - ldr r6, _08077A88 @ =gUnk_03003F80 - ldrb r0, [r6, #5] - cmp r0, #0 - bne _08077A94 - ldrb r1, [r6, #2] - movs r0, #0x20 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - bne _08077A94 - ldr r0, _08077A8C @ =gUnk_0811BE48 - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r5, _08077A90 @ =gUnk_03000B80 - ldrb r0, [r1, #1] - ldrb r1, [r5, #9] - cmp r0, r1 - blo _08077A94 - adds r0, r5, #0 - movs r1, #0 - bl sub_08077E78 - strb r4, [r6, #1] - strb r4, [r6, #0x1c] - strb r4, [r6, #0x1b] - adds r0, r5, #0 - b _08077A96 - .align 2, 0 -_08077A88: .4byte gUnk_03003F80 -_08077A8C: .4byte gUnk_0811BE48 -_08077A90: .4byte gUnk_03000B80 -_08077A94: - movs r0, #0 -_08077A96: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08077A98 -sub_08077A98: @ 0x08077A98 - push {lr} - ldr r0, _08077AB8 @ =gUnk_02002A40 - adds r0, #0xac - ldrb r0, [r0] - cmp r0, #0 - beq _08077AC4 - ldr r0, _08077ABC @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _08077AC4 - ldr r1, _08077AC0 @ =gUnk_03000B80 - ldrb r0, [r1, #9] - cmp r0, #0 - bne _08077AC4 - adds r0, r1, #0 - b _08077AC6 - .align 2, 0 -_08077AB8: .4byte gUnk_02002A40 -_08077ABC: .4byte gUnk_03003F80 -_08077AC0: .4byte gUnk_03000B80 -_08077AC4: - movs r0, #0 -_08077AC6: - pop {pc} - - thumb_func_start sub_08077AC8 -sub_08077AC8: @ 0x08077AC8 - push {lr} - movs r2, #0 - ldr r1, _08077AD8 @ =gUnk_03000B80 -_08077ACE: - ldrb r0, [r1, #9] - cmp r0, #0 - beq _08077ADC - movs r0, #0 - b _08077AE6 - .align 2, 0 -_08077AD8: .4byte gUnk_03000B80 -_08077ADC: - adds r1, #0x1c - adds r2, #1 - cmp r2, #3 - bls _08077ACE - ldr r0, _08077AE8 @ =gUnk_03000BD4 -_08077AE6: - pop {pc} - .align 2, 0 -_08077AE8: .4byte gUnk_03000BD4 - - thumb_func_start sub_08077AEC -sub_08077AEC: @ 0x08077AEC - push {lr} - ldr r0, _08077B14 @ =gUnk_03000BD4 - movs r1, #3 - bl sub_08077E78 - ldr r2, _08077B18 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08077B1C @ =0xFF7FFFFF - ands r0, r1 - str r0, [r2, #0x30] - movs r0, #0x10 - bl sub_0805436C - adds r1, r0, #0 - cmp r1, #2 - beq _08077B12 - movs r0, #0xf - bl sub_08054414 -_08077B12: - pop {pc} - .align 2, 0 -_08077B14: .4byte gUnk_03000BD4 -_08077B18: .4byte gUnk_03003F80 -_08077B1C: .4byte 0xFF7FFFFF - - thumb_func_start sub_08077B20 -sub_08077B20: @ 0x08077B20 - push {lr} - bl sub_08077B2C - bl sub_08077AEC - pop {pc} - - thumb_func_start sub_08077B2C -sub_08077B2C: @ 0x08077B2C - push {r4, r5, lr} - movs r4, #0 - ldr r5, _08077B88 @ =gUnk_03000B80 -_08077B32: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08077E78 - adds r5, #0x1c - adds r4, #1 - cmp r4, #2 - bls _08077B32 - ldr r2, _08077B8C @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x3d - movs r3, #0 - strb r3, [r0] - strb r3, [r2, #0x1c] - subs r0, #0x1c - strb r3, [r0] - strb r3, [r2, #1] - strb r3, [r2, #0xe] - strb r3, [r2, #0x1e] - strb r3, [r2, #0x1b] - strb r3, [r2, #3] - strb r3, [r2, #5] - ldr r0, [r2, #0x30] - ldr r1, _08077B90 @ =0xF7FBFFFF - ands r0, r1 - str r0, [r2, #0x30] - ldr r0, _08077B94 @ =gUnk_03001160 - str r3, [r0, #0x70] - ldrb r1, [r2, #2] - movs r0, #0xc0 - ands r0, r1 - cmp r0, #0 - bne _08077B76 - strb r3, [r2, #2] -_08077B76: - adds r1, r2, #0 - adds r1, #0xa8 - ldrb r0, [r1] - cmp r0, #4 - bgt _08077B86 - cmp r0, #2 - blt _08077B86 - strb r3, [r1] -_08077B86: - pop {r4, r5, pc} - .align 2, 0 -_08077B88: .4byte gUnk_03000B80 -_08077B8C: .4byte gUnk_03003F80 -_08077B90: .4byte 0xF7FBFFFF -_08077B94: .4byte gUnk_03001160 - - thumb_func_start sub_08077B98 -sub_08077B98: @ 0x08077B98 - push {r4, lr} - adds r1, r0, #0 - ldr r4, _08077BB4 @ =gUnk_03003F80 - ldr r0, [r4, #0x2c] - cmp r0, #0 - beq _08077BAA - ldrb r0, [r0, #9] - cmp r0, #1 - beq _08077BB2 -_08077BAA: - adds r0, r1, #0 - bl sub_08077C54 - str r0, [r4, #0x2c] -_08077BB2: - pop {r4, pc} - .align 2, 0 -_08077BB4: .4byte gUnk_03003F80 - - thumb_func_start sub_08077BB8 -sub_08077BB8: @ 0x08077BB8 - push {lr} - bl sub_08077C54 - adds r1, r0, #0 - cmp r1, #0 - beq _08077BC8 - movs r0, #0x20 - strb r0, [r1, #0x10] -_08077BC8: - ldr r0, _08077BD0 @ =gUnk_03003F80 - str r1, [r0, #0x2c] - pop {pc} - .align 2, 0 -_08077BD0: .4byte gUnk_03003F80 - - thumb_func_start sub_08077BD4 -sub_08077BD4: @ 0x08077BD4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08077C04 @ =gUnk_0811BE48 - ldrb r1, [r4, #1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r5 - ldrb r1, [r0, #3] - adds r0, r4, #0 - bl sub_08077C94 - cmp r0, #0 - bne _08077C08 - ldrb r1, [r4, #1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r5 - ldrb r1, [r0, #3] - adds r0, r4, #0 - bl sub_08077C3C - b _08077C0A - .align 2, 0 -_08077C04: .4byte gUnk_0811BE48 -_08077C08: - movs r0, #0 -_08077C0A: - pop {r4, r5, pc} - - thumb_func_start sub_08077C0C -sub_08077C0C: @ 0x08077C0C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r2, _08077C34 @ =gUnk_0811BE48 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r2 - ldrb r4, [r0, #3] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08077C94 - cmp r0, #0 - bne _08077C38 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08077C3C - b _08077C3A - .align 2, 0 -_08077C34: .4byte gUnk_0811BE48 -_08077C38: - movs r0, #0 -_08077C3A: - pop {r4, r5, pc} - - thumb_func_start sub_08077C3C -sub_08077C3C: @ 0x08077C3C - push {r4, lr} - adds r4, r0, #0 - adds r0, r1, #0 - ldrb r3, [r4, #1] - movs r1, #0 - movs r2, #0 - bl sub_08077CB8 - cmp r0, #0 - beq _08077C52 - str r4, [r0, #0x50] -_08077C52: - pop {r4, pc} - - thumb_func_start sub_08077C54 -sub_08077C54: @ 0x08077C54 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0805E744 - adds r4, r0, #0 - cmp r4, #0 - beq _08077C8C - ldr r2, _08077C90 @ =gUnk_0811BE48 - ldrb r1, [r5, #1] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r2 - ldrb r0, [r0, #3] - strb r0, [r4, #9] - movs r0, #8 - strb r0, [r4, #8] - movs r0, #0xa0 - strb r0, [r4, #0x10] - str r5, [r4, #0x50] - ldrb r1, [r5, #1] - adds r0, r4, #0 - adds r0, #0x68 - strb r1, [r0] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805EA2C -_08077C8C: - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 -_08077C90: .4byte gUnk_0811BE48 - - thumb_func_start sub_08077C94 -sub_08077C94: @ 0x08077C94 - push {lr} - ldr r2, _08077CB4 @ =gUnk_0811BE48 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r2 - ldrb r1, [r0, #3] - movs r0, #8 - movs r2, #2 - bl sub_0805EB00 - cmp r0, #0 - bne _08077CB0 - movs r0, #0 -_08077CB0: - pop {pc} - .align 2, 0 -_08077CB4: .4byte gUnk_0811BE48 - - thumb_func_start sub_08077CB8 -sub_08077CB8: @ 0x08077CB8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r2, #0 - mov r8, r3 - bl sub_0805E678 - adds r4, r0, #0 - cmp r4, #0 - beq _08077CEE - movs r0, #0x80 - strb r0, [r4, #0x10] - movs r0, #8 - strb r0, [r4, #8] - strb r5, [r4, #9] - strb r6, [r4, #0xa] - strb r7, [r4, #0xb] - adds r0, r4, #0 - adds r0, #0x68 - mov r1, r8 - strb r1, [r0] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805EA2C -_08077CEE: - adds r0, r4, #0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08077CF8 -sub_08077CF8: @ 0x08077CF8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r2, #0 - mov r8, r3 - bl sub_0805E744 - adds r4, r0, #0 - cmp r4, #0 - beq _08077D2E - movs r0, #0x80 - strb r0, [r4, #0x10] - movs r0, #8 - strb r0, [r4, #8] - strb r5, [r4, #9] - strb r6, [r4, #0xa] - strb r7, [r4, #0xb] - adds r0, r4, #0 - adds r0, #0x68 - mov r1, r8 - strb r1, [r0] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805EA2C -_08077D2E: - adds r0, r4, #0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08077D38 -sub_08077D38: @ 0x08077D38 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - mov r8, r1 - ldr r3, _08077D94 @ =gUnk_03003F80 - movs r7, #8 - adds r1, r7, #0 - mov r0, r8 - asrs r1, r0 - ldrb r2, [r3, #0xa] - adds r0, r1, #0 - orrs r0, r2 - strb r0, [r3, #0xa] - ldrb r0, [r3, #0xb] - orrs r1, r0 - strb r1, [r3, #0xb] - ldr r0, _08077D98 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - strb r0, [r4, #0xa] - ldrb r0, [r4, #4] - cmp r0, #0 - bne _08077D6A - adds r0, #1 - strb r0, [r4, #4] -_08077D6A: - ldrb r2, [r4, #1] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #2 - ldr r1, _08077D9C @ =gUnk_0811BE48 - adds r5, r0, r1 - ldrh r0, [r5, #4] - cmp r0, #0 - beq _08077DCC - ldr r0, [r3, #0x30] - ands r0, r7 - cmp r0, #0 - beq _08077DC4 - cmp r2, #0xd - beq _08077DB2 - cmp r2, #0xd - bgt _08077DA0 - cmp r2, #1 - beq _08077DAC - b _08077DB4 - .align 2, 0 -_08077D94: .4byte gUnk_03003F80 -_08077D98: .4byte gUnk_03001160 -_08077D9C: .4byte gUnk_0811BE48 -_08077DA0: - cmp r2, #0x1b - bne _08077DB4 - ldr r6, _08077DA8 @ =0x00000948 - b _08077DB4 - .align 2, 0 -_08077DA8: .4byte 0x00000948 -_08077DAC: - movs r6, #0x81 - lsls r6, r6, #3 - b _08077DB4 -_08077DB2: - ldr r6, _08077DC0 @ =0x0000040C -_08077DB4: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08077DF4 - b _08077DCC - .align 2, 0 -_08077DC0: .4byte 0x0000040C -_08077DC4: - ldrh r1, [r5, #4] - adds r0, r4, #0 - bl sub_08077DF4 -_08077DCC: - ldrb r0, [r5, #6] - strb r0, [r4, #0xf] - ldrb r0, [r5, #7] - cmp r0, #0 - beq _08077DE8 - ldr r2, _08077DF0 @ =gUnk_03003F80 - movs r0, #8 - mov r1, r8 - asrs r0, r1 - lsls r1, r0, #4 - orrs r0, r1 - ldrb r1, [r2, #4] - orrs r0, r1 - strb r0, [r2, #4] -_08077DE8: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08077DF0: .4byte gUnk_03003F80 - - thumb_func_start sub_08077DF4 -sub_08077DF4: @ 0x08077DF4 - push {r4, lr} - adds r4, r0, #0 - adds r2, r1, #0 - strh r2, [r4, #0x10] - movs r0, #0xff - ands r0, r2 - cmp r0, #0xb8 - bls _08077E0A - ldrb r0, [r4, #0xa] - lsrs r0, r0, #1 - adds r2, r2, r0 -_08077E0A: - ldr r0, _08077E20 @ =gUnk_03001160 - lsrs r1, r2, #8 - strh r1, [r0, #0x12] - lsls r1, r2, #0x18 - lsrs r1, r1, #0x18 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08077E54 - pop {r4, pc} - .align 2, 0 -_08077E20: .4byte gUnk_03001160 - - thumb_func_start sub_08077E24 -sub_08077E24: @ 0x08077E24 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08077E38 @ =gUnk_03001160 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_08077E54 - pop {r4, pc} - .align 2, 0 -_08077E38: .4byte gUnk_03001160 - - thumb_func_start sub_08077E3C -sub_08077E3C: @ 0x08077E3C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08077E50 @ =gUnk_03001160 - bl sub_080042BA - adds r0, r4, #0 - bl sub_08077E54 - pop {r4, pc} - .align 2, 0 -_08077E50: .4byte gUnk_03001160 - - thumb_func_start sub_08077E54 -sub_08077E54: @ 0x08077E54 - ldr r2, _08077E74 @ =gUnk_03001160 - adds r1, r2, #0 - adds r1, #0x58 - ldrb r1, [r1] - strb r1, [r0, #0xc] - ldrb r1, [r2, #0x1e] - strb r1, [r0, #0x12] - adds r1, r2, #0 - adds r1, #0x59 - ldrb r1, [r1] - strb r1, [r0, #0xd] - adds r1, r2, #0 - adds r1, #0x5a - ldrb r1, [r1] - strb r1, [r0, #0xe] - bx lr - .align 2, 0 -_08077E74: .4byte gUnk_03001160 - - thumb_func_start sub_08077E78 -sub_08077E78: @ 0x08077E78 - push {r4, r5, lr} - adds r5, r0, #0 - adds r3, r1, #0 - ldr r4, _08077EC4 @ =gUnk_03003F80 - cmp r3, #0 - bne _08077E9A - ldr r2, [r4, #0x2c] - cmp r2, #0 - beq _08077E98 - ldrb r0, [r2, #0x11] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #6 - orrs r1, r0 - strb r1, [r2, #0x11] -_08077E98: - str r3, [r4, #0x2c] -_08077E9A: - movs r2, #8 - asrs r2, r3 - lsls r1, r2, #4 - orrs r1, r2 - ldrb r0, [r4, #4] - bics r0, r1 - strb r0, [r4, #4] - mvns r2, r2 - ldrb r1, [r4, #0xa] - adds r0, r2, #0 - ands r0, r1 - strb r0, [r4, #0xa] - ldrb r0, [r4, #0xb] - ands r2, r0 - strb r2, [r4, #0xb] - adds r0, r5, #0 - movs r1, #0x1c - bl sub_0801D630 - pop {r4, r5, pc} - .align 2, 0 -_08077EC4: .4byte gUnk_03003F80 - - thumb_func_start sub_08077EC8 -sub_08077EC8: @ 0x08077EC8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08077EDC @ =gUnk_03003F80 - ldrb r1, [r0, #0x1b] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - bne _08077EE0 - movs r0, #0 - b _08077EF8 - .align 2, 0 -_08077EDC: .4byte gUnk_03003F80 -_08077EE0: - movs r1, #0xb8 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_08077DF4 - movs r0, #0x28 - strb r0, [r4, #7] - movs r0, #7 - strb r0, [r4, #4] - movs r0, #6 - strb r0, [r4, #0xf] - movs r0, #1 -_08077EF8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08077EFC -sub_08077EFC: @ 0x08077EFC - push {lr} - ldr r1, _08077F0C @ =gUnk_03003F80 - adds r1, #0x90 - ldrh r1, [r1] - bl sub_08077F24 - pop {pc} - .align 2, 0 -_08077F0C: .4byte gUnk_03003F80 - - thumb_func_start sub_08077F10 -sub_08077F10: @ 0x08077F10 - push {lr} - ldr r1, _08077F20 @ =gUnk_03003F80 - adds r1, #0x92 - ldrh r1, [r1] - bl sub_08077F24 - pop {pc} - .align 2, 0 -_08077F20: .4byte gUnk_03003F80 - - thumb_func_start sub_08077F24 -sub_08077F24: @ 0x08077F24 - push {lr} - ldr r2, _08077F34 @ =gUnk_02002AE8 - ldrb r3, [r0, #1] - ldrb r0, [r2, #0xc] - cmp r0, r3 - bne _08077F38 - movs r2, #1 - b _08077F42 - .align 2, 0 -_08077F34: .4byte gUnk_02002AE8 -_08077F38: - ldrb r0, [r2, #0xd] - movs r2, #0 - cmp r0, r3 - bne _08077F42 - movs r2, #2 -_08077F42: - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08077F4C - movs r0, #1 -_08077F4C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08077F50 -sub_08077F50: @ 0x08077F50 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08079184 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08077E78 - pop {r4, r5, pc} - - thumb_func_start sub_08077F64 -sub_08077F64: @ 0x08077F64 - push {lr} - adds r2, r0, #0 - ldr r0, _08077F7C @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _08077F80 - adds r0, r2, #0 - bl sub_08077F50 - movs r0, #0 - b _08077F82 - .align 2, 0 -_08077F7C: .4byte gUnk_03003F80 -_08077F80: - movs r0, #1 -_08077F82: - pop {pc} - - thumb_func_start sub_08077F84 -sub_08077F84: @ 0x08077F84 - push {r4, lr} - ldr r4, _08077FE0 @ =gUnk_03001160 - adds r0, r4, #0 - adds r0, #0x38 - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08077FDE - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - subs r1, #0xc - movs r2, #2 - bl sub_080002A4 - ldr r1, _08077FE4 @ =0xFFFFFCBD - adds r0, r0, r1 - cmp r0, #3 - bhi _08077FDE - adds r0, r4, #0 - bl sub_0807AA80 - ldr r2, _08077FE8 @ =gUnk_03003F80 - ldrb r1, [r2, #2] - movs r0, #8 - orrs r0, r1 - strb r0, [r2, #2] - movs r0, #0x44 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08077FDE - ldr r0, [r4, #0x2c] - str r0, [r1, #0x2c] - ldrh r0, [r4, #0x32] - subs r0, #0xc - strh r0, [r1, #0x32] - ldrh r0, [r4, #0x32] - subs r0, #0xc - strh r0, [r4, #0x32] -_08077FDE: - pop {r4, pc} - .align 2, 0 -_08077FE0: .4byte gUnk_03001160 -_08077FE4: .4byte 0xFFFFFCBD -_08077FE8: .4byte gUnk_03003F80 - - thumb_func_start sub_08077FEC -sub_08077FEC: @ 0x08077FEC - push {lr} - ldr r0, _08078000 @ =gUnk_03004020 - ldr r2, _08078004 @ =gUnk_0811BFE8 - ldrb r1, [r0] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08078000: .4byte gUnk_03004020 -_08078004: .4byte gUnk_0811BFE8 - - thumb_func_start sub_08078008 -sub_08078008: @ 0x08078008 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r6, _08078060 @ =gUnk_02002A40 - adds r5, r6, #0 - adds r5, #0xb4 - ldrb r0, [r5] - bl sub_0805449C - cmp r0, #0 - bne _0807802C - adds r5, r6, #0 - adds r5, #0xb5 - ldrb r0, [r5] - bl sub_0805449C - movs r2, #0 - cmp r0, #0 - beq _0807802E -_0807802C: - ldrb r2, [r5] -_0807802E: - subs r0, r2, #1 - cmp r0, #1 - bhi _08078036 - movs r2, #0 -_08078036: - cmp r2, #0 - beq _08078068 - ldr r0, _08078064 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1b] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08078068 - ldrb r0, [r4, #1] - adds r0, #1 - strb r0, [r4, #1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x14 - ble _0807806C - movs r0, #0xa - strb r0, [r4, #1] - movs r0, #3 - strb r0, [r4] - strb r2, [r4, #2] - b _0807806C - .align 2, 0 -_08078060: .4byte gUnk_02002A40 -_08078064: .4byte gUnk_03003F80 -_08078068: - movs r0, #0 - strb r0, [r4, #1] -_0807806C: - movs r0, #0 - pop {r4, r5, r6, pc} - - thumb_func_start sub_08078070 -sub_08078070: @ 0x08078070 - push {lr} - adds r2, r0, #0 - ldr r3, _08078098 @ =gUnk_03003F80 - ldrb r1, [r3, #0x1b] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080780D6 - adds r0, r3, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #3 - ands r0, r1 - cmp r0, #0 - beq _0807809C - ldrh r0, [r2, #4] - adds r0, #0xc - b _080780A0 - .align 2, 0 -_08078098: .4byte gUnk_03003F80 -_0807809C: - ldrh r0, [r2, #4] - adds r0, #6 -_080780A0: - strh r0, [r2, #4] - movs r0, #4 - ldrsh r1, [r2, r0] - ldr r0, _080780BC @ =0x0000031F - cmp r1, r0 - ble _080780C0 - adds r0, #1 - strh r0, [r2, #4] - movs r0, #4 - strb r0, [r2] - movs r0, #0xd8 - bl sub_080A3268 - b _080780DA - .align 2, 0 -_080780BC: .4byte 0x0000031F -_080780C0: - movs r1, #4 - ldrsh r0, [r2, r1] - movs r1, #0x14 - bl Mod - cmp r0, #0 - bne _080780DA - movs r0, #0xd7 - bl sub_080A3268 - b _080780DA -_080780D6: - movs r0, #1 - strb r0, [r2] -_080780DA: - movs r0, #1 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080780E0 -sub_080780E0: @ 0x080780E0 - push {lr} - adds r2, r0, #0 - ldr r0, _080780F4 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1b] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080780F8 - movs r0, #5 - b _08078102 - .align 2, 0 -_080780F4: .4byte gUnk_03003F80 -_080780F8: - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - bne _08078104 - movs r0, #1 -_08078102: - strb r0, [r2] -_08078104: - movs r0, #1 - pop {pc} - - thumb_func_start sub_08078108 -sub_08078108: @ 0x08078108 - push {lr} - adds r1, r0, #0 - ldrh r0, [r1, #4] - subs r0, #1 - strh r0, [r1, #4] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _08078120 - movs r0, #0 - strh r0, [r1, #4] - movs r0, #2 - strb r0, [r1] -_08078120: - movs r0, #1 - pop {pc} - - thumb_func_start sub_08078124 -sub_08078124: @ 0x08078124 - push {lr} - adds r1, r0, #0 - ldrh r0, [r1, #4] - subs r0, #0x10 - strh r0, [r1, #4] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _0807813C - movs r0, #0 - strh r0, [r1, #4] - movs r0, #2 - strb r0, [r1] -_0807813C: - movs r0, #1 - pop {pc} - - thumb_func_start sub_08078140 -sub_08078140: @ 0x08078140 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #1] - subs r0, #1 - movs r2, #0 - strb r0, [r1, #1] - lsls r0, r0, #0x18 - cmp r0, #0 - blt _08078156 - movs r0, #0 - b _0807815C -_08078156: - strb r2, [r1, #1] - strb r2, [r1] - movs r0, #1 -_0807815C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08078160 -sub_08078160: @ 0x08078160 - push {lr} - ldr r1, _08078178 @ =gUnk_03003F80 - adds r1, #0xa8 - strb r0, [r1] - ldr r2, _0807817C @ =gUnk_03001160 - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - bl sub_08078B48 - pop {pc} - .align 2, 0 -_08078178: .4byte gUnk_03003F80 -_0807817C: .4byte gUnk_03001160 - - thumb_func_start sub_08078180 -sub_08078180: @ 0x08078180 - push {r4, r5, r6, lr} - ldr r0, _080781C8 @ =gUnk_0200AF00 - adds r1, r0, #0 - adds r1, #0x2f - ldrb r1, [r1] - adds r6, r0, #0 - cmp r1, #0 - beq _08078192 - b _080782BC -_08078192: - movs r4, #0 - ldr r5, _080781CC @ =gUnk_03003F80 - ldrb r0, [r5, #2] - cmp r0, #0 - beq _0807819E - b _080782B6 -_0807819E: - ldr r0, [r5, #0x30] - ldr r1, _080781D0 @ =0x00104D00 - ands r0, r1 - cmp r0, #0 - beq _080781AA - b _080782B6 -_080781AA: - ldrb r0, [r5, #5] - subs r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #3 - bhi _080781D4 - adds r1, r6, #0 - adds r1, #0x2e - ldrb r0, [r1] - movs r4, #3 - cmp r0, #0 - bne _080781C4 - b _080782B6 -_080781C4: - adds r4, r0, #0 - b _080782B6 - .align 2, 0 -_080781C8: .4byte gUnk_0200AF00 -_080781CC: .4byte gUnk_03003F80 -_080781D0: .4byte 0x00104D00 -_080781D4: - adds r1, r6, #0 - adds r1, #0x2d - ldrb r0, [r1] - cmp r0, #0 - bne _080781C4 - bl sub_080784E4 - adds r1, r0, #0 - ldr r0, [r1, #8] - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08078278 - ldrb r0, [r1, #1] - subs r0, #1 - cmp r0, #9 - bhi _080782B6 - lsls r0, r0, #2 - ldr r1, _08078204 @ =_08078208 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08078204: .4byte _08078208 -_08078208: @ jump table - .4byte _08078230 @ case 0 - .4byte _080782B6 @ case 1 - .4byte _08078254 @ case 2 - .4byte _080782B6 @ case 3 - .4byte _08078254 @ case 4 - .4byte _08078254 @ case 5 - .4byte _08078230 @ case 6 - .4byte _0807823C @ case 7 - .4byte _08078260 @ case 8 - .4byte _0807826C @ case 9 -_08078230: - movs r4, #7 - ldr r6, _08078238 @ =gUnk_0200AF00 - b _080782B6 - .align 2, 0 -_08078238: .4byte gUnk_0200AF00 -_0807823C: - ldr r0, _0807824C @ =gUnk_02034350 - ldrb r0, [r0, #6] - ldr r6, _08078250 @ =gUnk_0200AF00 - cmp r0, #0 - bne _080782B6 - movs r4, #9 - b _080782B6 - .align 2, 0 -_0807824C: .4byte gUnk_02034350 -_08078250: .4byte gUnk_0200AF00 -_08078254: - movs r4, #6 - ldr r6, _0807825C @ =gUnk_0200AF00 - b _080782B6 - .align 2, 0 -_0807825C: .4byte gUnk_0200AF00 -_08078260: - movs r4, #5 - ldr r6, _08078268 @ =gUnk_0200AF00 - b _080782B6 - .align 2, 0 -_08078268: .4byte gUnk_0200AF00 -_0807826C: - movs r4, #2 - ldr r6, _08078274 @ =gUnk_0200AF00 - b _080782B6 - .align 2, 0 -_08078274: .4byte gUnk_0200AF00 -_08078278: - bl sub_080789A8 - cmp r0, #0 - beq _080782A4 - adds r0, r5, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0xe - beq _080782BC - ldr r1, _080782A0 @ =gUnk_03003BE0 - ldrb r0, [r1, #1] - movs r4, #9 - cmp r0, #2 - bne _080782B6 - ldr r0, [r1, #8] - ldrb r0, [r0, #0x16] - cmp r0, #1 - bne _080782B6 - movs r4, #8 - b _080782B6 - .align 2, 0 -_080782A0: .4byte gUnk_03003BE0 -_080782A4: - adds r0, r5, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #1 - bne _080782B6 - ldrb r0, [r5, #0x1a] - cmp r0, #0 - bne _080782B6 - movs r4, #0xc -_080782B6: - adds r0, r6, #0 - adds r0, #0x2c - strb r4, [r0] -_080782BC: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080782C0 -sub_080782C0: @ 0x080782C0 - push {r4, r5, r6, lr} - ldr r1, _080782D8 @ =gUnk_03003F80 - adds r2, r1, #0 - adds r2, #0xa8 - ldrb r0, [r2] - adds r4, r1, #0 - cmp r0, #0 - bne _080782DC - adds r0, r4, #0 - adds r0, #0xa9 - ldrb r0, [r0] - b _080782DE - .align 2, 0 -_080782D8: .4byte gUnk_03003F80 -_080782DC: - ldrb r0, [r2] -_080782DE: - subs r0, #2 - cmp r0, #0x14 - bhi _08078348 - lsls r0, r0, #2 - ldr r1, _080782F0 @ =_080782F4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080782F0: .4byte _080782F4 -_080782F4: @ jump table - .4byte _080784AC @ case 0 - .4byte _080784AC @ case 1 - .4byte _08078348 @ case 2 - .4byte _08078348 @ case 3 - .4byte _08078348 @ case 4 - .4byte _08078348 @ case 5 - .4byte _08078348 @ case 6 - .4byte _08078348 @ case 7 - .4byte _08078348 @ case 8 - .4byte _08078348 @ case 9 - .4byte _080784AC @ case 10 - .4byte _08078348 @ case 11 - .4byte _08078348 @ case 12 - .4byte _08078348 @ case 13 - .4byte _08078348 @ case 14 - .4byte _08078348 @ case 15 - .4byte _080784AC @ case 16 - .4byte _08078348 @ case 17 - .4byte _08078348 @ case 18 - .4byte _080784AC @ case 19 - .4byte _080784AC @ case 20 -_08078348: - adds r0, r4, #0 - adds r0, #0x27 - adds r2, r4, #0 - adds r2, #0x26 - ldrb r1, [r0] - ldrb r0, [r2] - orrs r0, r1 - cmp r0, #0 - beq _0807835C - b _080784AC -_0807835C: - ldrb r0, [r4, #0x12] - cmp r0, #1 - bne _08078376 - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _0807836A - b _080784AC -_0807836A: - bl sub_08052B24 - cmp r0, #0 - beq _08078374 - b _080784C4 -_08078374: - b _080784AC -_08078376: - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #7 - ands r0, r1 - cmp r0, #0 - beq _08078384 - b _080784AC -_08078384: - bl sub_08052B24 - cmp r0, #0 - beq _0807838E - b _080784C4 -_0807838E: - bl sub_080784E4 - ldr r6, [r0, #8] - cmp r6, #0 - bne _0807839A - b _080784AC -_0807839A: - ldrb r0, [r4, #5] - cmp r0, #0 - beq _080783B6 - cmp r0, #4 - beq _080783A6 - b _080784AC -_080783A6: - ldr r0, _08078400 @ =gUnk_03001160 - ldr r0, [r0, #0x74] - ldr r0, [r0, #0x54] - ldrh r1, [r0, #8] - ldr r0, _08078404 @ =0x00000206 - cmp r1, r0 - beq _080783B6 - b _080784AC -_080783B6: - ldr r2, _08078408 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #5 - ands r0, r1 - adds r4, r2, #0 - cmp r0, #0 - beq _0807842C - ldr r5, _0807840C @ =gUnk_03003DF0 - ldr r0, [r5, #4] - ldrb r0, [r0, #3] - subs r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x63 - bhi _0807842C - movs r0, #0 - bl sub_0801E738 - ldr r0, _08078410 @ =gUnk_02002A40 - ldr r1, _08078414 @ =0x0000012B - adds r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0 - beq _08078418 - ldr r1, [r5, #4] - ldrb r0, [r1, #3] - strb r0, [r5, #2] - ldr r0, [r1, #8] - adds r0, #0x39 - movs r1, #2 - strb r1, [r0] - movs r0, #7 - strb r0, [r4, #0xc] - b _08078420 - .align 2, 0 -_08078400: .4byte gUnk_03001160 -_08078404: .4byte 0x00000206 -_08078408: .4byte gUnk_03003F80 -_0807840C: .4byte gUnk_03003DF0 -_08078410: .4byte gUnk_02002A40 -_08078414: .4byte 0x0000012B -_08078418: - ldr r0, _08078428 @ =0x00000B65 - movs r1, #0 - bl sub_08078AA8 -_08078420: - movs r0, #0x13 - bl sub_08078160 - b _080784C4 - .align 2, 0 -_08078428: .4byte 0x00000B65 -_0807842C: - adds r0, r4, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0x88 - ands r0, r1 - cmp r0, #0 - beq _080784AC - ldr r0, _08078450 @ =gUnk_03003DF0 - ldr r0, [r0, #4] - ldrb r0, [r0, #1] - cmp r0, #0xa - bhi _080784C4 - lsls r0, r0, #2 - ldr r1, _08078454 @ =_08078458 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08078450: .4byte gUnk_03003DF0 -_08078454: .4byte _08078458 -_08078458: @ jump table - .4byte _080784C4 @ case 0 - .4byte _08078484 @ case 1 - .4byte _080784C4 @ case 2 - .4byte _0807848E @ case 3 - .4byte _080784C4 @ case 4 - .4byte _0807848E @ case 5 - .4byte _08078484 @ case 6 - .4byte _0807848E @ case 7 - .4byte _080784A4 @ case 8 - .4byte _08078484 @ case 9 - .4byte _08078484 @ case 10 -_08078484: - movs r0, #7 - strb r0, [r4, #0xc] - movs r0, #0x13 - bl sub_08078160 -_0807848E: - adds r1, r6, #0 - adds r1, #0x39 - movs r2, #0 - movs r0, #1 - strb r0, [r1] - ldr r0, _080784A0 @ =gUnk_03003DF0 - strb r2, [r0, #2] - b _080784C4 - .align 2, 0 -_080784A0: .4byte gUnk_03003DF0 -_080784A4: - ldr r2, _080784B0 @ =gUnk_02034350 - ldrb r0, [r2, #6] - cmp r0, #0 - beq _080784B4 -_080784AC: - movs r0, #0 - b _080784C6 - .align 2, 0 -_080784B0: .4byte gUnk_02034350 -_080784B4: - adds r1, r6, #0 - adds r1, #0x39 - movs r0, #1 - strb r0, [r1] - ldrb r0, [r6, #0xa] - strb r0, [r2, #6] - ldrb r0, [r6, #0xb] - strb r0, [r2, #7] -_080784C4: - movs r0, #1 -_080784C6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080784C8 -sub_080784C8: @ 0x080784C8 - push {r4, lr} - ldr r4, _080784DC @ =gUnk_03003DF0 - movs r1, #0xc4 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_0801D630 - ldr r0, _080784E0 @ =gUnk_0811C000 - str r0, [r4, #4] - pop {r4, pc} - .align 2, 0 -_080784DC: .4byte gUnk_03003DF0 -_080784E0: .4byte gUnk_0811C000 - - thumb_func_start sub_080784E4 -sub_080784E4: @ 0x080784E4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, _080784FC @ =gUnk_03003DF0 - ldrb r1, [r0] - mov r8, r0 - cmp r1, #0 - beq _08078500 - ldr r0, [r0, #4] - b _0807876A - .align 2, 0 -_080784FC: .4byte gUnk_03003DF0 -_08078500: - ldr r2, _08078528 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x27 - adds r3, r2, #0 - adds r3, #0x26 - ldrb r1, [r0] - ldrb r0, [r3] - orrs r0, r1 - cmp r0, #0 - bne _08078598 - adds r1, r2, #0 - adds r1, #0xa8 - ldrb r0, [r1] - cmp r0, #0 - bne _0807852C - adds r0, r2, #0 - adds r0, #0xa9 - ldrb r0, [r0] - b _0807852E - .align 2, 0 -_08078528: .4byte gUnk_03003F80 -_0807852C: - ldrb r0, [r1] -_0807852E: - subs r0, #2 - cmp r0, #0x14 - bhi _080785B0 - lsls r0, r0, #2 - ldr r1, _08078540 @ =_08078544 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08078540: .4byte _08078544 -_08078544: @ jump table - .4byte _08078598 @ case 0 - .4byte _08078598 @ case 1 - .4byte _080785B0 @ case 2 - .4byte _080785B0 @ case 3 - .4byte _080785B0 @ case 4 - .4byte _080785B0 @ case 5 - .4byte _080785B0 @ case 6 - .4byte _080785B0 @ case 7 - .4byte _080785B0 @ case 8 - .4byte _080785B0 @ case 9 - .4byte _080785B0 @ case 10 - .4byte _080785B0 @ case 11 - .4byte _080785B0 @ case 12 - .4byte _080785B0 @ case 13 - .4byte _080785B0 @ case 14 - .4byte _080785B0 @ case 15 - .4byte _08078598 @ case 16 - .4byte _080785B0 @ case 17 - .4byte _080785B0 @ case 18 - .4byte _08078598 @ case 19 - .4byte _08078598 @ case 20 -_08078598: - movs r0, #0xff - mov r1, r8 - strb r0, [r1, #3] - ldr r0, _080785AC @ =gUnk_0811C000 - str r0, [r1, #4] - movs r1, #1 - mov r2, r8 - strb r1, [r2] - b _0807876A - .align 2, 0 -_080785AC: .4byte gUnk_0811C000 -_080785B0: - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080785F0 - bl sub_08052734 - cmp r0, #0 - beq _080785C4 - movs r0, #1 -_080785C4: - adds r7, r0, #0 - bl sub_08052764 - cmp r0, #0 - beq _080785D2 - movs r0, #2 - orrs r7, r0 -_080785D2: - ldr r3, _080785E4 @ =gUnk_03001160 - ldrb r0, [r3, #0x14] - movs r1, #6 - ands r1, r0 - ldr r0, _080785E8 @ =gUnk_0811C00C - adds r2, r1, r0 - ldr r5, _080785EC @ =gUnk_03003DF0 - mov r8, r5 - b _080785FE - .align 2, 0 -_080785E4: .4byte gUnk_03001160 -_080785E8: .4byte gUnk_0811C00C -_080785EC: .4byte gUnk_03003DF0 -_080785F0: - ldr r3, _08078624 @ =gUnk_03001160 - ldrb r0, [r3, #0x14] - movs r1, #6 - ands r1, r0 - ldr r0, _08078628 @ =gUnk_0811C014 - adds r2, r1, r0 - movs r7, #0 -_080785FE: - mov ip, r3 - mov r0, ip - movs r3, #0x2e - ldrsh r1, [r0, r3] - movs r0, #0 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - mov sl, r1 - mov r5, ip - movs r0, #0x32 - ldrsh r1, [r5, r0] - movs r0, #1 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - mov sb, r1 - movs r6, #0 - ldr r5, _0807862C @ =gUnk_03003DF8 - b _08078724 - .align 2, 0 -_08078624: .4byte gUnk_03001160 -_08078628: .4byte gUnk_0811C014 -_0807862C: .4byte gUnk_03003DF8 -_08078630: - ldrb r1, [r5] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _0807864E - mov r0, ip - adds r0, #0x38 - adds r1, r2, #0 - adds r1, #0x38 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - beq _08078714 -_0807864E: - ldrb r1, [r5, #2] - mov r2, ip - ldrb r0, [r2, #0x14] - lsrs r0, r0, #1 - asrs r1, r0 - ands r1, r3 - cmp r1, #0 - bne _08078714 - ldrb r0, [r5, #1] - cmp r0, #0xa - bhi _080786D4 - lsls r0, r0, #2 - ldr r1, _08078670 @ =_08078674 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08078670: .4byte _08078674 -_08078674: @ jump table - .4byte _08078714 @ case 0 - .4byte _080786A0 @ case 1 - .4byte _080786C4 @ case 2 - .4byte _080786A0 @ case 3 - .4byte _080786A0 @ case 4 - .4byte _080786C8 @ case 5 - .4byte _080786CC @ case 6 - .4byte _080786B4 @ case 7 - .4byte _080786A0 @ case 8 - .4byte _080786A0 @ case 9 - .4byte _080786D4 @ case 10 -_080786A0: - ldr r0, _080786B0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08078714 - b _080786D4 - .align 2, 0 -_080786B0: .4byte gUnk_03003F80 -_080786B4: - ldr r0, _080786C0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - b _080786D0 - .align 2, 0 -_080786C0: .4byte gUnk_03003F80 -_080786C4: - ldrb r0, [r5, #3] - b _080786D0 -_080786C8: - movs r0, #1 - b _080786CE -_080786CC: - movs r0, #2 -_080786CE: - ands r0, r7 -_080786D0: - cmp r0, #0 - beq _08078714 -_080786D4: - ldr r0, [r5, #8] - movs r1, #0x2e - ldrsh r3, [r0, r1] - movs r2, #0x32 - ldrsh r4, [r0, r2] - ldr r1, [r5, #4] - cmp r1, #0 - beq _080786F4 - movs r0, #0 - ldrsb r0, [r1, r0] - adds r3, r3, r0 - movs r0, #1 - ldrsb r0, [r1, r0] - adds r4, r4, r0 - adds r2, r1, #2 - b _080786F8 -_080786F4: - ldr r0, [r0, #0x48] - adds r2, r0, #6 -_080786F8: - ldrb r1, [r2] - mov r5, sl - adds r0, r1, r5 - subs r0, r0, r3 - lsls r1, r1, #1 - cmp r0, r1 - bhs _08078714 - ldrb r1, [r2, #1] - mov r2, sb - adds r0, r1, r2 - subs r0, r0, r4 - lsls r1, r1, #1 - cmp r0, r1 - blo _0807873A -_08078714: - adds r6, #1 - cmp r6, #0x1f - bhi _08078758 - lsls r0, r6, #1 - adds r0, r0, r6 - lsls r0, r0, #2 - ldr r3, _08078754 @ =gUnk_03003DF8 - adds r5, r0, r3 -_08078724: - ldr r2, [r5, #8] - cmp r2, #0 - beq _08078714 - adds r0, r2, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - blt _0807873A - b _08078630 -_0807873A: - cmp r6, #0x1f - bhi _08078758 - mov r5, r8 - strb r6, [r5, #3] - lsls r0, r6, #1 - adds r0, r0, r6 - lsls r0, r0, #2 - mov r1, r8 - adds r1, #8 - adds r0, r0, r1 - str r0, [r5, #4] - b _08078762 - .align 2, 0 -_08078754: .4byte gUnk_03003DF8 -_08078758: - movs r0, #0xff - mov r1, r8 - strb r0, [r1, #3] - ldr r0, _08078774 @ =gUnk_0811C000 - str r0, [r1, #4] -_08078762: - movs r0, #1 - mov r2, r8 - strb r0, [r2] - ldr r0, [r2, #4] -_0807876A: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08078774: .4byte gUnk_0811C000 - - thumb_func_start sub_08078778 -sub_08078778: @ 0x08078778 - push {lr} - movs r1, #1 - movs r2, #0 - bl sub_0807887C - pop {pc} - - thumb_func_start sub_08078784 -sub_08078784: @ 0x08078784 - push {lr} - adds r2, r1, #0 - movs r1, #1 - bl sub_0807887C - pop {pc} - - thumb_func_start sub_08078790 -sub_08078790: @ 0x08078790 - push {lr} - adds r2, r1, #0 - movs r1, #2 - bl sub_0807887C - pop {pc} - - thumb_func_start sub_0807879C -sub_0807879C: @ 0x0807879C - push {lr} - movs r1, #7 - movs r2, #0 - bl sub_0807887C - pop {pc} - - thumb_func_start sub_080787A8 -sub_080787A8: @ 0x080787A8 - push {lr} - adds r2, r1, #0 - movs r1, #7 - bl sub_0807887C - pop {pc} - - thumb_func_start sub_080787B4 -sub_080787B4: @ 0x080787B4 - push {lr} - movs r1, #9 - movs r2, #0 - bl sub_0807887C - pop {pc} - - thumb_func_start sub_080787C0 -sub_080787C0: @ 0x080787C0 - push {lr} - movs r1, #0xa - movs r2, #0 - bl sub_0807887C - pop {pc} - - thumb_func_start sub_080787CC -sub_080787CC: @ 0x080787CC - push {lr} - movs r1, #5 - movs r2, #0 - bl sub_0807887C - pop {pc} - - thumb_func_start sub_080787D8 -sub_080787D8: @ 0x080787D8 - push {lr} - movs r1, #8 - movs r2, #0 - bl sub_0807887C - adds r2, r0, #0 - cmp r2, #0 - blt _080787F6 - ldr r0, _080787FC @ =gUnk_03003DF0 - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r1, r1, r0 - movs r0, #0xbe - strb r0, [r1, #0xa] -_080787F6: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_080787FC: .4byte gUnk_03003DF0 - - thumb_func_start sub_08078800 -sub_08078800: @ 0x08078800 - push {lr} - movs r1, #6 - movs r2, #0 - bl sub_0807887C - adds r2, r0, #0 - cmp r2, #0 - blt _0807881E - ldr r0, _08078824 @ =gUnk_03003DF0 - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r1, r1, r0 - movs r0, #0xbe - strb r0, [r1, #0xa] -_0807881E: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_08078824: .4byte gUnk_03003DF0 - - thumb_func_start sub_08078828 -sub_08078828: @ 0x08078828 - push {lr} - movs r1, #3 - movs r2, #0 - bl sub_0807887C - adds r2, r0, #0 - cmp r2, #0 - blt _08078846 - ldr r0, _0807884C @ =gUnk_03003DF0 - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r1, r1, r0 - movs r0, #0xbe - strb r0, [r1, #0xa] -_08078846: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0807884C: .4byte gUnk_03003DF0 - - thumb_func_start sub_08078850 -sub_08078850: @ 0x08078850 - push {r4, r5, r6, lr} - adds r4, r1, #0 - adds r5, r2, #0 - adds r6, r3, #0 - bl sub_08078904 - adds r2, r0, #0 - cmp r2, #0 - blt _08078876 - ldr r0, _08078878 @ =gUnk_03003DF0 - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r2, r1, r0 - strb r4, [r2, #8] - strb r5, [r2, #0xa] - adds r0, #0xc - adds r1, r1, r0 - str r6, [r1] -_08078876: - pop {r4, r5, r6, pc} - .align 2, 0 -_08078878: .4byte gUnk_03003DF0 - - thumb_func_start sub_0807887C -sub_0807887C: @ 0x0807887C - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r7, r1, #0 - adds r6, r2, #0 - adds r1, r5, #0 - adds r1, #0x39 - movs r0, #0 - strb r0, [r1] - adds r0, r5, #0 - bl sub_08078904 - adds r4, r0, #0 - cmp r4, #0 - bge _080788A4 - movs r0, #0 - bl sub_08078904 - adds r4, r0, #0 - cmp r4, #0 - blt _080788BA -_080788A4: - ldr r2, _080788DC @ =gUnk_03003DF0 - lsls r1, r4, #1 - adds r1, r1, r4 - lsls r1, r1, #2 - adds r0, r2, #0 - adds r0, #0x10 - adds r0, r1, r0 - str r5, [r0] - adds r1, r1, r2 - strb r7, [r1, #9] - strb r6, [r1, #0xb] -_080788BA: - cmp r6, #0 - beq _080788D6 - movs r0, #6 - movs r1, #9 - movs r2, #6 - bl sub_0805EB00 - cmp r0, #0 - bne _080788D6 - movs r0, #9 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 -_080788D6: - adds r0, r4, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080788DC: .4byte gUnk_03003DF0 - - thumb_func_start sub_080788E0 -sub_080788E0: @ 0x080788E0 - push {lr} - bl sub_08078904 - adds r1, r0, #0 - cmp r1, #0 - blt _080788FC - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _08078900 @ =gUnk_03003DF8 - adds r0, r0, r1 - movs r1, #0xc - bl sub_0801D630 -_080788FC: - pop {pc} - .align 2, 0 -_08078900: .4byte gUnk_03003DF8 - - thumb_func_start sub_08078904 -sub_08078904: @ 0x08078904 - push {lr} - adds r3, r0, #0 - movs r1, #0 - ldr r0, _0807891C @ =gUnk_03003DF0 - adds r2, r0, #0 - adds r2, #0x10 -_08078910: - ldr r0, [r2] - cmp r3, r0 - bne _08078920 - adds r0, r1, #0 - b _0807892C - .align 2, 0 -_0807891C: .4byte gUnk_03003DF0 -_08078920: - adds r2, #0xc - adds r1, #1 - cmp r1, #0x1f - bls _08078910 - movs r0, #1 - rsbs r0, r0, #0 -_0807892C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08078930 -sub_08078930: @ 0x08078930 - push {lr} - adds r3, r0, #0 - ldr r2, _08078950 @ =gUnk_03003BE0 - ldrb r0, [r2, #2] - cmp r0, #0x1f - bhi _0807894C - lsls r0, r0, #2 - adds r1, r2, #0 - adds r1, #0xc - adds r0, r0, r1 - str r3, [r0] - ldrb r0, [r2, #2] - adds r0, #1 - strb r0, [r2, #2] -_0807894C: - pop {pc} - .align 2, 0 -_08078950: .4byte gUnk_03003BE0 - - thumb_func_start sub_08078954 -sub_08078954: @ 0x08078954 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - ldr r0, _08078970 @ =gUnk_03003BE0 - ldrb r1, [r0, #2] - adds r2, r0, #0 - cmp r4, r1 - bhs _080789A6 - ldr r0, [r2, #0xc] - cmp r0, r5 - bne _08078974 - subs r0, r1, #1 - b _0807898C - .align 2, 0 -_08078970: .4byte gUnk_03003BE0 -_08078974: - adds r4, #1 - ldrb r3, [r2, #2] - cmp r4, r3 - bhs _080789A6 - lsls r0, r4, #2 - adds r1, r2, #0 - adds r1, #0xc - adds r0, r0, r1 - ldr r0, [r0] - cmp r0, r5 - bne _08078974 - subs r0, r3, #1 -_0807898C: - strb r0, [r2, #2] - ldrb r0, [r2, #2] - cmp r4, r0 - bhs _080789A6 - lsls r0, r4, #2 - adds r0, #0xc - adds r1, r0, r2 -_0807899A: - ldr r0, [r1, #4] - stm r1!, {r0} - adds r4, #1 - ldrb r0, [r2, #2] - cmp r4, r0 - blo _0807899A -_080789A6: - pop {r4, r5, pc} - - thumb_func_start sub_080789A8 -sub_080789A8: @ 0x080789A8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r1, _080789BC @ =gUnk_03003BE0 - ldrb r0, [r1] - cmp r0, #0 - beq _080789C0 - ldrb r0, [r1, #1] - b _08078A88 - .align 2, 0 -_080789BC: .4byte gUnk_03003BE0 -_080789C0: - ldr r0, _08078A5C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08078A56 - ldr r0, _08078A60 @ =gUnk_03001160 - bl sub_080002D0 - adds r4, r0, #0 - cmp r4, #0xf - bls _080789E6 - ldr r0, _08078A64 @ =gUnk_080084BC - adds r1, r4, #0 - subs r1, #0x10 - adds r1, r1, r0 - ldrb r0, [r1] - cmp r0, #0xf - beq _08078A56 -_080789E6: - ldr r0, _08078A5C @ =gUnk_03003F80 - ldrb r0, [r0, #0x12] - cmp r0, #0x12 - beq _08078A56 - ldr r3, _08078A68 @ =gUnk_03003BE0 - movs r0, #1 - strb r0, [r3] - ldrb r4, [r3, #2] - cmp r4, #0 - beq _08078A2E - ldr r2, _08078A60 @ =gUnk_03001160 - ldrb r1, [r2, #0x14] - movs r0, #6 - ands r0, r1 - ldr r1, _08078A6C @ =gUnk_0811BFE0 - adds r6, r0, r1 - adds r7, r2, #0 - adds r3, #8 - mov r8, r3 -_08078A0C: - lsls r0, r4, #2 - mov r1, r8 - adds r5, r0, r1 - ldr r1, [r5] - cmp r1, #0 - beq _08078A26 - ldrb r2, [r6] - ldrb r3, [r6, #1] - adds r0, r7, #0 - bl sub_0807A180 - cmp r0, #0 - bne _08078A74 -_08078A26: - subs r4, #1 - ldr r7, _08078A60 @ =gUnk_03001160 - cmp r4, #0 - bne _08078A0C -_08078A2E: - ldr r0, _08078A60 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - movs r2, #6 - ands r2, r1 - ldr r1, _08078A70 @ =gUnk_08007DF4 - adds r2, r2, r1 - movs r1, #0 - ldrsb r1, [r2, r1] - ldrb r2, [r2, #1] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - bl sub_0800029C - ldr r4, _08078A68 @ =gUnk_03003BE0 - strh r0, [r4, #4] - movs r1, #6 - bl sub_0806FC24 - cmp r0, #0 - bne _08078A84 -_08078A56: - movs r0, #0 - b _08078A88 - .align 2, 0 -_08078A5C: .4byte gUnk_03003F80 -_08078A60: .4byte gUnk_03001160 -_08078A64: .4byte gUnk_080084BC -_08078A68: .4byte gUnk_03003BE0 -_08078A6C: .4byte gUnk_0811BFE0 -_08078A70: .4byte gUnk_08007DF4 -_08078A74: - mov r0, r8 - subs r0, #8 - ldr r1, [r5] - str r1, [r0, #8] - movs r1, #2 - strb r1, [r0, #1] - movs r0, #2 - b _08078A88 -_08078A84: - movs r0, #1 - strb r0, [r4, #1] -_08078A88: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08078A90 -sub_08078A90: @ 0x08078A90 - push {lr} - adds r1, r0, #0 - ldr r0, _08078AA4 @ =gUnk_03003F80 - adds r2, r0, #0 - adds r2, #0x8b - ldrb r0, [r2] - cmp r0, #3 - beq _08078AA2 - strb r1, [r2] -_08078AA2: - pop {pc} - .align 2, 0 -_08078AA4: .4byte gUnk_03003F80 - - thumb_func_start sub_08078AA8 -sub_08078AA8: @ 0x08078AA8 - ldr r3, _08078AB8 @ =gUnk_03003F80 - movs r2, #0x16 - strb r2, [r3, #0xc] - ldr r2, _08078ABC @ =gUnk_030010A0 - strh r0, [r2, #0x36] - adds r2, #0x35 - strb r1, [r2] - bx lr - .align 2, 0 -_08078AB8: .4byte gUnk_03003F80 -_08078ABC: .4byte gUnk_030010A0 - - thumb_func_start sub_08078AC0 -sub_08078AC0: @ 0x08078AC0 - push {r4, lr} - ldr r3, _08078AEC @ =gUnk_03003F80 - mov ip, r3 - movs r3, #0xf - mov r4, ip - strb r3, [r4, #0xc] - mov r3, ip - adds r3, #0x38 - strb r0, [r3] - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - mov r1, ip - adds r1, #0x39 - strb r0, [r1] - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - adds r1, #1 - strb r0, [r1] - pop {r4, pc} - .align 2, 0 -_08078AEC: .4byte gUnk_03003F80 - - thumb_func_start sub_08078AF0 -sub_08078AF0: @ 0x08078AF0 - push {r4, lr} - ldr r3, _08078B40 @ =gUnk_03003F80 - mov ip, r3 - adds r3, #0x38 - movs r4, #0 - strb r1, [r3] - mov r1, ip - adds r1, #0x39 - strb r2, [r1] - adds r1, #1 - strb r4, [r1] - movs r1, #8 - mov r2, ip - strb r1, [r2, #0xc] - adds r2, #0xa8 - movs r1, #0x15 - strb r1, [r2] - mov r1, ip - adds r1, #0x26 - strb r4, [r1] - movs r1, #1 - mov r3, ip - strb r1, [r3, #0x14] - ldr r2, _08078B44 @ =gUnk_03001160 - str r0, [r2, #0x54] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #0x11] - bl sub_0807A108 - pop {r4, pc} - .align 2, 0 -_08078B40: .4byte gUnk_03003F80 -_08078B44: .4byte gUnk_03001160 - - thumb_func_start sub_08078B48 -sub_08078B48: @ 0x08078B48 - push {lr} - ldr r1, _08078B80 @ =gUnk_03003F80 - ldrb r0, [r1, #7] - movs r2, #0x80 - orrs r0, r2 - strb r0, [r1, #7] - ldrb r0, [r1, #0xb] - orrs r0, r2 - strb r0, [r1, #0xb] - ldrb r0, [r1, #0xa] - orrs r2, r0 - strb r2, [r1, #0xa] - adds r2, r1, #0 - adds r2, #0x27 - movs r0, #2 - strb r0, [r2] - adds r0, r1, #0 - adds r0, #0xa8 - ldrb r0, [r0] - subs r0, #4 - adds r2, r1, #0 - cmp r0, #0x19 - bhi _08078BF8 - lsls r0, r0, #2 - ldr r1, _08078B84 @ =_08078B88 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08078B80: .4byte gUnk_03003F80 -_08078B84: .4byte _08078B88 -_08078B88: @ jump table - .4byte _08078C04 @ case 0 - .4byte _08078C04 @ case 1 - .4byte _08078BF8 @ case 2 - .4byte _08078BF8 @ case 3 - .4byte _08078BF8 @ case 4 - .4byte _08078BF0 @ case 5 - .4byte _08078BF8 @ case 6 - .4byte _08078BF8 @ case 7 - .4byte _08078BF8 @ case 8 - .4byte _08078BF8 @ case 9 - .4byte _08078BF8 @ case 10 - .4byte _08078BF8 @ case 11 - .4byte _08078BF8 @ case 12 - .4byte _08078BF8 @ case 13 - .4byte _08078BF8 @ case 14 - .4byte _08078BF8 @ case 15 - .4byte _08078BF8 @ case 16 - .4byte _08078BF8 @ case 17 - .4byte _08078BF8 @ case 18 - .4byte _08078BF8 @ case 19 - .4byte _08078BF8 @ case 20 - .4byte _08078C04 @ case 21 - .4byte _08078C04 @ case 22 - .4byte _08078BF8 @ case 23 - .4byte _08078BF8 @ case 24 - .4byte _08078C04 @ case 25 -_08078BF0: - ldr r0, [r2, #0x30] - ldr r1, _08078C18 @ =0xFFFBFFFF - ands r0, r1 - str r0, [r2, #0x30] -_08078BF8: - ldr r0, _08078C1C @ =gUnk_02034350 - ldrb r0, [r0, #6] - cmp r0, #0 - bne _08078C04 - movs r0, #1 - strb r0, [r2, #0x1a] -_08078C04: - ldr r0, _08078C20 @ =gUnk_03001160 - adds r0, #0x3d - movs r1, #0xfe - strb r1, [r0] - adds r1, r2, #0 - adds r1, #0x8a - movs r0, #2 - strb r0, [r1] - pop {pc} - .align 2, 0 -_08078C18: .4byte 0xFFFBFFFF -_08078C1C: .4byte gUnk_02034350 -_08078C20: .4byte gUnk_03001160 - - thumb_func_start sub_08078C24 -sub_08078C24: @ 0x08078C24 - push {lr} - ldr r3, _08078CAC @ =gUnk_03003F80 - movs r2, #0 - strb r2, [r3] - strb r2, [r3, #1] - strb r2, [r3, #2] - strb r2, [r3, #3] - strb r2, [r3, #4] - strb r2, [r3, #5] - strb r2, [r3, #6] - strb r2, [r3, #7] - movs r0, #0 - strh r2, [r3, #8] - strb r0, [r3, #0xa] - strb r0, [r3, #0xb] - movs r1, #0x35 - adds r1, r1, r3 - mov ip, r1 - adds r1, r3, #0 - adds r1, #0x36 - strb r0, [r1] - strb r0, [r3, #0xc] - strb r0, [r3, #0xd] - strb r0, [r3, #0xe] - strb r0, [r3, #0x11] - strb r0, [r3, #0x12] - strb r0, [r3, #0x13] - strb r0, [r3, #0x14] - strb r0, [r3, #0x1b] - strb r0, [r3, #0x1e] - strb r0, [r3, #0x1f] - subs r1, #0x16 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - strh r2, [r3, #0x22] - strh r2, [r3, #0x24] - adds r1, #5 - strb r0, [r1] - str r2, [r3, #0x2c] - adds r1, #0x5a - strh r2, [r1] - mov r1, ip - strb r0, [r1] - str r2, [r3, #0x30] - adds r1, r3, #0 - adds r1, #0x38 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - adds r1, #5 - strb r0, [r1] - subs r1, #3 - strb r0, [r1] - movs r0, #1 - rsbs r0, r0, #0 - adds r1, #4 - movs r2, #0x40 - bl sub_0801D610 - ldr r0, _08078CB0 @ =gUnk_03003DF0 - movs r1, #0xc4 - lsls r1, r1, #1 - bl sub_0801D630 - pop {pc} - .align 2, 0 -_08078CAC: .4byte gUnk_03003F80 -_08078CB0: .4byte gUnk_03003DF0 - - thumb_func_start sub_08078CB4 -sub_08078CB4: @ 0x08078CB4 - push {lr} - ldr r0, _08078CCC @ =gUnk_03003F80 - ldrb r0, [r0, #5] - subs r0, #3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _08078CC8 - bl sub_08078D60 -_08078CC8: - pop {pc} - .align 2, 0 -_08078CCC: .4byte gUnk_03003F80 - - thumb_func_start sub_08078CD0 -sub_08078CD0: @ 0x08078CD0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x70] - ldrh r0, [r5, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - ldrb r1, [r5, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x1b] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1b] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - ldr r1, _08078D28 @ =gUnk_0811C01C - ldr r0, _08078D2C @ =gUnk_03003F80 - ldr r0, [r0, #0x2c] - ldrb r0, [r0, #0x1e] - adds r0, r0, r1 - ldrb r2, [r0] - ldr r3, _08078D30 @ =gUnk_0811C0B0 - ldrb r1, [r4, #0x1c] - movs r0, #0x30 - ands r0, r1 - lsrs r0, r0, #2 - adds r0, r0, r3 - lsls r2, r2, #1 - ldr r0, [r0] - adds r2, r0, r2 - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - bge _08078D34 - movs r1, #0 - ldrsb r1, [r2, r1] - ldrh r0, [r5, #0x2e] - subs r0, r0, r1 - b _08078D3C - .align 2, 0 -_08078D28: .4byte gUnk_0811C01C -_08078D2C: .4byte gUnk_03003F80 -_08078D30: .4byte gUnk_0811C0B0 -_08078D34: - movs r0, #0 - ldrsb r0, [r2, r0] - ldrh r1, [r5, #0x2e] - adds r0, r0, r1 -_08078D3C: - strh r0, [r4, #0x2e] - movs r0, #1 - ldrsb r0, [r2, r0] - ldrh r1, [r5, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r0, r5, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_0806FEBC - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _08078D5E - adds r0, r4, #0 - bl sub_0806FA24 -_08078D5E: - pop {r4, r5, pc} - - thumb_func_start sub_08078D60 -sub_08078D60: @ 0x08078D60 - push {r4, r5, r6, lr} - ldr r1, _08078DCC @ =gUnk_03001160 - ldr r0, [r1, #0x74] - ldr r4, [r0, #0x54] - ldrb r0, [r4, #0xc] - adds r6, r1, #0 - cmp r0, #2 - beq _08078D72 - b _08078E82 -_08078D72: - adds r0, r6, #0 - adds r0, #0x63 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r6, #0x36] - adds r0, r0, r1 - strh r0, [r4, #0x36] - ldrb r1, [r6, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x1b] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1b] - adds r0, r6, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r6, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r2, #0x7f - ands r2, r0 - ldr r1, _08078DD0 @ =gUnk_0811C0E8 - ldrb r0, [r4, #0x16] - lsrs r0, r0, #4 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - ldrb r0, [r6, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - bge _08078DD4 - adds r2, r1, r2 - movs r1, #0 - ldrsb r1, [r2, r1] - ldrh r0, [r6, #0x2e] - subs r0, r0, r1 - strh r0, [r4, #0x2e] - adds r1, r2, #0 - b _08078DE0 - .align 2, 0 -_08078DCC: .4byte gUnk_03001160 -_08078DD0: .4byte gUnk_0811C0E8 -_08078DD4: - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r2, [r6, #0x2e] - adds r0, r0, r2 - strh r0, [r4, #0x2e] -_08078DE0: - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r4, #0x36] - adds r0, r0, r1 - strh r0, [r4, #0x36] - adds r5, r6, #0 - ldrh r0, [r5, #0x32] - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 - ldr r0, _08078E34 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #4 - bne _08078E4C - ldrb r1, [r5, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - bl sub_0806F8DC - ldrb r1, [r4, #0x16] - movs r0, #0xf - ands r0, r1 - cmp r0, #2 - bne _08078E82 - ldr r0, _08078E38 @ =gUnk_030010A0 - ldr r1, [r0] - movs r0, #3 - ands r1, r0 - cmp r1, #1 - beq _08078E3C - cmp r1, #3 - beq _08078E44 - b _08078E82 - .align 2, 0 -_08078E34: .4byte gUnk_03003F80 -_08078E38: .4byte gUnk_030010A0 -_08078E3C: - ldrh r0, [r4, #0x2e] - adds r0, #1 - strh r0, [r4, #0x2e] - b _08078E82 -_08078E44: - ldrh r0, [r4, #0x2e] - subs r0, #1 - strh r0, [r4, #0x2e] - b _08078E82 -_08078E4C: - ldrb r0, [r5, #0x14] - lsrs r0, r0, #1 - cmp r0, #0 - beq _08078E62 - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - b _08078E6E -_08078E62: - adds r0, r6, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - adds r1, #1 -_08078E6E: - adds r3, r4, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_08078E82: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08078E84 -sub_08078E84: @ 0x08078E84 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldr r0, _08078ED0 @ =gUnk_03001160 - cmp r4, r0 - bne _08078EAC - adds r0, r5, #0 - bl sub_08079BD8 - adds r0, r4, #0 - adds r0, #0x62 - ldrb r0, [r0] - adds r1, r5, #0 - adds r1, #0x62 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x63 - ldrb r0, [r0] - adds r1, #1 - strb r0, [r1] -_08078EAC: - ldr r0, _08078ED4 @ =gUnk_080029B4 - ldrh r2, [r4, #0x12] - lsls r2, r2, #4 - adds r0, #4 - adds r2, r2, r0 - ldrb r1, [r4, #0x1e] - lsls r1, r1, #2 - ldr r0, [r2] - adds r0, r0, r1 - ldrb r0, [r0, #1] - cmp r0, #0 - beq _08078ED8 - adds r0, r4, #0 - movs r1, #1 - adds r2, r5, #0 - bl sub_0806FEBC - b _08078EE2 - .align 2, 0 -_08078ED0: .4byte gUnk_03001160 -_08078ED4: .4byte gUnk_080029B4 -_08078ED8: - adds r0, r4, #0 - movs r1, #3 - adds r2, r5, #0 - bl sub_0806FEBC -_08078EE2: - pop {r4, r5, pc} - - thumb_func_start sub_08078EE4 -sub_08078EE4: @ 0x08078EE4 - ldr r2, _08078EF4 @ =gUnk_03001160 - ldr r1, _08078EF8 @ =gUnk_03003F80 - ldrh r0, [r1, #0x16] - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x18] - strh r0, [r2, #0x32] - bx lr - .align 2, 0 -_08078EF4: .4byte gUnk_03001160 -_08078EF8: .4byte gUnk_03003F80 - - thumb_func_start sub_08078EFC -sub_08078EFC: @ 0x08078EFC - push {lr} - ldr r3, _08078F18 @ =gUnk_03003F80 - ldrb r2, [r3, #0xc] - cmp r2, #0 - beq _08078F20 - ldr r0, _08078F1C @ =gUnk_03001160 - movs r1, #0 - strb r2, [r0, #0xc] - strb r1, [r0, #0xd] - strb r1, [r3, #0xc] - bl sub_08070680 - movs r0, #1 - b _08078F22 - .align 2, 0 -_08078F18: .4byte gUnk_03003F80 -_08078F1C: .4byte gUnk_03001160 -_08078F20: - movs r0, #0 -_08078F22: - pop {pc} - - thumb_func_start sub_08078F24 -sub_08078F24: @ 0x08078F24 - push {r4, lr} - ldr r4, _08078F38 @ =gUnk_03003F80 - ldrb r3, [r4, #0xd] - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _08078F3C - bl sub_08078F60 - b _08078F5A - .align 2, 0 -_08078F38: .4byte gUnk_03003F80 -_08078F3C: - ldr r2, _08078F5C @ =gUnk_080C9160 - lsls r0, r3, #4 - adds r0, r0, r2 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x8c - strh r1, [r0] - lsls r0, r3, #4 - adds r0, #0x80 - adds r0, r0, r2 - ldrh r0, [r0] - rsbs r0, r0, #0 - adds r1, r4, #0 - adds r1, #0x8e - strh r0, [r1] -_08078F5A: - pop {r4, pc} - .align 2, 0 -_08078F5C: .4byte gUnk_080C9160 - - thumb_func_start sub_08078F60 -sub_08078F60: @ 0x08078F60 - ldr r0, _08078F70 @ =gUnk_03003F80 - adds r1, r0, #0 - adds r1, #0x8c - movs r2, #0 - strh r2, [r1] - adds r0, #0x8e - strh r2, [r0] - bx lr - .align 2, 0 -_08078F70: .4byte gUnk_03003F80 - - thumb_func_start sub_08078F74 -sub_08078F74: @ 0x08078F74 - push {lr} - adds r2, r0, #0 - ldr r0, _08078FA4 @ =gUnk_02033A90 - ldrb r0, [r0, #0x18] - cmp r0, #3 - bne _08078FAC - ldr r3, _08078FA8 @ =gUnk_03003F80 - adds r0, r3, #0 - adds r0, #0x35 - ldrb r0, [r0] - cmp r0, #0xff - beq _08078FAC - movs r1, #0 - movs r0, #0x81 - strb r0, [r3, #2] - movs r0, #0x15 - strb r0, [r2, #0xc] - strb r1, [r2, #0xd] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r2, #0x20] - movs r0, #1 - b _08078FAE - .align 2, 0 -_08078FA4: .4byte gUnk_02033A90 -_08078FA8: .4byte gUnk_03003F80 -_08078FAC: - movs r0, #0 -_08078FAE: - pop {pc} - - thumb_func_start sub_08078FB0 -sub_08078FB0: @ 0x08078FB0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, _08078FE0 @ =gUnk_03003F80 - ldrb r1, [r5, #6] - movs r6, #0x80 - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - bne _08078FCA - adds r1, r5, #0 - adds r1, #0x35 - movs r0, #0xff - strb r0, [r1] -_08078FCA: - adds r0, r4, #0 - bl sub_08079064 - ldr r1, [r5, #0x30] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08078FE4 - movs r2, #0x58 - b _08078FFA - .align 2, 0 -_08078FE0: .4byte gUnk_03003F80 -_08078FE4: - ands r1, r6 - cmp r1, #0 - beq _08078FEE - movs r2, #0x18 - b _08078FFA -_08078FEE: - ldrh r0, [r5, #8] - lsrs r0, r0, #8 - movs r2, #0xb8 - cmp r0, #7 - bne _08078FFA - movs r2, #0x34 -_08078FFA: - ldr r0, _08079014 @ =gUnk_03003F80 - adds r3, r0, #0 - ldrb r1, [r0, #8] - cmp r2, r1 - bls _08079040 - ldrb r0, [r4, #0x14] - adds r2, r0, #0 - cmp r2, #4 - bls _08079018 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - b _08079020 - .align 2, 0 -_08079014: .4byte gUnk_03003F80 -_08079018: - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 -_08079020: - strb r0, [r4, #0x18] - ldr r0, [r3, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xc - ands r0, r1 - cmp r0, #0 - beq _08079036 - ldrh r1, [r3, #8] - ldrb r0, [r4, #0x14] - adds r2, r1, r0 - b _08079042 -_08079036: - lsls r0, r2, #0x18 - lsrs r0, r0, #0x19 - ldrh r3, [r3, #8] - adds r2, r0, r3 - b _08079042 -_08079040: - ldrh r2, [r0, #8] -_08079042: - ldrh r0, [r4, #0x12] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x58 - ldrb r1, [r1] - orrs r0, r1 - cmp r2, r0 - beq _08079062 - lsrs r0, r2, #8 - strh r0, [r4, #0x12] - movs r0, #0xff - ands r2, r0 - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_080042AC -_08079062: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08079064 -sub_08079064: @ 0x08079064 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r0, _0807909C @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - ldr r2, _080790A0 @ =0x00100080 - ands r1, r2 - adds r5, r0, #0 - cmp r1, #0 - bne _080790DE - movs r3, #0 - movs r2, #0 - ldr r1, _080790A4 @ =gUnk_03000B80 -_0807907C: - ldrb r0, [r1, #0xf] - cmp r0, r3 - bls _08079086 - adds r3, r0, #0 - ldrh r4, [r1, #0x10] -_08079086: - adds r1, #0x1c - adds r2, #1 - cmp r2, #3 - bls _0807907C - adds r2, r5, #0 - ldrb r0, [r2, #0xe] - cmp r0, r3 - bhs _080790A8 - strh r4, [r2, #8] - b _080790DE - .align 2, 0 -_0807909C: .4byte gUnk_03003F80 -_080790A0: .4byte 0x00100080 -_080790A4: .4byte gUnk_03000B80 -_080790A8: - adds r0, r2, #0 - adds r0, #0x26 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080790C0 - ldr r0, _080790BC @ =0x000002BE - strh r0, [r2, #8] - b _080790DE - .align 2, 0 -_080790BC: .4byte 0x000002BE -_080790C0: - ldrh r1, [r5, #8] - movs r0, #0xc1 - lsls r0, r0, #3 - cmp r1, r0 - beq _080790D8 - movs r0, #0x82 - lsls r0, r0, #1 - cmp r1, r0 - beq _080790D8 - ldr r0, _080790E0 @ =0x00000404 - cmp r1, r0 - bne _080790DE -_080790D8: - adds r0, r6, #0 - bl sub_080790E4 -_080790DE: - pop {r4, r5, r6, pc} - .align 2, 0 -_080790E0: .4byte 0x00000404 - - thumb_func_start sub_080790E4 -sub_080790E4: @ 0x080790E4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08079128 @ =gUnk_03003F80 - ldrb r0, [r5, #0xb] - cmp r0, #0 - bne _08079182 - movs r0, #0x10 - bl sub_080793E4 - cmp r0, #0 - beq _0807912C - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0x14 - strb r0, [r1] - adds r1, #5 - movs r0, #4 - strb r0, [r1] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - movs r0, #0x7a - bl sub_080A3268 - b _08079182 - .align 2, 0 -_08079128: .4byte gUnk_03003F80 -_0807912C: - ldrb r1, [r5, #6] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08079182 - cmp r1, #0 - bne _08079150 - movs r0, #1 - bl sub_080793E4 - cmp r0, #0 - beq _0807914C - ldrb r0, [r4, #0xf] - cmp r0, #5 - bhi _08079154 - adds r0, #1 -_0807914C: - strb r0, [r4, #0xf] - b _08079182 -_08079150: - subs r0, r1, #1 - strb r0, [r5, #6] -_08079154: - ldr r2, _08079174 @ =gUnk_03003F80 - ldrb r0, [r4, #0x14] - adds r1, r2, #0 - adds r1, #0x35 - strb r0, [r1] - adds r1, #0x73 - movs r0, #0x19 - strb r0, [r1] - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _0807917C - ldr r0, _08079178 @ =0x0000093C - b _08079180 - .align 2, 0 -_08079174: .4byte gUnk_03003F80 -_08079178: .4byte 0x0000093C -_0807917C: - movs r0, #0xcf - lsls r0, r0, #2 -_08079180: - strh r0, [r2, #8] -_08079182: - pop {r4, r5, pc} - - thumb_func_start sub_08079184 -sub_08079184: @ 0x08079184 - ldr r0, _08079194 @ =gUnk_03003F80 - movs r1, #0 - strb r1, [r0, #5] - strb r1, [r0, #1] - ldr r0, _08079198 @ =gUnk_03001160 - str r1, [r0, #0x74] - bx lr - .align 2, 0 -_08079194: .4byte gUnk_03003F80 -_08079198: .4byte gUnk_03001160 - - thumb_func_start sub_0807919C -sub_0807919C: @ 0x0807919C - push {lr} - ldr r0, _080791B0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080791B4 - bl sub_080791BC - b _080791B8 - .align 2, 0 -_080791B0: .4byte gUnk_03003F80 -_080791B4: - bl sub_08079258 -_080791B8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080791BC -sub_080791BC: @ 0x080791BC - ldr r0, _080791CC @ =gUnk_03001160 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - strb r2, [r0, #0xd] - strb r2, [r0, #0xf] - bx lr - .align 2, 0 -_080791CC: .4byte gUnk_03001160 - - thumb_func_start sub_080791D0 -sub_080791D0: @ 0x080791D0 - push {lr} - ldr r3, _0807920C @ =gUnk_03003F80 - ldr r0, [r3, #0x30] - movs r1, #0x40 - ands r0, r1 - cmp r0, #0 - bne _080791E8 - ldr r0, _08079210 @ =gUnk_03001160 - ldrb r1, [r0, #0x18] - movs r2, #3 - orrs r1, r2 - strb r1, [r0, #0x18] -_080791E8: - ldr r0, [r3, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08079214 - ldr r2, _08079210 @ =gUnk_03001160 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - bl sub_0807921C - b _08079218 - .align 2, 0 -_0807920C: .4byte gUnk_03003F80 -_08079210: .4byte gUnk_03001160 -_08079214: - bl sub_08079258 -_08079218: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807921C -sub_0807921C: @ 0x0807921C - push {r4, lr} - ldr r4, _0807924C @ =gUnk_03001160 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r2, _08079250 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08079254 @ =0xFECBF6FA - ands r0, r1 - str r0, [r2, #0x30] - bl sub_08079938 - bl sub_080791BC - adds r0, r4, #0 - bl sub_0805E374 - pop {r4, pc} - .align 2, 0 -_0807924C: .4byte gUnk_03001160 -_08079250: .4byte gUnk_03003F80 -_08079254: .4byte 0xFECBF6FA - - thumb_func_start sub_08079258 -sub_08079258: @ 0x08079258 - push {r4, lr} - ldr r4, _080792AC @ =gUnk_03003F80 - ldr r0, [r4, #0x30] - movs r1, #0x40 - ands r0, r1 - ldr r3, _080792B0 @ =gUnk_03001160 - cmp r0, #0 - bne _08079278 - ldrb r1, [r3, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r3, #0x10] - ldrb r0, [r3, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r3, #0x18] -_08079278: - movs r0, #9 - strb r0, [r3, #0xc] - movs r0, #1 - strb r0, [r3, #0xd] - adds r2, r3, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - movs r2, #0 - ldr r0, _080792B4 @ =0x00000C18 - strh r0, [r4, #8] - ldr r0, [r4, #0x30] - ldr r1, _080792B8 @ =0xFECFFEFA - ands r0, r1 - str r0, [r4, #0x30] - adds r0, r4, #0 - adds r0, #0x26 - strb r2, [r0] - strb r2, [r4, #0xc] - adds r0, r3, #0 - bl sub_0805E374 - pop {r4, pc} - .align 2, 0 -_080792AC: .4byte gUnk_03003F80 -_080792B0: .4byte gUnk_03001160 -_080792B4: .4byte 0x00000C18 -_080792B8: .4byte 0xFECFFEFA - - thumb_func_start sub_080792BC -sub_080792BC: @ 0x080792BC - push {r4, lr} - ldr r3, _080792D0 @ =gUnk_03003F80 - movs r4, #0x13 - strb r4, [r3, #0xc] - adds r3, #0x38 - strb r2, [r3] - ldr r2, _080792D4 @ =gUnk_03001160 - strh r0, [r2, #0x24] - strb r1, [r2, #0x15] - pop {r4, pc} - .align 2, 0 -_080792D0: .4byte gUnk_03003F80 -_080792D4: .4byte gUnk_03001160 - - thumb_func_start sub_080792D8 -sub_080792D8: @ 0x080792D8 - push {r4, r5, r6, lr} - ldr r5, _08079344 @ =gUnk_03001160 - adds r3, r5, #0 - adds r3, #0x42 - ldrb r0, [r3] - cmp r0, #0 - beq _080793E0 - ldrb r2, [r5, #0xc] - cmp r2, #0xb - beq _08079338 - ldr r0, _08079348 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1e] - adds r6, r0, #0 - cmp r1, #0 - bne _08079338 - ldrb r0, [r6, #5] - subs r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #3 - bls _08079338 - ldrb r0, [r6, #2] - cmp r0, #0 - bne _08079338 - ldrb r0, [r6, #0x12] - cmp r0, #0xff - beq _08079338 - ldrb r1, [r6, #7] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08079338 - adds r0, r6, #0 - adds r0, #0x26 - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - subs r0, #1 - cmp r0, #0 - bgt _08079338 - cmp r2, #3 - beq _08079338 - ldr r1, [r6, #0x30] - movs r0, #0x80 - lsls r0, r0, #0xb - ands r1, r0 - cmp r1, #0 - beq _0807934C -_08079338: - adds r1, r5, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - b _080793E0 - .align 2, 0 -_08079344: .4byte gUnk_03001160 -_08079348: .4byte gUnk_03003F80 -_0807934C: - cmp r2, #0x1d - bne _0807935E - adds r0, r5, #0 - adds r0, #0x3e - ldrb r0, [r0] - cmp r0, #0x10 - beq _0807935E - strb r1, [r3] - b _080793E0 -_0807935E: - adds r0, r5, #0 - adds r0, #0x42 - ldrb r3, [r0] - movs r1, #0 - ldrsb r1, [r0, r1] - adds r2, r0, #0 - cmp r1, #0 - ble _08079372 - subs r0, r3, #1 - b _08079374 -_08079372: - adds r0, r3, #1 -_08079374: - strb r0, [r2] - ldrb r0, [r2] - cmp r0, #0 - beq _080793E0 - adds r4, r6, #0 - ldrb r0, [r4, #7] - movs r1, #0xdf - ands r1, r0 - strb r1, [r4, #7] - adds r0, r5, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _080793CA - adds r0, r4, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _080793CA - ldr r0, [r4, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080793CA - ldrb r0, [r4, #2] - cmp r0, #0 - bne _080793CA - bl sub_08077B2C - ldr r0, [r4, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _080793C4 - movs r0, #0x8a - lsls r0, r0, #1 - strh r0, [r4, #8] - b _080793CA -_080793C4: - movs r0, #0x83 - lsls r0, r0, #3 - strh r0, [r6, #8] -_080793CA: - movs r1, #0xa0 - lsls r1, r1, #2 - adds r4, r5, #0 - adds r4, #0x3e - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_080027EA - ldrb r0, [r4] - bl sub_0807A5B8 -_080793E0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080793E4 -sub_080793E4: @ 0x080793E4 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _080793FC @ =gUnk_03003F80 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _08079408 - ldr r1, _08079400 @ =gUnk_0811C0F8 - ldr r0, _08079404 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - b _08079410 - .align 2, 0 -_080793FC: .4byte gUnk_03003F80 -_08079400: .4byte gUnk_0811C0F8 -_08079404: .4byte gUnk_03001160 -_08079408: - ldr r1, _08079448 @ =gUnk_0811C0F8 - ldr r0, _0807944C @ =gUnk_03001160 - ldrb r0, [r0, #0x15] - lsrs r0, r0, #2 -_08079410: - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r4, [r0] - bl sub_08079778 - cmp r0, #0 - beq _08079454 - ldr r0, _08079450 @ =gUnk_03003F80 - adds r0, #0x90 - ldrh r0, [r0] - ands r0, r4 - cmp r0, #0 - beq _08079454 - cmp r5, #0 - beq _08079442 - bl sub_0807A500 - ldr r1, _0807944C @ =gUnk_03001160 - adds r1, #0x38 - ldrb r1, [r1] - adds r2, r5, #0 - bl sub_080002F0 - cmp r0, #0 - beq _08079454 -_08079442: - movs r0, #1 - b _08079456 - .align 2, 0 -_08079448: .4byte gUnk_0811C0F8 -_0807944C: .4byte gUnk_03001160 -_08079450: .4byte gUnk_03003F80 -_08079454: - movs r0, #0 -_08079456: - pop {r4, r5, pc} - - thumb_func_start sub_08079458 -sub_08079458: @ 0x08079458 - push {r4, r5, lr} - ldr r4, _08079498 @ =gUnk_03001160 - movs r1, #0 - movs r0, #0x19 - strb r0, [r4, #0xc] - str r1, [r4, #0x34] - str r1, [r4, #0x20] - adds r0, r4, #0 - adds r0, #0x42 - strb r1, [r0] - bl sub_08078EE4 - ldr r2, _0807949C @ =gUnk_03003F80 - ldr r1, [r2, #0x30] - movs r0, #0x80 - lsls r0, r0, #0xa - ands r0, r1 - cmp r0, #0 - bne _08079514 - movs r0, #0x80 - lsls r0, r0, #9 - ands r1, r0 - cmp r1, #0 - beq _080794E4 - adds r0, r2, #0 - adds r0, #0x84 - ldr r1, [r0] - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - strh r0, [r4, #0x32] - b _08079514 - .align 2, 0 -_08079498: .4byte gUnk_03001160 -_0807949C: .4byte gUnk_03003F80 -_080794A0: - ldr r2, _080794DC @ =gUnk_03001160 - ldr r0, [r4] - lsrs r0, r0, #0x1e - adds r1, r2, #0 - adds r1, #0x38 - strb r0, [r1] - ldr r3, _080794E0 @ =gUnk_03000BF0 - ldr r0, [r4] - movs r1, #0x3f - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r3, #6] - adds r0, r0, r1 - adds r0, #8 - strh r0, [r2, #0x2e] - ldr r0, [r4] - movs r1, #0xfc - lsls r1, r1, #4 - ands r0, r1 - lsrs r0, r0, #2 - ldrh r3, [r3, #8] - adds r0, r0, r3 - adds r0, #8 - strh r0, [r2, #0x32] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - b _08079514 - .align 2, 0 -_080794DC: .4byte gUnk_03001160 -_080794E0: .4byte gUnk_03000BF0 -_080794E4: - movs r5, #0 - ldr r1, [r2, #0x40] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _08079514 - adds r4, r2, #0 - adds r4, #0x40 -_080794F4: - ldr r1, [r4] - ldrh r0, [r4] - lsrs r1, r1, #0x1e - bl sub_080002E0 - cmp r0, #0xf - bne _080794A0 - adds r4, #4 - adds r5, #1 - cmp r5, #0xf - bhi _08079514 - ldr r1, [r4] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _080794F4 -_08079514: - ldr r0, _0807951C @ =gUnk_03001160 - bl sub_08016A04 - pop {r4, r5, pc} - .align 2, 0 -_0807951C: .4byte gUnk_03001160 - - thumb_func_start sub_08079520 -sub_08079520: @ 0x08079520 - push {lr} - adds r1, r0, #0 - ldr r0, _08079538 @ =gUnk_03003F80 - ldrb r0, [r0, #0xd] - cmp r0, #0x7f - ble _08079532 - ldrb r0, [r1, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #3 -_08079532: - strb r0, [r1, #0x15] - pop {pc} - .align 2, 0 -_08079538: .4byte gUnk_03003F80 - - thumb_func_start sub_0807953C -sub_0807953C: @ 0x0807953C - ldr r1, _08079548 @ =0x00000F38 - ldr r0, _0807954C @ =gUnk_03003F80 - adds r0, #0x92 - ldrh r0, [r0] - ands r0, r1 - bx lr - .align 2, 0 -_08079548: .4byte 0x00000F38 -_0807954C: .4byte gUnk_03003F80 - - thumb_func_start sub_08079550 -sub_08079550: @ 0x08079550 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r0, _080795A8 @ =gUnk_03004030 - ldrb r0, [r0, #8] - cmp r0, #0 - beq _08079562 - b _080796FC -_08079562: - ldr r2, _080795AC @ =gUnk_03003F80 - ldrb r0, [r2, #0x1e] - cmp r0, #0 - beq _08079576 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #3 - ands r0, r1 - cmp r0, #0 - beq _080795B4 -_08079576: - adds r0, r2, #0 - adds r0, #0x26 - ldrb r0, [r0] - ldr r1, _080795B0 @ =gUnk_03001160 - mov r8, r1 - cmp r0, #0 - bne _080795A0 - ldrb r1, [r2, #0x1b] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - bne _080795A0 - mov r3, r8 - ldrb r1, [r3, #0x15] - ldrb r2, [r2, #0xd] - cmp r1, r2 - bne _080795A0 - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080795B4 -_080795A0: - movs r0, #0 - mov r5, r8 - strb r0, [r5, #0xf] - b _080796FE - .align 2, 0 -_080795A8: .4byte gUnk_03004030 -_080795AC: .4byte gUnk_03003F80 -_080795B0: .4byte gUnk_03001160 -_080795B4: - bl sub_08079778 - cmp r0, #0 - bne _080795BE - b _080796FC -_080795BE: - ldr r3, _08079610 @ =gUnk_03001160 - ldrb r2, [r3, #0x14] - movs r0, #6 - ands r0, r2 - ldr r1, _08079614 @ =gUnk_0811C100 - adds r1, r0, r1 - movs r0, #2 - ands r0, r2 - mov r8, r3 - cmp r0, #0 - beq _0807961C - movs r6, #0x2e - ldrsh r2, [r3, r6] - movs r0, #0 - ldrsb r0, [r1, r0] - adds r2, r2, r0 - ldr r4, _08079618 @ =gUnk_03000BF0 - ldrh r0, [r4, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r3, #0x3f - ands r2, r3 - mov r0, r8 - movs r5, #0x32 - ldrsh r1, [r0, r5] - ldr r0, [r0, #0x48] - ldrb r5, [r0, #3] - adds r0, r1, r5 - ldrh r4, [r4, #8] - subs r0, r0, r4 - asrs r0, r0, #4 - ands r0, r3 - lsls r7, r0, #6 - orrs r7, r2 - subs r1, r1, r5 - subs r1, r1, r4 - asrs r1, r1, #4 - ands r1, r3 - lsls r4, r1, #6 - orrs r4, r2 - b _0807965E - .align 2, 0 -_08079610: .4byte gUnk_03001160 -_08079614: .4byte gUnk_0811C100 -_08079618: .4byte gUnk_03000BF0 -_0807961C: - mov r6, r8 - movs r0, #0x2e - ldrsh r2, [r6, r0] - ldr r0, [r6, #0x48] - ldrb r0, [r0, #4] - mov ip, r0 - adds r0, r2, r0 - ldr r4, _080796EC @ =gUnk_03000BF0 - ldrh r3, [r4, #6] - mov sb, r3 - subs r0, r0, r3 - asrs r7, r0, #4 - movs r3, #0x3f - ands r7, r3 - movs r5, #0x32 - ldrsh r0, [r6, r5] - ldrb r1, [r1, #1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, r0, r1 - ldrh r1, [r4, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r7, r0 - mov r6, ip - subs r2, r2, r6 - mov r1, sb - subs r2, r2, r1 - asrs r4, r2, #4 - ands r4, r3 - orrs r4, r0 -_0807965E: - adds r0, r7, #0 - mov r5, r8 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080002C8 - adds r3, r0, #0 - ldr r6, _080796F0 @ =gUnk_0811C1E8 - mov r1, r8 - ldrb r0, [r1, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r6 - ldr r1, [r0] - adds r0, r3, #0 - bl sub_08007DD6 - adds r3, r0, #0 - cmp r3, #0 - beq _080796FC - adds r0, r4, #0 - ldrb r1, [r5] - bl sub_080002C8 - adds r3, r0, #0 - mov r5, r8 - ldrb r0, [r5, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r6 - ldr r1, [r0] - adds r0, r3, #0 - bl sub_08007DD6 - adds r3, r0, #0 - cmp r3, #0 - beq _080796FC - ldr r1, _080796F4 @ =gUnk_03003F80 - ldrb r2, [r1, #6] - movs r0, #0x80 - orrs r0, r2 - strb r0, [r1, #6] - ldrb r0, [r1, #0x1e] - adds r4, r1, #0 - cmp r0, #0 - bne _080796C8 - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #5 - bls _080796FC -_080796C8: - ldr r0, _080796F8 @ =gUnk_03001160 - subs r1, r3, #1 - movs r2, #0 - strb r1, [r0, #0x14] - movs r1, #4 - strb r1, [r0, #0xc] - strb r2, [r0, #0xd] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #0x81 - strb r1, [r4, #2] - bl sub_08070680 - movs r0, #1 - b _080796FE - .align 2, 0 -_080796EC: .4byte gUnk_03000BF0 -_080796F0: .4byte gUnk_0811C1E8 -_080796F4: .4byte gUnk_03003F80 -_080796F8: .4byte gUnk_03001160 -_080796FC: - movs r0, #0 -_080796FE: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08079708 -sub_08079708: @ 0x08079708 - push {r4, lr} - ldr r4, _08079740 @ =gUnk_03003F80 - adds r2, r4, #0 - adds r2, #0xa8 - movs r3, #0 - movs r1, #0x12 - strb r1, [r2] - subs r2, #0x6c - movs r1, #0xff - strb r1, [r2] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #0xa - strb r1, [r0, #0xc] - strb r3, [r0, #0xd] - bl sub_080085B0 - ldr r0, [r4, #0x30] - movs r1, #0x88 - lsls r1, r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0807973E - bl sub_0805E544 -_0807973E: - pop {r4, pc} - .align 2, 0 -_08079740: .4byte gUnk_03003F80 - - thumb_func_start sub_08079744 -sub_08079744: @ 0x08079744 - push {lr} - adds r2, r0, #0 - ldrh r0, [r2, #0x2e] - movs r1, #0xf - ands r1, r0 - cmp r1, #8 - beq _0807975E - cmp r1, #8 - ble _0807975A - subs r0, #1 - b _0807975C -_0807975A: - adds r0, #1 -_0807975C: - strh r0, [r2, #0x2e] -_0807975E: - ldrh r0, [r2, #0x32] - movs r1, #0xf - ands r1, r0 - cmp r1, #8 - beq _08079774 - cmp r1, #8 - ble _08079770 - subs r0, #1 - b _08079772 -_08079770: - adds r0, #1 -_08079772: - strh r0, [r2, #0x32] -_08079774: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08079778 -sub_08079778: @ 0x08079778 - push {lr} - ldr r0, _08079790 @ =gUnk_03003F80 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _0807979C - ldr r2, _08079794 @ =gUnk_0811C108 - ldr r1, _08079798 @ =gUnk_03001160 - ldrb r0, [r1, #0x14] - lsrs r0, r0, #1 - b _080797A4 - .align 2, 0 -_08079790: .4byte gUnk_03003F80 -_08079794: .4byte gUnk_0811C108 -_08079798: .4byte gUnk_03001160 -_0807979C: - ldr r2, _080797BC @ =gUnk_0811C108 - ldr r1, _080797C0 @ =gUnk_03001160 - ldrb r0, [r1, #0x15] - lsrs r0, r0, #2 -_080797A4: - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r2, [r0] - movs r3, #0 - ldrh r0, [r1, #0x2a] - ands r0, r2 - cmp r2, r0 - bne _080797B6 - movs r3, #1 -_080797B6: - adds r0, r3, #0 - pop {pc} - .align 2, 0 -_080797BC: .4byte gUnk_0811C108 -_080797C0: .4byte gUnk_03001160 - - thumb_func_start sub_080797C4 -sub_080797C4: @ 0x080797C4 - push {lr} - ldr r1, _080797E4 @ =gUnk_0811C110 - ldr r2, _080797E8 @ =gUnk_03001160 - ldrb r0, [r2, #0x15] - lsrs r0, r0, #3 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - movs r3, #0 - ldrh r0, [r2, #0x2a] - ands r0, r1 - cmp r1, r0 - bne _080797E0 - movs r3, #1 -_080797E0: - adds r0, r3, #0 - pop {pc} - .align 2, 0 -_080797E4: .4byte gUnk_0811C110 -_080797E8: .4byte gUnk_03001160 - - thumb_func_start sub_080797EC -sub_080797EC: @ 0x080797EC - push {r4, r5, lr} - ldr r4, _08079804 @ =gUnk_03003F80 - ldr r1, [r4, #0x30] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0807985C - ldrb r0, [r4, #5] - cmp r0, #0 - beq _0807980C - ldr r5, _08079808 @ =0x00000934 - b _0807991E - .align 2, 0 -_08079804: .4byte gUnk_03003F80 -_08079808: .4byte 0x00000934 -_0807980C: - ldrb r0, [r4, #3] - cmp r0, #0 - beq _08079818 - movs r5, #0x82 - lsls r5, r5, #3 - b _0807991E -_08079818: - adds r0, r4, #0 - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - bne _080798A0 - adds r0, r4, #0 - adds r0, #0x26 - ldrb r0, [r0] - movs r5, #0xa4 - lsls r5, r5, #2 - cmp r0, #0 - bne _0807991E - movs r5, #0xb6 - lsls r5, r5, #1 - ldrb r1, [r4, #0x1b] - movs r0, #0x48 - ands r0, r1 - cmp r0, #0 - bne _080798C2 - lsls r0, r1, #0x18 - cmp r0, #0 - bne _080798CE - adds r1, r4, #0 - adds r1, #0xa8 - ldrb r0, [r1] - cmp r0, #0 - bne _08079852 - movs r0, #1 - strb r0, [r1] -_08079852: - ldr r5, _08079858 @ =0x00000404 - b _0807991E - .align 2, 0 -_08079858: .4byte 0x00000404 -_0807985C: - ldrb r0, [r4, #0x1c] - cmp r0, #0 - bne _0807992E - ldrb r0, [r4, #5] - cmp r0, #0 - beq _0807986E - movs r5, #0xd2 - lsls r5, r5, #2 - b _0807991E -_0807986E: - ldrb r0, [r4, #0x1e] - cmp r0, #0 - beq _0807987A - movs r5, #0xa6 - lsls r5, r5, #2 - b _0807991E -_0807987A: - movs r0, #0x80 - lsls r0, r0, #5 - ands r1, r0 - cmp r1, #0 - beq _0807988A - movs r5, #0xe2 - lsls r5, r5, #3 - b _0807991E -_0807988A: - ldrb r0, [r4, #3] - cmp r0, #0 - beq _08079896 - movs r5, #0xb0 - lsls r5, r5, #1 - b _0807991E -_08079896: - adds r0, r4, #0 - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - beq _080798A6 -_080798A0: - movs r5, #0xa1 - lsls r5, r5, #2 - b _0807991E -_080798A6: - adds r0, r4, #0 - adds r0, #0x26 - ldrb r0, [r0] - movs r5, #0xa4 - lsls r5, r5, #2 - cmp r0, #0 - bne _0807991E - movs r5, #0xb6 - lsls r5, r5, #1 - ldrb r1, [r4, #0x1b] - movs r0, #0x48 - ands r0, r1 - cmp r0, #0 - beq _080798C8 -_080798C2: - movs r0, #0x6c - strb r0, [r4] - b _0807992E -_080798C8: - lsls r0, r1, #0x18 - cmp r0, #0 - beq _080798FC -_080798CE: - movs r0, #0 - bl sub_080793E4 - cmp r0, #0 - beq _0807991E - bl sub_0807A500 - ldr r1, _080798F8 @ =gUnk_03001160 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002E0 - cmp r0, #0xff - beq _0807991E - ldrb r1, [r4, #0x1b] - movs r0, #0xf7 - ands r0, r1 - strb r0, [r4, #0x1b] - movs r5, #0xb8 - lsls r5, r5, #1 - b _0807991E - .align 2, 0 -_080798F8: .4byte gUnk_03001160 -_080798FC: - adds r1, r4, #0 - adds r1, #0xa8 - ldrb r0, [r1] - cmp r0, #0 - bne _0807990A - movs r0, #1 - strb r0, [r1] -_0807990A: - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x10 - ands r0, r1 - movs r5, #0x82 - lsls r5, r5, #1 - cmp r0, #0 - beq _0807991E - movs r5, #0xc1 - lsls r5, r5, #3 -_0807991E: - ldr r0, _08079930 @ =gUnk_03003F80 - strh r5, [r0, #8] - ldrb r0, [r0, #3] - cmp r0, #0 - bne _0807992E - ldr r0, _08079934 @ =gUnk_03001160 - bl sub_080042B8 -_0807992E: - pop {r4, r5, pc} - .align 2, 0 -_08079930: .4byte gUnk_03003F80 -_08079934: .4byte gUnk_03001160 - - thumb_func_start sub_08079938 -sub_08079938: @ 0x08079938 - push {r4, lr} - ldr r3, _08079954 @ =gUnk_03003F80 - ldr r2, [r3, #0x30] - movs r0, #8 - ands r0, r2 - mov ip, r3 - cmp r0, #0 - beq _080799E4 - ldrb r0, [r3, #5] - cmp r0, #0 - beq _0807995C - ldr r4, _08079958 @ =0x0000092C - b _08079AD8 - .align 2, 0 -_08079954: .4byte gUnk_03003F80 -_08079958: .4byte 0x0000092C -_0807995C: - mov r0, ip - adds r0, #0x3d - mov r3, ip - ldrb r1, [r3, #0x1c] - ldrb r0, [r0] - orrs r0, r1 - cmp r0, #0 - beq _0807996E - b _08079B14 -_0807996E: - movs r0, #0x80 - lsls r0, r0, #0x12 - ands r0, r2 - cmp r0, #0 - bne _08079A1E - mov r4, ip - ldrb r0, [r4, #3] - cmp r0, #0 - beq _08079988 - ldr r4, _08079984 @ =0x00000414 - b _08079AD8 - .align 2, 0 -_08079984: .4byte 0x00000414 -_08079988: - mov r0, ip - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - bne _08079A5C - mov r0, ip - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _08079A6C - mov r0, ip - ldrb r1, [r0, #0x1b] - movs r0, #0x48 - ands r0, r1 - cmp r0, #0 - beq _080799AA - b _08079B14 -_080799AA: - cmp r1, #0 - beq _080799B0 - b _08079AA4 -_080799B0: - mov r1, ip - ldrb r0, [r1, #4] - cmp r0, #0 - beq _080799BA - b _08079B14 -_080799BA: - movs r0, #0x20 - ands r2, r0 - cmp r2, #0 - beq _080799D0 - ldr r0, _080799D8 @ =gUnk_02033A90 - ldrb r0, [r0, #0x17] - cmp r0, #4 - bne _080799CC - b _08079AD4 -_080799CC: - cmp r0, #5 - bne _080799DC -_080799D0: - movs r4, #0x80 - lsls r4, r4, #3 - b _08079AD8 - .align 2, 0 -_080799D8: .4byte gUnk_02033A90 -_080799DC: - ldr r4, _080799E0 @ =0x000002C2 - b _08079AD8 - .align 2, 0 -_080799E0: .4byte 0x000002C2 -_080799E4: - mov r4, ip - ldrb r0, [r4, #5] - cmp r0, #0 - beq _080799F2 - movs r4, #0xd4 - lsls r4, r4, #2 - b _08079AD8 -_080799F2: - mov r0, ip - adds r0, #0x3d - mov r4, ip - ldrb r1, [r4, #0x1c] - ldrb r0, [r0] - orrs r0, r1 - cmp r0, #0 - beq _08079A04 - b _08079B14 -_08079A04: - movs r0, #0x80 - lsls r0, r0, #0xc - ands r0, r2 - cmp r0, #0 - beq _08079A14 - movs r4, #0x8b - lsls r4, r4, #4 - b _08079AD8 -_08079A14: - movs r0, #0x80 - lsls r0, r0, #0x12 - ands r0, r2 - cmp r0, #0 - beq _08079A24 -_08079A1E: - movs r4, #0x81 - lsls r4, r4, #4 - b _08079AD8 -_08079A24: - mov r1, ip - ldrb r0, [r1, #0x1e] - cmp r0, #0 - beq _08079A32 - movs r4, #0xa6 - lsls r4, r4, #2 - b _08079AD8 -_08079A32: - movs r0, #0x80 - lsls r0, r0, #5 - ands r0, r2 - cmp r0, #0 - beq _08079A44 - ldr r4, _08079A40 @ =0x0000070C - b _08079AD8 - .align 2, 0 -_08079A40: .4byte 0x0000070C -_08079A44: - mov r4, ip - ldrb r0, [r4, #3] - cmp r0, #0 - beq _08079A52 - movs r4, #0xb2 - lsls r4, r4, #1 - b _08079AD8 -_08079A52: - mov r0, ip - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - beq _08079A62 -_08079A5C: - movs r4, #0xa0 - lsls r4, r4, #2 - b _08079AD8 -_08079A62: - mov r0, ip - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08079A72 -_08079A6C: - movs r4, #0xa3 - lsls r4, r4, #2 - b _08079AD8 -_08079A72: - mov r0, ip - ldrb r1, [r0, #0x1b] - movs r0, #0x48 - ands r0, r1 - cmp r0, #0 - bne _08079B14 - movs r0, #0x20 - ands r2, r0 - cmp r2, #0 - beq _08079AA0 - ldr r0, _08079A98 @ =gUnk_02033A90 - ldrb r0, [r0, #0x17] - ldr r4, _08079A9C @ =0x000002C2 - cmp r0, #4 - bne _08079AD8 - movs r4, #0xa6 - lsls r4, r4, #3 - b _08079AD8 - .align 2, 0 -_08079A98: .4byte gUnk_02033A90 -_08079A9C: .4byte 0x000002C2 -_08079AA0: - cmp r1, #0 - beq _08079AAA -_08079AA4: - movs r4, #0xb4 - lsls r4, r4, #1 - b _08079AD8 -_08079AAA: - ldrb r0, [r3, #4] - cmp r0, #0 - bne _08079B14 - ldr r0, [r3, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08079AD4 - ldr r0, _08079ACC @ =gUnk_03000B80 - adds r0, #0x63 - ldrb r0, [r0] - cmp r0, #0 - bne _08079B14 - ldr r4, _08079AD0 @ =0x00000604 - b _08079AD8 - .align 2, 0 -_08079ACC: .4byte gUnk_03000B80 -_08079AD0: .4byte 0x00000604 -_08079AD4: - movs r4, #0x80 - lsls r4, r4, #1 -_08079AD8: - mov r1, ip - strh r4, [r1, #8] - ldrb r0, [r1, #5] - cmp r0, #0 - bne _08079B10 - movs r3, #0 - movs r2, #0 - ldr r1, _08079B18 @ =gUnk_03000B80 -_08079AE8: - ldrb r0, [r1, #0xf] - cmp r0, r3 - bls _08079AF0 - adds r3, r0, #0 -_08079AF0: - adds r1, #0x1c - adds r2, #1 - cmp r2, #3 - bls _08079AE8 - mov r2, ip - ldrb r0, [r2, #0xe] - cmp r0, r3 - blo _08079B14 - lsls r0, r4, #0x18 - lsrs r0, r0, #0x18 - ldrb r3, [r2] - cmp r0, r3 - bne _08079B10 - ldr r0, _08079B1C @ =gUnk_03001160 - bl sub_080042B8 -_08079B10: - ldr r0, _08079B20 @ =gUnk_03003F80 - strb r4, [r0] -_08079B14: - pop {r4, pc} - .align 2, 0 -_08079B18: .4byte gUnk_03000B80 -_08079B1C: .4byte gUnk_03001160 -_08079B20: .4byte gUnk_03003F80 - - thumb_func_start sub_08079B24 -sub_08079B24: @ 0x08079B24 - push {r4, r5, lr} - ldr r2, _08079B60 @ =gUnk_03001160 - ldrb r0, [r2, #0xc] - cmp r0, #0xa - beq _08079BD4 - adds r0, r2, #0 - adds r0, #0x45 - ldrb r3, [r0] - cmp r3, #0 - bne _08079BD4 - ldr r4, _08079B64 @ =gUnk_03003F80 - ldr r1, [r4, #0x30] - ldr r0, _08079B68 @ =0xFEFFFFFF - ands r1, r0 - str r1, [r4, #0x30] - adds r0, r2, #0 - adds r0, #0x42 - strb r3, [r0] - ldrb r0, [r4, #7] - cmp r0, #0 - bne _08079BD4 - adds r0, r4, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08079B6C - bl sub_08079458 - b _08079BC0 - .align 2, 0 -_08079B60: .4byte gUnk_03001160 -_08079B64: .4byte gUnk_03003F80 -_08079B68: .4byte 0xFEFFFFFF -_08079B6C: - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _08079BC0 - movs r3, #0x80 - lsls r3, r3, #5 - ands r3, r1 - cmp r3, #0 - bne _08079BC0 - movs r5, #0x36 - ldrsh r0, [r2, r5] - cmp r0, #0 - bge _08079BA6 - ldr r0, [r2, #0x20] - cmp r0, #0 - ble _08079B8C - str r3, [r2, #0x20] -_08079B8C: - ldrb r1, [r4, #2] - movs r3, #0x41 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _08079BD4 - strb r3, [r4, #2] - movs r0, #0xff - strb r0, [r2, #0x15] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r4, #0xd] - b _08079BD4 -_08079BA6: - movs r0, #2 - ands r1, r0 - cmp r1, #0 - bne _08079BC0 - bl sub_08079D48 - cmp r0, #0 - bne _08079BC0 - ldrb r0, [r4, #0xa] - movs r1, #0x10 - orrs r0, r1 - strb r0, [r4, #0xa] - b _08079BD4 -_08079BC0: - ldr r2, _08079BD0 @ =gUnk_03001160 - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - movs r0, #0 - b _08079BD6 - .align 2, 0 -_08079BD0: .4byte gUnk_03001160 -_08079BD4: - movs r0, #1 -_08079BD6: - pop {r4, r5, pc} - - thumb_func_start sub_08079BD8 -sub_08079BD8: @ 0x08079BD8 - push {r4, r5, lr} - ldr r4, _08079C2C @ =gUnk_03001160 - ldr r1, [r4, #0x2c] - str r1, [r0, #0x2c] - ldr r1, [r4, #0x30] - str r1, [r0, #0x30] - ldr r1, [r4, #0x34] - str r1, [r0, #0x34] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r2, [r1] - adds r1, r0, #0 - adds r1, #0x38 - strb r2, [r1] - ldrb r3, [r4, #0x19] - lsrs r3, r3, #6 - lsls r3, r3, #6 - ldrb r5, [r0, #0x19] - movs r2, #0x3f - adds r1, r2, #0 - ands r1, r5 - orrs r1, r3 - strb r1, [r0, #0x19] - ldrb r1, [r4, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r3, [r0, #0x1b] - ands r2, r3 - orrs r2, r1 - strb r2, [r0, #0x1b] - adds r4, #0x29 - ldrb r2, [r4] - lsls r2, r2, #0x1d - adds r0, #0x29 - lsrs r2, r2, #0x1d - ldrb r3, [r0] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r3 - orrs r1, r2 - strb r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_08079C2C: .4byte gUnk_03001160 - - thumb_func_start sub_08079C30 -sub_08079C30: @ 0x08079C30 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - ldr r0, _08079C68 @ =gUnk_03003F80 - ldrb r1, [r0, #0x14] - adds r7, r0, #0 - cmp r1, #0 - beq _08079C44 - b _08079D40 -_08079C44: - ldr r1, [r7, #0x30] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08079D40 - movs r0, #0x80 - ands r1, r0 - cmp r1, #0 - bne _08079D36 - ldrb r0, [r7, #0x13] - subs r0, #0xd - cmp r0, #0x1d - bhi _08079CE8 - lsls r0, r0, #2 - ldr r1, _08079C6C @ =_08079C70 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08079C68: .4byte gUnk_03003F80 -_08079C6C: .4byte _08079C70 -_08079C70: @ jump table - .4byte _08079D36 @ case 0 - .4byte _08079D36 @ case 1 - .4byte _08079D36 @ case 2 - .4byte _08079D36 @ case 3 - .4byte _08079CE8 @ case 4 - .4byte _08079CE8 @ case 5 - .4byte _08079CE8 @ case 6 - .4byte _08079D36 @ case 7 - .4byte _08079CE8 @ case 8 - .4byte _08079CE8 @ case 9 - .4byte _08079D36 @ case 10 - .4byte _08079CE8 @ case 11 - .4byte _08079CE8 @ case 12 - .4byte _08079CE8 @ case 13 - .4byte _08079CE8 @ case 14 - .4byte _08079CE8 @ case 15 - .4byte _08079CE8 @ case 16 - .4byte _08079CE8 @ case 17 - .4byte _08079CE8 @ case 18 - .4byte _08079CE8 @ case 19 - .4byte _08079CE8 @ case 20 - .4byte _08079CE8 @ case 21 - .4byte _08079CE8 @ case 22 - .4byte _08079CE8 @ case 23 - .4byte _08079CE8 @ case 24 - .4byte _08079CE8 @ case 25 - .4byte _08079CE8 @ case 26 - .4byte _08079CE8 @ case 27 - .4byte _08079CE8 @ case 28 - .4byte _08079D36 @ case 29 -_08079CE8: - mov r8, r7 - mov r0, r8 - ldrb r4, [r0, #0x12] - movs r2, #1 - rsbs r2, r2, #0 - adds r0, r6, #0 - movs r1, #0 - bl sub_080002B4 - ldr r5, _08079D3C @ =gUnk_08007CAC - adds r1, r5, #0 - bl sub_08007DD6 - cmp r4, r0 - bne _08079D40 - mov r0, r8 - ldrb r4, [r0, #0x12] - adds r0, r6, #0 - movs r1, #2 - movs r2, #0 - bl sub_080002B4 - adds r1, r5, #0 - bl sub_08007DD6 - cmp r4, r0 - bne _08079D40 - ldrb r4, [r7, #0x12] - movs r1, #2 - rsbs r1, r1, #0 - adds r0, r6, #0 - movs r2, #0 - bl sub_080002B4 - adds r1, r5, #0 - bl sub_08007DD6 - cmp r4, r0 - bne _08079D40 -_08079D36: - movs r0, #1 - b _08079D42 - .align 2, 0 -_08079D3C: .4byte gUnk_08007CAC -_08079D40: - movs r0, #0 -_08079D42: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08079D48 -sub_08079D48: @ 0x08079D48 - push {r4, lr} - ldr r4, _08079D78 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_08079C30 - cmp r0, #0 - beq _08079D72 - bl sub_08008B22 - cmp r0, #0 - bne _08079D80 - adds r0, r4, #0 - bl sub_080002B8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _08079D7C @ =gUnk_0811C268 - bl sub_08007DD6 - cmp r0, #0 - bne _08079D80 -_08079D72: - movs r0, #1 - b _08079D82 - .align 2, 0 -_08079D78: .4byte gUnk_03001160 -_08079D7C: .4byte gUnk_0811C268 -_08079D80: - movs r0, #0 -_08079D82: - pop {r4, pc} - - thumb_func_start sub_08079D84 -sub_08079D84: @ 0x08079D84 - push {lr} - ldr r3, _08079DC0 @ =gUnk_03001160 - ldrb r0, [r3, #0xc] - cmp r0, #1 - beq _08079D92 - cmp r0, #0x18 - bne _08079DBE -_08079D92: - ldr r2, _08079DC4 @ =gUnk_03003F80 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #0x9c - strb r0, [r1] - adds r1, #1 - movs r0, #2 - strb r0, [r1] - adds r1, #1 - movs r0, #0x3c - strb r0, [r1] - movs r0, #0xe - strb r0, [r2, #0xc] - adds r1, r3, #0 - adds r1, #0x3d - movs r0, #0x7c - strb r0, [r1] - bl sub_08077B20 - ldr r0, _08079DC8 @ =0x00000193 - bl sub_080A3268 -_08079DBE: - pop {pc} - .align 2, 0 -_08079DC0: .4byte gUnk_03001160 -_08079DC4: .4byte gUnk_03003F80 -_08079DC8: .4byte 0x00000193 - - thumb_func_start sub_08079DCC -sub_08079DCC: @ 0x08079DCC - push {lr} - ldr r0, _08079DFC @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #1 - bne _08079DF8 - ldr r3, _08079E00 @ =gUnk_03003F80 - adds r1, r3, #0 - adds r1, #0x38 - movs r2, #0 - movs r0, #0xa0 - strb r0, [r1] - adds r1, #1 - movs r0, #3 - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x3a - strb r2, [r0] - movs r0, #0xe - strb r0, [r3, #0xc] - ldr r0, _08079E04 @ =0x00000193 - bl sub_080A3268 -_08079DF8: - pop {pc} - .align 2, 0 -_08079DFC: .4byte gUnk_03001160 -_08079E00: .4byte gUnk_03003F80 -_08079E04: .4byte 0x00000193 - - thumb_func_start sub_08079E08 -sub_08079E08: @ 0x08079E08 - push {r4, lr} - ldr r0, _08079E50 @ =gUnk_03001160 - ldrh r2, [r0, #0x24] - movs r3, #0x24 - ldrsh r1, [r0, r3] - adds r4, r0, #0 - cmp r1, #0 - beq _08079E2E - ldr r0, _08079E54 @ =gUnk_03003F80 - adds r0, #0x80 - ldrh r0, [r0] - adds r0, r2, r0 - strh r0, [r4, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x1f - bgt _08079E2E - movs r0, #0x20 - strh r0, [r4, #0x24] -_08079E2E: - adds r2, r4, #0 - ldrb r1, [r2, #0x15] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _08079E40 - ldrb r0, [r2, #0x15] - bl sub_08079E90 -_08079E40: - adds r0, r4, #0 - bl sub_0800857C - ldrb r0, [r4, #0x15] - bl sub_0807A5B8 - pop {r4, pc} - .align 2, 0 -_08079E50: .4byte gUnk_03001160 -_08079E54: .4byte gUnk_03003F80 - - thumb_func_start sub_08079E58 -sub_08079E58: @ 0x08079E58 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - ldr r5, _08079E8C @ =gUnk_03001160 - ldrb r1, [r5, #0x15] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _08079E70 - adds r0, r4, #0 - bl sub_08079E90 -_08079E70: - adds r0, r5, #0 - bl sub_080085B0 - lsls r1, r6, #0x10 - asrs r1, r1, #0x10 - lsls r2, r4, #0x18 - lsrs r2, r2, #0x18 - adds r0, r5, #0 - bl sub_080027EA - adds r0, r4, #0 - bl sub_0807A5B8 - pop {r4, r5, r6, pc} - .align 2, 0 -_08079E8C: .4byte gUnk_03001160 - - thumb_func_start sub_08079E90 -sub_08079E90: @ 0x08079E90 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov sb, r0 - ldr r1, _08079EBC @ =gUnk_03001160 - ldrb r2, [r1, #0x15] - movs r0, #8 - ands r0, r2 - adds r7, r1, #0 - cmp r0, #0 - beq _08079ECA - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - beq _08079EC0 - ldr r0, [r7, #0x48] - ldrb r0, [r0, #2] - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - b _08079EC4 - .align 2, 0 -_08079EBC: .4byte gUnk_03001160 -_08079EC0: - ldr r0, [r7, #0x48] - ldrb r5, [r0, #2] -_08079EC4: - ldr r0, [r7, #0x48] - ldrb r4, [r0, #3] - b _08079EDE -_08079ECA: - ldr r0, [r7, #0x48] - ldrb r5, [r0, #4] - cmp r2, #0 - beq _08079ED6 - ldrb r4, [r0, #5] - b _08079EDE -_08079ED6: - ldrb r0, [r0, #5] - rsbs r0, r0, #0 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 -_08079EDE: - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - mov r8, r0 - lsls r0, r4, #0x10 - asrs r6, r0, #0x10 - adds r0, r7, #0 - mov r1, r8 - adds r2, r6, #0 - bl sub_080002CC - adds r1, r0, #0 - mov r0, sb - bl sub_08079F48 - cmp r0, #0 - bne _08079F3C - ldrb r1, [r7, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08079F10 - rsbs r0, r6, #0 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - b _08079F18 -_08079F10: - mov r1, r8 - rsbs r0, r1, #0 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 -_08079F18: - ldr r0, _08079F38 @ =gUnk_03001160 - lsls r1, r5, #0x10 - asrs r1, r1, #0x10 - lsls r2, r4, #0x10 - asrs r2, r2, #0x10 - bl sub_080002CC - adds r1, r0, #0 - mov r0, sb - bl sub_08079F48 - cmp r0, #0 - bne _08079F3C - movs r0, #0 - b _08079F3E - .align 2, 0 -_08079F38: .4byte gUnk_03001160 -_08079F3C: - movs r0, #1 -_08079F3E: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08079F48 -sub_08079F48: @ 0x08079F48 - push {lr} - ldr r3, _08079F60 @ =gUnk_0811C118 - lsrs r2, r0, #2 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, r1 - bne _08079F68 - ldr r0, _08079F64 @ =gUnk_03001160 - ldrb r1, [r0, #0x15] - adds r1, #4 - b _08079F7C - .align 2, 0 -_08079F60: .4byte gUnk_0811C118 -_08079F64: .4byte gUnk_03001160 -_08079F68: - adds r0, r2, #1 - adds r0, r0, r3 - ldrb r0, [r0] - cmp r0, r1 - beq _08079F76 - movs r0, #0 - b _08079F84 -_08079F76: - ldr r0, _08079F88 @ =gUnk_03001160 - ldrb r1, [r0, #0x15] - subs r1, #4 -_08079F7C: - movs r2, #0x1f - ands r1, r2 - strb r1, [r0, #0x15] - movs r0, #1 -_08079F84: - pop {pc} - .align 2, 0 -_08079F88: .4byte gUnk_03001160 - - thumb_func_start sub_08079F8C -sub_08079F8C: @ 0x08079F8C - push {lr} - ldr r2, _08079FB4 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08079FB8 @ =0x22189B75 - ands r0, r1 - cmp r0, #0 - bne _08079FB0 - adds r0, r2, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08079FB0 - ldr r0, _08079FBC @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #3 - beq _08079FB0 - cmp r0, #0xb - bne _08079FC0 -_08079FB0: - movs r0, #0 - b _08079FC2 - .align 2, 0 -_08079FB4: .4byte gUnk_03003F80 -_08079FB8: .4byte 0x22189B75 -_08079FBC: .4byte gUnk_03001160 -_08079FC0: - movs r0, #1 -_08079FC2: - pop {pc} - - thumb_func_start sub_08079FC4 -sub_08079FC4: @ 0x08079FC4 - push {lr} - adds r1, r0, #0 - ldr r0, _08079FD0 @ =gUnk_03001160 - bl sub_08079FD4 - pop {pc} - .align 2, 0 -_08079FD0: .4byte gUnk_03001160 - - thumb_func_start sub_08079FD4 -sub_08079FD4: @ 0x08079FD4 - push {r4, r5, r6, lr} - sub sp, #4 - adds r5, r0, #0 - movs r0, #0x2e - ldrsh r2, [r5, r0] - ldr r3, _0807A008 @ =gUnk_03000BF0 - ldrh r0, [r3, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r4, #0x3f - ands r2, r4 - movs r6, #0x32 - ldrsh r0, [r5, r6] - ldrh r3, [r3, #8] - subs r0, r0, r3 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r2, r0 - lsls r2, r2, #1 - ldr r6, _0807A00C @ =gUnk_02027EB4 - cmp r1, #2 - bne _0807A004 - ldr r6, _0807A010 @ =gUnk_0200D654 -_0807A004: - movs r4, #0 - b _0807A028 - .align 2, 0 -_0807A008: .4byte gUnk_03000BF0 -_0807A00C: .4byte gUnk_02027EB4 -_0807A010: .4byte gUnk_0200D654 -_0807A014: - cmp r1, #0x23 - beq _0807A028 - cmp r1, #0x27 - beq _0807A028 - ldr r0, _0807A04C @ =gUnk_080082DC - subs r1, #0x10 - adds r1, r1, r0 - ldrb r0, [r1] - cmp r0, #0 - beq _0807A046 -_0807A028: - adds r4, #1 - adds r0, r5, #0 - mov r1, sp - bl sub_08004202 - adds r2, r0, #0 - lsrs r0, r2, #1 - adds r0, r6, r0 - ldrb r1, [r0] - cmp r1, #0xe - bls _0807A046 - cmp r1, #0xf - bls _0807A028 - cmp r1, #0x1d - bne _0807A014 -_0807A046: - adds r0, r4, #0 - add sp, #4 - pop {r4, r5, r6, pc} - .align 2, 0 -_0807A04C: .4byte gUnk_080082DC - - thumb_func_start sub_0807A050 -sub_0807A050: @ 0x0807A050 - push {lr} - ldr r3, _0807A088 @ =gUnk_03003F80 - ldrb r2, [r3, #0xf] - cmp r2, #0 - beq _0807A06A - ldr r0, _0807A08C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0807A06A - subs r0, r2, #1 - strb r0, [r3, #0xf] -_0807A06A: - movs r0, #0 - bl sub_0807A094 - adds r1, r0, #0 - ldr r0, _0807A088 @ =gUnk_03003F80 - adds r0, #0x83 - ldrb r2, [r0] - cmp r1, r2 - beq _0807A084 - strb r1, [r0] - ldr r0, _0807A090 @ =gUnk_03001160 - bl sub_0801D2B4 -_0807A084: - pop {pc} - .align 2, 0 -_0807A088: .4byte gUnk_03003F80 -_0807A08C: .4byte gUnk_02000050 -_0807A090: .4byte gUnk_03001160 - - thumb_func_start sub_0807A094 -sub_0807A094: @ 0x0807A094 - push {r4, r5, lr} - adds r3, r0, #0 - movs r2, #0x16 - ldr r0, _0807A0AC @ =gUnk_03003F80 - ldrb r0, [r0, #0xf] - cmp r0, #0 - beq _0807A0B0 - movs r2, #0x1b - cmp r0, #0x78 - bls _0807A104 - movs r2, #0x1a - b _0807A104 - .align 2, 0 -_0807A0AC: .4byte gUnk_03003F80 -_0807A0B0: - ldr r0, _0807A0F0 @ =gUnk_02002A40 - adds r1, r0, #0 - adds r1, #0xb2 - ldrb r1, [r1] - adds r5, r0, #0 - cmp r1, #0 - beq _0807A104 - movs r4, #1 - cmp r3, #0 - bne _0807A0D6 - adds r0, #0xc4 - ldrh r1, [r0] - cmp r1, #0xb3 - bhi _0807A0D6 - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0807A0D6 - movs r4, #0 -_0807A0D6: - cmp r4, #0 - beq _0807A104 - adds r0, r5, #0 - adds r0, #0xb2 - ldrb r0, [r0] - cmp r0, #0x30 - beq _0807A102 - cmp r0, #0x30 - bgt _0807A0F4 - cmp r0, #0x2f - beq _0807A0FA - b _0807A102 - .align 2, 0 -_0807A0F0: .4byte gUnk_02002A40 -_0807A0F4: - cmp r0, #0x31 - beq _0807A0FE - b _0807A102 -_0807A0FA: - movs r2, #0x18 - b _0807A104 -_0807A0FE: - movs r2, #0x17 - b _0807A104 -_0807A102: - movs r2, #0x19 -_0807A104: - adds r0, r2, #0 - pop {r4, r5, pc} - - thumb_func_start sub_0807A108 -sub_0807A108: @ 0x0807A108 - push {lr} - ldr r1, _0807A148 @ =gUnk_03004040 - movs r0, #0 - str r0, [r1] - str r0, [r1, #4] - str r0, [r1, #8] - ldr r2, _0807A14C @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _0807A150 @ =0xFFBFFFFF - ands r0, r1 - str r0, [r2, #0x30] - ldr r0, _0807A154 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0x17 - bne _0807A130 - adds r0, r2, #0 - adds r0, #0xa0 - ldrb r0, [r0] - cmp r0, #4 - beq _0807A144 -_0807A130: - adds r1, r2, #0 - adds r1, #0xa0 - ldrb r0, [r1] - subs r0, #4 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _0807A144 - movs r0, #1 - strb r0, [r1] -_0807A144: - pop {pc} - .align 2, 0 -_0807A148: .4byte gUnk_03004040 -_0807A14C: .4byte gUnk_03003F80 -_0807A150: .4byte 0xFFBFFFFF -_0807A154: .4byte gUnk_03001160 - - thumb_func_start sub_0807A158 -sub_0807A158: @ 0x0807A158 - push {r4, lr} - ldr r4, _0807A178 @ =gUnk_02002A40 - adds r0, r4, #0 - adds r0, #0xb4 - ldrb r0, [r0] - bl sub_0805449C - cmp r0, #0 - bne _0807A17C - adds r0, r4, #0 - adds r0, #0xb5 - ldrb r0, [r0] - bl sub_0805449C - b _0807A17E - .align 2, 0 -_0807A178: .4byte gUnk_02002A40 -_0807A17C: - movs r0, #1 -_0807A17E: - pop {r4, pc} - - thumb_func_start sub_0807A180 -sub_0807A180: @ 0x0807A180 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - sub sp, #0x88 - adds r4, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - mov r8, r3 - ldr r3, _0807A1B4 @ =0xFFFC0000 - mov r1, sp - movs r2, #0 - bl sub_0806FA48 - mov r1, sp - ldrb r0, [r4, #0x14] - strb r0, [r1, #0x14] - mov r0, sp - adds r1, r5, #0 - adds r2, r6, #0 - mov r3, r8 - bl sub_08003FDE - add sp, #0x88 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_0807A1B4: .4byte 0xFFFC0000 - - thumb_func_start sub_0807A1B8 -sub_0807A1B8: @ 0x0807A1B8 - push {r4, lr} - ldr r4, _0807A1DC @ =gUnk_03001160 - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_0807A1E8 - ldr r1, _0807A1E0 @ =gUnk_03003F80 - strb r0, [r1, #0x12] - ldr r2, _0807A1E4 @ =gUnk_0811C120 - ldrb r0, [r1, #0x12] - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_0807A1DC: .4byte gUnk_03001160 -_0807A1E0: .4byte gUnk_03003F80 -_0807A1E4: .4byte gUnk_0811C120 - - thumb_func_start sub_0807A1E8 -sub_0807A1E8: @ 0x0807A1E8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r6, r1, #0 - mov r8, r2 - movs r1, #0x2e - ldrsh r0, [r5, r1] - adds r0, r0, r6 - ldr r2, _0807A288 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r1, r0, r1 - lsrs r4, r1, #4 - movs r3, #0x3f - ands r4, r3 - movs r7, #0x32 - ldrsh r1, [r5, r7] - add r1, r8 - ldrh r2, [r2, #8] - subs r2, r1, r2 - asrs r2, r2, #4 - ands r2, r3 - lsls r2, r2, #6 - orrs r4, r2 - ldr r2, _0807A28C @ =gUnk_03001160 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_080002A4 - adds r2, r0, #0 - ldr r1, _0807A290 @ =gUnk_03003F80 - ldrh r0, [r1, #0x24] - cmp r2, r0 - beq _0807A23A - adds r3, r1, #0 - adds r3, #0x37 - movs r0, #0 - strb r0, [r3] - ldrh r7, [r1, #0x24] - cmp r2, r7 - bne _0807A242 -_0807A23A: - adds r3, r1, #0 - ldrh r0, [r3, #0x22] - cmp r4, r0 - beq _0807A24E -_0807A242: - ldr r0, _0807A290 @ =gUnk_03003F80 - movs r1, #0 - strh r4, [r0, #0x22] - strh r2, [r0, #0x24] - strb r1, [r0, #0x11] - adds r3, r0, #0 -_0807A24E: - adds r2, r3, #0 - ldrb r1, [r2, #0x11] - adds r0, r1, #0 - cmp r0, #0xff - beq _0807A25C - adds r0, r1, #1 - strb r0, [r2, #0x11] -_0807A25C: - adds r2, #0x37 - ldrb r1, [r2] - adds r0, r1, #0 - cmp r0, #0xff - beq _0807A26A - adds r0, r1, #1 - strb r0, [r2] -_0807A26A: - ldrb r0, [r3, #0x12] - strb r0, [r3, #0x13] - adds r0, r5, #0 - adds r1, r6, #0 - mov r2, r8 - bl sub_080002B4 - adds r2, r0, #0 - ldr r1, _0807A294 @ =gUnk_08007CAC - bl sub_08007DD6 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807A288: .4byte gUnk_03000BF0 -_0807A28C: .4byte gUnk_03001160 -_0807A290: .4byte gUnk_03003F80 -_0807A294: .4byte gUnk_08007CAC - - thumb_func_start sub_0807A298 -sub_0807A298: @ 0x0807A298 - movs r1, #0 - strb r1, [r0, #0xb] - ldrb r1, [r0, #0x18] - movs r2, #3 - orrs r1, r2 - strb r1, [r0, #0x18] - ldr r2, _0807A2B4 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x41 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r2, #0x30] - bx lr - .align 2, 0 -_0807A2B4: .4byte gUnk_03003F80 - - thumb_func_start sub_0807A2B8 -sub_0807A2B8: @ 0x0807A2B8 - push {lr} - bl sub_08008B22 - cmp r0, #0 - beq _0807A2C6 - movs r0, #1 - b _0807A2EC -_0807A2C6: - ldr r0, _0807A2F0 @ =gUnk_03003F80 - ldrb r1, [r0, #2] - movs r0, #0xc8 - ands r0, r1 - cmp r0, #0 - bne _0807A2EA - ldr r1, _0807A2F4 @ =gUnk_03001160 - adds r0, r1, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - beq _0807A2EA - adds r0, r1, #0 - movs r1, #0x44 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 -_0807A2EA: - movs r0, #0 -_0807A2EC: - pop {pc} - .align 2, 0 -_0807A2F0: .4byte gUnk_03003F80 -_0807A2F4: .4byte gUnk_03001160 - - thumb_func_start sub_0807A2F8 -sub_0807A2F8: @ 0x0807A2F8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - adds r4, r0, #0 - ldr r0, _0807A364 @ =gUnk_03000BF0 - mov r8, r0 - ldrb r0, [r0, #4] - cmp r0, #8 - bne _0807A312 - b _0807A4F2 -_0807A312: - bl sub_08079778 - orrs r0, r4 - cmp r0, #0 - bne _0807A31E - b _0807A4F2 -_0807A31E: - ldr r7, _0807A368 @ =gUnk_03001160 - ldrb r1, [r7, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0807A36C - movs r1, #0x2e - ldrsh r2, [r7, r1] - mov r6, r8 - ldrh r0, [r6, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r3, #0x3f - ands r2, r3 - movs r0, #0x32 - ldrsh r1, [r7, r0] - ldr r0, [r7, #0x48] - ldrb r5, [r0, #5] - adds r0, r1, r5 - ldrh r4, [r6, #8] - subs r0, r0, r4 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r0, r2 - lsls r7, r0, #1 - subs r1, r1, r5 - subs r1, r1, r4 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r2, r1 - lsls r6, r2, #1 - b _0807A3A2 - .align 2, 0 -_0807A364: .4byte gUnk_03000BF0 -_0807A368: .4byte gUnk_03001160 -_0807A36C: - movs r1, #0x2e - ldrsh r3, [r7, r1] - ldr r0, [r7, #0x48] - ldrb r6, [r0, #2] - adds r1, r3, r6 - mov r2, r8 - ldrh r5, [r2, #6] - subs r1, r1, r5 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r2, #0x32 - ldrsh r0, [r7, r2] - mov r7, r8 - ldrh r2, [r7, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r1, r0 - lsls r7, r1, #1 - subs r3, r3, r6 - subs r3, r3, r5 - asrs r3, r3, #4 - ands r3, r4 - orrs r3, r0 - lsls r6, r3, #1 -_0807A3A2: - movs r0, #0 - mov sb, r0 - ldr r1, _0807A3F4 @ =gUnk_03001160 - mov sl, r1 -_0807A3AA: - movs r2, #0 - mov r8, r2 - mov r0, sl - mov r1, sp - adds r2, r7, #0 - bl sub_08004202 - adds r7, r0, #0 - lsrs r4, r7, #1 - adds r0, r4, #0 - movs r1, #1 - bl sub_080002E0 - cmp r0, #0 - beq _0807A3FC - lsls r0, r4, #0x10 - lsrs r0, r0, #0x10 - mov r1, sl - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002C8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r2, sl - ldrb r1, [r2, #0x14] - lsrs r1, r1, #1 - lsls r1, r1, #2 - ldr r2, _0807A3F8 @ =gUnk_0811C1D8 - adds r1, r1, r2 - ldr r1, [r1] - bl sub_08007DD6 - cmp r0, #0 - beq _0807A468 - b _0807A400 - .align 2, 0 -_0807A3F4: .4byte gUnk_03001160 -_0807A3F8: .4byte gUnk_0811C1D8 -_0807A3FC: - movs r0, #1 - mov r8, r0 -_0807A400: - ldr r5, _0807A444 @ =gUnk_03001160 - adds r0, r5, #0 - mov r1, sp - adds r2, r6, #0 - bl sub_08004202 - adds r6, r0, #0 - lsrs r4, r6, #1 - adds r0, r4, #0 - movs r1, #1 - bl sub_080002E0 - cmp r0, #0 - beq _0807A44C - lsls r0, r4, #0x10 - lsrs r0, r0, #0x10 - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002C8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldrb r1, [r5, #0x14] - lsrs r1, r1, #1 - lsls r1, r1, #2 - ldr r2, _0807A448 @ =gUnk_0811C1D8 - adds r1, r1, r2 - ldr r1, [r1] - bl sub_08007DD6 - cmp r0, #0 - beq _0807A468 - b _0807A450 - .align 2, 0 -_0807A444: .4byte gUnk_03001160 -_0807A448: .4byte gUnk_0811C1D8 -_0807A44C: - movs r0, #1 - add r8, r0 -_0807A450: - mov r1, r8 - cmp r1, #2 - bne _0807A45E - mov r2, sb - cmp r2, #0 - bne _0807A46E - b _0807A4F2 -_0807A45E: - movs r0, #1 - add sb, r0 - mov r1, sb - cmp r1, #1 - bls _0807A3AA -_0807A468: - mov r2, sb - cmp r2, #0 - beq _0807A4F2 -_0807A46E: - bl sub_08052660 - cmp r0, #0 - beq _0807A4B0 - ldr r4, _0807A4AC @ =gUnk_03001160 - adds r0, r4, #0 - mov r1, sp - adds r2, r7, #0 - bl sub_08004202 - adds r7, r0, #0 - lsrs r0, r7, #1 - movs r1, #2 - bl sub_080002E0 - cmp r0, #0 - bne _0807A4F2 - adds r0, r4, #0 - mov r1, sp - adds r2, r6, #0 - bl sub_08004202 - adds r6, r0, #0 - lsrs r0, r6, #1 - movs r1, #2 -_0807A4A0: - bl sub_080002E0 - cmp r0, #0 - beq _0807A4EC - b _0807A4F2 - .align 2, 0 -_0807A4AC: .4byte gUnk_03001160 -_0807A4B0: - mov r0, sb - cmp r0, #2 - bne _0807A4C2 - ldr r0, _0807A4E8 @ =gUnk_03001160 - mov r1, sp - adds r2, r7, #0 - bl sub_08004202 - adds r7, r0, #0 -_0807A4C2: - lsrs r0, r7, #1 - movs r1, #1 - bl sub_080002E0 - cmp r0, #0 - bne _0807A4F2 - mov r1, sb - cmp r1, #2 - bne _0807A4E0 - ldr r0, _0807A4E8 @ =gUnk_03001160 - mov r1, sp - adds r2, r6, #0 - bl sub_08004202 - adds r6, r0, #0 -_0807A4E0: - lsrs r0, r6, #1 - movs r1, #1 - b _0807A4A0 - .align 2, 0 -_0807A4E8: .4byte gUnk_03001160 -_0807A4EC: - mov r0, sb - adds r0, #1 - b _0807A4F4 -_0807A4F2: - movs r0, #0 -_0807A4F4: - add sp, #4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807A500 -sub_0807A500: @ 0x0807A500 - push {r4, r5, r6, lr} - ldr r6, _0807A518 @ =gUnk_03001160 - ldrb r0, [r6, #0x14] - lsrs r0, r0, #1 - cmp r0, #1 - beq _0807A574 - cmp r0, #1 - bgt _0807A51C - cmp r0, #0 - beq _0807A526 - b _0807A5B4 - .align 2, 0 -_0807A518: .4byte gUnk_03001160 -_0807A51C: - cmp r0, #2 - beq _0807A554 - cmp r0, #3 - beq _0807A580 - b _0807A5B4 -_0807A526: - movs r1, #0x2e - ldrsh r0, [r6, r1] - ldr r5, _0807A550 @ =gUnk_03000BF0 - ldrh r1, [r5, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r4, #0x3f - ands r0, r4 - movs r2, #0x32 - ldrsh r1, [r6, r2] - ldr r3, [r6, #0x48] - ldrb r2, [r3, #5] - subs r1, r1, r2 - movs r2, #1 - ldrsb r2, [r3, r2] - adds r1, r1, r2 - ldrh r2, [r5, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r4 - b _0807A5AA - .align 2, 0 -_0807A550: .4byte gUnk_03000BF0 -_0807A554: - movs r5, #0x2e - ldrsh r0, [r6, r5] - ldr r4, _0807A570 @ =gUnk_03000BF0 - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - ldr r2, [r6, #0x48] - movs r5, #0x32 - ldrsh r1, [r6, r5] - ldrb r5, [r2, #5] - adds r1, r1, r5 - b _0807A59A - .align 2, 0 -_0807A570: .4byte gUnk_03000BF0 -_0807A574: - ldr r2, [r6, #0x48] - movs r1, #0x2e - ldrsh r0, [r6, r1] - ldrb r5, [r2, #2] - adds r0, r0, r5 - b _0807A58A -_0807A580: - movs r1, #0x2e - ldrsh r0, [r6, r1] - ldr r2, [r6, #0x48] - ldrb r1, [r2, #2] - subs r0, r0, r1 -_0807A58A: - ldr r4, _0807A5B0 @ =gUnk_03000BF0 - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r6, r5] -_0807A59A: - ldrb r2, [r2, #1] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - adds r1, r1, r2 - ldrh r2, [r4, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 -_0807A5AA: - lsls r1, r1, #6 - orrs r0, r1 - b _0807A5B6 - .align 2, 0 -_0807A5B0: .4byte gUnk_03000BF0 -_0807A5B4: - movs r0, #0 -_0807A5B6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0807A5B8 -sub_0807A5B8: @ 0x0807A5B8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov sb, r0 - ldr r2, _0807A5F8 @ =gUnk_03003F80 - ldrb r3, [r2, #2] - movs r4, #0x80 - adds r0, r4, #0 - ands r0, r3 - cmp r0, #0 - beq _0807A5D2 - b _0807A736 -_0807A5D2: - ldr r1, [r2, #0x30] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0807A5DE - b _0807A736 -_0807A5DE: - adds r0, r2, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _0807A5EA - b _0807A736 -_0807A5EA: - adds r0, r1, #0 - ands r0, r4 - cmp r0, #0 - beq _0807A600 - ldr r7, _0807A5FC @ =gUnk_0800833C - b _0807A63A - .align 2, 0 -_0807A5F8: .4byte gUnk_03003F80 -_0807A5FC: .4byte gUnk_0800833C -_0807A600: - movs r0, #0x80 - lsls r0, r0, #0x11 - ands r1, r0 - cmp r1, #0 - bne _0807A60E - cmp r3, #0 - beq _0807A618 -_0807A60E: - ldr r7, _0807A614 @ =gUnk_0800845C - b _0807A63A - .align 2, 0 -_0807A614: .4byte gUnk_0800845C -_0807A618: - ldrb r0, [r2, #5] - cmp r0, #0 - bne _0807A624 - ldrb r0, [r2, #0x1c] - cmp r0, #0 - beq _0807A62C -_0807A624: - ldr r7, _0807A628 @ =gUnk_080084BC - b _0807A63A - .align 2, 0 -_0807A628: .4byte gUnk_080084BC -_0807A62C: - adds r0, r2, #0 - adds r0, #0xaa - ldrb r0, [r0] - ldr r7, _0807A740 @ =gUnk_080082DC - cmp r0, #0 - beq _0807A63A - ldr r7, _0807A744 @ =gUnk_0800851C -_0807A63A: - mov r0, sb - cmp r0, #0 - beq _0807A6B8 - cmp r0, #0x10 - beq _0807A6B8 - ldr r6, _0807A748 @ =gUnk_03001160 - ldr r2, [r6, #0x48] - movs r1, #0x2e - ldrsh r0, [r6, r1] - ldrb r3, [r2, #2] - adds r0, r0, r3 - movs r1, #0 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - ldr r1, _0807A74C @ =gUnk_03000BF0 - mov r8, r1 - ldrh r1, [r1, #6] - subs r5, r0, r1 - movs r3, #0x32 - ldrsh r0, [r6, r3] - movs r1, #1 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - mov r2, r8 - ldrh r1, [r2, #8] - subs r4, r0, r1 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - bl sub_080086B4 - cmp r0, #0 - beq _0807A688 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - movs r3, #1 - bl sub_0807A750 -_0807A688: - movs r3, #0x2e - ldrsh r1, [r6, r3] - ldr r2, [r6, #0x48] - ldrb r0, [r2, #2] - subs r1, r1, r0 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - mov r2, r8 - ldrh r0, [r2, #6] - subs r5, r1, r0 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - bl sub_080086B4 - cmp r0, #0 - beq _0807A6B8 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - movs r3, #3 - bl sub_0807A750 -_0807A6B8: - mov r3, sb - cmp r3, #8 - beq _0807A736 - cmp r3, #0x18 - beq _0807A736 - ldr r6, _0807A748 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, [r6, #0x48] - movs r0, #0 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - ldr r3, _0807A74C @ =gUnk_03000BF0 - mov r8, r3 - ldrh r0, [r3, #6] - subs r5, r1, r0 - movs r1, #0x32 - ldrsh r0, [r6, r1] - ldrb r3, [r2, #5] - adds r0, r0, r3 - movs r1, #1 - ldrsb r1, [r2, r1] - adds r0, r0, r1 - mov r2, r8 - ldrh r1, [r2, #8] - subs r4, r0, r1 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - bl sub_080086B4 - cmp r0, #0 - beq _0807A706 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - movs r3, #2 - bl sub_0807A750 -_0807A706: - movs r3, #0x32 - ldrsh r1, [r6, r3] - ldr r2, [r6, #0x48] - ldrb r0, [r2, #5] - subs r1, r1, r0 - movs r0, #1 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - mov r2, r8 - ldrh r0, [r2, #8] - subs r4, r1, r0 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - bl sub_080086B4 - cmp r0, #0 - beq _0807A736 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - movs r3, #0 - bl sub_0807A750 -_0807A736: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807A740: .4byte gUnk_080082DC -_0807A744: .4byte gUnk_0800851C -_0807A748: .4byte gUnk_03001160 -_0807A74C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807A750 -sub_0807A750: @ 0x0807A750 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - adds r6, r1, #0 - mov r8, r2 - adds r5, r3, #0 - movs r0, #1 - ands r0, r5 - cmp r0, #0 - bne _0807A76C - movs r4, #0xf - ands r4, r6 - b _0807A770 -_0807A76C: - movs r4, #0xf - ands r4, r7 -_0807A770: - cmp r4, #0 - bne _0807A776 - b _0807A88E -_0807A776: - cmp r4, #0xf - bne _0807A77C - b _0807A88E -_0807A77C: - lsrs r0, r7, #4 - movs r2, #0x3f - ands r0, r2 - lsrs r1, r6, #4 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - ldr r1, _0807A7A8 @ =gUnk_03001160 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002E0 - adds r1, r0, #0 - cmp r1, #0xf - bls _0807A7AE - cmp r1, #0xff - beq _0807A7AC - mov r2, r8 - adds r0, r1, r2 - subs r0, #0x10 - ldrb r1, [r0] - b _0807A7AE - .align 2, 0 -_0807A7A8: .4byte gUnk_03001160 -_0807A7AC: - movs r1, #0xf -_0807A7AE: - ldr r0, _0807A7D8 @ =gUnk_0800823C - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - movs r0, #1 - ands r0, r5 - cmp r0, #0 - bne _0807A824 - movs r0, #0xf - ands r0, r7 - movs r2, #0x80 - lsls r2, r2, #8 - asrs r2, r0 - cmp r5, #0 - bne _0807A7F4 - ldr r3, _0807A7DC @ =gUnk_03001160 - cmp r4, #0xe - bgt _0807A7F0 - lsls r0, r4, #1 - adds r1, r0, r1 - b _0807A7E8 - .align 2, 0 -_0807A7D8: .4byte gUnk_0800823C -_0807A7DC: .4byte gUnk_03001160 -_0807A7E0: - adds r1, #2 - adds r4, #1 - cmp r4, #0xe - bgt _0807A7F0 -_0807A7E8: - ldrh r0, [r1] - ands r0, r2 - cmp r0, #0 - bne _0807A7E0 -_0807A7F0: - subs r4, #1 - b _0807A816 -_0807A7F4: - ldr r3, _0807A800 @ =gUnk_03001160 - cmp r4, #0 - ble _0807A814 - lsls r0, r4, #1 - adds r1, r0, r1 - b _0807A80C - .align 2, 0 -_0807A800: .4byte gUnk_03001160 -_0807A804: - subs r1, #2 - subs r4, #1 - cmp r4, #0 - ble _0807A814 -_0807A80C: - ldrh r0, [r1] - ands r0, r2 - cmp r0, #0 - bne _0807A804 -_0807A814: - adds r4, #1 -_0807A816: - movs r0, #0xf - ands r0, r6 - subs r0, r4, r0 - ldrh r1, [r3, #0x32] - adds r0, r0, r1 - strh r0, [r3, #0x32] - b _0807A88E -_0807A824: - movs r3, #0xf - ands r6, r3 - lsls r0, r6, #1 - adds r0, r0, r1 - ldrh r2, [r0] - cmp r5, #1 - bne _0807A85C - subs r0, r3, r4 - lsrs r2, r0 - ldr r3, _0807A858 @ =gUnk_03001160 - cmp r4, #0 - ble _0807A854 - ands r5, r2 - cmp r5, #0 - beq _0807A854 - movs r1, #1 -_0807A844: - lsrs r2, r2, #1 - subs r4, #1 - cmp r4, #0 - ble _0807A854 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _0807A844 -_0807A854: - adds r4, #1 - b _0807A882 - .align 2, 0 -_0807A858: .4byte gUnk_03001160 -_0807A85C: - lsls r2, r4 - ldr r3, _0807A86C @ =gUnk_03001160 - cmp r4, #0xe - bgt _0807A880 - movs r1, #0x80 - lsls r1, r1, #8 - b _0807A878 - .align 2, 0 -_0807A86C: .4byte gUnk_03001160 -_0807A870: - lsls r2, r2, #1 - adds r4, #1 - cmp r4, #0xe - bgt _0807A880 -_0807A878: - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _0807A870 -_0807A880: - subs r4, #1 -_0807A882: - movs r0, #0xf - ands r0, r7 - subs r0, r4, r0 - ldrh r2, [r3, #0x2e] - adds r0, r0, r2 - strh r0, [r3, #0x2e] -_0807A88E: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807A894 -sub_0807A894: @ 0x0807A894 - push {lr} - ldrb r1, [r0, #0x15] - cmp r1, #8 - beq _0807A8BA - cmp r1, #8 - bgt _0807A8A6 - cmp r1, #0 - beq _0807A8B0 - b _0807A8C8 -_0807A8A6: - cmp r1, #0x10 - beq _0807A8B6 - cmp r1, #0x18 - beq _0807A8C0 - b _0807A8C8 -_0807A8B0: - movs r2, #8 - rsbs r2, r2, #0 - b _0807A8CA -_0807A8B6: - movs r2, #5 - b _0807A8CA -_0807A8BA: - movs r2, #0 - movs r1, #8 - b _0807A8CC -_0807A8C0: - movs r2, #0 - movs r1, #8 - rsbs r1, r1, #0 - b _0807A8CC -_0807A8C8: - movs r2, #0 -_0807A8CA: - movs r1, #0 -_0807A8CC: - bl sub_080002B4 - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_505 -nullsub_505: @ 0x0807A8D4 - bx lr - .align 2, 0 - - thumb_func_start sub_0807A8D8 -sub_0807A8D8: @ 0x0807A8D8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - ldr r0, _0807AA5C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807A8F0 - b _0807A9F6 -_0807A8F0: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r7, _0807AA60 @ =gUnk_03000BF0 - ldrh r1, [r7, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r6, #0x3f - ands r0, r6 - movs r2, #0x32 - ldrsh r1, [r5, r2] - ldrh r2, [r7, #8] - adds r2, #1 - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r0, r1 - ldr r1, _0807AA64 @ =gUnk_03001160 - adds r1, #0x38 - mov sb, r1 - ldrb r1, [r1] - bl sub_080002EC - adds r4, r0, #0 - movs r0, #0x20 - mov r8, r0 - ands r4, r0 - cmp r4, #0 - beq _0807A94E - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldrh r0, [r7, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r5, r2] - ldrh r2, [r7, #8] - adds r2, #1 - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - bl sub_0807AAF8 -_0807A94E: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldrh r1, [r7, #6] - subs r1, #2 - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r6 - movs r2, #0x32 - ldrsh r1, [r5, r2] - ldrh r2, [r7, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r0, r1 - mov r2, sb - ldrb r1, [r2] - bl sub_080002EC - adds r4, r0, #0 - mov r0, r8 - ands r4, r0 - cmp r4, #0 - beq _0807A9A2 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldrh r0, [r7, #6] - subs r0, #2 - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r5, r2] - ldrh r2, [r7, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - bl sub_0807AAF8 -_0807A9A2: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldrh r1, [r7, #6] - adds r1, #2 - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r6 - movs r2, #0x32 - ldrsh r1, [r5, r2] - ldrh r2, [r7, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r0, r1 - mov r2, sb - ldrb r1, [r2] - bl sub_080002EC - adds r4, r0, #0 - mov r0, r8 - ands r4, r0 - cmp r4, #0 - beq _0807A9F6 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldrh r0, [r7, #6] - adds r0, #2 - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r5, r2] - ldrh r2, [r7, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - bl sub_0807AAF8 -_0807A9F6: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r7, _0807AA60 @ =gUnk_03000BF0 - ldrh r1, [r7, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r6, #0x3f - ands r0, r6 - movs r2, #0x32 - ldrsh r1, [r5, r2] - ldrh r2, [r7, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r0, r1 - ldr r1, _0807AA64 @ =gUnk_03001160 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002EC - adds r4, r0, #0 - movs r0, #0x20 - ands r0, r4 - cmp r0, #0 - beq _0807AA4C - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldrh r0, [r7, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r5, r2] - ldrh r2, [r7, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - bl sub_0807AAF8 -_0807AA4C: - movs r0, #2 - ands r0, r4 - cmp r0, #0 - beq _0807AA68 - adds r0, r5, #0 - bl sub_0807AABC - b _0807AA76 - .align 2, 0 -_0807AA5C: .4byte gUnk_03003F80 -_0807AA60: .4byte gUnk_03000BF0 -_0807AA64: .4byte gUnk_03001160 -_0807AA68: - movs r0, #4 - ands r0, r4 - cmp r0, #0 - beq _0807AA76 - adds r0, r5, #0 - bl sub_0807AA80 -_0807AA76: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807AA80 -sub_0807AA80: @ 0x0807AA80 - push {lr} - adds r3, r0, #0 - ldr r0, _0807AAB8 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x40 - ands r0, r1 - cmp r0, #0 - bne _0807AAB6 - adds r0, r3, #0 - adds r0, #0x38 - movs r1, #2 - strb r1, [r0] - movs r1, #0x36 - ldrsh r0, [r3, r1] - cmp r0, #0 - bne _0807AAB6 - ldrb r2, [r3, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r3, #0x1b] - ldrb r0, [r3, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r3, #0x19] -_0807AAB6: - pop {pc} - .align 2, 0 -_0807AAB8: .4byte gUnk_03003F80 - - thumb_func_start sub_0807AABC -sub_0807AABC: @ 0x0807AABC - push {lr} - adds r3, r0, #0 - ldr r0, _0807AAF4 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x40 - ands r0, r1 - cmp r0, #0 - bne _0807AAF2 - adds r0, r3, #0 - adds r0, #0x38 - movs r1, #1 - strb r1, [r0] - movs r1, #0x36 - ldrsh r0, [r3, r1] - cmp r0, #0 - bne _0807AAF2 - ldrb r2, [r3, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r3, #0x1b] - ldrb r0, [r3, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r3, #0x19] -_0807AAF2: - pop {pc} - .align 2, 0 -_0807AAF4: .4byte gUnk_03003F80 - - thumb_func_start sub_0807AAF8 -sub_0807AAF8: @ 0x0807AAF8 - push {r4, lr} - adds r3, r0, #0 - adds r2, r1, #0 - movs r1, #0x36 - ldrsh r0, [r3, r1] - cmp r0, #0 - bne _0807AB3C - adds r0, r3, #0 - adds r0, #0x38 - ldrb r0, [r0] - lsls r0, r0, #0x1e - orrs r2, r0 - movs r3, #0 - ldr r0, _0807AB40 @ =gUnk_03003F80 - ldr r1, [r0, #0x40] - adds r4, r0, #0 - cmp r1, r2 - beq _0807AB32 - adds r1, r4, #0 - adds r1, #0x40 -_0807AB20: - ldr r0, [r1] - stm r1!, {r2} - adds r2, r0, #0 - adds r3, #1 - cmp r3, #0xe - bhi _0807AB32 - ldr r0, [r1] - cmp r0, r2 - bne _0807AB20 -_0807AB32: - lsls r0, r3, #2 - adds r1, r4, #0 - adds r1, #0x40 - adds r0, r0, r1 - str r2, [r0] -_0807AB3C: - pop {r4, pc} - .align 2, 0 -_0807AB40: .4byte gUnk_03003F80 - - thumb_func_start sub_0807AB44 -sub_0807AB44: @ 0x0807AB44 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r6, r0, #0 - adds r7, r1, #0 - mov r8, r2 - movs r1, #0x2e - ldrsh r0, [r6, r1] - adds r0, r0, r7 - ldr r2, _0807ABF0 @ =gUnk_03000BF0 - mov sb, r2 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - mov sl, r3 - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r6, r5] - add r1, r8 - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r6, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - movs r1, #0xb - bl sub_0806FC50 - adds r5, r0, #0 - cmp r5, #0 - beq _0807AC44 - ldrh r0, [r5, #6] - cmp r0, #0x76 - bne _0807ABF4 - movs r0, #0x2a - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0807AC44 - lsls r2, r7, #0x10 - mov r0, r8 - lsls r3, r0, #0x10 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA48 - adds r0, r4, #0 - bl sub_08004168 - ldrh r0, [r5, #6] - movs r2, #0x2e - ldrsh r1, [r4, r2] - mov r3, sb - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - mov r5, sl - ands r1, r5 - movs r3, #0x32 - ldrsh r2, [r4, r3] - mov r5, sb - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - mov r3, sl - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B7D8 - b _0807AC44 - .align 2, 0 -_0807ABF0: .4byte gUnk_03000BF0 -_0807ABF4: - movs r0, #0x2a - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0807AC44 - lsls r2, r7, #0x10 - mov r0, r8 - lsls r3, r0, #0x10 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA48 - str r5, [r4, #0x54] - ldr r0, _0807AC50 @ =0x0000404F - movs r2, #0x2e - ldrsh r1, [r4, r2] - mov r3, sb - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - mov r5, sl - ands r1, r5 - movs r3, #0x32 - ldrsh r2, [r4, r3] - mov r5, sb - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - mov r3, sl - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0807AC44: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807AC50: .4byte 0x0000404F - - thumb_func_start sub_0807AC54 -sub_0807AC54: @ 0x0807AC54 - push {lr} - adds r2, r0, #0 - ldr r0, _0807AC74 @ =gUnk_03003F80 - ldrb r1, [r0, #0x11] - adds r3, r0, #0 - cmp r1, #0 - beq _0807ACC6 - ldrb r0, [r3, #0x12] - cmp r0, #0x2a - beq _0807ACA8 - cmp r0, #0x2a - bgt _0807AC78 - cmp r0, #0x1e - beq _0807AC82 - b _0807ACC6 - .align 2, 0 -_0807AC74: .4byte gUnk_03003F80 -_0807AC78: - cmp r0, #0x2b - beq _0807AC90 - cmp r0, #0x2c - beq _0807ACB6 - b _0807ACC6 -_0807AC82: - ldrh r0, [r2, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strh r1, [r2, #0x2e] -_0807AC90: - movs r0, #0 - movs r1, #0x1d - strb r1, [r2, #0xc] - strb r0, [r2, #0xd] - strh r0, [r2, #0x30] - ldr r0, _0807ACA4 @ =0x000002CF - strh r0, [r3, #8] - movs r0, #1 - b _0807ACC8 - .align 2, 0 -_0807ACA4: .4byte 0x000002CF -_0807ACA8: - ldrh r0, [r2, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strh r1, [r2, #0x2e] -_0807ACB6: - movs r0, #0 - movs r1, #0x1d - strb r1, [r2, #0xc] - movs r1, #1 - strb r1, [r2, #0xd] - strh r0, [r2, #0x30] - movs r0, #1 - b _0807ACC8 -_0807ACC6: - movs r0, #0 -_0807ACC8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807ACCC -sub_0807ACCC: @ 0x0807ACCC - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - movs r0, #0x72 - bl sub_0807CA84 - movs r1, #0xc0 - cmp r0, #1 - bne _0807ACF4 - adds r1, #0x40 -_0807ACF4: - movs r2, #0x24 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0807AD18 - strh r1, [r4, #0x24] - ldr r0, _0807AD14 @ =gUnk_03003F80 - ldrb r1, [r0, #0xd] - strb r1, [r4, #0x15] - adds r0, #0x26 - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _0807ADB4 - b _0807AD1E - .align 2, 0 -_0807AD14: .4byte gUnk_03003F80 -_0807AD18: - ldrh r0, [r4, #0x24] - subs r0, #4 - strh r0, [r4, #0x24] -_0807AD1E: - ldr r2, _0807AD3C @ =gUnk_03003F80 - adds r1, r2, #0 - adds r1, #0x89 - ldrb r0, [r1] - cmp r0, #0 - bne _0807AD40 - adds r0, r4, #0 - bl sub_0807ADB8 - cmp r0, #0 - bne _0807AD74 - adds r0, r4, #0 - bl sub_0807AE20 - b _0807AD74 - .align 2, 0 -_0807AD3C: .4byte gUnk_03003F80 -_0807AD40: - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0807AD52 - adds r0, r4, #0 - bl sub_0807ADB8 - b _0807AD74 -_0807AD52: - adds r2, #0x26 - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0807ADA0 @ =0x00000163 - bl sub_080A3268 -_0807AD74: - ldr r0, _0807ADA4 @ =gUnk_03003F80 - adds r0, #0x26 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807ADA8 - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #4 - orrs r0, r1 - strb r0, [r2] - subs r2, #0x13 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - b _0807ADB2 - .align 2, 0 -_0807ADA0: .4byte 0x00000163 -_0807ADA4: .4byte gUnk_03003F80 -_0807ADA8: - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 -_0807ADB2: - strb r0, [r2] -_0807ADB4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807ADB8 -sub_0807ADB8: @ 0x0807ADB8 - push {r4, lr} - adds r2, r0, #0 - ldr r3, _0807ADF4 @ =gUnk_03003F80 - adds r0, r3, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0807AE1C - movs r0, #0x26 - adds r0, r0, r3 - mov ip, r0 - ldrb r0, [r0] - movs r1, #0x80 - eors r0, r1 - mov r1, ip - strb r0, [r1] - movs r1, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - beq _0807ADF8 - adds r1, r3, #0 - adds r1, #0x89 - movs r0, #0x78 - strb r0, [r1] - b _0807AE0E - .align 2, 0 -_0807ADF4: .4byte gUnk_03003F80 -_0807ADF8: - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - adds r0, r3, #0 - adds r0, #0x89 - strb r4, [r0] -_0807AE0E: - ldr r0, _0807AE18 @ =0x00000163 - bl sub_080A3268 - movs r0, #1 - b _0807AE1E - .align 2, 0 -_0807AE18: .4byte 0x00000163 -_0807AE1C: - movs r0, #0 -_0807AE1E: - pop {r4, pc} - - thumb_func_start sub_0807AE20 -sub_0807AE20: @ 0x0807AE20 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0x17 - bne _0807AE32 - ldr r0, _0807AE58 @ =gUnk_03003F80 - ldrb r0, [r0, #0xa] - cmp r0, #0 - bne _0807AE74 -_0807AE32: - ldr r0, _0807AE5C @ =gUnk_03000BF0 - ldrh r0, [r0] - cmp r0, #0 - bne _0807AE74 - ldr r0, _0807AE58 @ =gUnk_03003F80 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _0807AE74 - movs r0, #0x72 - bl sub_0807CA84 - cmp r0, #1 - bne _0807AE60 - movs r0, #0xe0 - lsls r0, r0, #1 - b _0807AE64 - .align 2, 0 -_0807AE58: .4byte gUnk_03003F80 -_0807AE5C: .4byte gUnk_03000BF0 -_0807AE60: - movs r0, #0xc0 - lsls r0, r0, #1 -_0807AE64: - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08079520 - movs r0, #0xb1 - lsls r0, r0, #1 - bl sub_080A3268 -_0807AE74: - movs r0, #0x10 - bl sub_080793E4 - cmp r0, #0 - beq _0807AEA8 - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0x14 - strb r0, [r1] - adds r1, #5 - movs r0, #4 - strb r0, [r1] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - movs r0, #0x7a - bl sub_080A3268 -_0807AEA8: - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807AECC - ldr r0, _0807AEC8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _0807AEDE - adds r0, r4, #0 - movs r1, #4 - bl sub_080A2A84 - b _0807AEDE - .align 2, 0 -_0807AEC8: .4byte gUnk_030010A0 -_0807AECC: - ldr r0, _0807AEE0 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0807AEDE - adds r0, r4, #0 - bl sub_080A2A64 -_0807AEDE: - pop {r4, pc} - .align 2, 0 -_0807AEE0: .4byte gUnk_030010A0 - - thumb_func_start sub_0807AEE4 -sub_0807AEE4: @ 0x0807AEE4 - push {r4, lr} - ldr r0, _0807AFE4 @ =gUnk_03003F80 - adds r4, r0, #0 - adds r4, #0xac - movs r0, #0 - strh r0, [r4] - movs r0, #0x48 - bl sub_0807CA84 - cmp r0, #1 - bne _0807AF02 - ldrh r0, [r4] - movs r1, #1 - orrs r0, r1 - strh r0, [r4] -_0807AF02: - movs r0, #0x49 - bl sub_0807CA84 - cmp r0, #1 - bne _0807AF14 - ldrh r0, [r4] - movs r1, #2 - orrs r0, r1 - strh r0, [r4] -_0807AF14: - movs r0, #0x4a - bl sub_0807CA84 - cmp r0, #1 - bne _0807AF26 - ldrh r0, [r4] - movs r1, #4 - orrs r0, r1 - strh r0, [r4] -_0807AF26: - movs r0, #0x4b - bl sub_0807CA84 - cmp r0, #1 - bne _0807AF38 - ldrh r0, [r4] - movs r1, #8 - orrs r0, r1 - strh r0, [r4] -_0807AF38: - movs r0, #0x4c - bl sub_0807CA84 - cmp r0, #1 - bne _0807AF4A - ldrh r0, [r4] - movs r1, #0x10 - orrs r0, r1 - strh r0, [r4] -_0807AF4A: - movs r0, #0x4d - bl sub_0807CA84 - cmp r0, #1 - bne _0807AF5C - ldrh r0, [r4] - movs r1, #0x20 - orrs r0, r1 - strh r0, [r4] -_0807AF5C: - movs r0, #0x4e - bl sub_0807CA84 - cmp r0, #1 - bne _0807AF6E - ldrh r0, [r4] - movs r1, #0x40 - orrs r0, r1 - strh r0, [r4] -_0807AF6E: - movs r0, #0x4f - bl sub_0807CA84 - cmp r0, #1 - bne _0807AF80 - ldrh r0, [r4] - movs r1, #0x80 - orrs r0, r1 - strh r0, [r4] -_0807AF80: - movs r0, #6 - bl sub_0807CA84 - cmp r0, #1 - bne _0807AF96 - ldrh r0, [r4] - movs r2, #0x80 - lsls r2, r2, #1 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r4] -_0807AF96: - movs r0, #0x73 - bl sub_0807CA84 - cmp r0, #1 - bne _0807AFAC - ldrh r0, [r4] - movs r3, #0x80 - lsls r3, r3, #2 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r4] -_0807AFAC: - movs r0, #0x74 - bl sub_0807CA84 - cmp r0, #1 - bne _0807AFC6 - ldr r0, _0807AFE4 @ =gUnk_03003F80 - adds r0, #0xac - ldrh r2, [r0] - movs r3, #0x80 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r1, r2 - strh r1, [r0] -_0807AFC6: - movs r0, #0x75 - bl sub_0807CA84 - cmp r0, #1 - bne _0807AFE0 - ldr r0, _0807AFE4 @ =gUnk_03003F80 - adds r0, #0xac - ldrh r2, [r0] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r1, r2 - strh r1, [r0] -_0807AFE0: - pop {r4, pc} - .align 2, 0 -_0807AFE4: .4byte gUnk_03003F80 - - thumb_func_start sub_0807AFE8 -sub_0807AFE8: @ 0x0807AFE8 - push {lr} - bl sub_08077B20 - ldr r0, _0807B00C @ =gUnk_03001160 - movs r1, #0x43 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0807B004 - ldrh r0, [r1, #0x32] - adds r0, #1 - strh r0, [r1, #0x32] -_0807B004: - ldr r1, _0807B010 @ =gUnk_03003F80 - movs r0, #9 - strb r0, [r1, #0xc] - pop {pc} - .align 2, 0 -_0807B00C: .4byte gUnk_03001160 -_0807B010: .4byte gUnk_03003F80 - - thumb_func_start sub_0807B014 -sub_0807B014: @ 0x0807B014 - push {lr} - ldr r2, _0807B03C @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0807B044 - ldr r0, _0807B040 @ =gUnk_02002A40 - adds r1, r0, #0 - adds r1, #0xaa - adds r0, #0xab - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bne _0807B044 - movs r0, #0xf - b _0807B066 - .align 2, 0 -_0807B03C: .4byte gUnk_03003F80 -_0807B040: .4byte gUnk_02002A40 -_0807B044: - adds r0, r2, #0 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807B064 - ldr r0, _0807B060 @ =gUnk_02002A40 - adds r0, #0xaa - ldrb r0, [r0] - cmp r0, #8 - bhi _0807B064 - movs r0, #0x16 - b _0807B066 - .align 2, 0 -_0807B060: .4byte gUnk_02002A40 -_0807B064: - movs r0, #0 -_0807B066: - pop {pc} - - thumb_func_start sub_0807B068 -sub_0807B068: @ 0x0807B068 - push {lr} - ldr r2, _0807B090 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1e] - ldrb r0, [r2, #4] - orrs r0, r1 - cmp r0, #0 - bne _0807B0C2 - adds r0, r2, #0 - adds r0, #0x26 - ldrb r1, [r0] - cmp r1, #0 - beq _0807B0A4 - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807B098 - ldr r0, _0807B094 @ =0x00000C1C - strh r0, [r2, #8] - b _0807B0C2 - .align 2, 0 -_0807B090: .4byte gUnk_03003F80 -_0807B094: .4byte 0x00000C1C -_0807B098: - ldr r0, _0807B0A0 @ =0x00000C0C - strh r0, [r2, #8] - b _0807B0C2 - .align 2, 0 -_0807B0A0: .4byte 0x00000C0C -_0807B0A4: - ldrb r1, [r2, #0xd] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0807B0B8 - ldrh r0, [r2, #8] - ldr r1, _0807B0B4 @ =0x00000C18 - b _0807B0BC - .align 2, 0 -_0807B0B4: .4byte 0x00000C18 -_0807B0B8: - ldrh r0, [r2, #8] - ldr r1, _0807B0C4 @ =0x00000C04 -_0807B0BC: - cmp r0, r1 - beq _0807B0C2 - strh r1, [r2, #8] -_0807B0C2: - pop {pc} - .align 2, 0 -_0807B0C4: .4byte 0x00000C04 - - thumb_func_start sub_0807B0C8 -sub_0807B0C8: @ 0x0807B0C8 - push {r4, lr} - ldr r4, _0807B0F8 @ =gUnk_03001160 - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_0806FEBC - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FEBC - adds r0, r4, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_0806FEBC - adds r0, r4, #0 - movs r1, #3 - movs r2, #0 - bl sub_0806FEBC - pop {r4, pc} - .align 2, 0 -_0807B0F8: .4byte gUnk_03001160 - - thumb_func_start sub_0807B0FC -sub_0807B0FC: @ 0x0807B0FC - push {lr} - ldr r2, _0807B110 @ =gUnk_0811C27C - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807B110: .4byte gUnk_0811C27C - - thumb_func_start sub_0807B114 -sub_0807B114: @ 0x0807B114 - movs r1, #1 - strb r1, [r0, #0xd] - ldr r1, _0807B124 @ =gUnk_03003F80 - adds r1, #0x38 - ldrb r1, [r1] - adds r0, #0x6c - strb r1, [r0] - bx lr - .align 2, 0 -_0807B124: .4byte gUnk_03003F80 - - thumb_func_start sub_0807B128 -sub_0807B128: @ 0x0807B128 - push {lr} - ldr r2, _0807B140 @ =gUnk_0811C284 - adds r1, r0, #0 - adds r1, #0x6c - ldrb r1, [r1] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807B140: .4byte gUnk_0811C284 - - thumb_func_start sub_0807B144 -sub_0807B144: @ 0x0807B144 - push {lr} - ldrb r2, [r0, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - ldrb r1, [r0, #0x14] - lsls r1, r1, #2 - strb r1, [r0, #0x15] - movs r1, #0xa0 - strh r1, [r0, #0x24] - movs r1, #0x80 - lsls r1, r1, #0xb - str r1, [r0, #0x20] - ldr r1, _0807B170 @ =gUnk_03003F80 - movs r0, #0x81 - strb r0, [r1, #2] - bl sub_080791BC - pop {pc} - .align 2, 0 -_0807B170: .4byte gUnk_03003F80 - - thumb_func_start nullsub_506 -nullsub_506: @ 0x0807B174 - bx lr - .align 2, 0 - - thumb_func_start sub_0807B178 -sub_0807B178: @ 0x0807B178 - push {lr} - ldrb r2, [r0, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - movs r2, #0 - movs r1, #0x10 - strb r1, [r0, #0x15] - strh r2, [r0, #0x24] - movs r1, #0x80 - lsls r1, r1, #0xb - str r1, [r0, #0x20] - ldr r1, _0807B1A4 @ =gUnk_03003F80 - movs r0, #0x81 - strb r0, [r1, #2] - bl sub_080791BC - pop {pc} - .align 2, 0 -_0807B1A4: .4byte gUnk_03003F80 - - thumb_func_start sub_0807B1A8 -sub_0807B1A8: @ 0x0807B1A8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0807B1D4 @ =gUnk_0811C298 - adds r0, #0x6e - ldrb r0, [r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r0, _0807B1D8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0807B1D0 - adds r0, r4, #0 - bl sub_080A2B80 -_0807B1D0: - pop {r4, pc} - .align 2, 0 -_0807B1D4: .4byte gUnk_0811C298 -_0807B1D8: .4byte gUnk_030010A0 - - thumb_func_start sub_0807B1DC -sub_0807B1DC: @ 0x0807B1DC - adds r2, r0, #0 - adds r2, #0x6e - ldrb r1, [r2] - adds r1, #1 - strb r1, [r2] - movs r1, #0x1e - strb r1, [r0, #0xe] - bx lr - - thumb_func_start sub_0807B1EC -sub_0807B1EC: @ 0x0807B1EC - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0807B212 - adds r1, r2, #0 - adds r1, #0x6e - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r2, #0x20] - ldr r1, _0807B214 @ =gUnk_03003F80 - ldr r0, _0807B218 @ =0x000002C2 - strh r0, [r1, #8] -_0807B212: - pop {pc} - .align 2, 0 -_0807B214: .4byte gUnk_03003F80 -_0807B218: .4byte 0x000002C2 - - thumb_func_start sub_0807B21C -sub_0807B21C: @ 0x0807B21C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _0807B236 - movs r1, #0x80 - lsls r1, r1, #3 - adds r0, r4, #0 - bl sub_08003FC4 - b _0807B240 -_0807B236: - movs r1, #0x80 - lsls r1, r1, #4 - adds r0, r4, #0 - bl sub_08003FC4 -_0807B240: - ldr r1, [r4, #0x20] - ldr r0, _0807B260 @ =0xFFFF8000 - cmp r1, r0 - bge _0807B25E - movs r1, #0 - movs r0, #0x78 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x6e - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldr r0, [r4, #0x34] - str r0, [r4, #0x68] -_0807B25E: - pop {r4, pc} - .align 2, 0 -_0807B260: .4byte 0xFFFF8000 - - thumb_func_start sub_0807B264 -sub_0807B264: @ 0x0807B264 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xf] - adds r0, #2 - strb r0, [r4, #0xf] - ldr r1, _0807B2B4 @ =gUnk_080C9160 - ldrb r0, [r4, #0xf] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r2, #0 - ldrsh r1, [r0, r2] - asrs r1, r1, #7 - lsls r1, r1, #0x10 - ldr r0, [r4, #0x68] - adds r0, r0, r1 - str r0, [r4, #0x34] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0807B2B0 - movs r0, #0x50 - strb r0, [r4, #0xe] - movs r0, #0x80 - lsls r0, r0, #8 - str r0, [r4, #0x20] - adds r1, r4, #0 - adds r1, #0x6e - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - movs r0, #0xa9 - lsls r0, r0, #1 - bl sub_080A3268 -_0807B2B0: - pop {r4, pc} - .align 2, 0 -_0807B2B4: .4byte gUnk_080C9160 - - thumb_func_start sub_0807B2B8 -sub_0807B2B8: @ 0x0807B2B8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0807B2F0 @ =0xFFFFE000 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0807B2EC - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0807B2EC - adds r0, r4, #0 - adds r0, #0x6d - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0807B2F4 @ =gUnk_0813AD88 - adds r0, r0, r1 - bl sub_08080840 -_0807B2EC: - pop {r4, pc} - .align 2, 0 -_0807B2F0: .4byte 0xFFFFE000 -_0807B2F4: .4byte gUnk_0813AD88 - - thumb_func_start sub_0807B2F8 -sub_0807B2F8: @ 0x0807B2F8 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x6e - ldrb r0, [r1] - cmp r0, #0 - bne _0807B310 - adds r0, #1 - strb r0, [r1] - adds r0, r2, #0 - bl sub_0809D738 -_0807B310: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807B314 -sub_0807B314: @ 0x0807B314 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - ldr r0, _0807B3A0 @ =0x000007FF - cmp r5, r0 - bhi _0807B410 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0801AF8C - adds r0, r6, #0 - bl sub_0808094C - adds r2, r0, #0 - lsls r1, r5, #1 - ldr r3, _0807B3A4 @ =0x00006004 - adds r0, r2, r3 - adds r0, r0, r1 - ldrh r0, [r0] - mov ip, r0 - lsls r1, r4, #1 - adds r0, r2, #4 - adds r0, r0, r1 - mov r1, ip - strh r1, [r0] - ldr r0, _0807B3A8 @ =gUnk_080B3E80 - adds r0, r5, r0 - ldrb r3, [r0] - ldr r1, _0807B3AC @ =0x00002004 - adds r0, r2, r1 - adds r0, r0, r4 - strb r3, [r0] - ldr r7, _0807B3B0 @ =gUnk_03000BF0 - ldrb r1, [r7, #0xf] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0807B36C - ldr r0, _0807B3B4 @ =gUnk_02025EB0 - ldr r1, _0807B3AC @ =0x00002004 - adds r0, r0, r1 - adds r0, r4, r0 - strb r3, [r0] -_0807B36C: - ldr r3, _0807B3B8 @ =0x0000B004 - adds r1, r2, r3 - adds r1, r1, r4 - ldr r0, _0807B3BC @ =gUnk_080B37A0 - adds r0, r5, r0 - ldrb r0, [r0] - strb r0, [r1] - ldrb r1, [r7, #0xf] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0807B430 - movs r1, #0x3f - ands r1, r4 - lsls r1, r1, #1 - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r4 - lsls r0, r0, #2 - adds r1, r1, r0 - cmp r6, #2 - beq _0807B3C4 - lsls r1, r1, #1 - ldr r0, _0807B3C0 @ =gUnk_02019EE0 - b _0807B3C8 - .align 2, 0 -_0807B3A0: .4byte 0x000007FF -_0807B3A4: .4byte 0x00006004 -_0807B3A8: .4byte gUnk_080B3E80 -_0807B3AC: .4byte 0x00002004 -_0807B3B0: .4byte gUnk_03000BF0 -_0807B3B4: .4byte gUnk_02025EB0 -_0807B3B8: .4byte 0x0000B004 -_0807B3BC: .4byte gUnk_080B37A0 -_0807B3C0: .4byte gUnk_02019EE0 -_0807B3C4: - lsls r1, r1, #1 - ldr r0, _0807B400 @ =gUnk_02002F00 -_0807B3C8: - adds r3, r1, r0 - mov r1, ip - lsls r0, r1, #3 - ldr r1, _0807B404 @ =0x00007004 - adds r0, r0, r1 - adds r0, r2, r0 - ldrh r1, [r0] - strh r1, [r3] - ldrh r1, [r0, #2] - strh r1, [r3, #2] - movs r1, #0x80 - lsls r1, r1, #1 - adds r2, r3, r1 - ldrh r1, [r0, #4] - strh r1, [r2] - movs r2, #0x81 - lsls r2, r2, #1 - adds r1, r3, r2 - ldrh r0, [r0, #6] - strh r0, [r1] - ldr r0, _0807B408 @ =gUnk_03000BF0 - ldrh r0, [r0] - cmp r0, #1 - beq _0807B430 - ldr r1, _0807B40C @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - b _0807B430 - .align 2, 0 -_0807B400: .4byte gUnk_02002F00 -_0807B404: .4byte 0x00007004 -_0807B408: .4byte gUnk_03000BF0 -_0807B40C: .4byte gUnk_02000070 -_0807B410: - ldr r0, _0807B424 @ =0x00003FFF - cmp r5, r0 - bls _0807B428 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r6, #0 - bl sub_0800015E - b _0807B430 - .align 2, 0 -_0807B424: .4byte 0x00003FFF -_0807B428: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0807BA8C -_0807B430: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807B434 -sub_0807B434: @ 0x0807B434 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_080002B0 - cmp r0, #0x37 - bhi _0807B44A - cmp r0, #0x36 - blo _0807B44A - movs r0, #0 - b _0807B462 -_0807B44A: - lsls r0, r4, #0x10 - lsrs r0, r0, #0x10 - lsls r1, r5, #0x18 - lsrs r1, r1, #0x18 - bl sub_080002C8 - adds r1, r0, #0 - movs r0, #0xd - eors r1, r0 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f -_0807B462: - pop {r4, r5, pc} - - thumb_func_start sub_0807B464 -sub_0807B464: @ 0x0807B464 - push {lr} - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - bl sub_080002C8 - movs r1, #0 - cmp r0, #0x56 - bne _0807B47A - movs r1, #1 -_0807B47A: - adds r0, r1, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807B480 -sub_0807B480: @ 0x0807B480 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r7, r1, #0 - movs r1, #2 - bl sub_0807B464 - cmp r0, #0 - beq _0807B558 - adds r0, r6, #0 - subs r0, #0x40 - movs r1, #2 - bl sub_0807B464 - adds r5, r0, #0 - adds r0, r6, #1 - movs r1, #2 - bl sub_0807B464 - lsls r0, r0, #1 - orrs r5, r0 - adds r4, r6, #0 - adds r4, #0x40 - adds r0, r4, #0 - movs r1, #2 - bl sub_0807B464 - lsls r0, r0, #2 - orrs r5, r0 - subs r0, r6, #1 - movs r1, #2 - bl sub_0807B464 - lsls r0, r0, #3 - orrs r5, r0 - adds r0, r6, #0 - adds r0, #0x41 - movs r1, #1 - bl sub_0807B464 - lsls r0, r0, #1 - orrs r5, r0 - adds r0, r6, #0 - adds r0, #0x3f - movs r1, #1 - bl sub_0807B464 - lsls r0, r0, #3 - orrs r5, r0 - adds r0, r4, #0 - movs r1, #2 - bl sub_080002B0 - cmp r0, #0 - beq _0807B4FA - adds r0, r6, #0 - adds r0, #0x80 - movs r1, #1 - bl sub_0807B464 - lsls r0, r0, #2 - orrs r5, r0 -_0807B4FA: - ldr r0, _0807B514 @ =gUnk_0811C2CC - lsls r1, r5, #1 - adds r1, r1, r0 - ldrh r4, [r1] - adds r0, r6, #0 - movs r1, #2 - bl sub_080002B0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r2, _0807B518 @ =gUnk_0811C2EC - movs r3, #0 - b _0807B51E - .align 2, 0 -_0807B514: .4byte gUnk_0811C2CC -_0807B518: .4byte gUnk_0811C2EC -_0807B51C: - adds r2, #6 -_0807B51E: - ldrh r1, [r2] - cmp r1, #0 - beq _0807B52A - cmp r0, r1 - bne _0807B51C - ldrh r3, [r2, #2] -_0807B52A: - movs r0, #1 - lsls r0, r7 - bics r3, r0 - ldr r2, _0807B534 @ =gUnk_0811C2EC - b _0807B53A - .align 2, 0 -_0807B534: .4byte gUnk_0811C2EC -_0807B538: - adds r2, #6 -_0807B53A: - ldrh r0, [r2] - cmp r0, #0 - beq _0807B54E - ldrh r0, [r2, #2] - cmp r3, r0 - bne _0807B538 - ldrh r0, [r2, #4] - cmp r5, r0 - bne _0807B538 - ldrh r4, [r2] -_0807B54E: - adds r0, r4, #0 - adds r1, r6, #0 - movs r2, #2 - bl sub_0807B314 -_0807B558: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807B55C -sub_0807B55C: @ 0x0807B55C - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r2, #0 - bl sub_0807B464 - cmp r0, #0 - beq _0807B5AC - adds r0, r5, #0 - subs r0, #0x40 - adds r1, r6, #0 - bl sub_0807B464 - adds r4, r0, #0 - adds r0, r5, #1 - adds r1, r6, #0 - bl sub_0807B464 - lsls r0, r0, #1 - orrs r4, r0 - adds r0, r5, #0 - adds r0, #0x40 - adds r1, r6, #0 - bl sub_0807B464 - lsls r0, r0, #2 - orrs r4, r0 - subs r0, r5, #1 - adds r1, r6, #0 - bl sub_0807B464 - lsls r0, r0, #3 - orrs r0, r4 - lsls r0, r0, #1 - adds r0, r0, r7 - ldrh r0, [r0] - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0807B314 -_0807B5AC: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807B5B0 -sub_0807B5B0: @ 0x0807B5B0 - push {r4, r5, r6, r7, lr} - adds r3, r0, #0 - movs r1, #0x2e - ldrsh r0, [r3, r1] - ldr r6, _0807B5F8 @ =gUnk_0811C456 - ldrb r1, [r3, #0x14] - movs r2, #6 - ands r2, r1 - lsls r1, r2, #1 - adds r1, r1, r6 - movs r4, #0 - ldrsh r1, [r1, r4] - adds r0, r0, r1 - ldr r5, _0807B5FC @ =gUnk_03000BF0 - ldrh r1, [r5, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r4, #0x3f - ands r0, r4 - movs r7, #0x32 - ldrsh r1, [r3, r7] - adds r2, #1 - lsls r2, r2, #1 - adds r2, r2, r6 - movs r3, #0 - ldrsh r2, [r2, r3] - adds r1, r1, r2 - ldrh r2, [r5, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r4 - lsls r1, r1, #6 - orrs r0, r1 - bl sub_0807B600 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807B5F8: .4byte gUnk_0811C456 -_0807B5FC: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807B600 -sub_0807B600: @ 0x0807B600 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r5, #0 - subs r6, #0x40 - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - movs r1, #1 - bl sub_080002C8 - cmp r0, #0x56 - beq _0807B61A - movs r0, #0 - b _0807B76E -_0807B61A: - adds r0, r5, #0 - movs r1, #1 - bl sub_080002B0 - adds r1, r0, #0 - ldr r0, _0807B634 @ =0x0000026A - cmp r1, r0 - bne _0807B638 - adds r0, r5, #0 - bl sub_0807B820 - b _0807B76C - .align 2, 0 -_0807B634: .4byte 0x0000026A -_0807B638: - ldr r0, _0807B648 @ =0x00000267 - cmp r1, r0 - bne _0807B64C - adds r0, r5, #0 - adds r0, #0x40 - bl sub_0807B820 - b _0807B76C - .align 2, 0 -_0807B648: .4byte 0x00000267 -_0807B64C: - ldr r0, _0807B65C @ =0x0000027A - cmp r1, r0 - bne _0807B660 - adds r0, r5, #0 - bl sub_0807B8A8 - b _0807B76C - .align 2, 0 -_0807B65C: .4byte 0x0000027A -_0807B660: - ldr r0, _0807B670 @ =0x00000277 - cmp r1, r0 - bne _0807B674 - adds r0, r5, #0 - adds r0, #0x40 - bl sub_0807B8A8 - b _0807B76C - .align 2, 0 -_0807B670: .4byte 0x00000277 -_0807B674: - ldr r0, _0807B684 @ =0x0000028A - cmp r1, r0 - bne _0807B688 - adds r0, r5, #0 - bl sub_0807B930 - b _0807B76C - .align 2, 0 -_0807B684: .4byte 0x0000028A -_0807B688: - ldr r0, _0807B698 @ =0x00000287 - cmp r1, r0 - bne _0807B69C - adds r0, r5, #0 - adds r0, #0x40 - bl sub_0807B930 - b _0807B76C - .align 2, 0 -_0807B698: .4byte 0x00000287 -_0807B69C: - adds r0, r5, #0 - movs r1, #2 - bl sub_080002B0 - cmp r0, #0 - beq _0807B6EC - ldr r0, _0807B6E8 @ =0x000002F2 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - adds r0, r6, #0 - movs r1, #1 - bl sub_080002E0 - cmp r0, #3 - bne _0807B6CA - movs r0, #0xbd - lsls r0, r0, #2 - adds r1, r6, #0 - movs r2, #1 - bl sub_0807B314 -_0807B6CA: - adds r0, r5, #0 - adds r0, #0x40 - movs r1, #1 - bl sub_080002E0 - cmp r0, #3 - bne _0807B6F8 - movs r0, #0xbd - lsls r0, r0, #2 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - b _0807B6F8 - .align 2, 0 -_0807B6E8: .4byte 0x000002F2 -_0807B6EC: - movs r0, #0xbd - lsls r0, r0, #2 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 -_0807B6F8: - adds r0, r6, #0 - movs r1, #2 - bl sub_0807B464 - cmp r0, #0 - beq _0807B748 - movs r0, #0 - adds r1, r6, #0 - movs r2, #2 - bl sub_0807B314 - adds r0, r6, #0 - movs r1, #1 - bl sub_080002B0 - ldr r1, _0807B770 @ =0x000002F2 - cmp r0, r1 - bne _0807B728 - movs r0, #0xbd - lsls r0, r0, #2 - adds r1, r6, #0 - movs r2, #1 - bl sub_0807B314 -_0807B728: - adds r0, r5, #1 - ldr r4, _0807B774 @ =gUnk_0811C2AC - movs r1, #1 - adds r2, r4, #0 - bl sub_0807B55C - subs r0, r5, #1 - movs r1, #1 - adds r2, r4, #0 - bl sub_0807B55C - adds r0, r6, #0 - movs r1, #1 - adds r2, r4, #0 - bl sub_0807B55C -_0807B748: - adds r0, r6, #1 - movs r1, #3 - bl sub_0807B480 - subs r0, r6, #1 - movs r1, #1 - bl sub_0807B480 - adds r0, r6, #0 - adds r0, #0x40 - movs r1, #0 - bl sub_0807B480 - adds r0, r6, #0 - subs r0, #0x40 - movs r1, #2 - bl sub_0807B480 -_0807B76C: - movs r0, #1 -_0807B76E: - pop {r4, r5, r6, pc} - .align 2, 0 -_0807B770: .4byte 0x000002F2 -_0807B774: .4byte gUnk_0811C2AC - - thumb_func_start sub_0807B778 -sub_0807B778: @ 0x0807B778 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - lsls r1, r6, #0x18 - lsrs r1, r1, #0x18 - bl sub_080002C8 - cmp r0, #0xd - bne _0807B7D0 - adds r0, r5, #0 - subs r0, #0x40 - adds r1, r6, #0 - bl sub_0807B434 - adds r4, r0, #0 - adds r0, r5, #1 - adds r1, r6, #0 - bl sub_0807B434 - lsls r0, r0, #1 - orrs r4, r0 - adds r0, r5, #0 - adds r0, #0x40 - adds r1, r6, #0 - bl sub_0807B434 - lsls r0, r0, #2 - orrs r4, r0 - subs r0, r5, #1 - adds r1, r6, #0 - bl sub_0807B434 - lsls r0, r0, #3 - orrs r0, r4 - ldr r1, _0807B7D4 @ =gUnk_0811C466 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0807B314 -_0807B7D0: - pop {r4, r5, r6, pc} - .align 2, 0 -_0807B7D4: .4byte gUnk_0811C466 - - thumb_func_start sub_0807B7D8 -sub_0807B7D8: @ 0x0807B7D8 - push {r4, r5, lr} - adds r4, r1, #0 - adds r5, r2, #0 - cmp r0, #0x35 - bne _0807B816 - movs r0, #0x35 - bl sub_08000152 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807B778 - adds r0, r4, #1 - adds r1, r5, #0 - bl sub_0807B778 - subs r0, r4, #1 - adds r1, r5, #0 - bl sub_0807B778 - adds r0, r4, #0 - adds r0, #0x40 - adds r1, r5, #0 - bl sub_0807B778 - adds r0, r4, #0 - subs r0, #0x40 - adds r1, r5, #0 - bl sub_0807B778 - b _0807B81E -_0807B816: - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_0807B314 -_0807B81E: - pop {r4, r5, pc} - - thumb_func_start sub_0807B820 -sub_0807B820: @ 0x0807B820 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x9b - lsls r0, r0, #2 - adds r5, r4, #0 - subs r5, #0x41 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0807B890 @ =0x00000273 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0807B894 @ =0x0000026D - adds r5, #1 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - movs r0, #0x9d - lsls r0, r0, #2 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0807B898 @ =0x0000026E - adds r5, #1 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0807B89C @ =0x00000275 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0807B8A0 @ =0x0000026F - subs r1, r4, #1 - movs r2, #1 - bl sub_0807B314 - movs r0, #0x9c - lsls r0, r0, #2 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0807B8A4 @ =0x00000272 - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, r5, pc} - .align 2, 0 -_0807B890: .4byte 0x00000273 -_0807B894: .4byte 0x0000026D -_0807B898: .4byte 0x0000026E -_0807B89C: .4byte 0x00000275 -_0807B8A0: .4byte 0x0000026F -_0807B8A4: .4byte 0x00000272 - - thumb_func_start sub_0807B8A8 -sub_0807B8A8: @ 0x0807B8A8 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x9f - lsls r0, r0, #2 - adds r5, r4, #0 - subs r5, #0x41 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0807B918 @ =0x00000283 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0807B91C @ =0x0000027D - adds r5, #1 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - movs r0, #0xa1 - lsls r0, r0, #2 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0807B920 @ =0x0000027E - adds r5, #1 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0807B924 @ =0x00000285 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0807B928 @ =0x0000027F - subs r1, r4, #1 - movs r2, #1 - bl sub_0807B314 - movs r0, #0xa0 - lsls r0, r0, #2 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0807B92C @ =0x00000282 - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, r5, pc} - .align 2, 0 -_0807B918: .4byte 0x00000283 -_0807B91C: .4byte 0x0000027D -_0807B920: .4byte 0x0000027E -_0807B924: .4byte 0x00000285 -_0807B928: .4byte 0x0000027F -_0807B92C: .4byte 0x00000282 - - thumb_func_start sub_0807B930 -sub_0807B930: @ 0x0807B930 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0xa3 - lsls r0, r0, #2 - adds r5, r4, #0 - subs r5, #0x41 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0807B9A0 @ =0x00000293 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0807B9A4 @ =0x0000028D - adds r5, #1 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - movs r0, #0xa5 - lsls r0, r0, #2 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0807B9A8 @ =0x0000028E - adds r5, #1 - adds r1, r5, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0807B9AC @ =0x00000295 - adds r1, r5, #0 - movs r2, #2 - bl sub_0807B314 - ldr r0, _0807B9B0 @ =0x0000028F - subs r1, r4, #1 - movs r2, #1 - bl sub_0807B314 - movs r0, #0xa4 - lsls r0, r0, #2 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r0, _0807B9B4 @ =0x00000292 - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, r5, pc} - .align 2, 0 -_0807B9A0: .4byte 0x00000293 -_0807B9A4: .4byte 0x0000028D -_0807B9A8: .4byte 0x0000028E -_0807B9AC: .4byte 0x00000295 -_0807B9B0: .4byte 0x0000028F -_0807B9B4: .4byte 0x00000292 - - thumb_func_start sub_0807B9B8 -sub_0807B9B8: @ 0x0807B9B8 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0801AF8C - adds r0, r6, #0 - bl sub_0808094C - adds r5, r0, #0 - lsls r1, r4, #1 - adds r0, r5, #4 - adds r0, r0, r1 - strh r7, [r0] - lsls r1, r7, #1 - ldr r2, _0807BA24 @ =0x00005004 - adds r0, r5, r2 - adds r0, r0, r1 - ldrh r2, [r0] - ldr r0, _0807BA28 @ =0x00002004 - adds r1, r5, r0 - adds r1, r1, r4 - ldr r0, _0807BA2C @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _0807BA30 @ =0x0000B004 - adds r1, r5, r0 - adds r1, r1, r4 - ldr r0, _0807BA34 @ =gUnk_080B37A0 - adds r2, r2, r0 - ldrb r0, [r2] - strb r0, [r1] - ldr r0, _0807BA38 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0807BA78 - movs r1, #0x3f - ands r1, r4 - lsls r1, r1, #1 - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r4 - lsls r0, r0, #2 - adds r1, r1, r0 - cmp r6, #2 - beq _0807BA40 - lsls r1, r1, #1 - ldr r0, _0807BA3C @ =gUnk_02019EE0 - b _0807BA44 - .align 2, 0 -_0807BA24: .4byte 0x00005004 -_0807BA28: .4byte 0x00002004 -_0807BA2C: .4byte gUnk_080B3E80 -_0807BA30: .4byte 0x0000B004 -_0807BA34: .4byte gUnk_080B37A0 -_0807BA38: .4byte gUnk_03000BF0 -_0807BA3C: .4byte gUnk_02019EE0 -_0807BA40: - lsls r1, r1, #1 - ldr r0, _0807BA7C @ =gUnk_02002F00 -_0807BA44: - adds r3, r1, r0 - lsls r0, r7, #3 - ldr r1, _0807BA80 @ =0x00007004 - adds r0, r0, r1 - adds r0, r5, r0 - ldrh r1, [r0] - strh r1, [r3] - ldrh r1, [r0, #2] - strh r1, [r3, #2] - movs r1, #0x80 - lsls r1, r1, #1 - adds r2, r3, r1 - ldrh r1, [r0, #4] - strh r1, [r2] - movs r2, #0x81 - lsls r2, r2, #1 - adds r1, r3, r2 - ldrh r0, [r0, #6] - strh r0, [r1] - ldr r0, _0807BA84 @ =gUnk_03000BF0 - ldrh r0, [r0] - cmp r0, #1 - beq _0807BA78 - ldr r1, _0807BA88 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807BA78: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807BA7C: .4byte gUnk_02002F00 -_0807BA80: .4byte 0x00007004 -_0807BA84: .4byte gUnk_03000BF0 -_0807BA88: .4byte gUnk_02000070 - - thumb_func_start sub_0807BA8C -sub_0807BA8C: @ 0x0807BA8C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r7, r1, #0 - bl sub_0801AF8C - adds r0, r7, #0 - bl sub_0808094C - adds r5, r0, #0 - lsls r2, r4, #1 - adds r1, r5, #4 - adds r1, r1, r2 - ldr r3, _0807BAFC @ =0x00003004 - adds r0, r5, r3 - adds r0, r0, r2 - ldrh r6, [r0] - strh r6, [r1] - lsls r1, r6, #1 - ldr r2, _0807BB00 @ =0x00005004 - adds r0, r5, r2 - adds r0, r0, r1 - ldrh r2, [r0] - ldr r3, _0807BB04 @ =0x00002004 - adds r1, r5, r3 - adds r1, r1, r4 - ldr r0, _0807BB08 @ =gUnk_080B3E80 - adds r0, r2, r0 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _0807BB0C @ =0x0000B004 - adds r1, r5, r0 - adds r1, r1, r4 - ldr r0, _0807BB10 @ =gUnk_080B37A0 - adds r2, r2, r0 - ldrb r0, [r2] - strb r0, [r1] - ldr r0, _0807BB14 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0807BB54 - movs r1, #0x3f - ands r1, r4 - lsls r1, r1, #1 - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r4 - lsls r0, r0, #2 - adds r1, r1, r0 - cmp r7, #2 - beq _0807BB1C - lsls r1, r1, #1 - ldr r0, _0807BB18 @ =gUnk_02019EE0 - b _0807BB20 - .align 2, 0 -_0807BAFC: .4byte 0x00003004 -_0807BB00: .4byte 0x00005004 -_0807BB04: .4byte 0x00002004 -_0807BB08: .4byte gUnk_080B3E80 -_0807BB0C: .4byte 0x0000B004 -_0807BB10: .4byte gUnk_080B37A0 -_0807BB14: .4byte gUnk_03000BF0 -_0807BB18: .4byte gUnk_02019EE0 -_0807BB1C: - lsls r1, r1, #1 - ldr r0, _0807BB58 @ =gUnk_02002F00 -_0807BB20: - adds r3, r1, r0 - lsls r0, r6, #3 - ldr r1, _0807BB5C @ =0x00007004 - adds r0, r0, r1 - adds r0, r5, r0 - ldrh r1, [r0] - strh r1, [r3] - ldrh r1, [r0, #2] - strh r1, [r3, #2] - movs r1, #0x80 - lsls r1, r1, #1 - adds r2, r3, r1 - ldrh r1, [r0, #4] - strh r1, [r2] - movs r2, #0x81 - lsls r2, r2, #1 - adds r1, r3, r2 - ldrh r0, [r0, #6] - strh r0, [r1] - ldr r0, _0807BB60 @ =gUnk_03000BF0 - ldrh r0, [r0] - cmp r0, #1 - beq _0807BB54 - ldr r1, _0807BB64 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807BB54: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807BB58: .4byte gUnk_02002F00 -_0807BB5C: .4byte 0x00007004 -_0807BB60: .4byte gUnk_03000BF0 -_0807BB64: .4byte gUnk_02000070 - - thumb_func_start sub_0807BB68 -sub_0807BB68: @ 0x0807BB68 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r6, r1, #0 - adds r5, r2, #0 - movs r1, #0 - ldrsh r0, [r4, r1] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - beq _0807BB96 - adds r7, r1, #0 -_0807BB7E: - ldrh r0, [r4] - movs r2, #2 - ldrsh r1, [r4, r2] - adds r1, r6, r1 - adds r2, r5, #0 - bl sub_0807B314 - adds r4, #4 - movs r1, #0 - ldrsh r0, [r4, r1] - cmp r0, r7 - bne _0807BB7E -_0807BB96: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807BB98 -sub_0807BB98: @ 0x0807BB98 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - mov sl, r1 - mov r8, r2 - mov sb, r3 - movs r0, #0 - cmp r0, sb - bhs _0807BBD4 -_0807BBB0: - movs r4, #0 - adds r7, r5, #0 - adds r7, #0x40 - adds r6, r0, #1 - cmp r4, r8 - bhs _0807BBCC -_0807BBBC: - adds r1, r5, r4 - ldr r0, _0807BBE0 @ =0x00004072 - mov r2, sl - bl sub_0800015E - adds r4, #1 - cmp r4, r8 - blo _0807BBBC -_0807BBCC: - adds r5, r7, #0 - adds r0, r6, #0 - cmp r0, sb - blo _0807BBB0 -_0807BBD4: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807BBE0: .4byte 0x00004072 - - thumb_func_start sub_0807BBE4 -sub_0807BBE4: @ 0x0807BBE4 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, _0807BC28 @ =gUnk_0202AEB4 - mov sl, r0 - ldr r0, _0807BC2C @ =gUnk_02010654 - mov sb, r0 - ldr r5, _0807BC30 @ =0xFFFFB000 - add r5, sl - ldr r4, _0807BC30 @ =0xFFFFB000 - add r4, sb - ldr r2, _0807BC34 @ =0xFFFFD000 - add r2, sl - ldr r1, _0807BC34 @ =0xFFFFD000 - add r1, sb - movs r3, #0 - ldr r0, _0807BC38 @ =0x00003FFF - mov r8, r0 - ldr r0, _0807BC3C @ =gUnk_080B3E80 - mov ip, r0 - ldr r7, _0807BC40 @ =gUnk_080B79A7 - ldr r6, _0807BC44 @ =0xFFFFC000 -_0807BC14: - ldrh r0, [r5] - adds r5, #2 - cmp r0, r8 - bhi _0807BC48 - lsls r0, r0, #1 - add r0, sl - ldrh r0, [r0] - add r0, ip - b _0807BC4C - .align 2, 0 -_0807BC28: .4byte gUnk_0202AEB4 -_0807BC2C: .4byte gUnk_02010654 -_0807BC30: .4byte 0xFFFFB000 -_0807BC34: .4byte 0xFFFFD000 -_0807BC38: .4byte 0x00003FFF -_0807BC3C: .4byte gUnk_080B3E80 -_0807BC40: .4byte gUnk_080B79A7 -_0807BC44: .4byte 0xFFFFC000 -_0807BC48: - adds r0, r0, r6 - adds r0, r0, r7 -_0807BC4C: - ldrb r0, [r0] - strb r0, [r2] - adds r2, #1 - ldrh r0, [r4] - adds r4, #2 - cmp r0, r8 - bhi _0807BC64 - lsls r0, r0, #1 - add r0, sb - ldrh r0, [r0] - add r0, ip - b _0807BC68 -_0807BC64: - adds r0, r0, r6 - adds r0, r0, r7 -_0807BC68: - ldrb r0, [r0] - strb r0, [r1] - adds r1, #1 - adds r3, #1 - ldr r0, _0807BC80 @ =0x00000FFF - cmp r3, r0 - bls _0807BC14 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807BC80: .4byte 0x00000FFF - - thumb_func_start sub_0807BC84 -sub_0807BC84: @ 0x0807BC84 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r1, _0807BD04 @ =gUnk_03000BF0 - ldrh r0, [r1, #0x1e] - lsrs r2, r0, #4 - mov r8, r1 - cmp r2, #0x40 - bne _0807BC98 - movs r2, #0x3f -_0807BC98: - ldr r1, _0807BD08 @ =gUnk_02027EB4 - adds r3, r2, r1 - adds r6, r1, #0 - adds r6, #0x3f - ldr r0, _0807BD0C @ =gUnk_0200D654 - adds r2, r2, r0 - adds r5, r0, #0 - adds r5, #0x3f - movs r4, #0 - adds r7, r1, #0 - mov ip, r0 - movs r0, #0xff -_0807BCB0: - strb r0, [r3] - strb r0, [r6] - strb r0, [r2] - strb r0, [r5] - adds r3, #0x40 - adds r6, #0x40 - adds r2, #0x40 - adds r5, #0x40 - adds r4, #1 - cmp r4, #0x3f - bls _0807BCB0 - mov r0, r8 - ldrh r1, [r0, #0x20] - ldr r0, _0807BD10 @ =0x0000FFF0 - ands r0, r1 - lsls r0, r0, #2 - adds r3, r0, r7 - movs r1, #0xfc - lsls r1, r1, #4 - adds r6, r7, r1 - mov r1, ip - adds r2, r0, r1 - movs r5, #0xfc - lsls r5, r5, #4 - add r5, ip - movs r4, #0 - movs r0, #0xff -_0807BCE6: - strb r0, [r3] - adds r3, #1 - strb r0, [r6] - adds r6, #1 - strb r0, [r2] - adds r2, #1 - strb r0, [r5] - adds r5, #1 - adds r4, #1 - cmp r4, #0x3f - bls _0807BCE6 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807BD04: .4byte gUnk_03000BF0 -_0807BD08: .4byte gUnk_02027EB4 -_0807BD0C: .4byte gUnk_0200D654 -_0807BD10: .4byte 0x0000FFF0 - - thumb_func_start sub_0807BD14 -sub_0807BD14: @ 0x0807BD14 - push {r4, r5, lr} - adds r5, r1, #0 - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r3, #0x32 - ldrsh r1, [r0, r3] - adds r0, r2, #0 - adds r2, r5, #0 - bl sub_0807BEEC - adds r3, r0, #0 - cmp r3, #0xff - beq _0807BDB4 - ldr r1, _0807BD68 @ =gUnk_03000BF0 - movs r2, #0 - movs r0, #2 - strb r0, [r1, #2] - strb r2, [r1, #3] - movs r4, #1 - strh r4, [r1] - strb r3, [r1, #5] - strb r5, [r1, #0x10] - bl sub_08052E8C - adds r2, r0, #0 - ldr r1, _0807BD6C @ =gUnk_02033A90 - ldr r3, _0807BD70 @ =0x0000085C - adds r0, r1, r3 - str r2, [r0] - ldrb r0, [r1, #0xd] - ands r4, r0 - cmp r4, #0 - beq _0807BD98 - cmp r5, #1 - beq _0807BD7E - cmp r5, #1 - blo _0807BD74 - cmp r5, #2 - beq _0807BD86 - cmp r5, #3 - beq _0807BD90 - b _0807BD98 - .align 2, 0 -_0807BD68: .4byte gUnk_03000BF0 -_0807BD6C: .4byte gUnk_02033A90 -_0807BD70: .4byte 0x0000085C -_0807BD74: - ldrh r0, [r2, #6] - ldrh r1, [r2, #2] - subs r0, r0, r1 - strh r0, [r2, #6] - b _0807BD98 -_0807BD7E: - ldrh r0, [r2] - ldrh r1, [r2, #4] - adds r0, r0, r1 - b _0807BD96 -_0807BD86: - ldrh r0, [r2, #2] - ldrh r3, [r2, #6] - adds r0, r0, r3 - strh r0, [r2, #6] - b _0807BD98 -_0807BD90: - ldrh r0, [r2, #4] - ldrh r1, [r2] - subs r0, r0, r1 -_0807BD96: - strh r0, [r2, #4] -_0807BD98: - ldr r2, _0807BDB0 @ =gUnk_03001160 - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2, #0x11] - bl sub_0805E5A8 - movs r0, #1 - b _0807BDB6 - .align 2, 0 -_0807BDB0: .4byte gUnk_03001160 -_0807BDB4: - movs r0, #0 -_0807BDB6: - pop {r4, r5, pc} - - thumb_func_start sub_0807BDB8 -sub_0807BDB8: @ 0x0807BDB8 - push {r4, r5, lr} - adds r3, r0, #0 - movs r5, #0xff - movs r0, #7 - ands r1, r0 - cmp r1, #7 - bls _0807BDC8 - b _0807BEE2 -_0807BDC8: - lsls r0, r1, #2 - ldr r1, _0807BDD4 @ =_0807BDD8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807BDD4: .4byte _0807BDD8 -_0807BDD8: @ jump table - .4byte _0807BDF8 @ case 0 - .4byte _0807BE10 @ case 1 - .4byte _0807BE30 @ case 2 - .4byte _0807BE4C @ case 3 - .4byte _0807BE78 @ case 4 - .4byte _0807BE94 @ case 5 - .4byte _0807BEB4 @ case 6 - .4byte _0807BEC4 @ case 7 -_0807BDF8: - movs r1, #0x32 - ldrsh r0, [r3, r1] - ldr r1, _0807BE0C @ =gUnk_03000BF0 - ldrh r1, [r1, #8] - subs r0, r0, r1 - cmp r0, #9 - bhi _0807BEE2 - movs r5, #0 - b _0807BEE2 - .align 2, 0 -_0807BE0C: .4byte gUnk_03000BF0 -_0807BE10: - movs r2, #0x32 - ldrsh r0, [r3, r2] - ldr r2, _0807BE2C @ =gUnk_03000BF0 - ldrh r1, [r2, #8] - subs r0, r0, r1 - cmp r0, #9 - bhi _0807BE20 - movs r5, #0 -_0807BE20: - ldrh r0, [r2, #0x1e] - subs r0, #0xa - movs r4, #0x2e - ldrsh r1, [r3, r4] - ldrh r2, [r2, #6] - b _0807BE6A - .align 2, 0 -_0807BE2C: .4byte gUnk_03000BF0 -_0807BE30: - ldr r1, _0807BE48 @ =gUnk_03000BF0 - ldrh r2, [r1, #0x1e] - subs r2, #0xa - movs r4, #0x2e - ldrsh r0, [r3, r4] - ldrh r1, [r1, #6] - subs r0, r0, r1 - cmp r2, r0 - bhs _0807BEE2 - movs r5, #1 - b _0807BEE2 - .align 2, 0 -_0807BE48: .4byte gUnk_03000BF0 -_0807BE4C: - ldr r4, _0807BE74 @ =gUnk_03000BF0 - ldrh r0, [r4, #0x20] - subs r0, #0xa - movs r2, #0x32 - ldrsh r1, [r3, r2] - ldrh r2, [r4, #8] - subs r1, r1, r2 - cmp r0, r1 - bhs _0807BE60 - movs r5, #2 -_0807BE60: - ldrh r0, [r4, #0x1e] - subs r0, #0xa - movs r2, #0x2e - ldrsh r1, [r3, r2] - ldrh r2, [r4, #6] -_0807BE6A: - subs r1, r1, r2 - cmp r0, r1 - bhs _0807BEE2 - movs r5, #1 - b _0807BEE2 - .align 2, 0 -_0807BE74: .4byte gUnk_03000BF0 -_0807BE78: - ldr r1, _0807BE90 @ =gUnk_03000BF0 - ldrh r2, [r1, #0x20] - subs r2, #0xa - movs r4, #0x32 - ldrsh r0, [r3, r4] - ldrh r1, [r1, #8] - subs r0, r0, r1 - cmp r2, r0 - bhs _0807BEE2 - movs r5, #2 - b _0807BEE2 - .align 2, 0 -_0807BE90: .4byte gUnk_03000BF0 -_0807BE94: - ldr r4, _0807BEB0 @ =gUnk_03000BF0 - ldrh r0, [r4, #0x20] - subs r0, #0xa - movs r2, #0x32 - ldrsh r1, [r3, r2] - ldrh r2, [r4, #8] - subs r1, r1, r2 - cmp r0, r1 - bhs _0807BEA8 - movs r5, #2 -_0807BEA8: - movs r1, #0x2e - ldrsh r0, [r3, r1] - ldrh r1, [r4, #6] - b _0807BEDA - .align 2, 0 -_0807BEB0: .4byte gUnk_03000BF0 -_0807BEB4: - movs r2, #0x2e - ldrsh r0, [r3, r2] - ldr r1, _0807BEC0 @ =gUnk_03000BF0 - ldrh r1, [r1, #6] - b _0807BEDA - .align 2, 0 -_0807BEC0: .4byte gUnk_03000BF0 -_0807BEC4: - movs r4, #0x32 - ldrsh r0, [r3, r4] - ldr r2, _0807BEE8 @ =gUnk_03000BF0 - ldrh r1, [r2, #8] - subs r0, r0, r1 - cmp r0, #9 - bhi _0807BED4 - movs r5, #0 -_0807BED4: - movs r1, #0x2e - ldrsh r0, [r3, r1] - ldrh r1, [r2, #6] -_0807BEDA: - subs r0, r0, r1 - cmp r0, #9 - bhi _0807BEE2 - movs r5, #3 -_0807BEE2: - adds r0, r5, #0 - pop {r4, r5, pc} - .align 2, 0 -_0807BEE8: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807BEEC -sub_0807BEEC: @ 0x0807BEEC - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r7, r1, #0 - ldr r0, _0807BF04 @ =gUnk_02033A90 - ldrb r1, [r0, #0xd] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0807BF0C - ldr r0, _0807BF08 @ =gUnk_03000BF0 - ldrb r0, [r0, #5] - b _0807BF7C - .align 2, 0 -_0807BF04: .4byte gUnk_02033A90 -_0807BF08: .4byte gUnk_03000BF0 -_0807BF0C: - cmp r2, #1 - beq _0807BF2C - cmp r2, #1 - blo _0807BF1E - cmp r2, #2 - beq _0807BF40 - cmp r2, #3 - beq _0807BF58 - b _0807BF7A -_0807BF1E: - ldr r0, _0807BF28 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - adds r7, r0, #0 - subs r7, #0x10 - b _0807BF60 - .align 2, 0 -_0807BF28: .4byte gUnk_03000BF0 -_0807BF2C: - ldr r0, _0807BF3C @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - ldrh r0, [r0, #0x1e] - adds r1, r1, r0 - adds r6, r1, #0 - adds r6, #0x10 - b _0807BF60 - .align 2, 0 -_0807BF3C: .4byte gUnk_03000BF0 -_0807BF40: - ldr r0, _0807BF50 @ =gUnk_03000BF0 - ldrh r1, [r0, #8] - ldrh r0, [r0, #0x20] - adds r1, r1, r0 - adds r7, r1, #0 - adds r7, #0x10 - b _0807BF60 - .align 2, 0 -_0807BF50: .4byte gUnk_03000BF0 -_0807BF54: - adds r0, r4, #0 - b _0807BF7C -_0807BF58: - ldr r0, _0807BF80 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - adds r6, r0, #0 - subs r6, #0x10 -_0807BF60: - ldr r5, _0807BF84 @ =gUnk_02033ACC - movs r4, #0 -_0807BF64: - adds r0, r6, #0 - adds r1, r7, #0 - adds r2, r5, #0 - bl sub_0807BF88 - cmp r0, #0 - bne _0807BF54 - adds r4, #1 - adds r5, #0x20 - cmp r4, #0x3f - bls _0807BF64 -_0807BF7A: - movs r0, #0xff -_0807BF7C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807BF80: .4byte gUnk_03000BF0 -_0807BF84: .4byte gUnk_02033ACC - - thumb_func_start sub_0807BF88 -sub_0807BF88: @ 0x0807BF88 - push {r4, lr} - adds r3, r2, #0 - ldrh r2, [r3, #4] - subs r0, r0, r2 - ldrh r2, [r3, #6] - subs r1, r1, r2 - movs r2, #0 - ldrh r4, [r3] - cmp r0, r4 - bhs _0807BFA4 - ldrh r3, [r3, #2] - cmp r1, r3 - bhs _0807BFA4 - movs r2, #1 -_0807BFA4: - adds r0, r2, #0 - pop {r4, pc} - - thumb_func_start sub_0807BFA8 -sub_0807BFA8: @ 0x0807BFA8 - ldr r2, _0807BFC4 @ =gUnk_03000BF0 - ldr r0, _0807BFC8 @ =gUnk_02033A90 - ldr r1, _0807BFCC @ =0x0000085C - adds r0, r0, r1 - ldr r1, [r0] - ldrh r0, [r1, #4] - strh r0, [r2, #6] - ldrh r0, [r1, #6] - strh r0, [r2, #8] - ldrh r0, [r1] - strh r0, [r2, #0x1e] - ldrh r0, [r1, #2] - strh r0, [r2, #0x20] - bx lr - .align 2, 0 -_0807BFC4: .4byte gUnk_03000BF0 -_0807BFC8: .4byte gUnk_02033A90 -_0807BFCC: .4byte 0x0000085C - - thumb_func_start sub_0807BFD0 -sub_0807BFD0: @ 0x0807BFD0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - bl sub_0801B170 - bl sub_0807BFA8 - ldr r7, _0807C0B8 @ =0x0000FFFF - ldr r6, _0807C0BC @ =gUnk_0202AEB4 - movs r0, #0x80 - lsls r0, r0, #5 - mov r8, r0 - adds r0, r7, #0 - adds r1, r6, #0 - mov r2, r8 - bl sub_0801D5EC - movs r5, #0 - strh r5, [r6] - ldr r4, _0807C0C0 @ =gUnk_02010654 - adds r0, r7, #0 - adds r1, r4, #0 - mov r2, r8 - bl sub_0801D5EC - strh r5, [r4] - ldr r2, _0807C0C4 @ =gUnk_03000BF0 - ldr r0, _0807C0C8 @ =gUnk_02033A90 - ldr r1, _0807C0CC @ =0x0000085C - adds r4, r0, r1 - ldr r0, [r4] - ldr r1, [r2, #0x34] - ldr r0, [r0, #8] - cmp r1, r0 - beq _0807C01C - str r0, [r2, #0x34] - bl sub_080197D4 -_0807C01C: - ldr r0, [r4] - ldr r0, [r0, #0x10] - bl sub_080197D4 - ldr r1, _0807C0D0 @ =gUnk_020176A0 - adds r0, r1, #0 - adds r0, #0x60 - movs r2, #0xa8 - lsls r2, r2, #2 - adds r1, r1, r2 - movs r2, #0x20 - bl sub_0801D66C - ldr r2, _0807C0D4 @ =gUnk_0200B644 - ldr r0, [r2] - movs r1, #0x80 - lsls r1, r1, #0xe - orrs r0, r1 - str r0, [r2] - ldr r0, [r4] - ldr r0, [r0, #0x14] - cmp r0, #0 - beq _0807C04E - bl sub_0801B130 -_0807C04E: - adds r5, r6, #0 - movs r0, #0x80 - lsls r0, r0, #5 - adds r6, r5, r0 - adds r0, r7, #0 - adds r1, r6, #0 - mov r2, r8 - bl sub_0801D5EC - movs r2, #0 - ldr r3, _0807C0D8 @ =0x000007FF - adds r4, r7, #0 -_0807C066: - ldrh r0, [r5] - cmp r0, r3 - bhi _0807C078 - lsls r0, r0, #1 - adds r1, r0, r6 - ldrh r0, [r1] - cmp r0, r4 - bne _0807C078 - strh r2, [r1] -_0807C078: - adds r2, #1 - adds r5, #2 - cmp r2, r3 - ble _0807C066 - movs r2, #0x80 - lsls r2, r2, #5 - ldr r5, _0807C0C0 @ =gUnk_02010654 - adds r6, r5, r2 - ldr r4, _0807C0B8 @ =0x0000FFFF - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0801D5EC - movs r2, #0 - ldr r3, _0807C0D8 @ =0x000007FF -_0807C096: - ldrh r0, [r5] - cmp r0, r3 - bhi _0807C0A8 - lsls r0, r0, #1 - adds r1, r0, r6 - ldrh r0, [r1] - cmp r0, r4 - bne _0807C0A8 - strh r2, [r1] -_0807C0A8: - adds r2, #1 - adds r5, #2 - cmp r2, r3 - ble _0807C096 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807C0B8: .4byte 0x0000FFFF -_0807C0BC: .4byte gUnk_0202AEB4 -_0807C0C0: .4byte gUnk_02010654 -_0807C0C4: .4byte gUnk_03000BF0 -_0807C0C8: .4byte gUnk_02033A90 -_0807C0CC: .4byte 0x0000085C -_0807C0D0: .4byte gUnk_020176A0 -_0807C0D4: .4byte gUnk_0200B644 -_0807C0D8: .4byte 0x000007FF - - thumb_func_start sub_0807C0DC -sub_0807C0DC: @ 0x0807C0DC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - bl sub_0807BFA8 - ldr r7, _0807C158 @ =gUnk_03000BF0 - ldrb r1, [r7, #0xf] - movs r0, #0xfc - ands r0, r1 - strb r0, [r7, #0xf] - ldr r5, _0807C15C @ =gUnk_0200B654 - movs r6, #0x80 - lsls r6, r6, #6 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0801D630 - adds r0, r5, r6 - movs r1, #0x80 - lsls r1, r1, #5 - bl sub_0801D630 - ldr r0, _0807C160 @ =gUnk_02019EE0 - movs r4, #0x80 - lsls r4, r4, #8 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _0807C164 @ =gUnk_02002F00 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _0807C168 @ =gUnk_02033A90 - ldr r1, _0807C16C @ =0x0000085C - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0, #0xc] - bl sub_080197D4 - ldr r2, _0807C170 @ =gUnk_02025EB0 - ldrh r1, [r2, #4] - ldr r0, _0807C174 @ =0x0000FFFF - cmp r1, r0 - beq _0807C178 - adds r0, r2, #4 - ldrh r1, [r7, #0x1e] - lsrs r1, r1, #4 - ldrh r2, [r7, #0x20] - lsrs r2, r2, #4 - bl sub_0807C8B0 - ldrh r1, [r7, #0x1e] - lsrs r1, r1, #4 - ldrh r2, [r7, #0x20] - lsrs r2, r2, #4 - adds r0, r5, #0 - bl sub_0807C8B0 - movs r2, #0 - mov sb, r2 - b _0807C184 - .align 2, 0 -_0807C158: .4byte gUnk_03000BF0 -_0807C15C: .4byte gUnk_0200B654 -_0807C160: .4byte gUnk_02019EE0 -_0807C164: .4byte gUnk_02002F00 -_0807C168: .4byte gUnk_02033A90 -_0807C16C: .4byte 0x0000085C -_0807C170: .4byte gUnk_02025EB0 -_0807C174: .4byte 0x0000FFFF -_0807C178: - adds r0, r2, #4 - adds r1, r6, #0 - bl sub_0801D630 - movs r3, #1 - mov sb, r3 -_0807C184: - ldr r0, _0807C1B0 @ =gUnk_030010A0 - adds r0, #0x2d - ldrb r0, [r0] - cmp r0, #0 - bne _0807C1BC - ldr r0, _0807C1B4 @ =gUnk_02025EB4 - movs r2, #0xc0 - lsls r2, r2, #6 - adds r1, r0, r2 - movs r4, #0x80 - lsls r4, r4, #6 - adds r2, r4, #0 - bl sub_0801D66C - ldr r0, _0807C1B8 @ =gUnk_0200B654 - movs r3, #0xc0 - lsls r3, r3, #6 - adds r1, r0, r3 - adds r2, r4, #0 - bl sub_0801D66C - b _0807C26C - .align 2, 0 -_0807C1B0: .4byte gUnk_030010A0 -_0807C1B4: .4byte gUnk_02025EB4 -_0807C1B8: .4byte gUnk_0200B654 -_0807C1BC: - cmp r0, #2 - bne _0807C26C - ldr r4, _0807C278 @ =gUnk_02025EB4 - movs r0, #0xb0 - lsls r0, r0, #8 - adds r0, r0, r4 - mov r8, r0 - movs r5, #0x80 - lsls r5, r5, #5 - adds r0, r4, #0 - mov r1, r8 - adds r2, r5, #0 - bl sub_0801D66C - movs r1, #0xc0 - lsls r1, r1, #6 - adds r6, r4, r1 - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_0801D66C - mov r0, r8 - adds r1, r6, #0 - adds r2, r5, #0 - bl sub_0801D66C - adds r6, r4, r5 - adds r0, r6, #0 - mov r1, r8 - adds r2, r5, #0 - bl sub_0801D66C - movs r2, #0x80 - lsls r2, r2, #7 - adds r4, r4, r2 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r5, #0 - bl sub_0801D66C - mov r0, r8 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_0801D66C - ldr r4, _0807C27C @ =gUnk_0200B654 - movs r3, #0xb0 - lsls r3, r3, #8 - adds r3, r3, r4 - mov r8, r3 - adds r0, r4, #0 - mov r1, r8 - adds r2, r5, #0 - bl sub_0801D66C - movs r0, #0xc0 - lsls r0, r0, #6 - adds r6, r4, r0 - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_0801D66C - mov r0, r8 - adds r1, r6, #0 - adds r2, r5, #0 - bl sub_0801D66C - adds r6, r4, r5 - adds r0, r6, #0 - mov r1, r8 - adds r2, r5, #0 - bl sub_0801D66C - movs r1, #0x80 - lsls r1, r1, #7 - adds r4, r4, r1 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r5, #0 - bl sub_0801D66C - mov r0, r8 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_0801D66C -_0807C26C: - mov r2, sb - cmp r2, #0 - bne _0807C280 - bl sub_0807BBE4 - b _0807C2A0 - .align 2, 0 -_0807C278: .4byte gUnk_02025EB4 -_0807C27C: .4byte gUnk_0200B654 -_0807C280: - ldr r0, _0807C2CC @ =gUnk_02027EB4 - ldrh r1, [r7, #0x1e] - lsrs r1, r1, #4 - ldrh r2, [r7, #0x20] - lsrs r2, r2, #4 - bl sub_0807C69C - ldr r0, _0807C2D0 @ =gUnk_0200D654 - ldrh r1, [r7, #0x1e] - lsrs r1, r1, #4 - ldrh r2, [r7, #0x20] - lsrs r2, r2, #4 - bl sub_0807C69C - bl sub_0807C460 -_0807C2A0: - bl sub_0807BC84 - ldr r4, _0807C2D4 @ =gUnk_02025EB0 - adds r0, r4, #0 - bl sub_08080B60 - ldr r5, _0807C2D8 @ =gUnk_0200B650 - adds r0, r5, #0 - bl sub_08080B60 - mov r3, sb - cmp r3, #0 - bne _0807C2E4 - ldr r0, _0807C2DC @ =gUnk_02019EE0 - adds r1, r4, #0 - bl sub_0801AB08 - ldr r0, _0807C2E0 @ =gUnk_02002F00 - adds r1, r5, #0 - bl sub_0801AB08 - b _0807C326 - .align 2, 0 -_0807C2CC: .4byte gUnk_02027EB4 -_0807C2D0: .4byte gUnk_0200D654 -_0807C2D4: .4byte gUnk_02025EB0 -_0807C2D8: .4byte gUnk_0200B650 -_0807C2DC: .4byte gUnk_02019EE0 -_0807C2E0: .4byte gUnk_02002F00 -_0807C2E4: - ldr r4, _0807C34C @ =gUnk_02019EE0 - movs r0, #0x80 - lsls r0, r0, #7 - adds r5, r4, r0 - adds r6, r0, #0 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0801D66C - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807C5F4 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0801D630 - ldr r4, _0807C350 @ =gUnk_02002F00 - adds r5, r4, r6 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0801D66C - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807C5F4 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0801D630 -_0807C326: - mov r1, sb - cmp r1, #0 - bne _0807C332 - ldrb r0, [r7, #4] - cmp r0, #0x71 - bne _0807C33A -_0807C332: - ldrb r1, [r7, #0xf] - movs r0, #1 - orrs r0, r1 - strb r0, [r7, #0xf] -_0807C33A: - ldrb r0, [r7, #4] - subs r0, #0x20 - cmp r0, #0x18 - bhi _0807C400 - lsls r0, r0, #2 - ldr r1, _0807C354 @ =_0807C358 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807C34C: .4byte gUnk_02019EE0 -_0807C350: .4byte gUnk_02002F00 -_0807C354: .4byte _0807C358 -_0807C358: @ jump table - .4byte _0807C3BC @ case 0 - .4byte _0807C3E4 @ case 1 - .4byte _0807C3E4 @ case 2 - .4byte _0807C3E4 @ case 3 - .4byte _0807C3E4 @ case 4 - .4byte _0807C3E4 @ case 5 - .4byte _0807C400 @ case 6 - .4byte _0807C3E4 @ case 7 - .4byte _0807C3E4 @ case 8 - .4byte _0807C400 @ case 9 - .4byte _0807C400 @ case 10 - .4byte _0807C400 @ case 11 - .4byte _0807C400 @ case 12 - .4byte _0807C3BC @ case 13 - .4byte _0807C400 @ case 14 - .4byte _0807C400 @ case 15 - .4byte _0807C3E4 @ case 16 - .4byte _0807C400 @ case 17 - .4byte _0807C400 @ case 18 - .4byte _0807C400 @ case 19 - .4byte _0807C400 @ case 20 - .4byte _0807C400 @ case 21 - .4byte _0807C400 @ case 22 - .4byte _0807C400 @ case 23 - .4byte _0807C3E4 @ case 24 -_0807C3BC: - ldr r0, _0807C3D8 @ =gUnk_02025EB0 - ldr r2, [r0] - cmp r2, #0 - beq _0807C3CC - ldrh r1, [r2] - movs r0, #0x80 - orrs r0, r1 - strh r0, [r2] -_0807C3CC: - ldr r2, _0807C3DC @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0807C3E0 @ =0x0000FDFF - ands r0, r1 - strh r0, [r2] - b _0807C444 - .align 2, 0 -_0807C3D8: .4byte gUnk_02025EB0 -_0807C3DC: .4byte gUnk_03000F50 -_0807C3E0: .4byte 0x0000FDFF -_0807C3E4: - ldr r0, _0807C3F8 @ =gUnk_0200B650 - ldr r1, [r0] - cmp r1, #0 - beq _0807C3F2 - ldr r0, _0807C3FC @ =gUnk_080B77C0 - ldrh r0, [r0, #4] - strh r0, [r1] -_0807C3F2: - bl sub_0807C5B0 - b _0807C444 - .align 2, 0 -_0807C3F8: .4byte gUnk_0200B650 -_0807C3FC: .4byte gUnk_080B77C0 -_0807C400: - ldr r0, _0807C44C @ =gUnk_02025EB0 - ldr r1, [r0] - cmp r1, #0 - beq _0807C40E - ldr r0, _0807C450 @ =gUnk_080B77C0 - ldrh r0, [r0] - strh r0, [r1] -_0807C40E: - ldr r0, _0807C454 @ =gUnk_0200B650 - ldr r1, [r0] - cmp r1, #0 - beq _0807C41C - ldr r0, _0807C450 @ =gUnk_080B77C0 - ldrh r0, [r0, #2] - strh r0, [r1] -_0807C41C: - ldr r2, _0807C458 @ =gUnk_03000F50 - ldrh r0, [r2] - movs r1, #0x80 - lsls r1, r1, #4 - ands r1, r0 - movs r3, #0xba - lsls r3, r3, #5 - adds r0, r3, #0 - movs r3, #0 - orrs r1, r0 - strh r1, [r2] - ldr r0, _0807C45C @ =gUnk_02033A90 - ldrb r0, [r0, #0xc] - cmp r0, #0 - beq _0807C444 - movs r3, #0xa0 - lsls r3, r3, #8 - adds r0, r3, #0 - orrs r1, r0 - strh r1, [r2] -_0807C444: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807C44C: .4byte gUnk_02025EB0 -_0807C450: .4byte gUnk_080B77C0 -_0807C454: .4byte gUnk_0200B650 -_0807C458: .4byte gUnk_03000F50 -_0807C45C: .4byte gUnk_02033A90 - - thumb_func_start sub_0807C460 -sub_0807C460: @ 0x0807C460 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - ldr r7, _0807C4E8 @ =gUnk_02025EB4 - ldr r6, _0807C4EC @ =gUnk_0200B654 - ldr r0, _0807C4F0 @ =gUnk_03000BF0 - ldrh r1, [r0, #0x1e] - lsrs r3, r1, #4 - ldrh r0, [r0, #0x20] - lsrs r0, r0, #4 - str r0, [sp] - movs r4, #0 - movs r1, #0 - cmp r1, r0 - bhs _0807C4DC - movs r0, #0x40 - subs r0, r0, r3 - lsls r0, r0, #1 - mov sb, r0 -_0807C48C: - movs r5, #0 - adds r1, #1 - mov sl, r1 - cmp r5, r3 - bhs _0807C4CA - ldr r0, _0807C4F4 @ =0x00003FFF - mov r8, r0 -_0807C49A: - ldrh r0, [r7] - cmp r0, r8 - bls _0807C4AC - adds r1, r4, #0 - movs r2, #1 - str r3, [sp, #4] - bl sub_0800015E - ldr r3, [sp, #4] -_0807C4AC: - ldrh r0, [r6] - cmp r0, r8 - bls _0807C4BE - adds r1, r4, #0 - movs r2, #2 - str r3, [sp, #4] - bl sub_0800015E - ldr r3, [sp, #4] -_0807C4BE: - adds r7, #2 - adds r6, #2 - adds r4, #1 - adds r5, #1 - cmp r5, r3 - blo _0807C49A -_0807C4CA: - add r7, sb - add r6, sb - adds r0, r4, #0 - adds r0, #0x40 - subs r4, r0, r3 - mov r1, sl - ldr r0, [sp] - cmp r1, r0 - blo _0807C48C -_0807C4DC: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807C4E8: .4byte gUnk_02025EB4 -_0807C4EC: .4byte gUnk_0200B654 -_0807C4F0: .4byte gUnk_03000BF0 -_0807C4F4: .4byte 0x00003FFF - - thumb_func_start sub_0807C4F8 -sub_0807C4F8: @ 0x0807C4F8 - push {r4, r5, r6, lr} - ldr r0, _0807C594 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #0x71 - beq _0807C592 - ldr r0, _0807C598 @ =gUnk_02019EE0 - movs r4, #0x80 - lsls r4, r4, #8 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _0807C59C @ =gUnk_02002F00 - adds r1, r4, #0 - bl sub_0801D630 - ldr r5, _0807C5A0 @ =gUnk_02022830 - ldr r0, _0807C5A4 @ =gUnk_02033A90 - ldr r1, _0807C5A8 @ =0x0000085C - adds r0, r0, r1 - ldr r0, [r0] - ldr r4, [r0, #0xc] - subs r4, #0xc -_0807C524: - adds r4, #0xc - ldr r1, [r4, #4] - ldr r0, _0807C598 @ =gUnk_02019EE0 - cmp r1, r0 - beq _0807C534 - ldr r0, _0807C59C @ =gUnk_02002F00 - cmp r1, r0 - bne _0807C54A -_0807C534: - ldr r0, [r4] - ldr r1, _0807C5AC @ =0x7FFFFFFF - ands r0, r1 - str r0, [r5] - ldr r0, [r4, #4] - str r0, [r5, #4] - ldr r0, [r4, #8] - str r0, [r5, #8] - adds r0, r5, #0 - bl sub_080197D4 -_0807C54A: - ldr r0, [r4] - cmp r0, #0 - blt _0807C524 - ldr r4, _0807C598 @ =gUnk_02019EE0 - movs r0, #0x80 - lsls r0, r0, #7 - adds r5, r4, r0 - adds r6, r0, #0 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0801D66C - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807C5F4 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0801D630 - ldr r4, _0807C59C @ =gUnk_02002F00 - adds r5, r4, r6 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0801D66C - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807C5F4 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0801D630 -_0807C592: - pop {r4, r5, r6, pc} - .align 2, 0 -_0807C594: .4byte gUnk_03000BF0 -_0807C598: .4byte gUnk_02019EE0 -_0807C59C: .4byte gUnk_02002F00 -_0807C5A0: .4byte gUnk_02022830 -_0807C5A4: .4byte gUnk_02033A90 -_0807C5A8: .4byte 0x0000085C -_0807C5AC: .4byte 0x7FFFFFFF - - thumb_func_start sub_0807C5B0 -sub_0807C5B0: @ 0x0807C5B0 - push {r4, r5, r6, lr} - ldr r5, _0807C5E8 @ =gUnk_0200D654 - movs r4, #0x80 - lsls r4, r4, #5 - movs r3, #0 - ldr r6, _0807C5EC @ =gUnk_03000BF0 - ldr r2, _0807C5F0 @ =gUnk_02027EB4 -_0807C5BE: - adds r0, r5, r3 - ldrb r0, [r0] - cmp r0, #0 - beq _0807C5D4 - cmp r0, #0xf - bhi _0807C5D2 - ldrb r1, [r2] - cmp r1, #0xf - bhi _0807C5D4 - orrs r0, r1 -_0807C5D2: - strb r0, [r2] -_0807C5D4: - adds r2, #1 - adds r3, #1 - cmp r3, r4 - blo _0807C5BE - ldrb r1, [r6, #0xf] - movs r0, #2 - orrs r0, r1 - strb r0, [r6, #0xf] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807C5E8: .4byte gUnk_0200D654 -_0807C5EC: .4byte gUnk_03000BF0 -_0807C5F0: .4byte gUnk_02027EB4 - - thumb_func_start sub_0807C5F4 -sub_0807C5F4: @ 0x0807C5F4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r2, r5, #0 - movs r0, #0x20 - ldr r6, _0807C698 @ =gUnk_03000BF0 -_0807C5FE: - movs r3, #0 - subs r4, r0, #1 -_0807C602: - ldrh r0, [r1] - strh r0, [r2] - adds r1, #2 - adds r2, #2 - adds r3, #1 - cmp r3, #0x1f - bls _0807C602 - adds r2, #0xc0 - adds r0, r4, #0 - cmp r0, #0 - bne _0807C5FE - ldrh r0, [r6, #0x1e] - cmp r0, #0xff - bls _0807C63E - adds r2, r5, #0 - adds r2, #0x40 - movs r0, #0x20 -_0807C624: - movs r3, #0 - subs r4, r0, #1 -_0807C628: - ldrh r0, [r1] - strh r0, [r2] - adds r1, #2 - adds r2, #2 - adds r3, #1 - cmp r3, #0x1f - bls _0807C628 - adds r2, #0xc0 - adds r0, r4, #0 - cmp r0, #0 - bne _0807C624 -_0807C63E: - ldrh r0, [r6, #0x20] - cmp r0, #0xff - bls _0807C666 - movs r0, #0x80 - lsls r0, r0, #6 - adds r2, r5, r0 - movs r0, #0x20 -_0807C64C: - movs r3, #0 - subs r4, r0, #1 -_0807C650: - ldrh r0, [r1] - strh r0, [r2] - adds r1, #2 - adds r2, #2 - adds r3, #1 - cmp r3, #0x1f - bls _0807C650 - adds r2, #0xc0 - adds r0, r4, #0 - cmp r0, #0 - bne _0807C64C -_0807C666: - ldrh r0, [r6, #0x1e] - cmp r0, #0xff - bls _0807C694 - ldrh r0, [r6, #0x20] - cmp r0, #0xff - bls _0807C694 - movs r0, #0x81 - lsls r0, r0, #6 - adds r2, r5, r0 - movs r0, #0x20 -_0807C67A: - movs r3, #0 - subs r4, r0, #1 -_0807C67E: - ldrh r0, [r1] - strh r0, [r2] - adds r1, #2 - adds r2, #2 - adds r3, #1 - cmp r3, #0x1f - bls _0807C67E - adds r2, #0xc0 - adds r0, r4, #0 - cmp r0, #0 - bne _0807C67A -_0807C694: - pop {r4, r5, r6, pc} - .align 2, 0 -_0807C698: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807C69C -sub_0807C69C: @ 0x0807C69C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov sb, r0 - adds r6, r1, #0 - mov r8, r2 - mov r0, r8 - muls r0, r6, r0 - add r0, sb - subs r2, r0, #1 - mov r0, r8 - subs r0, #1 - lsls r0, r0, #6 - add r0, sb - subs r1, r6, #1 - adds r4, r0, r1 - movs r5, #0 - cmp r5, r8 - bhs _0807C6EA -_0807C6C4: - movs r3, #0 - adds r7, r4, #0 - subs r7, #0x40 - subs r0, r2, r6 - mov ip, r0 - cmp r3, r6 - bhs _0807C6E0 -_0807C6D2: - subs r0, r4, r3 - subs r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r3, #1 - cmp r3, r6 - blo _0807C6D2 -_0807C6E0: - adds r4, r7, #0 - mov r2, ip - adds r5, #1 - cmp r5, r8 - blo _0807C6C4 -_0807C6EA: - movs r0, #0x40 - subs r7, r0, r6 - movs r5, #0 - mov r1, r8 - lsls r2, r1, #6 - mov r0, sb - adds r1, r0, r6 -_0807C6F8: - lsls r0, r5, #6 - adds r4, r1, r0 - movs r3, #0 - adds r6, r5, #1 - cmp r3, r7 - bhs _0807C710 - movs r5, #0 -_0807C706: - adds r0, r4, r3 - strb r5, [r0] - adds r3, #1 - cmp r3, r7 - blo _0807C706 -_0807C710: - adds r5, r6, #0 - cmp r5, #0x3f - bls _0807C6F8 - movs r0, #0x40 - mov r1, r8 - subs r7, r0, r1 - mov r0, sb - adds r4, r0, r2 - movs r5, #0 - cmp r5, r7 - bhs _0807C736 -_0807C726: - adds r0, r4, #0 - movs r1, #0x40 - bl sub_0801D630 - adds r4, #0x40 - adds r5, #1 - cmp r5, r7 - blo _0807C726 -_0807C736: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807C740 -sub_0807C740: @ 0x0807C740 - push {r4, r5, lr} - bl sub_0807BFD0 - bl sub_0807C0DC - ldr r4, _0807C780 @ =gUnk_03000BF0 - ldr r2, [r4, #0x30] - cmp r2, #0 - beq _0807C788 - ldrh r1, [r2, #0x2e] - lsls r0, r1, #0x10 - cmp r0, #0 - bge _0807C764 - ldr r0, _0807C784 @ =0x00007FFF - ands r0, r1 - ldrh r1, [r4, #6] - subs r0, r0, r1 - strh r0, [r2, #0x2e] -_0807C764: - movs r0, #0x2e - ldrsh r3, [r2, r0] - ldrh r1, [r2, #0x32] - lsls r0, r1, #0x10 - cmp r0, #0 - bge _0807C77A - ldr r0, _0807C784 @ =0x00007FFF - ands r0, r1 - ldrh r1, [r4, #8] - subs r0, r0, r1 - strh r0, [r2, #0x32] -_0807C77A: - movs r0, #0x32 - ldrsh r5, [r2, r0] - b _0807C78C - .align 2, 0 -_0807C780: .4byte gUnk_03000BF0 -_0807C784: .4byte 0x00007FFF -_0807C788: - movs r3, #0 - movs r5, #0 -_0807C78C: - cmp r3, #0x77 - bgt _0807C794 - movs r0, #0 - b _0807C7A2 -_0807C794: - ldrh r1, [r4, #0x1e] - adds r0, r1, #0 - subs r0, #0x78 - cmp r0, r3 - blt _0807C7A0 - adds r0, r3, #0 -_0807C7A0: - subs r0, #0x78 -_0807C7A2: - strh r0, [r4, #0xa] - ldrh r1, [r4, #6] - ldrh r2, [r4, #0xa] - adds r0, r1, r2 - strh r0, [r4, #0xa] - cmp r5, #0x4f - bgt _0807C7B4 - movs r0, #0 - b _0807C7C2 -_0807C7B4: - ldrh r2, [r4, #0x20] - adds r0, r2, #0 - subs r0, #0x50 - cmp r0, r5 - blt _0807C7C0 - adds r0, r5, #0 -_0807C7C0: - subs r0, #0x50 -_0807C7C2: - strh r0, [r4, #0xc] - ldrh r0, [r4, #8] - ldrh r3, [r4, #0xc] - adds r0, r0, r3 - strh r0, [r4, #0xc] - ldr r2, [r4, #0x30] - cmp r2, #0 - beq _0807C7FC - ldrh r3, [r2, #0x2e] - adds r0, r1, r3 - strh r0, [r2, #0x2e] - ldr r1, [r4, #0x30] - ldrh r0, [r4, #8] - ldrh r2, [r1, #0x32] - adds r0, r0, r2 - strh r0, [r1, #0x32] - ldr r0, _0807C80C @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0807C7FC - ldr r0, [r4, #0x30] - adds r0, #0x38 - movs r1, #1 - strb r1, [r0] - ldr r0, [r4, #0x30] - bl sub_08016A04 -_0807C7FC: - ldrb r1, [r4, #0xf] - movs r0, #0xfb - ands r0, r1 - strb r0, [r4, #0xf] - bl sub_08080BC4 - pop {r4, r5, pc} - .align 2, 0 -_0807C80C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807C810 -sub_0807C810: @ 0x0807C810 - push {r4, r5, r6, lr} - bl sub_0807BFD0 - ldr r2, _0807C850 @ =gUnk_03004030 - ldr r6, _0807C854 @ =gUnk_03001160 - ldr r4, _0807C858 @ =gUnk_03000BF0 - ldr r3, [r2] - ldrh r1, [r3, #6] - movs r0, #0x3f - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r4, #6] - adds r0, r0, r1 - ldrh r1, [r2, #4] - adds r1, r1, r0 - movs r5, #0 - strh r1, [r6, #0x2e] - ldrh r1, [r3, #6] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r1 - lsrs r0, r0, #2 - ldrh r4, [r4, #8] - adds r0, r0, r4 - ldrh r1, [r2, #6] - adds r1, r1, r0 - strh r1, [r6, #0x32] - bl sub_080809D4 - ldr r0, _0807C85C @ =gUnk_02000070 - strb r5, [r0] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807C850: .4byte gUnk_03004030 -_0807C854: .4byte gUnk_03001160 -_0807C858: .4byte gUnk_03000BF0 -_0807C85C: .4byte gUnk_02000070 - - thumb_func_start sub_0807C860 -sub_0807C860: @ 0x0807C860 - push {r4, lr} - ldr r0, _0807C88C @ =gUnk_030010A0 - adds r0, #0x2d - movs r1, #1 - strb r1, [r0] - ldr r0, _0807C890 @ =gUnk_02025EB4 - movs r2, #0xc0 - lsls r2, r2, #6 - adds r1, r0, r2 - movs r4, #0x80 - lsls r4, r4, #6 - adds r2, r4, #0 - bl sub_0801D66C - ldr r0, _0807C894 @ =gUnk_0200B654 - movs r2, #0xc0 - lsls r2, r2, #6 - adds r1, r0, r2 - adds r2, r4, #0 - bl sub_0801D66C - pop {r4, pc} - .align 2, 0 -_0807C88C: .4byte gUnk_030010A0 -_0807C890: .4byte gUnk_02025EB4 -_0807C894: .4byte gUnk_0200B654 - - thumb_func_start sub_0807C898 -sub_0807C898: @ 0x0807C898 - push {r4, r5, lr} - ldr r4, _0807C8AC @ =gUnk_030010A0 - adds r4, #0x2d - movs r5, #0 - movs r0, #2 - strb r0, [r4] - bl sub_0807C0DC - strb r5, [r4] - pop {r4, r5, pc} - .align 2, 0 -_0807C8AC: .4byte gUnk_030010A0 - - thumb_func_start sub_0807C8B0 -sub_0807C8B0: @ 0x0807C8B0 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov r8, r0 - adds r4, r1, #0 - mov ip, r2 - mov r0, ip - muls r0, r4, r0 - lsls r0, r0, #1 - add r0, r8 - subs r7, r0, #2 - mov r0, ip - subs r0, #1 - lsls r0, r0, #7 - add r0, r8 - lsls r3, r4, #1 - subs r1, r3, #2 - adds r0, r0, r1 - movs r5, #0 - cmp r5, ip - bhs _0807C906 - mov sb, r3 -_0807C8DE: - movs r2, #0 - adds r6, r0, #0 - subs r6, #0x80 - cmp r2, r4 - bhs _0807C8FA - adds r1, r7, #0 - adds r3, r0, #0 -_0807C8EC: - ldrh r0, [r1] - strh r0, [r3] - subs r1, #2 - subs r3, #2 - adds r2, #1 - cmp r2, r4 - blo _0807C8EC -_0807C8FA: - adds r0, r6, #0 - mov r1, sb - subs r7, r7, r1 - adds r5, #1 - cmp r5, ip - blo _0807C8DE -_0807C906: - movs r0, #0x40 - subs r6, r0, r4 - movs r5, #0 - lsls r0, r4, #1 - mov r2, ip - lsls r7, r2, #7 - mov r2, r8 - adds r1, r2, r0 -_0807C916: - lsls r0, r5, #7 - adds r0, r1, r0 - movs r2, #0 - adds r3, r5, #1 - cmp r2, r6 - bhs _0807C92E - movs r4, #0 -_0807C924: - strh r4, [r0] - adds r0, #2 - adds r2, #1 - cmp r2, r6 - blo _0807C924 -_0807C92E: - adds r5, r3, #0 - cmp r5, #0x3f - bls _0807C916 - movs r0, #0x40 - mov r1, ip - subs r6, r0, r1 - mov r2, r8 - adds r0, r2, r7 - movs r5, #0 - cmp r5, r6 - bhs _0807C956 - adds r4, r0, #0 -_0807C946: - adds r0, r4, #0 - movs r1, #0x80 - bl sub_0801D630 - adds r4, #0x80 - adds r5, #1 - cmp r5, r6 - blo _0807C946 -_0807C956: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807C960 -sub_0807C960: @ 0x0807C960 - push {lr} - adds r2, r0, #0 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _0807C994 - ldr r0, _0807C984 @ =0x7FFFFFFF - ands r0, r1 - ldr r1, _0807C988 @ =gUnk_08324AE4 - adds r1, r0, r1 - lsrs r0, r2, #0x18 - cmp r0, #6 - bne _0807C98C - adds r0, r1, #0 - adds r1, r2, #0 - bl LZ77UnCompVram - b _0807C994 - .align 2, 0 -_0807C984: .4byte 0x7FFFFFFF -_0807C988: .4byte gUnk_08324AE4 -_0807C98C: - adds r0, r1, #0 - adds r1, r2, #0 - bl LZ77UnCompWram -_0807C994: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807C998 -sub_0807C998: @ 0x0807C998 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0807C9CC @ =gUnk_0202CEB4 - ldr r1, [r5] - adds r0, r4, #0 - bl sub_0807C960 - ldr r0, _0807C9D0 @ =0xFFFFE000 - adds r4, r4, r0 - ldr r1, [r5, #4] - adds r0, r4, #0 - bl sub_0807C960 - ldr r4, _0807C9D4 @ =gUnk_02012654 - ldr r1, [r5, #8] - adds r0, r4, #0 - bl sub_0807C960 - ldr r0, _0807C9D0 @ =0xFFFFE000 - adds r4, r4, r0 - ldr r1, [r5, #0xc] - adds r0, r4, #0 - bl sub_0807C960 - pop {r4, r5, pc} - .align 2, 0 -_0807C9CC: .4byte gUnk_0202CEB4 -_0807C9D0: .4byte 0xFFFFE000 -_0807C9D4: .4byte gUnk_02012654 - - thumb_func_start sub_0807C9D8 -sub_0807C9D8: @ 0x0807C9D8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0807CA0C @ =0x06004000 - ldr r1, [r5] - bl sub_0807C960 - movs r0, #0xc0 - lsls r0, r0, #0x13 - ldr r1, [r5, #4] - bl sub_0807C960 - ldr r0, _0807CA10 @ =0x06008000 - ldr r1, [r5, #8] - bl sub_0807C960 - ldr r4, _0807CA14 @ =gUnk_020176E0 - ldr r1, [r5, #0xc] - adds r0, r4, #0 - bl sub_0807C960 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0xd - bl sub_0801D754 - pop {r4, r5, pc} - .align 2, 0 -_0807CA0C: .4byte 0x06004000 -_0807CA10: .4byte 0x06008000 -_0807CA14: .4byte gUnk_020176E0 - - thumb_func_start sub_0807CA18 -sub_0807CA18: @ 0x0807CA18 - push {lr} - ldr r0, _0807CA7C @ =gUnk_02002A40 - mov ip, r0 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _0807CA66 - movs r2, #0 - mov r0, ip - strb r2, [r0] - movs r3, #1 - strb r3, [r0, #1] - strb r3, [r0, #8] - mov r1, ip - adds r1, #0xaa - movs r0, #0x18 - strb r0, [r1] - adds r1, #1 - strb r0, [r1] - subs r1, #0x23 - movs r0, #0x22 - strb r0, [r1] - adds r1, #1 - movs r0, #0x15 - strb r0, [r1] - mov r0, ip - adds r0, #0x8a - strb r2, [r0] - adds r0, #1 - strb r2, [r0] - adds r0, #5 - strb r3, [r0] - adds r1, #3 - movs r0, #0x90 - strh r0, [r1] - adds r1, #2 - movs r0, #0x38 - strh r0, [r1] -_0807CA66: - mov r1, ip - adds r1, #0x80 - ldrb r0, [r1] - cmp r0, #0 - bne _0807CA78 - ldr r0, _0807CA80 @ =gUnk_0811E470 - movs r2, #5 - bl sub_0801D66C -_0807CA78: - movs r0, #1 - pop {pc} - .align 2, 0 -_0807CA7C: .4byte gUnk_02002A40 -_0807CA80: .4byte gUnk_0811E470 - - thumb_func_start sub_0807CA84 -sub_0807CA84: @ 0x0807CA84 - adds r2, r0, #0 - lsrs r0, r2, #2 - ldr r1, _0807CA9C @ =gUnk_02002B32 - adds r0, r0, r1 - ldrb r0, [r0] - movs r1, #3 - ands r2, r1 - lsls r2, r2, #1 - asrs r0, r2 - ands r0, r1 - bx lr - .align 2, 0 -_0807CA9C: .4byte gUnk_02002B32 - - thumb_func_start sub_0807CAA0 -sub_0807CAA0: @ 0x0807CAA0 - push {r4, lr} - adds r3, r0, #0 - lsrs r4, r3, #2 - ldr r0, _0807CAC4 @ =gUnk_02002B32 - adds r4, r4, r0 - movs r0, #3 - ands r3, r0 - lsls r3, r3, #1 - lsls r1, r3 - ldrb r2, [r4] - lsls r0, r3 - ands r0, r2 - eors r2, r0 - orrs r2, r1 - strb r2, [r4] - lsrs r0, r3 - pop {r4, pc} - .align 2, 0 -_0807CAC4: .4byte gUnk_02002B32 - - thumb_func_start sub_0807CAC8 -sub_0807CAC8: @ 0x0807CAC8 - ldr r2, _0807CAE0 @ =gUnk_02002A40 - ldr r1, _0807CAE4 @ =gUnk_02033A90 - ldr r3, _0807CAE8 @ =0x0000047C - adds r2, r2, r3 - ldrb r1, [r1, #3] - adds r2, r2, r1 - movs r1, #1 - lsls r1, r0 - ldrb r0, [r2] - orrs r1, r0 - strb r1, [r2] - bx lr - .align 2, 0 -_0807CAE0: .4byte gUnk_02002A40 -_0807CAE4: .4byte gUnk_02033A90 -_0807CAE8: .4byte 0x0000047C - - thumb_func_start sub_0807CAEC -sub_0807CAEC: @ 0x0807CAEC - adds r2, r0, #0 - ldr r0, _0807CB04 @ =gUnk_02002A40 - ldr r1, _0807CB08 @ =gUnk_02033A90 - ldr r3, _0807CB0C @ =0x0000047C - adds r0, r0, r3 - ldrb r1, [r1, #3] - adds r0, r0, r1 - ldrb r0, [r0] - asrs r0, r2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_0807CB04: .4byte gUnk_02002A40 -_0807CB08: .4byte gUnk_02033A90 -_0807CB0C: .4byte 0x0000047C - - thumb_func_start sub_0807CB10 -sub_0807CB10: @ 0x0807CB10 - push {lr} - adds r2, r0, #0 - ldr r0, _0807CB20 @ =gUnk_02002C9C - adds r2, r2, r1 - adds r1, r2, #0 - bl sub_0801D5A8 - pop {pc} - .align 2, 0 -_0807CB20: .4byte gUnk_02002C9C - - thumb_func_start sub_0807CB24 -sub_0807CB24: @ 0x0807CB24 - push {lr} - adds r2, r0, #0 - adds r3, r1, #0 - cmp r2, #0x11 - bhi _0807CB84 - lsls r0, r2, #2 - ldr r1, _0807CB38 @ =_0807CB3C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807CB38: .4byte _0807CB3C -_0807CB3C: @ jump table - .4byte _0807CB84 @ case 0 - .4byte _0807CB88 @ case 1 - .4byte _0807CB88 @ case 2 - .4byte _0807CB88 @ case 3 - .4byte _0807CB88 @ case 4 - .4byte _0807CB88 @ case 5 - .4byte _0807CB88 @ case 6 - .4byte _0807CB88 @ case 7 - .4byte _0807CB88 @ case 8 - .4byte _0807CB88 @ case 9 - .4byte _0807CB88 @ case 10 - .4byte _0807CB88 @ case 11 - .4byte _0807CB88 @ case 12 - .4byte _0807CB88 @ case 13 - .4byte _0807CB84 @ case 14 - .4byte _0807CBA0 @ case 15 - .4byte _0807CBAE @ case 16 - .4byte _0807CBBC @ case 17 -_0807CB84: - movs r1, #0 - b _0807CBCA -_0807CB88: - ldr r0, _0807CB9C @ =gUnk_0811E454 - lsls r1, r2, #1 - adds r1, r1, r0 - ldrh r0, [r1] - adds r1, r3, #0 - bl sub_0807CB10 -_0807CB96: - adds r1, r0, #0 - b _0807CBCA - .align 2, 0 -_0807CB9C: .4byte gUnk_0811E454 -_0807CBA0: - adds r0, r3, #0 - bl sub_0807CA84 - cmp r0, #0 - beq _0807CB96 - movs r0, #1 - b _0807CB96 -_0807CBAE: - adds r0, r3, #0 - bl sub_0807CA84 - movs r1, #0 - cmp r0, #1 - bne _0807CBCA - b _0807CBC8 -_0807CBBC: - adds r0, r3, #0 - bl sub_0807CA84 - movs r1, #0 - cmp r0, #2 - bne _0807CBCA -_0807CBC8: - movs r1, #1 -_0807CBCA: - adds r0, r1, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807CBD0 -sub_0807CBD0: @ 0x0807CBD0 - push {lr} - adds r1, r0, #0 - ldr r0, _0807CBE0 @ =gUnk_02033A90 - ldrh r0, [r0, #4] - bl sub_0807CB10 - pop {pc} - .align 2, 0 -_0807CBE0: .4byte gUnk_02033A90 - - thumb_func_start sub_0807CBE4 -sub_0807CBE4: @ 0x0807CBE4 - push {lr} - ldr r3, _0807CC14 @ =0x000003FF - ands r3, r0 - movs r1, #0xf0 - lsls r1, r1, #6 - ands r1, r0 - lsrs r1, r1, #0xa - adds r2, r1, #1 - movs r1, #0xc0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xe - cmp r1, #1 - beq _0807CC22 - cmp r1, #1 - blo _0807CC18 - cmp r1, #2 - bne _0807CC2C - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807CC88 - b _0807CC2E - .align 2, 0 -_0807CC14: .4byte 0x000003FF -_0807CC18: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807CC60 - b _0807CC2E -_0807CC22: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807CC78 - b _0807CC2E -_0807CC2C: - movs r0, #0 -_0807CC2E: - pop {pc} - - thumb_func_start sub_0807CC30 -sub_0807CC30: @ 0x0807CC30 - push {lr} - adds r1, r0, #0 - movs r0, #0 - bl sub_0807CB10 - pop {pc} - - thumb_func_start sub_0807CC3C -sub_0807CC3C: @ 0x0807CC3C - push {lr} - adds r1, r0, #0 - ldr r0, _0807CC48 @ =gUnk_02034364 - bl sub_0801D5A8 - pop {pc} - .align 2, 0 -_0807CC48: .4byte gUnk_02034364 - - thumb_func_start sub_0807CC4C -sub_0807CC4C: @ 0x0807CC4C - push {lr} - adds r3, r0, #0 - ldr r0, _0807CC5C @ =gUnk_02002C9C - adds r3, r3, r1 - adds r1, r3, #0 - bl sub_08000F10 - pop {pc} - .align 2, 0 -_0807CC5C: .4byte gUnk_02002C9C - - thumb_func_start sub_0807CC60 -sub_0807CC60: @ 0x0807CC60 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldr r0, _0807CC74 @ =gUnk_02033A90 - ldrh r0, [r0, #4] - adds r1, r3, #0 - bl sub_0807CC4C - pop {pc} - .align 2, 0 -_0807CC74: .4byte gUnk_02033A90 - - thumb_func_start sub_0807CC78 -sub_0807CC78: @ 0x0807CC78 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - movs r0, #0 - adds r1, r3, #0 - bl sub_0807CC4C - pop {pc} - - thumb_func_start sub_0807CC88 -sub_0807CC88: @ 0x0807CC88 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldr r0, _0807CC98 @ =gUnk_02034364 - adds r1, r3, #0 - bl sub_08000F10 - pop {pc} - .align 2, 0 -_0807CC98: .4byte gUnk_02034364 - - thumb_func_start sub_0807CC9C -sub_0807CC9C: @ 0x0807CC9C - push {lr} - adds r2, r0, #0 - cmp r1, #0 - beq _0807CCAC - ldr r0, _0807CCB0 @ =gUnk_02002C9C - adds r1, r2, r1 - bl sub_0801D5BC -_0807CCAC: - pop {pc} - .align 2, 0 -_0807CCB0: .4byte gUnk_02002C9C - - thumb_func_start sub_0807CCB4 -sub_0807CCB4: @ 0x0807CCB4 - push {lr} - adds r1, r0, #0 - ldr r0, _0807CCC4 @ =gUnk_02033A90 - ldrh r0, [r0, #4] - bl sub_0807CC9C - pop {pc} - .align 2, 0 -_0807CCC4: .4byte gUnk_02033A90 - - thumb_func_start sub_0807CCC8 -sub_0807CCC8: @ 0x0807CCC8 - push {lr} - adds r1, r0, #0 - cmp r1, #0 - beq _0807CD02 - ldr r2, _0807CCF0 @ =0x000003FF - ands r2, r1 - movs r0, #0xc0 - lsls r0, r0, #8 - ands r0, r1 - lsrs r0, r0, #0xe - cmp r0, #1 - beq _0807CCFC - cmp r0, #1 - blo _0807CCF4 - cmp r0, #2 - bne _0807CD02 - adds r0, r2, #0 - bl sub_0807CD10 - b _0807CD02 - .align 2, 0 -_0807CCF0: .4byte 0x000003FF -_0807CCF4: - adds r0, r2, #0 - bl sub_0807CCB4 - b _0807CD02 -_0807CCFC: - adds r0, r2, #0 - bl sub_0807CD04 -_0807CD02: - pop {pc} - - thumb_func_start sub_0807CD04 -sub_0807CD04: @ 0x0807CD04 - push {lr} - adds r1, r0, #0 - movs r0, #0 - bl sub_0807CC9C - pop {pc} - - thumb_func_start sub_0807CD10 -sub_0807CD10: @ 0x0807CD10 - push {lr} - adds r1, r0, #0 - ldr r0, _0807CD1C @ =gUnk_02034364 - bl sub_0801D5BC - pop {pc} - .align 2, 0 -_0807CD1C: .4byte gUnk_02034364 - - thumb_func_start sub_0807CD20 -sub_0807CD20: @ 0x0807CD20 - push {lr} - adds r2, r0, #0 - ldr r0, _0807CD30 @ =gUnk_02002C9C - adds r2, r2, r1 - adds r1, r2, #0 - bl sub_0801D5D4 - pop {pc} - .align 2, 0 -_0807CD30: .4byte gUnk_02002C9C - - thumb_func_start sub_0807CD34 -sub_0807CD34: @ 0x0807CD34 - push {lr} - adds r1, r0, #0 - ldr r0, _0807CD44 @ =gUnk_02033A90 - ldrh r0, [r0, #4] - bl sub_0807CD20 - pop {pc} - .align 2, 0 -_0807CD44: .4byte gUnk_02033A90 - - thumb_func_start sub_0807CD48 -sub_0807CD48: @ 0x0807CD48 - push {lr} - ldr r2, _0807CD6C @ =0x000003FF - ands r2, r0 - movs r1, #0xc0 - lsls r1, r1, #8 - ands r1, r0 - lsrs r1, r1, #0xe - cmp r1, #1 - beq _0807CD78 - cmp r1, #1 - blo _0807CD70 - cmp r1, #2 - bne _0807CD7E - adds r0, r2, #0 - bl sub_0807CD8C - b _0807CD7E - .align 2, 0 -_0807CD6C: .4byte 0x000003FF -_0807CD70: - adds r0, r2, #0 - bl sub_0807CD34 - b _0807CD7E -_0807CD78: - adds r0, r2, #0 - bl sub_0807CD80 -_0807CD7E: - pop {pc} - - thumb_func_start sub_0807CD80 -sub_0807CD80: @ 0x0807CD80 - push {lr} - adds r1, r0, #0 - movs r0, #0 - bl sub_0807CD20 - pop {pc} - - thumb_func_start sub_0807CD8C -sub_0807CD8C: @ 0x0807CD8C - push {lr} - adds r1, r0, #0 - ldr r0, _0807CD98 @ =gUnk_02034364 - bl sub_0801D5D4 - pop {pc} - .align 2, 0 -_0807CD98: .4byte gUnk_02034364 - - thumb_func_start sub_0807CD9C -sub_0807CD9C: @ 0x0807CD9C - push {lr} - bl sub_080530C8 - pop {pc} - - thumb_func_start sub_0807CDA4 -sub_0807CDA4: @ 0x0807CDA4 - push {lr} - ldr r2, _0807CDB8 @ =gUnk_0811E478 - ldr r1, _0807CDBC @ =gUnk_02000080 - ldrb r1, [r1, #7] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807CDB8: .4byte gUnk_0811E478 -_0807CDBC: .4byte gUnk_02000080 - - thumb_func_start sub_0807CDC0 -sub_0807CDC0: @ 0x0807CDC0 - push {lr} - ldr r0, _0807CDE0 @ =gUnk_02021EE0 - ldrh r1, [r0, #0xa] - subs r1, #8 - strh r1, [r0, #0xa] - movs r1, #8 - ldrsh r0, [r0, r1] - cmp r0, #0 - bgt _0807CDDC - ldr r0, _0807CDE4 @ =gUnk_02000080 - movs r1, #8 - strh r1, [r0, #0xa] - movs r1, #1 - strb r1, [r0, #7] -_0807CDDC: - movs r0, #0 - pop {pc} - .align 2, 0 -_0807CDE0: .4byte gUnk_02021EE0 -_0807CDE4: .4byte gUnk_02000080 - - thumb_func_start sub_0807CDE8 -sub_0807CDE8: @ 0x0807CDE8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _0807CE08 @ =gUnk_02000080 - ldrh r0, [r1, #0xa] - cmp r0, #0 - bne _0807CE4C - bl sub_0805616C - cmp r4, #1 - beq _0807CE20 - cmp r4, #1 - blo _0807CE0C - cmp r4, #2 - beq _0807CE2E - b _0807CE38 - .align 2, 0 -_0807CE08: .4byte gUnk_02000080 -_0807CE0C: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #4] - ldr r1, _0807CE1C @ =gUnk_02002A40 - bl sub_0807CF08 - b _0807CE36 - .align 2, 0 -_0807CE1C: .4byte gUnk_02002A40 -_0807CE20: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #4] - bl sub_0807CF48 - movs r5, #1 - b _0807CE38 -_0807CE2E: - movs r0, #0x80 - lsls r0, r0, #0x12 - bl sub_0807CF10 -_0807CE36: - adds r5, r0, #0 -_0807CE38: - ldr r1, _0807CE48 @ =gUnk_02000080 - strh r5, [r1, #0xa] - movs r0, #2 - strb r0, [r1, #7] - bl sub_08056208 - b _0807CE50 - .align 2, 0 -_0807CE48: .4byte gUnk_02000080 -_0807CE4C: - subs r0, #1 - strh r0, [r1, #0xa] -_0807CE50: - movs r0, #0 - pop {r4, r5, pc} - - thumb_func_start sub_0807CE54 -sub_0807CE54: @ 0x0807CE54 - push {r4, r5, lr} - movs r4, #0 - ldr r2, _0807CE88 @ =gUnk_02021EE0 - ldrh r0, [r2, #0xa] - adds r0, #8 - strh r0, [r2, #0xa] - ldrh r3, [r2, #6] - movs r5, #6 - ldrsh r1, [r2, r5] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r1, r0 - bgt _0807CE84 - strh r3, [r2, #0xa] - bl sub_08050384 - ldr r0, _0807CE8C @ =gUnk_02000080 - movs r1, #0 - strb r1, [r0, #7] - ldrh r0, [r0, #0xa] - subs r4, #1 - cmp r0, #1 - bne _0807CE84 - movs r4, #1 -_0807CE84: - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 -_0807CE88: .4byte gUnk_02021EE0 -_0807CE8C: .4byte gUnk_02000080 - - thumb_func_start sub_0807CE90 -sub_0807CE90: @ 0x0807CE90 - push {r4, r5, r6, lr} - movs r0, #0x40 - bl sub_080B1520 - movs r0, #4 - bl sub_0807D1C4 - adds r4, r0, #0 - movs r5, #0 - ldrh r0, [r4, #6] - ldr r6, _0807CF04 @ =gUnk_0811E484 - ldrh r2, [r4] - adds r1, r6, #0 - bl sub_0807D24C - cmp r0, #0 - bne _0807CEB4 - movs r5, #1 -_0807CEB4: - ldrh r0, [r4, #8] - ldrh r2, [r4] - adds r1, r6, #0 - bl sub_0807D24C - cmp r0, #0 - bne _0807CEC4 - adds r5, #2 -_0807CEC4: - cmp r5, #0 - beq _0807CEFE - cmp r5, #3 - bne _0807CEEA - movs r0, #5 - bl sub_0807CF68 - movs r0, #3 - bl sub_0807CF68 - movs r0, #2 - bl sub_0807CF68 - movs r0, #1 - bl sub_0807CF68 - movs r0, #0 - bl sub_0807CF68 -_0807CEEA: - ldrh r0, [r4, #8] - ldrh r2, [r4] - adds r1, r6, #0 - bl sub_0807D20C - ldrh r0, [r4, #6] - ldrh r2, [r4] - adds r1, r6, #0 - bl sub_0807D20C -_0807CEFE: - movs r0, #1 - pop {r4, r5, r6, pc} - .align 2, 0 -_0807CF04: .4byte gUnk_0811E484 - - thumb_func_start sub_0807CF08 -sub_0807CF08: @ 0x0807CF08 - push {lr} - bl sub_0807CF88 - pop {pc} - - thumb_func_start sub_0807CF10 -sub_0807CF10: @ 0x0807CF10 - push {lr} - adds r1, r0, #0 - movs r0, #3 - bl sub_0807CF88 - pop {pc} - - thumb_func_start sub_0807CF1C -sub_0807CF1C: @ 0x0807CF1C - push {lr} - adds r1, r0, #0 - movs r0, #5 - bl sub_0807CF88 - pop {pc} - - thumb_func_start sub_0807CF28 -sub_0807CF28: @ 0x0807CF28 - push {lr} - bl sub_0807D008 - pop {pc} - - thumb_func_start sub_0807CF30 -sub_0807CF30: @ 0x0807CF30 - push {lr} - adds r1, r0, #0 - movs r0, #3 - bl sub_0807D008 - pop {pc} - - thumb_func_start sub_0807CF3C -sub_0807CF3C: @ 0x0807CF3C - push {lr} - adds r1, r0, #0 - movs r0, #5 - bl sub_0807D008 - pop {pc} - - thumb_func_start sub_0807CF48 -sub_0807CF48: @ 0x0807CF48 - push {r4, r5, lr} - bl sub_0807D1C4 - adds r4, r0, #0 - ldrh r0, [r4, #4] - ldr r5, _0807CF64 @ =gUnk_0811E4AC - adds r1, r5, #0 - bl sub_0807D184 - ldrh r0, [r4, #2] - adds r1, r5, #0 - bl sub_0807D184 - pop {r4, r5, pc} - .align 2, 0 -_0807CF64: .4byte gUnk_0811E4AC - - thumb_func_start sub_0807CF68 -sub_0807CF68: @ 0x0807CF68 - push {r4, r5, lr} - bl sub_0807D1C4 - adds r4, r0, #0 - ldr r5, _0807CF84 @ =gUnk_0811E4A4 - ldrh r0, [r4, #4] - adds r1, r5, #0 - bl sub_0807D184 - ldrh r0, [r4, #2] - adds r1, r5, #0 - bl sub_0807D184 - pop {r4, r5, pc} - .align 2, 0 -_0807CF84: .4byte gUnk_0811E4A4 - - thumb_func_start sub_0807CF88 -sub_0807CF88: @ 0x0807CF88 - push {r4, r5, r6, r7, lr} - sub sp, #8 - adds r7, r1, #0 - bl sub_0807D1C4 - adds r6, r0, #0 - ldr r0, _0807D004 @ =0x4D435A33 - mov r5, sp - str r0, [sp, #4] - add r0, sp, #4 - movs r1, #4 - bl sub_0807D1A4 - adds r4, r0, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - ldrh r1, [r6] - adds r0, r7, #0 - bl sub_0807D1A4 - adds r4, r4, r0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - mov r0, sp - strh r4, [r0] - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - rsbs r4, r4, #0 - strh r4, [r5, #2] - ldrh r0, [r6, #6] - ldrh r2, [r6] - adds r1, r7, #0 - bl sub_0807D20C - adds r4, r0, #0 - cmp r4, #0 - beq _0807CFDC - ldrh r0, [r6, #2] - mov r1, sp - bl sub_0807D184 - adds r4, r0, #0 -_0807CFDC: - ldrh r0, [r6, #8] - ldrh r2, [r6] - adds r1, r7, #0 - bl sub_0807D20C - cmp r0, #0 - beq _0807CFF2 - ldrh r0, [r6, #4] - mov r1, sp - bl sub_0807D184 -_0807CFF2: - movs r1, #0 - cmp r4, #0 - bne _0807CFFC - cmp r0, #0 - beq _0807CFFE -_0807CFFC: - movs r1, #1 -_0807CFFE: - adds r0, r1, #0 - add sp, #8 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807D004: .4byte 0x4D435A33 - - thumb_func_start sub_0807D008 -sub_0807D008: @ 0x0807D008 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #0xc - adds r7, r1, #0 - bl sub_0807D1C4 - adds r5, r0, #0 - ldrh r0, [r5, #2] - add r4, sp, #4 - adds r1, r4, #0 - bl sub_0807D0EC - adds r6, r0, #0 - mov r8, r4 - cmp r6, #2 - bne _0807D048 - ldrh r0, [r5, #6] - ldrh r2, [r5] - adds r1, r7, #0 - bl sub_0807D1D8 - cmp r0, #0 - beq _0807D046 - ldrh r2, [r5] - mov r0, r8 - adds r1, r7, #0 - bl sub_0807D0A0 - cmp r0, #0 - bne _0807D072 -_0807D046: - movs r6, #0 -_0807D048: - ldrh r0, [r5, #4] - mov r1, r8 - bl sub_0807D0EC - adds r4, r0, #0 - cmp r4, #2 - bne _0807D078 - ldrh r0, [r5, #8] - ldrh r2, [r5] - adds r1, r7, #0 - bl sub_0807D1D8 - cmp r0, #0 - beq _0807D076 - ldrh r2, [r5] - mov r0, r8 - adds r1, r7, #0 - bl sub_0807D0A0 - cmp r0, #0 - beq _0807D076 -_0807D072: - movs r0, #1 - b _0807D098 -_0807D076: - movs r4, #0 -_0807D078: - movs r0, #0 - str r0, [sp] - ldrh r2, [r5] - lsrs r2, r2, #2 - movs r0, #0xa0 - lsls r0, r0, #0x13 - orrs r2, r0 - mov r0, sp - adds r1, r7, #0 - bl CpuSet - orrs r6, r4 - movs r0, #0 - cmp r6, #0 - bne _0807D098 - subs r0, #1 -_0807D098: - add sp, #0xc - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807D0A0 -sub_0807D0A0: @ 0x0807D0A0 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - adds r0, r7, #4 - movs r1, #4 - bl sub_0807D1A4 - adds r4, r0, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0807D1A4 - adds r4, r4, r0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - ldrh r0, [r7] - cmp r0, r4 - bne _0807D0DE - lsls r0, r0, #0x10 - ldrh r1, [r7, #2] - rsbs r0, r0, #0 - lsrs r0, r0, #0x10 - cmp r1, r0 - bne _0807D0DE - ldr r1, [r7, #4] - ldr r0, _0807D0E4 @ =0x4D435A33 - cmp r1, r0 - beq _0807D0E8 -_0807D0DE: - movs r0, #0 - b _0807D0EA - .align 2, 0 -_0807D0E4: .4byte 0x4D435A33 -_0807D0E8: - movs r0, #1 -_0807D0EA: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807D0EC -sub_0807D0EC: @ 0x0807D0EC - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - movs r2, #8 - bl sub_0807D1D8 - cmp r0, #0 - bne _0807D100 - movs r5, #0 - b _0807D10C -_0807D100: - adds r0, r4, #0 - bl sub_0807D128 - adds r5, r0, #0 - cmp r5, #0 - bne _0807D124 -_0807D10C: - adds r0, r6, #0 - adds r0, #8 - adds r1, r4, #0 - movs r2, #8 - bl sub_0807D1D8 - cmp r0, #0 - beq _0807D124 - adds r0, r4, #0 - bl sub_0807D128 - adds r5, r0, #0 -_0807D124: - adds r0, r5, #0 - pop {r4, r5, r6, pc} - - thumb_func_start sub_0807D128 -sub_0807D128: @ 0x0807D128 - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #4] - ldr r0, _0807D13C @ =0x4D435A33 - cmp r1, r0 - beq _0807D150 - cmp r1, r0 - bhi _0807D144 - ldr r0, _0807D140 @ =0x466C6544 - b _0807D146 - .align 2, 0 -_0807D13C: .4byte 0x4D435A33 -_0807D140: .4byte 0x466C6544 -_0807D144: - ldr r0, _0807D14C @ =0x54494E49 -_0807D146: - cmp r1, r0 - beq _0807D164 - b _0807D17C - .align 2, 0 -_0807D14C: .4byte 0x54494E49 -_0807D150: - ldrh r0, [r2] - ldrh r1, [r2, #2] - adds r0, r0, r1 - movs r1, #0x80 - lsls r1, r1, #9 - movs r3, #0 - cmp r0, r1 - bne _0807D17E - movs r3, #2 - b _0807D17E -_0807D164: - movs r3, #0 - ldrh r0, [r2] - ldrh r1, [r2, #2] - ands r1, r0 - ldr r0, _0807D178 @ =0x0000FFFF - cmp r1, r0 - bne _0807D17E - movs r3, #1 - b _0807D17E - .align 2, 0 -_0807D178: .4byte 0x0000FFFF -_0807D17C: - movs r3, #0 -_0807D17E: - adds r0, r3, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807D184 -sub_0807D184: @ 0x0807D184 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r2, #8 - bl sub_0807D20C - cmp r0, #0 - bne _0807D1A0 - adds r0, r4, #0 - adds r0, #8 - adds r1, r5, #0 - movs r2, #8 - bl sub_0807D20C -_0807D1A0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0807D1A4 -sub_0807D1A4: @ 0x0807D1A4 - push {lr} - adds r2, r0, #0 - movs r3, #0 - cmp r1, #0 - beq _0807D1BC -_0807D1AE: - ldrh r0, [r2] - eors r0, r1 - adds r3, r3, r0 - adds r2, #2 - subs r1, #2 - cmp r1, #0 - bne _0807D1AE -_0807D1BC: - lsls r0, r3, #0x10 - lsrs r0, r0, #0x10 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807D1C4 -sub_0807D1C4: @ 0x0807D1C4 - adds r1, r0, #0 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0807D1D4 @ =gUnk_0811E4BC - adds r0, r0, r1 - bx lr - .align 2, 0 -_0807D1D4: .4byte gUnk_0811E4BC - - thumb_func_start sub_0807D1D8 -sub_0807D1D8: @ 0x0807D1D8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - lsrs r4, r2, #3 - adds r0, r4, #0 - lsrs r5, r5, #3 - b _0807D200 -_0807D1E6: - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - adds r1, r6, #0 - bl sub_080B15E8 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0807D1FA - movs r0, #0 - b _0807D208 -_0807D1FA: - adds r5, #1 - adds r6, #8 - adds r0, r4, #0 -_0807D200: - subs r4, #1 - cmp r0, #0 - bne _0807D1E6 - movs r0, #1 -_0807D208: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0807D20C -sub_0807D20C: @ 0x0807D20C - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r7, r1, #0 - lsrs r5, r2, #3 - adds r0, r5, #0 - lsrs r6, r6, #3 - b _0807D242 -_0807D21A: - lsls r0, r6, #0x10 - lsrs r4, r0, #0x10 - adds r0, r4, #0 - adds r1, r7, #0 - bl sub_080B18DC - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0807D23C - adds r0, r4, #0 - ldr r1, _0807D238 @ =gUnk_0811E4B4 - bl sub_080B18DC - movs r0, #0 - b _0807D24A - .align 2, 0 -_0807D238: .4byte gUnk_0811E4B4 -_0807D23C: - adds r6, #1 - adds r7, #8 - adds r0, r5, #0 -_0807D242: - subs r5, #1 - cmp r0, #0 - bne _0807D21A - movs r0, #1 -_0807D24A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807D24C -sub_0807D24C: @ 0x0807D24C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - lsrs r4, r2, #3 - adds r0, r4, #0 - lsrs r5, r5, #3 - b _0807D274 -_0807D25A: - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - adds r1, r6, #0 - bl sub_080B180C - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0807D26E - movs r0, #0 - b _0807D27C -_0807D26E: - adds r5, #1 - adds r6, #8 - adds r0, r4, #0 -_0807D274: - subs r4, #1 - cmp r0, #0 - bne _0807D25A - movs r0, #1 -_0807D27C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0807D280 -sub_0807D280: @ 0x0807D280 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - adds r5, r1, #0 - ldr r1, _0807D2B0 @ =gUnk_03000BF0 - movs r0, #0xa - ldrsh r2, [r1, r0] - ldrh r0, [r1, #6] - subs r3, r2, r0 - movs r0, #0xc - ldrsh r2, [r1, r0] - ldrh r0, [r1, #8] - subs r4, r2, r0 - ldrb r0, [r1, #0x10] - mov r8, r1 - cmp r0, #1 - beq _0807D330 - cmp r0, #1 - bgt _0807D2B4 - cmp r0, #0 - beq _0807D2BA - b _0807D404 - .align 2, 0 -_0807D2B0: .4byte gUnk_03000BF0 -_0807D2B4: - cmp r0, #2 - beq _0807D3A0 - b _0807D404 -_0807D2BA: - mov r2, r8 - ldrh r1, [r2, #0x18] - movs r0, #3 - ands r0, r1 - cmp r0, #1 - beq _0807D2C8 - b _0807D462 -_0807D2C8: - movs r2, #0x1c - asrs r3, r3, #4 - mov sb, r3 - movs r3, #0x40 - adds r3, r3, r5 - mov ip, r3 - ldr r4, _0807D328 @ =0x040000D4 - ldr r7, _0807D32C @ =0x80000020 - movs r0, #0xe8 - lsls r0, r0, #3 - adds r3, r5, r0 - subs r0, #0x80 - adds r1, r5, r0 -_0807D2E2: - str r1, [r4] - str r3, [r4, #4] - str r7, [r4, #8] - ldr r0, [r4, #8] - subs r3, #0x40 - subs r1, #0x40 - subs r2, #1 - cmp r2, #0 - bgt _0807D2E2 - mov r1, r8 - ldrh r0, [r1, #0x20] - lsrs r0, r0, #4 - subs r0, #1 - ldrh r1, [r1, #0x18] - lsrs r1, r1, #2 - subs r0, r0, r1 - lsls r0, r0, #8 - mov r2, sb - lsls r1, r2, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r6, r6, r0 - ldr r0, _0807D328 @ =0x040000D4 - str r6, [r0] - str r5, [r0, #4] - ldr r2, _0807D32C @ =0x80000020 - str r2, [r0, #8] - ldr r1, [r0, #8] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r6, r3 - str r1, [r0] - mov r1, ip - b _0807D3F0 - .align 2, 0 -_0807D328: .4byte 0x040000D4 -_0807D32C: .4byte 0x80000020 -_0807D330: - mov r2, r8 - ldrh r3, [r2, #0x18] - movs r0, #3 - ands r0, r3 - cmp r0, #0 - beq _0807D33E - b _0807D462 -_0807D33E: - asrs r7, r4, #4 - movs r0, #0x3c - adds r0, r0, r5 - mov sb, r0 - cmp r3, #0 - beq _0807D36A - ldr r4, _0807D398 @ =0x040000D4 - ldr r1, _0807D39C @ =0x8000001E - mov ip, r1 - adds r3, r5, #4 - adds r1, r5, #0 - movs r2, #0x15 -_0807D356: - str r3, [r4] - str r1, [r4, #4] - mov r0, ip - str r0, [r4, #8] - ldr r0, [r4, #8] - adds r3, #0x40 - adds r1, #0x40 - subs r2, #1 - cmp r2, #0 - bge _0807D356 -_0807D36A: - lsls r1, r7, #8 - mov r2, r8 - ldrh r0, [r2, #0x18] - lsrs r0, r0, #2 - lsls r0, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #1 - adds r6, r6, r1 - mov r5, sb - movs r1, #0x80 - lsls r1, r1, #1 - movs r2, #0x15 -_0807D382: - ldrh r0, [r6] - strh r0, [r5] - ldrh r0, [r6, #2] - strh r0, [r5, #2] - adds r5, #0x40 - adds r6, r6, r1 - subs r2, #1 - cmp r2, #0 - bge _0807D382 - b _0807D462 - .align 2, 0 -_0807D398: .4byte 0x040000D4 -_0807D39C: .4byte 0x8000001E -_0807D3A0: - mov r0, r8 - ldrh r1, [r0, #0x18] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _0807D462 - lsls r2, r1, #0x10 - cmp r2, #0 - beq _0807D3C2 - ldr r1, _0807D3F8 @ =0x040000D4 - adds r0, r5, #0 - adds r0, #0x80 - str r0, [r1] - str r5, [r1, #4] - ldr r0, _0807D3FC @ =0x800003C0 - str r0, [r1, #8] - ldr r0, [r1, #8] -_0807D3C2: - lsrs r0, r2, #0x12 - lsls r0, r0, #8 - asrs r1, r3, #4 - lsls r1, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r6, r6, r0 - ldr r0, _0807D3F8 @ =0x040000D4 - str r6, [r0] - movs r2, #0xa0 - lsls r2, r2, #3 - adds r1, r5, r2 - str r1, [r0, #4] - ldr r2, _0807D400 @ =0x80000020 - str r2, [r0, #8] - ldr r1, [r0, #8] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r6, r3 - str r1, [r0] - movs r3, #0xa8 - lsls r3, r3, #3 - adds r1, r5, r3 -_0807D3F0: - str r1, [r0, #4] - str r2, [r0, #8] - ldr r0, [r0, #8] - b _0807D462 - .align 2, 0 -_0807D3F8: .4byte 0x040000D4 -_0807D3FC: .4byte 0x800003C0 -_0807D400: .4byte 0x80000020 -_0807D404: - mov r0, r8 - ldrh r1, [r0, #0x18] - movs r0, #3 - ands r0, r1 - cmp r0, #1 - bne _0807D462 - movs r2, #0 - asrs r7, r4, #4 - mov ip, r5 -_0807D416: - movs r1, #0x1d - mov r3, ip - adds r3, #0x3a -_0807D41C: - ldrh r0, [r3] - strh r0, [r3, #4] - subs r3, #2 - subs r1, #1 - cmp r1, #0 - bge _0807D41C - movs r1, #0x40 - add ip, r1 - adds r2, #1 - cmp r2, #0x15 - ble _0807D416 - lsls r0, r7, #8 - mov r2, r8 - ldrh r1, [r2, #0x1e] - lsrs r1, r1, #4 - subs r1, #1 - ldrh r2, [r2, #0x18] - lsrs r2, r2, #2 - subs r1, r1, r2 - lsls r1, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r6, r6, r0 - movs r1, #0x80 - lsls r1, r1, #1 - movs r2, #0x15 -_0807D450: - ldrh r0, [r6] - strh r0, [r5] - ldrh r0, [r6, #2] - strh r0, [r5, #2] - adds r5, #0x40 - adds r6, r6, r1 - subs r2, #1 - cmp r2, #0 - bge _0807D450 -_0807D462: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807D46C -sub_0807D46C: @ 0x0807D46C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - str r0, [sp] - str r1, [sp, #4] - ldr r0, _0807D494 @ =gUnk_03000BF0 - ldrb r2, [r0, #0x10] - mov sb, r0 - cmp r2, #1 - bne _0807D488 - b _0807D5C4 -_0807D488: - cmp r2, #1 - bgt _0807D498 - cmp r2, #0 - beq _0807D4A4 - b _0807D6CC - .align 2, 0 -_0807D494: .4byte gUnk_03000BF0 -_0807D498: - cmp r2, #2 - beq _0807D4A4 - cmp r2, #3 - bne _0807D4A2 - b _0807D5C4 -_0807D4A2: - b _0807D6CC -_0807D4A4: - mov r1, sb - movs r2, #0xa - ldrsh r0, [r1, r2] - ldrh r1, [r1, #6] - subs r5, r0, r1 - cmp r5, #7 - ble _0807D4B4 - subs r5, #8 -_0807D4B4: - mov r3, sb - ldr r0, [r3, #0x30] - movs r2, #0x2e - ldrsh r0, [r0, r2] - subs r0, r0, r1 - subs r3, r0, #4 - mov r8, r3 - cmp r3, #7 - ble _0807D4CA - subs r0, #0xc - mov r8, r0 -_0807D4CA: - mov r0, sb - movs r2, #0xc - ldrsh r1, [r0, r2] - ldrh r0, [r0, #8] - subs r1, r1, r0 - mov ip, r1 - cmp r1, #7 - ble _0807D4E0 - movs r3, #8 - rsbs r3, r3, #0 - add ip, r3 -_0807D4E0: - mov r1, sb - ldrh r0, [r1, #0x18] - lsls r0, r0, #3 - mov r2, r8 - subs r0, r2, r0 - adds r7, r5, #0 - adds r7, #0xf8 - cmp r0, r5 - blt _0807D548 - mov r1, ip - asrs r3, r1, #3 - lsls r1, r3, #8 - ldr r2, [sp] - adds r1, r2, r1 - asrs r0, r0, #3 - lsls r2, r0, #1 - adds r4, r1, r2 - movs r1, #0x1f - ands r0, r1 - lsls r0, r0, #1 - ldr r2, [sp, #4] - adds r6, r2, r0 - ands r3, r1 - lsls r2, r3, #5 - mov r3, sb - ldrh r0, [r3, #0x20] - lsls r1, r0, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0xaf - bhi _0807D520 - lsrs r3, r1, #0x13 - b _0807D522 -_0807D520: - movs r3, #0x16 -_0807D522: - adds r7, r5, #0 - adds r7, #0xf8 - cmp r3, #0 - ble _0807D548 - ldr r0, _0807D55C @ =0x000003FF - mov sl, r0 -_0807D52E: - lsls r0, r2, #1 - adds r0, r0, r6 - ldrh r1, [r4] - strh r1, [r0] - movs r1, #0x80 - lsls r1, r1, #1 - adds r4, r4, r1 - adds r2, #0x20 - mov r0, sl - ands r2, r0 - subs r3, #1 - cmp r3, #0 - bgt _0807D52E -_0807D548: - mov r1, sb - ldrh r0, [r1, #0x18] - adds r0, #1 - lsls r0, r0, #3 - add r0, r8 - ldrh r2, [r1, #0x1e] - cmp r7, r2 - blt _0807D560 - adds r1, r7, #0 - b _0807D566 - .align 2, 0 -_0807D55C: .4byte 0x000003FF -_0807D560: - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r5, r3 -_0807D566: - cmp r0, r1 - blt _0807D56C - b _0807D6CC -_0807D56C: - mov r1, ip - asrs r3, r1, #3 - lsls r1, r3, #8 - ldr r2, [sp] - adds r1, r2, r1 - asrs r0, r0, #3 - lsls r2, r0, #1 - adds r4, r1, r2 - movs r1, #0x1f - ands r0, r1 - lsls r0, r0, #1 - ldr r2, [sp, #4] - adds r6, r2, r0 - ands r3, r1 - lsls r2, r3, #5 - mov r3, sb - ldrh r0, [r3, #0x20] - lsls r1, r0, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0xaf - bhi _0807D59A - lsrs r3, r1, #0x13 - b _0807D59C -_0807D59A: - movs r3, #0x16 -_0807D59C: - cmp r3, #0 - bgt _0807D5A2 - b _0807D6CC -_0807D5A2: - movs r7, #0x80 - lsls r7, r7, #1 - ldr r5, _0807D5C0 @ =0x000003FF -_0807D5A8: - lsls r0, r2, #1 - adds r0, r0, r6 - ldrh r1, [r4] - strh r1, [r0] - adds r4, r4, r7 - adds r2, #0x20 - ands r2, r5 - subs r3, #1 - cmp r3, #0 - bgt _0807D5A8 - b _0807D6CC - .align 2, 0 -_0807D5C0: .4byte 0x000003FF -_0807D5C4: - mov r1, sb - movs r2, #0xc - ldrsh r0, [r1, r2] - ldrh r2, [r1, #8] - subs r5, r0, r2 - cmp r5, #7 - ble _0807D5D4 - subs r5, #8 -_0807D5D4: - mov r3, sb - movs r0, #0xa - ldrsh r1, [r3, r0] - ldrh r0, [r3, #6] - subs r1, r1, r0 - mov r8, r1 - cmp r1, #7 - ble _0807D5EA - movs r1, #8 - rsbs r1, r1, #0 - add r8, r1 -_0807D5EA: - mov r3, sb - ldr r0, [r3, #0x30] - movs r1, #0x32 - ldrsh r0, [r0, r1] - subs r0, r0, r2 - subs r2, r0, #4 - mov ip, r2 - cmp r2, #7 - ble _0807D600 - subs r0, #0xc - mov ip, r0 -_0807D600: - mov r3, sb - ldrh r0, [r3, #0x18] - lsls r0, r0, #3 - mov r1, ip - subs r0, r1, r0 - adds r7, r5, #0 - adds r7, #0xa8 - movs r2, #0xb0 - adds r2, r2, r5 - mov sl, r2 - cmp r0, r5 - blt _0807D66A - asrs r2, r0, #3 - lsls r0, r2, #8 - ldr r3, [sp] - adds r0, r3, r0 - mov r1, r8 - asrs r3, r1, #3 - lsls r1, r3, #1 - adds r4, r0, r1 - movs r0, #0x1f - ands r2, r0 - lsls r2, r2, #6 - ldr r1, [sp, #4] - adds r6, r1, r2 - adds r2, r0, #0 - ands r2, r3 - mov r3, sb - ldrh r0, [r3, #0x1e] - lsls r1, r0, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0xff - bhi _0807D646 - lsrs r3, r1, #0x13 - b _0807D648 -_0807D646: - movs r3, #0x20 -_0807D648: - adds r7, r5, #0 - adds r7, #0xa8 - adds r5, #0xb0 - mov sl, r5 - cmp r3, #0 - ble _0807D66A - movs r5, #0x1f -_0807D656: - lsls r0, r2, #1 - adds r0, r0, r6 - ldrh r1, [r4] - strh r1, [r0] - adds r4, #2 - adds r2, #1 - ands r2, r5 - subs r3, #1 - cmp r3, #0 - bgt _0807D656 -_0807D66A: - mov r1, sb - ldrh r0, [r1, #0x18] - adds r0, #1 - lsls r0, r0, #3 - add r0, ip - mov r2, sl - ldrh r1, [r1, #0x20] - cmp r7, r1 - blt _0807D67E - adds r2, r7, #0 -_0807D67E: - cmp r0, r2 - bge _0807D6CC - asrs r2, r0, #3 - lsls r0, r2, #8 - ldr r1, [sp] - adds r0, r1, r0 - mov r1, r8 - asrs r3, r1, #3 - lsls r1, r3, #1 - adds r4, r0, r1 - movs r0, #0x1f - ands r2, r0 - lsls r2, r2, #6 - ldr r1, [sp, #4] - adds r6, r1, r2 - adds r2, r0, #0 - ands r2, r3 - mov r3, sb - ldrh r0, [r3, #0x1e] - lsls r1, r0, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0xff - bhi _0807D6B0 - lsrs r3, r1, #0x13 - b _0807D6B2 -_0807D6B0: - movs r3, #0x20 -_0807D6B2: - cmp r3, #0 - ble _0807D6CC - movs r5, #0x1f -_0807D6B8: - lsls r0, r2, #1 - adds r0, r0, r6 - ldrh r1, [r4] - strh r1, [r0] - adds r4, #2 - adds r2, #1 - ands r2, r5 - subs r3, #1 - cmp r3, #0 - bgt _0807D6B8 -_0807D6CC: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0807D6D8 -sub_0807D6D8: @ 0x0807D6D8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x44 - str r0, [sp] - str r1, [sp, #4] - ldr r5, _0807D8BC @ =gUnk_03000BF0 - ldrh r0, [r5, #0x18] - cmp r0, #0 - bne _0807D6F2 - b _0807DA62 -_0807D6F2: - ldrh r0, [r5, #0x1a] - cmp r0, #0 - bne _0807D6FA - b _0807DA62 -_0807D6FA: - movs r1, #0xa - ldrsh r0, [r5, r1] - ldrh r1, [r5, #6] - subs r0, r0, r1 - movs r4, #0x10 - rsbs r4, r4, #0 - ands r0, r4 - str r0, [sp, #0x24] - ldr r3, [r5, #0x30] - movs r2, #0x2e - ldrsh r0, [r3, r2] - subs r0, r0, r1 - movs r2, #8 - rsbs r2, r2, #0 - ands r0, r2 - str r0, [sp, #0x14] - ldr r1, [sp, #0x24] - subs r0, r0, r1 - str r0, [sp, #0x1c] - movs r1, #0xc - ldrsh r0, [r5, r1] - ldrh r1, [r5, #8] - subs r0, r0, r1 - ands r0, r4 - str r0, [sp, #0x28] - movs r4, #0x32 - ldrsh r0, [r3, r4] - subs r0, r0, r1 - ands r0, r2 - str r0, [sp, #0x18] - ldr r1, [sp, #0x28] - subs r0, r0, r1 - str r0, [sp, #0x20] - ldrh r0, [r5, #0x18] - adds r2, r0, #0 - muls r2, r0, r2 - str r2, [sp, #0xc] - ldrh r3, [r5, #0x1a] - str r3, [sp, #8] - adds r4, r3, #0 - muls r4, r3, r4 - str r4, [sp, #0x10] - adds r4, r0, #0 - movs r0, #0 - mov sb, r0 - lsls r0, r4, #1 - rsbs r0, r0, #0 - adds r0, #1 - ldr r1, [sp, #0x10] - muls r0, r1, r0 - lsls r6, r2, #1 - adds r7, r0, r6 - adds r2, r4, #0 - muls r2, r1, r2 - mov r8, r2 - mov r0, r8 - ldr r1, [sp, #0xc] - bl __divsi3 - mov ip, r0 - cmp sb, ip - ble _0807D778 - b _0807D8D8 -_0807D778: - mov sl, r5 - ldr r3, [sp, #0xc] - adds r0, r6, r3 - lsls r0, r0, #1 - str r0, [sp, #0x3c] - mov r0, r8 - str r0, [sp, #0x40] - ldr r1, [sp, #0x14] - subs r1, r1, r4 - mov r8, r1 - ldr r2, [sp, #0x14] - adds r6, r4, r2 - movs r0, #0x80 - lsls r0, r0, #1 - ldr r3, [sp, #0x24] - adds r0, r3, r0 - str r0, [sp, #0x2c] -_0807D79A: - ldr r0, [sp, #0x28] - adds r0, #0xb0 - ldr r1, [sp, #0x18] - add r1, sb - cmp r0, r1 - ble _0807D812 - ldr r0, [sp, #0x20] - add r0, sb - asrs r0, r0, #3 - movs r5, #0x1f - ands r0, r5 - cmp r0, #0x1f - beq _0807D812 - lsls r0, r0, #6 - ldr r3, [sp, #4] - adds r2, r3, r0 - asrs r0, r1, #3 - lsls r0, r0, #8 - ldr r1, [sp] - adds r3, r1, r0 - ldr r0, [sp, #0x2c] - cmp r0, r6 - ble _0807D7EA - ldr r0, [sp, #0x1c] - adds r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - asrs r0, r6, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r1, sl - ldrh r0, [r1, #0x1c] - movs r1, #1 - orrs r0, r1 - mov r1, sl - strh r0, [r1, #0x1c] -_0807D7EA: - ldr r0, [sp, #0x24] - cmp r0, r8 - bge _0807D812 - ldr r0, [sp, #0x1c] - subs r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - mov r2, r8 - asrs r0, r2, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r3, sl - ldrh r0, [r3, #0x1c] - movs r1, #2 - orrs r0, r1 - strh r0, [r3, #0x1c] -_0807D812: - ldr r0, [sp, #0x18] - mov r2, sb - subs r1, r0, r2 - adds r0, r1, #0 - adds r0, #8 - ldr r3, [sp, #0x28] - cmp r3, r0 - bge _0807D88E - ldr r3, [sp, #0x20] - subs r0, r3, r2 - asrs r0, r0, #3 - movs r5, #0x1f - ands r0, r5 - cmp r0, #0x1f - beq _0807D88E - lsls r0, r0, #6 - ldr r3, [sp, #4] - adds r2, r3, r0 - asrs r0, r1, #3 - lsls r0, r0, #8 - ldr r1, [sp] - adds r3, r1, r0 - ldr r0, [sp, #0x2c] - cmp r0, r6 - ble _0807D866 - ldr r0, [sp, #0x1c] - adds r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - asrs r0, r6, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r1, sl - ldrh r0, [r1, #0x1c] - movs r1, #4 - orrs r0, r1 - mov r1, sl - strh r0, [r1, #0x1c] -_0807D866: - ldr r0, [sp, #0x24] - cmp r0, r8 - bge _0807D88E - ldr r0, [sp, #0x1c] - subs r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - mov r2, r8 - asrs r0, r2, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r3, sl - ldrh r0, [r3, #0x1c] - movs r1, #8 - orrs r0, r1 - strh r0, [r3, #0x1c] -_0807D88E: - cmp r7, #0 - ble _0807D8C0 - lsls r0, r4, #2 - rsbs r0, r0, #0 - adds r0, #4 - ldr r1, [sp, #0x10] - muls r0, r1, r0 - ldr r2, [sp, #0x3c] - adds r0, r0, r2 - adds r7, r7, r0 - ldr r3, [sp, #0x40] - subs r3, r3, r1 - str r3, [sp, #0x40] - movs r0, #1 - add r8, r0 - subs r6, #1 - subs r4, #1 - adds r0, r3, #0 - ldr r1, [sp, #0xc] - bl __divsi3 - mov ip, r0 - b _0807D8C4 - .align 2, 0 -_0807D8BC: .4byte gUnk_03000BF0 -_0807D8C0: - ldr r1, [sp, #0x3c] - adds r7, r7, r1 -_0807D8C4: - ldr r2, [sp, #0xc] - lsls r0, r2, #2 - ldr r3, [sp, #0x3c] - adds r3, r3, r0 - str r3, [sp, #0x3c] - movs r0, #1 - add sb, r0 - cmp sb, ip - bgt _0807D8D8 - b _0807D79A -_0807D8D8: - movs r4, #0 - ldr r1, [sp, #8] - mov sb, r1 - ldr r2, [sp, #0x10] - lsls r6, r2, #1 - lsls r0, r1, #1 - rsbs r0, r0, #0 - adds r0, #1 - ldr r3, [sp, #0xc] - muls r0, r3, r0 - adds r7, r6, r0 - mov r5, sb - muls r5, r3, r5 - adds r0, r5, #0 - adds r1, r2, #0 - bl __divsi3 - mov ip, r0 - cmp r4, ip - ble _0807D902 - b _0807DA62 -_0807D902: - ldr r0, _0807DA40 @ =gUnk_03000BF0 - mov sl, r0 - ldr r1, [sp, #0x10] - adds r0, r6, r1 - lsls r0, r0, #1 - str r0, [sp, #0x34] - ldr r6, [sp, #0x14] - mov r8, r6 - str r5, [sp, #0x38] - movs r3, #0x80 - lsls r3, r3, #1 - ldr r2, [sp, #0x24] - adds r3, r2, r3 - str r3, [sp, #0x30] -_0807D91E: - ldr r0, [sp, #0x28] - adds r0, #0xb0 - ldr r1, [sp, #0x18] - add r1, sb - cmp r0, r1 - ble _0807D996 - ldr r0, [sp, #0x20] - add r0, sb - asrs r0, r0, #3 - movs r5, #0x1f - ands r0, r5 - cmp r0, #0x1f - beq _0807D996 - lsls r0, r0, #6 - ldr r3, [sp, #4] - adds r2, r3, r0 - asrs r0, r1, #3 - lsls r0, r0, #8 - ldr r1, [sp] - adds r3, r1, r0 - ldr r0, [sp, #0x30] - cmp r0, r6 - ble _0807D96E - ldr r0, [sp, #0x1c] - adds r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - asrs r0, r6, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r1, sl - ldrh r0, [r1, #0x1c] - movs r1, #0x10 - orrs r0, r1 - mov r1, sl - strh r0, [r1, #0x1c] -_0807D96E: - ldr r0, [sp, #0x24] - cmp r0, r8 - bge _0807D996 - ldr r0, [sp, #0x1c] - subs r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - mov r2, r8 - asrs r0, r2, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r3, sl - ldrh r0, [r3, #0x1c] - movs r1, #0x20 - orrs r0, r1 - strh r0, [r3, #0x1c] -_0807D996: - ldr r0, [sp, #0x18] - mov r2, sb - subs r1, r0, r2 - adds r0, r1, #0 - adds r0, #8 - ldr r3, [sp, #0x28] - cmp r3, r0 - bge _0807DA12 - ldr r3, [sp, #0x20] - subs r0, r3, r2 - asrs r0, r0, #3 - movs r5, #0x1f - ands r0, r5 - cmp r0, #0x1f - beq _0807DA12 - lsls r0, r0, #6 - ldr r3, [sp, #4] - adds r2, r3, r0 - asrs r0, r1, #3 - lsls r0, r0, #8 - ldr r1, [sp] - adds r3, r1, r0 - ldr r0, [sp, #0x30] - cmp r0, r6 - ble _0807D9EA - ldr r0, [sp, #0x1c] - adds r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - asrs r0, r6, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r1, sl - ldrh r0, [r1, #0x1c] - movs r1, #0x40 - orrs r0, r1 - mov r1, sl - strh r0, [r1, #0x1c] -_0807D9EA: - ldr r0, [sp, #0x24] - cmp r0, r8 - bge _0807DA12 - ldr r0, [sp, #0x1c] - subs r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - mov r2, r8 - asrs r0, r2, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r3, sl - ldrh r0, [r3, #0x1c] - movs r1, #0x80 - orrs r0, r1 - strh r0, [r3, #0x1c] -_0807DA12: - cmp r7, #0 - ble _0807DA44 - mov r1, sb - lsls r0, r1, #2 - rsbs r0, r0, #0 - adds r0, #4 - ldr r2, [sp, #0xc] - muls r0, r2, r0 - ldr r3, [sp, #0x34] - adds r0, r3, r0 - adds r7, r7, r0 - ldr r0, [sp, #0x38] - subs r0, r0, r2 - str r0, [sp, #0x38] - movs r1, #1 - rsbs r1, r1, #0 - add sb, r1 - ldr r1, [sp, #0x10] - bl __divsi3 - mov ip, r0 - b _0807DA48 - .align 2, 0 -_0807DA40: .4byte gUnk_03000BF0 -_0807DA44: - ldr r2, [sp, #0x34] - adds r7, r7, r2 -_0807DA48: - ldr r3, [sp, #0x10] - lsls r0, r3, #2 - ldr r1, [sp, #0x34] - adds r1, r1, r0 - str r1, [sp, #0x34] - movs r2, #1 - rsbs r2, r2, #0 - add r8, r2 - adds r6, #1 - adds r4, #1 - cmp r4, ip - bgt _0807DA62 - b _0807D91E -_0807DA62: - add sp, #0x44 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807DA70 -sub_0807DA70: @ 0x0807DA70 - push {r4, lr} - ldr r4, _0807DA94 @ =gUnk_02033280 - adds r0, r4, #0 - movs r1, #0xc - bl sub_0801D630 - ldr r0, _0807DA98 @ =gUnk_02036570 - movs r1, #0x90 - lsls r1, r1, #3 - bl sub_0801D630 - ldr r0, _0807DA9C @ =gUnk_02022750 - movs r1, #0x24 - bl sub_0801D630 - movs r0, #8 - strb r0, [r4, #8] - pop {r4, pc} - .align 2, 0 -_0807DA94: .4byte gUnk_02033280 -_0807DA98: .4byte gUnk_02036570 -_0807DA9C: .4byte gUnk_02022750 - - thumb_func_start sub_0807DAA0 -sub_0807DAA0: @ 0x0807DAA0 - push {lr} - ldr r1, _0807DABC @ =gUnk_02036570 - movs r0, #0x90 - lsls r0, r0, #3 - adds r2, r1, r0 -_0807DAAA: - ldr r0, [r1] - cmp r0, #0 - beq _0807DAC0 - adds r1, #0x24 - cmp r1, r2 - blo _0807DAAA - movs r0, #0 - b _0807DAC2 - .align 2, 0 -_0807DABC: .4byte gUnk_02036570 -_0807DAC0: - adds r0, r1, #0 -_0807DAC2: - pop {pc} - - thumb_func_start sub_0807DAC4 -sub_0807DAC4: @ 0x0807DAC4 - push {lr} - movs r1, #0x24 - bl sub_0801D630 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807DAD0 -sub_0807DAD0: @ 0x0807DAD0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - bl sub_0807DAA0 - adds r4, r0, #0 - cmp r4, #0 - beq _0807DAEA - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r6, #0 - bl sub_0807DAF0 -_0807DAEA: - adds r0, r4, #0 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0807DAF0 -sub_0807DAF0: @ 0x0807DAF0 - push {r4, lr} - ldrb r4, [r0, #0x10] - movs r3, #2 - orrs r3, r4 - strb r3, [r0, #0x10] - adds r0, #0x84 - str r1, [r0] - adds r0, r1, #0 - adds r1, r2, #0 - bl sub_0807DB88 - pop {r4, pc} - - thumb_func_start sub_0807DB08 -sub_0807DB08: @ 0x0807DB08 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0807DB28 - movs r0, #0xfd - ands r0, r1 - movs r5, #0 - strb r0, [r4, #0x10] - adds r4, #0x84 - ldr r0, [r4] - bl sub_0807DAC4 - str r5, [r4] -_0807DB28: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0807DB2C -sub_0807DB2C: @ 0x0807DB2C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0807DB5C @ =gUnk_02022750 - adds r0, r4, #0 - movs r1, #0x24 - bl sub_0801D630 - str r5, [r4] - ldr r0, _0807DB60 @ =gUnk_03001160 - adds r0, #0x84 - str r4, [r0] - ldr r2, _0807DB64 @ =gUnk_03003F80 - movs r1, #0 - movs r0, #0x1c - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x3a - strb r1, [r0] - subs r0, #1 - strb r1, [r0] - subs r0, #1 - strb r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_0807DB5C: .4byte gUnk_02022750 -_0807DB60: .4byte gUnk_03001160 -_0807DB64: .4byte gUnk_03003F80 - - thumb_func_start sub_0807DB68 -sub_0807DB68: @ 0x0807DB68 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_0807DAA0 - adds r2, r0, #0 - cmp r2, #0 - beq _0807DB84 - ldrb r1, [r4, #0x10] - movs r0, #2 - orrs r0, r1 - strb r0, [r4, #0x10] - str r2, [r4, #0x3c] - str r5, [r2] -_0807DB84: - adds r0, r2, #0 - pop {r4, r5, pc} - - thumb_func_start sub_0807DB88 -sub_0807DB88: @ 0x0807DB88 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0x24 - bl sub_0801D630 - str r5, [r4] - pop {r4, r5, pc} - - thumb_func_start sub_0807DB98 -sub_0807DB98: @ 0x0807DB98 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r0, [r6, #8] - cmp r0, #0 - bne _0807DBA6 - b _0807DD48 -_0807DBA6: - movs r7, #0 - adds r4, r5, #0 - adds r4, #0x82 -_0807DBAC: - ldr r1, [r6, #8] - mvns r0, r1 - adds r2, r0, #1 - ands r2, r1 - eors r1, r2 - str r1, [r6, #8] - movs r0, #0x80 - lsls r0, r0, #2 - cmp r2, r0 - bne _0807DBC2 - b _0807DCC8 -_0807DBC2: - cmp r2, r0 - bhi _0807DC04 - cmp r2, #0x10 - beq _0807DC82 - cmp r2, #0x10 - bhi _0807DBE8 - cmp r2, #2 - beq _0807DC70 - cmp r2, #2 - bhi _0807DBDC - cmp r2, #1 - beq _0807DC68 - b _0807DD40 -_0807DBDC: - cmp r2, #4 - bne _0807DBE2 - b _0807DD40 -_0807DBE2: - cmp r2, #8 - beq _0807DC7A - b _0807DD40 -_0807DBE8: - cmp r2, #0x40 - beq _0807DC9E - cmp r2, #0x40 - bhi _0807DBF6 - cmp r2, #0x20 - beq _0807DC90 - b _0807DD40 -_0807DBF6: - cmp r2, #0x80 - beq _0807DCA8 - movs r0, #0x80 - lsls r0, r0, #1 - cmp r2, r0 - beq _0807DCBA - b _0807DD40 -_0807DC04: - movs r0, #0x80 - lsls r0, r0, #7 - cmp r2, r0 - beq _0807DCFC - cmp r2, r0 - bhi _0807DC38 - movs r0, #0x80 - lsls r0, r0, #4 - cmp r2, r0 - beq _0807DCDE - cmp r2, r0 - bhi _0807DC26 - movs r0, #0x80 - lsls r0, r0, #3 - cmp r2, r0 - beq _0807DCD6 - b _0807DD40 -_0807DC26: - movs r0, #0x80 - lsls r0, r0, #5 - cmp r2, r0 - beq _0807DCE8 - movs r0, #0x80 - lsls r0, r0, #6 - cmp r2, r0 - beq _0807DCF4 - b _0807DD40 -_0807DC38: - movs r0, #0x80 - lsls r0, r0, #0xa - cmp r2, r0 - beq _0807DD14 - cmp r2, r0 - bhi _0807DC56 - movs r0, #0x80 - lsls r0, r0, #8 - cmp r2, r0 - beq _0807DD04 - movs r0, #0x80 - lsls r0, r0, #9 - cmp r2, r0 - beq _0807DD0C - b _0807DD40 -_0807DC56: - movs r0, #0x80 - lsls r0, r0, #0xb - cmp r2, r0 - beq _0807DD2E - movs r0, #0x80 - lsls r0, r0, #0xc - cmp r2, r0 - beq _0807DD36 - b _0807DD40 -_0807DC68: - adds r0, r5, #0 - adds r0, #0x80 - strh r7, [r0] - b _0807DD40 -_0807DC70: - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #4 - strh r0, [r1] - b _0807DD40 -_0807DC7A: - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r5, #0x20] - b _0807DD40 -_0807DC82: - adds r0, r5, #0 - movs r1, #8 - movs r2, #0x18 - rsbs r2, r2, #0 - bl sub_080A2CFC - b _0807DD40 -_0807DC90: - adds r0, r5, #0 - movs r1, #8 - movs r2, #0x18 - rsbs r2, r2, #0 - bl sub_080A2D0C - b _0807DD40 -_0807DC9E: - adds r0, r6, #0 - bl sub_0807DAC4 - bl sub_0805E780 -_0807DCA8: - ldrb r0, [r5, #0x18] - movs r2, #4 - rsbs r2, r2, #0 - adds r1, r2, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - b _0807DD40 -_0807DCBA: - ldrb r0, [r5, #0x18] - movs r3, #4 - rsbs r3, r3, #0 - adds r1, r3, #0 - ands r0, r1 - strb r0, [r5, #0x18] - b _0807DD40 -_0807DCC8: - adds r0, r5, #0 - adds r0, #0x63 - strb r7, [r0] - subs r0, #1 - strb r7, [r0] - strh r7, [r4] - b _0807DD40 -_0807DCD6: - ldrh r0, [r4] - movs r1, #2 - orrs r0, r1 - b _0807DD3E -_0807DCDE: - ldrh r0, [r4] - ldr r2, _0807DCE4 @ =0x0000FFFD - b _0807DD3A - .align 2, 0 -_0807DCE4: .4byte 0x0000FFFD -_0807DCE8: - ldrh r0, [r4] - ldr r3, _0807DCF0 @ =0x0000FFFE - adds r1, r3, #0 - b _0807DD3C - .align 2, 0 -_0807DCF0: .4byte 0x0000FFFE -_0807DCF4: - ldrh r0, [r4] - movs r1, #1 - orrs r0, r1 - b _0807DD3E -_0807DCFC: - ldrh r0, [r4] - movs r1, #8 - orrs r0, r1 - b _0807DD3E -_0807DD04: - ldrh r0, [r4] - movs r1, #4 - eors r0, r1 - b _0807DD3E -_0807DD0C: - ldrh r0, [r4] - movs r1, #0x10 - eors r0, r1 - b _0807DD3E -_0807DD14: - ldrb r2, [r5, #0x18] - lsls r0, r2, #0x19 - lsrs r0, r0, #0x1f - movs r1, #1 - eors r0, r1 - lsls r0, r0, #6 - movs r3, #0x41 - rsbs r3, r3, #0 - adds r1, r3, #0 - ands r2, r1 - orrs r2, r0 - strb r2, [r5, #0x18] - b _0807DD40 -_0807DD2E: - ldrh r0, [r4] - movs r1, #0x20 - orrs r0, r1 - b _0807DD3E -_0807DD36: - ldrh r0, [r4] - ldr r2, _0807DD4C @ =0x0000FFDF -_0807DD3A: - adds r1, r2, #0 -_0807DD3C: - ands r0, r1 -_0807DD3E: - strh r0, [r4] -_0807DD40: - ldr r0, [r6, #8] - cmp r0, #0 - beq _0807DD48 - b _0807DBAC -_0807DD48: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807DD4C: .4byte 0x0000FFDF - - thumb_func_start sub_0807DD50 -sub_0807DD50: @ 0x0807DD50 - push {r4, lr} - adds r4, r0, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807DD64 -sub_0807DD64: @ 0x0807DD64 - adds r3, r0, #0 - ldrb r0, [r3, #0x14] - movs r2, #0 - strb r0, [r3, #0xf] - adds r1, r3, #0 - adds r1, #0x58 - movs r0, #0xff - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x80 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - bx lr - - thumb_func_start sub_0807DD80 -sub_0807DD80: @ 0x0807DD80 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x84 - ldr r0, [r0] - bl sub_0807DB88 - adds r0, r4, #0 - bl sub_0807DD64 - pop {r4, pc} - - thumb_func_start sub_0807DD94 -sub_0807DD94: @ 0x0807DD94 - push {r4, lr} - adds r4, r0, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_0807DE80 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807DDAC -sub_0807DDAC: @ 0x0807DDAC - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r4, r5, #0 - adds r4, #0x84 - ldr r1, [r4] - cmp r1, #0 - beq _0807DDE0 - bl sub_0807DF74 - cmp r6, #0 - beq _0807DDCE - ldr r1, [r4] - adds r0, r5, #0 - bl _call_via_r6 - b _0807DDD6 -_0807DDCE: - ldr r1, [r4] - adds r0, r5, #0 - bl sub_0807DB98 -_0807DDD6: - ldr r0, [r5, #4] - cmp r0, #0 - bne _0807DDE0 - bl sub_0805E780 -_0807DDE0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0807DDE4 -sub_0807DDE4: @ 0x0807DDE4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x82 - ldrh r5, [r0] -_0807DDEC: - cmp r5, #0 - beq _0807DE7C - mvns r0, r5 - adds r0, #1 - ands r0, r5 - eors r5, r0 - cmp r0, #8 - beq _0807DE26 - cmp r0, #8 - bhi _0807DE06 - cmp r0, #2 - beq _0807DE10 - b _0807DDEC -_0807DE06: - cmp r0, #0x10 - beq _0807DE44 - cmp r0, #0x20 - beq _0807DE70 - b _0807DDEC -_0807DE10: - ldrb r0, [r4, #8] - cmp r0, #7 - bne _0807DE1E - adds r0, r4, #0 - bl sub_0806ED78 - b _0807DDEC -_0807DE1E: - adds r0, r4, #0 - bl sub_0800445C - b _0807DDEC -_0807DE26: - ldr r0, _0807DE40 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0807DDEC - ldrb r0, [r4, #0xf] - adds r0, #2 - movs r1, #7 - ands r0, r1 - strb r0, [r4, #0x14] - strb r0, [r4, #0xf] - b _0807DDEC - .align 2, 0 -_0807DE40: .4byte gUnk_030010A0 -_0807DE44: - ldr r0, _0807DE68 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0807DDEC - bl sub_08000E50 - ldr r2, _0807DE6C @ =gUnk_0811E510 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - b _0807DDEC - .align 2, 0 -_0807DE68: .4byte gUnk_030010A0 -_0807DE6C: .4byte gUnk_0811E510 -_0807DE70: - adds r0, r4, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - b _0807DDEC -_0807DE7C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0807DE80 -sub_0807DE80: @ 0x0807DE80 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r3, [r0] - cmp r3, #7 - bhi _0807DEB0 - adds r0, #2 - ldrh r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0807DEA4 - movs r1, #0xfc - ands r1, r3 - ldrb r0, [r4, #0xf] - lsrs r0, r0, #1 - adds r3, r1, r0 - b _0807DEB0 -_0807DEA4: - movs r0, #0xfc - ands r0, r3 - ldrb r2, [r4, #0x14] - lsrs r1, r2, #1 - adds r3, r0, r1 - strb r2, [r4, #0xf] -_0807DEB0: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r3, r0 - beq _0807DEC2 - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_080042AC -_0807DEC2: - adds r0, r4, #0 - adds r0, #0x82 - ldrh r1, [r0] - movs r0, #4 - ands r0, r1 - movs r1, #1 - cmp r0, #0 - beq _0807DED4 - movs r1, #2 -_0807DED4: - adds r0, r4, #0 - bl sub_080042BA - pop {r4, pc} - - thumb_func_start sub_0807DEDC -sub_0807DEDC: @ 0x0807DEDC - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r6, #0 - movs r0, #8 - strb r0, [r1, #0x19] - ldr r0, [r1, #8] - movs r4, #2 - orrs r0, r4 - str r0, [r1, #8] - str r6, [r1, #0x14] - strh r2, [r1, #0x1e] - strh r3, [r1, #0x22] - movs r2, #0x1e - ldrsh r0, [r1, r2] - movs r3, #0x2e - ldrsh r2, [r5, r3] - subs r0, r0, r2 - movs r2, #0x22 - ldrsh r1, [r1, r2] - movs r3, #0x32 - ldrsh r2, [r5, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r5, #0x15] - ldrb r2, [r5, #0x14] - movs r1, #0x80 - ands r1, r2 - ldr r2, _0807DF24 @ =gUnk_0811E514 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1c - adds r0, r0, r2 - ldrb r0, [r0] - orrs r1, r0 - strb r1, [r5, #0x14] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807DF24: .4byte gUnk_0811E514 - - thumb_func_start sub_0807DF28 -sub_0807DF28: @ 0x0807DF28 - push {lr} - bl sub_0807DF38 - bl sub_08079184 - bl sub_08077B20 - pop {pc} - - thumb_func_start sub_0807DF38 -sub_0807DF38: @ 0x0807DF38 - ldr r1, _0807DF48 @ =gUnk_0200AF00 - movs r0, #0xff - strb r0, [r1, #1] - ldr r1, _0807DF4C @ =gUnk_02034490 - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - bx lr - .align 2, 0 -_0807DF48: .4byte gUnk_0200AF00 -_0807DF4C: .4byte gUnk_02034490 - - thumb_func_start sub_0807DF50 -sub_0807DF50: @ 0x0807DF50 - push {lr} - ldr r0, _0807DF6C @ =gUnk_02034490 - movs r1, #0 - strb r1, [r0] - ldr r0, _0807DF70 @ =gUnk_0200AF00 - strb r1, [r0, #1] - movs r0, #0 - bl sub_0801C4A0 - bl sub_080791D0 - bl sub_08079184 - pop {pc} - .align 2, 0 -_0807DF6C: .4byte gUnk_02034490 -_0807DF70: .4byte gUnk_0200AF00 - - thumb_func_start sub_0807DF74 -sub_0807DF74: @ 0x0807DF74 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, #0 - ldr r0, [r5] - cmp r0, #0 - beq _0807DFE8 - ldrh r0, [r5, #0x10] - adds r1, r0, #0 - cmp r1, #0 - beq _0807DF92 - subs r0, #1 - strh r0, [r5, #0x10] - b _0807DFE8 -_0807DF92: - ldr r6, _0807DFF0 @ =gUnk_02033280 - strb r1, [r6, #7] -_0807DF96: - ldr r0, [r5] - bl sub_08016986 - adds r1, r0, #0 - ldr r0, _0807DFF4 @ =0x0000FFFF - cmp r1, r0 - beq _0807DFE8 - lsrs r0, r1, #0xa - strb r0, [r6, #6] - ldr r2, _0807DFF8 @ =0x000003FF - adds r0, r2, #0 - ands r1, r0 - movs r7, #0 - strh r1, [r6, #4] - ldr r4, [r5] - ldrb r1, [r6, #7] - movs r0, #0xfe - ands r0, r1 - strb r0, [r6, #7] - ldr r1, _0807DFFC @ =gUnk_0811E524 - ldrh r0, [r6, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r2, [r0] - mov r0, r8 - adds r1, r5, #0 - bl _call_via_r2 - ldrb r1, [r6, #6] - lsls r1, r1, #1 - ldr r0, [r5] - adds r0, r0, r1 - str r0, [r5] - cmp r4, r0 - beq _0807DFDE - strb r7, [r5, #0x18] -_0807DFDE: - ldrb r1, [r6, #7] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _0807DF96 -_0807DFE8: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807DFF0: .4byte gUnk_02033280 -_0807DFF4: .4byte 0x0000FFFF -_0807DFF8: .4byte 0x000003FF -_0807DFFC: .4byte gUnk_0811E524 - - thumb_func_start nullsub_507 -nullsub_507: @ 0x0807E000 - bx lr - .align 2, 0 - - thumb_func_start sub_0807E004 -sub_0807E004: @ 0x0807E004 - ldr r2, _0807E010 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #2 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E010: .4byte gUnk_02033280 - - thumb_func_start sub_0807E014 -sub_0807E014: @ 0x0807E014 - ldr r2, _0807E020 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #0xfd - ands r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E020: .4byte gUnk_02033280 - - thumb_func_start sub_0807E024 -sub_0807E024: @ 0x0807E024 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - adds r0, #2 - str r0, [r4] - bl sub_08016986 - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - lsrs r0, r0, #0x1f - adds r1, r1, r0 - asrs r1, r1, #1 - lsls r1, r1, #1 - ldr r0, [r4] - adds r0, r0, r1 - str r0, [r4] - ldr r1, _0807E04C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - pop {r4, pc} - .align 2, 0 -_0807E04C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E050 -sub_0807E050: @ 0x0807E050 - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #0x14] - cmp r0, #0 - beq _0807E060 - adds r0, r2, #0 - bl sub_0807E024 -_0807E060: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E064 -sub_0807E064: @ 0x0807E064 - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #0x14] - cmp r0, #0 - bne _0807E074 - adds r0, r2, #0 - bl sub_0807E024 -_0807E074: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E078 -sub_0807E078: @ 0x0807E078 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldr r0, _0807E09C @ =gUnk_02033280 - ldrb r0, [r0, #6] - ldr r1, [r2, #4] - cmp r0, r1 - bls _0807E098 - lsls r1, r1, #1 - ldr r0, [r2] - adds r0, r0, r1 - str r0, [r2] - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807E024 -_0807E098: - pop {pc} - .align 2, 0 -_0807E09C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E0A0 -sub_0807E0A0: @ 0x0807E0A0 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl sub_08016998 - str r0, [r4] - ldr r1, _0807E0B4 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - pop {r4, pc} - .align 2, 0 -_0807E0B4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E0B8 -sub_0807E0B8: @ 0x0807E0B8 - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #0x14] - cmp r0, #0 - beq _0807E0C8 - adds r0, r2, #0 - bl sub_0807E0A0 -_0807E0C8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E0CC -sub_0807E0CC: @ 0x0807E0CC - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #0x14] - cmp r0, #0 - bne _0807E0DC - adds r0, r2, #0 - bl sub_0807E0A0 -_0807E0DC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E0E0 -sub_0807E0E0: @ 0x0807E0E0 - push {r4, lr} - adds r4, r0, #0 - adds r2, r1, #0 - ldr r0, _0807E108 @ =gUnk_02033280 - ldrb r1, [r0, #6] - ldr r3, [r2, #4] - lsls r0, r3, #1 - adds r0, #1 - cmp r1, r0 - bls _0807E104 - lsls r1, r3, #2 - ldr r0, [r2] - adds r0, r0, r1 - str r0, [r2] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0807E0A0 -_0807E104: - pop {r4, pc} - .align 2, 0 -_0807E108: .4byte gUnk_02033280 - - thumb_func_start sub_0807E10C -sub_0807E10C: @ 0x0807E10C - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldr r0, [r4] - bl sub_08016998 - adds r2, r0, #0 - adds r0, r5, #0 - adds r1, r4, #0 - bl _call_via_r2 - pop {r4, r5, pc} - - thumb_func_start sub_0807E124 -sub_0807E124: @ 0x0807E124 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - ldr r0, [r4] - bl sub_08016998 - adds r5, r0, #0 - ldr r0, [r4] - adds r0, #6 - bl sub_0801698E - str r0, [r4, #4] - adds r0, r6, #0 - adds r1, r4, #0 - bl _call_via_r5 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0807E148 -sub_0807E148: @ 0x0807E148 - push {lr} - ldr r0, [r1] - bl sub_08016998 - bl sub_0804ADDC - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E158 -sub_0807E158: @ 0x0807E158 - push {r4, r5, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl sub_08016998 - adds r2, r0, #0 - movs r5, #0 - ldr r3, _0807E184 @ =gUnk_02033280 - ldr r1, [r3] - adds r0, r1, #0 - ands r0, r2 - cmp r0, r2 - bne _0807E174 - movs r5, #1 -_0807E174: - str r5, [r4, #0x14] - bics r1, r2 - str r1, [r3] - ldrb r1, [r3, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r3, #7] - pop {r4, r5, pc} - .align 2, 0 -_0807E184: .4byte gUnk_02033280 - - thumb_func_start sub_0807E188 -sub_0807E188: @ 0x0807E188 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl sub_0801698A - cmp r0, #0x51 - beq _0807E1B4 - cmp r0, #0x51 - bhi _0807E1A0 - cmp r0, #0x50 - beq _0807E1BA - b _0807E1C0 -_0807E1A0: - cmp r0, #0x52 - beq _0807E1AE - cmp r0, #0x53 - bne _0807E1C0 - bl sub_08052734 - b _0807E1C4 -_0807E1AE: - bl sub_08052764 - b _0807E1C4 -_0807E1B4: - bl sub_0805279C - b _0807E1C4 -_0807E1BA: - bl sub_080527CC - b _0807E1C4 -_0807E1C0: - bl sub_0807CA84 -_0807E1C4: - str r0, [r4, #0x14] - ldr r2, _0807E1D4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E1D4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E1D8 -sub_0807E1D8: @ 0x0807E1D8 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl sub_0807CA84 - movs r1, #0 - cmp r0, #2 - bne _0807E1EC - movs r1, #1 -_0807E1EC: - str r1, [r4, #0x14] - ldr r2, _0807E1FC @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E1FC: .4byte gUnk_02033280 - - thumb_func_start sub_0807E200 -sub_0807E200: @ 0x0807E200 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl sub_0807CBD0 - str r0, [r4, #0x14] - ldr r2, _0807E21C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E21C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E220 -sub_0807E220: @ 0x0807E220 - push {r4, lr} - adds r4, r1, #0 - ldr r1, [r4] - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl sub_0807CB10 - str r0, [r4, #0x14] - ldr r2, _0807E23C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E23C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E240 -sub_0807E240: @ 0x0807E240 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl sub_0801698A - bl sub_0807CC30 - str r0, [r4, #0x14] - ldr r2, _0807E25C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E25C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E260 -sub_0807E260: @ 0x0807E260 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl sub_0807CC3C - str r0, [r4, #0x14] - ldr r2, _0807E27C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E27C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E280 -sub_0807E280: @ 0x0807E280 - push {r4, lr} - adds r4, r1, #0 - ldr r1, [r4] - ldrh r2, [r1, #6] - lsrs r3, r2, #8 - movs r0, #0xff - ands r2, r0 - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl sub_0800293E - str r0, [r4, #0x14] - ldr r2, _0807E2A4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E2A4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E2A8 -sub_0807E2A8: @ 0x0807E2A8 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r0, [r6] - ldrh r3, [r0, #2] - ldrb r2, [r0, #2] - lsrs r3, r3, #8 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r4, _0807E2DC @ =gUnk_03000BF0 - ldrh r1, [r4, #6] - subs r0, r0, r1 - movs r7, #0x32 - ldrsh r1, [r5, r7] - ldrh r4, [r4, #8] - subs r1, r1, r4 - bl sub_0800293E - str r0, [r6, #0x14] - ldr r2, _0807E2E0 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807E2DC: .4byte gUnk_03000BF0 -_0807E2E0: .4byte gUnk_02033280 - - thumb_func_start sub_0807E2E4 -sub_0807E2E4: @ 0x0807E2E4 - push {lr} - adds r2, r0, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _0807E2F8 - movs r0, #0 - strb r0, [r2] - movs r0, #1 -_0807E2F8: - str r0, [r1, #0x14] - ldr r2, _0807E308 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E308: .4byte gUnk_02033280 - - thumb_func_start sub_0807E30C -sub_0807E30C: @ 0x0807E30C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldrb r1, [r4, #0x1a] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _0807E348 - ldr r0, _0807E374 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0807E348 - ldr r6, _0807E378 @ =gUnk_03001160 - adds r0, r5, #0 - adds r1, r6, #0 - movs r2, #0x28 - movs r3, #0x28 - bl sub_080041A0 - cmp r0, #0 - beq _0807E348 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_080045C4 - bl sub_0806F5B0 - strb r0, [r5, #0x14] -_0807E348: - ldrb r0, [r4, #0x1a] - adds r0, #1 - strb r0, [r4, #0x1a] - adds r1, r5, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0807E37C - movs r0, #0 - strb r0, [r1] - movs r0, #1 - str r0, [r4, #0x14] - ldr r1, _0807E378 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - bl sub_0806F5B0 - strb r0, [r5, #0x14] - b _0807E37E - .align 2, 0 -_0807E374: .4byte gUnk_03003F80 -_0807E378: .4byte gUnk_03001160 -_0807E37C: - str r0, [r4, #0x14] -_0807E37E: - ldr r2, _0807E38C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807E38C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E390 -sub_0807E390: @ 0x0807E390 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, [r2] - ldr r1, _0807E3B4 @ =gUnk_02002A40 - adds r1, #0xc0 - ldrh r0, [r0, #2] - ldrh r1, [r1] - cmp r0, r1 - bhi _0807E3A6 - movs r3, #1 -_0807E3A6: - str r3, [r2, #0x14] - ldr r2, _0807E3B8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E3B4: .4byte gUnk_02002A40 -_0807E3B8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E3BC -sub_0807E3BC: @ 0x0807E3BC - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, [r2] - ldr r1, _0807E3E0 @ =gUnk_02002A40 - adds r1, #0xc2 - ldrh r0, [r0, #2] - ldrh r1, [r1] - cmp r0, r1 - bhi _0807E3D2 - movs r3, #1 -_0807E3D2: - str r3, [r2, #0x14] - ldr r2, _0807E3E4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E3E0: .4byte gUnk_02002A40 -_0807E3E4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E3E8 -sub_0807E3E8: @ 0x0807E3E8 - push {lr} - movs r2, #0 - ldr r0, _0807E404 @ =gUnk_02000040 - ldrb r0, [r0, #1] - cmp r0, #0 - bne _0807E3F6 - movs r2, #1 -_0807E3F6: - str r2, [r1, #0x14] - ldr r2, _0807E408 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E404: .4byte gUnk_02000040 -_0807E408: .4byte gUnk_02033280 - - thumb_func_start sub_0807E40C -sub_0807E40C: @ 0x0807E40C - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl sub_0801E7F4 - str r0, [r4, #0x14] - ldr r2, _0807E428 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E428: .4byte gUnk_02033280 - - thumb_func_start sub_0807E42C -sub_0807E42C: @ 0x0807E42C - push {r4, r5, r6, lr} - adds r5, r1, #0 - ldr r0, [r5] - ldrh r4, [r0, #2] - ldrh r6, [r0, #4] - cmp r4, #0 - bne _0807E440 - ldr r0, _0807E480 @ =gUnk_02034350 - ldrb r4, [r0, #6] - ldrb r6, [r0, #7] -_0807E440: - adds r0, r4, #0 - bl sub_08053FE0 - adds r2, r0, #0 - movs r1, #0 - ldr r0, _0807E484 @ =gUnk_02002A40 - adds r0, #0xc0 - ldrh r0, [r0] - cmp r2, r0 - bgt _0807E456 - movs r1, #1 -_0807E456: - str r1, [r5, #0x14] - cmp r1, #0 - beq _0807E474 - rsbs r0, r2, #0 - bl sub_080526CC - adds r0, r4, #0 - adds r1, r6, #0 - movs r2, #0 - bl sub_080A7C18 - ldr r1, _0807E480 @ =gUnk_02034350 - movs r0, #0 - strb r0, [r1, #6] - strb r0, [r1, #7] -_0807E474: - ldr r2, _0807E488 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807E480: .4byte gUnk_02034350 -_0807E484: .4byte gUnk_02002A40 -_0807E488: .4byte gUnk_02033280 - - thumb_func_start sub_0807E48C -sub_0807E48C: @ 0x0807E48C - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl sub_080544DC - str r0, [r4, #0x14] - ldr r2, _0807E4A8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E4A8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E4AC -sub_0807E4AC: @ 0x0807E4AC - ldr r0, _0807E4C4 @ =gUnk_02034350 - ldrb r2, [r0, #6] - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - str r0, [r1, #0x14] - ldr r2, _0807E4C8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E4C4: .4byte gUnk_02034350 -_0807E4C8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E4CC -sub_0807E4CC: @ 0x0807E4CC - ldr r0, [r1] - ldrh r0, [r0, #2] - ldr r2, [r1, #4] - ands r2, r0 - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - str r0, [r1, #0x14] - ldr r2, _0807E4E8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E4E8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E4EC -sub_0807E4EC: @ 0x0807E4EC - push {lr} - adds r2, r1, #0 - ldr r0, [r2] - ldrh r1, [r0, #2] - movs r3, #0 - ldr r0, [r2, #4] - ands r0, r1 - cmp r1, r0 - bne _0807E500 - movs r3, #1 -_0807E500: - str r3, [r2, #0x14] - ldr r2, _0807E510 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E510: .4byte gUnk_02033280 - - thumb_func_start sub_0807E514 -sub_0807E514: @ 0x0807E514 - push {lr} - adds r2, r1, #0 - ldr r0, [r2] - ldrh r1, [r0, #2] - movs r3, #0 - ldr r0, [r2, #4] - cmp r1, r0 - bne _0807E526 - movs r3, #1 -_0807E526: - str r3, [r2, #0x14] - ldr r2, _0807E534 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E534: .4byte gUnk_02033280 - - thumb_func_start sub_0807E538 -sub_0807E538: @ 0x0807E538 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl sub_08016998 - ldr r1, _0807E55C @ =gUnk_03003F80 - ldr r1, [r1, #0x30] - ands r0, r1 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - str r1, [r4, #0x14] - ldr r2, _0807E560 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E55C: .4byte gUnk_03003F80 -_0807E560: .4byte gUnk_02033280 - - thumb_func_start sub_0807E564 -sub_0807E564: @ 0x0807E564 - ldr r0, _0807E57C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - lsrs r0, r0, #7 - movs r2, #1 - ands r0, r2 - str r0, [r1, #0x14] - ldr r2, _0807E580 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E57C: .4byte gUnk_03003F80 -_0807E580: .4byte gUnk_02033280 - - thumb_func_start sub_0807E584 -sub_0807E584: @ 0x0807E584 - ldr r2, [r0, #0x34] - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - str r0, [r1, #0x14] - ldr r2, _0807E59C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E59C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E5A0 -sub_0807E5A0: @ 0x0807E5A0 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, [r2] - ldr r1, _0807E5C4 @ =gUnk_03001160 - ldrh r0, [r0, #2] - ldrb r1, [r1, #0xc] - cmp r0, r1 - bne _0807E5B4 - movs r3, #1 -_0807E5B4: - str r3, [r2, #0x14] - ldr r2, _0807E5C8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E5C4: .4byte gUnk_03001160 -_0807E5C8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E5CC -sub_0807E5CC: @ 0x0807E5CC - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, [r2] - ldr r1, _0807E5F0 @ =gUnk_03001160 - ldrh r0, [r0, #2] - ldrb r1, [r1, #0x14] - cmp r0, r1 - bne _0807E5E0 - movs r3, #1 -_0807E5E0: - str r3, [r2, #0x14] - ldr r2, _0807E5F4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E5F0: .4byte gUnk_03001160 -_0807E5F4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E5F8 -sub_0807E5F8: @ 0x0807E5F8 - push {lr} - ldr r0, [r1] - bl sub_08016998 - ldr r2, _0807E60C @ =gUnk_02033280 - ldr r1, [r2] - orrs r1, r0 - str r1, [r2] - pop {pc} - .align 2, 0 -_0807E60C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E610 -sub_0807E610: @ 0x0807E610 - push {lr} - ldr r0, [r1] - bl sub_08016998 - ldr r2, _0807E624 @ =gUnk_02033280 - ldr r1, [r2] - bics r1, r0 - str r1, [r2] - pop {pc} - .align 2, 0 -_0807E624: .4byte gUnk_02033280 - - thumb_func_start sub_0807E628 -sub_0807E628: @ 0x0807E628 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_0807CCB4 - pop {pc} - - thumb_func_start sub_0807E634 -sub_0807E634: @ 0x0807E634 - push {lr} - ldr r1, [r1] - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl sub_0807CC9C - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E644 -sub_0807E644: @ 0x0807E644 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_0807CD34 - pop {pc} - - thumb_func_start sub_0807E650 -sub_0807E650: @ 0x0807E650 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_0807CD04 - pop {pc} - - thumb_func_start sub_0807E65C -sub_0807E65C: @ 0x0807E65C - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_0807CD80 - pop {pc} - - thumb_func_start sub_0807E668 -sub_0807E668: @ 0x0807E668 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_0807CD10 - pop {pc} - - thumb_func_start sub_0807E674 -sub_0807E674: @ 0x0807E674 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_0807CD8C - pop {pc} - - thumb_func_start sub_0807E680 -sub_0807E680: @ 0x0807E680 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl sub_0801698A - strh r0, [r4, #0x10] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807E690 -sub_0807E690: @ 0x0807E690 - push {lr} - ldr r0, [r1] - bl sub_08016998 - ldr r2, _0807E6A8 @ =gUnk_02033280 - ldr r1, [r2] - ands r1, r0 - cmp r1, r0 - beq _0807E6A6 - movs r0, #0 - strb r0, [r2, #6] -_0807E6A6: - pop {pc} - .align 2, 0 -_0807E6A8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E6AC -sub_0807E6AC: @ 0x0807E6AC - push {lr} - ldr r0, [r1] - bl sub_08016998 - ldr r3, _0807E6C8 @ =gUnk_02033280 - ldr r2, [r3] - adds r1, r2, #0 - ands r1, r0 - cmp r1, r0 - beq _0807E6CC - movs r0, #0 - strb r0, [r3, #6] - b _0807E6D8 - .align 2, 0 -_0807E6C8: .4byte gUnk_02033280 -_0807E6CC: - bics r2, r1 - str r2, [r3] - ldrb r1, [r3, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r3, #7] -_0807E6D8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E6DC -sub_0807E6DC: @ 0x0807E6DC - push {lr} - ldr r0, _0807E6F0 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #8 - bne _0807E6F8 - ldr r1, _0807E6F4 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _0807E6FC - .align 2, 0 -_0807E6F0: .4byte gUnk_03001160 -_0807E6F4: .4byte gUnk_02033280 -_0807E6F8: - movs r0, #0x2d - strh r0, [r1, #0x10] -_0807E6FC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E700 -sub_0807E700: @ 0x0807E700 - push {lr} - ldr r0, _0807E718 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0x17 - beq _0807E720 - ldr r2, _0807E71C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807E726 - .align 2, 0 -_0807E718: .4byte gUnk_03001160 -_0807E71C: .4byte gUnk_02033280 -_0807E720: - ldr r1, _0807E728 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807E726: - pop {pc} - .align 2, 0 -_0807E728: .4byte gUnk_02033280 - - thumb_func_start sub_0807E72C -sub_0807E72C: @ 0x0807E72C - push {lr} - ldr r0, _0807E744 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _0807E74C - ldr r1, _0807E748 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _0807E756 - .align 2, 0 -_0807E744: .4byte gUnk_03000BF0 -_0807E748: .4byte gUnk_02033280 -_0807E74C: - ldr r2, _0807E758 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] -_0807E756: - pop {pc} - .align 2, 0 -_0807E758: .4byte gUnk_02033280 - - thumb_func_start sub_0807E75C -sub_0807E75C: @ 0x0807E75C - push {lr} - ldr r0, _0807E770 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - beq _0807E76C - ldr r1, _0807E774 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807E76C: - pop {pc} - .align 2, 0 -_0807E770: .4byte gUnk_03000FD0 -_0807E774: .4byte gUnk_02033280 - - thumb_func_start sub_0807E778 -sub_0807E778: @ 0x0807E778 - ldr r2, _0807E784 @ =gUnk_02033280 - ldr r0, [r1] - ldrh r0, [r0, #2] - strb r0, [r2, #8] - bx lr - .align 2, 0 -_0807E784: .4byte gUnk_02033280 - - thumb_func_start sub_0807E788 -sub_0807E788: @ 0x0807E788 - push {lr} - ldr r0, [r1] - bl sub_08016998 - ldr r1, _0807E798 @ =gUnk_03000FD0 - str r0, [r1, #4] - pop {pc} - .align 2, 0 -_0807E798: .4byte gUnk_03000FD0 - - thumb_func_start sub_0807E79C -sub_0807E79C: @ 0x0807E79C - push {lr} - ldr r0, _0807E7A8 @ =gUnk_02033280 - ldrb r0, [r0, #8] - bl sub_080500F4 - pop {pc} - .align 2, 0 -_0807E7A8: .4byte gUnk_02033280 - - thumb_func_start nullsub_508 -nullsub_508: @ 0x0807E7AC - bx lr - .align 2, 0 - - thumb_func_start sub_0807E7B0 -sub_0807E7B0: @ 0x0807E7B0 - push {lr} - ldr r0, _0807E7C0 @ =gUnk_02033280 - ldrb r1, [r0, #8] - movs r0, #4 - bl sub_08050054 - pop {pc} - .align 2, 0 -_0807E7C0: .4byte gUnk_02033280 - - thumb_func_start sub_0807E7C4 -sub_0807E7C4: @ 0x0807E7C4 - push {lr} - ldr r0, _0807E7D4 @ =gUnk_02033280 - ldrb r1, [r0, #8] - movs r0, #5 - bl sub_08050054 - pop {pc} - .align 2, 0 -_0807E7D4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E7D8 -sub_0807E7D8: @ 0x0807E7D8 - push {lr} - ldr r0, _0807E7E8 @ =gUnk_02033280 - ldrb r1, [r0, #8] - movs r0, #6 - bl sub_08050054 - pop {pc} - .align 2, 0 -_0807E7E8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E7EC -sub_0807E7EC: @ 0x0807E7EC - push {lr} - ldr r0, _0807E7FC @ =gUnk_02033280 - ldrb r1, [r0, #8] - movs r0, #7 - bl sub_08050054 - pop {pc} - .align 2, 0 -_0807E7FC: .4byte gUnk_02033280 - - thumb_func_start sub_0807E800 -sub_0807E800: @ 0x0807E800 - push {lr} - movs r0, #0x10 - bl sub_0807E818 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E80C -sub_0807E80C: @ 0x0807E80C - push {lr} - movs r0, #0x11 - bl sub_0807E818 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E818 -sub_0807E818: @ 0x0807E818 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r2, _0807E83C @ =gUnk_03000BF0 - ldr r3, [r2, #0x30] - cmp r3, #0 - beq _0807E840 - movs r0, #0x2e - ldrsh r1, [r3, r0] - movs r4, #0xa - ldrsh r0, [r2, r4] - subs r4, r1, r0 - movs r0, #0x32 - ldrsh r1, [r3, r0] - movs r3, #0xc - ldrsh r0, [r2, r3] - subs r1, r1, r0 - b _0807E844 - .align 2, 0 -_0807E83C: .4byte gUnk_03000BF0 -_0807E840: - movs r4, #0x78 - movs r1, #0x50 -_0807E844: - ldr r0, _0807E854 @ =gUnk_02033280 - ldrb r3, [r0, #8] - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_08050110 - pop {r4, r5, pc} - .align 2, 0 -_0807E854: .4byte gUnk_02033280 - - thumb_func_start sub_0807E858 -sub_0807E858: @ 0x0807E858 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_08050038 - pop {pc} - - thumb_func_start sub_0807E864 -sub_0807E864: @ 0x0807E864 - push {lr} - ldr r0, _0807E874 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - bl sub_08078B48 - pop {pc} - .align 2, 0 -_0807E874: .4byte gUnk_03003F80 - - thumb_func_start sub_0807E878 -sub_0807E878: @ 0x0807E878 - ldr r0, _0807E884 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bx lr - .align 2, 0 -_0807E884: .4byte gUnk_03003F80 - - thumb_func_start sub_0807E888 -sub_0807E888: @ 0x0807E888 - ldr r0, _0807E894 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - bx lr - .align 2, 0 -_0807E894: .4byte gUnk_03003F80 - - thumb_func_start sub_0807E898 -sub_0807E898: @ 0x0807E898 - push {lr} - ldr r0, [r1] - bl sub_08016998 - ldr r3, _0807E8C0 @ =gUnk_03003F80 - strb r0, [r3, #0xc] - lsrs r2, r0, #8 - adds r1, r3, #0 - adds r1, #0x38 - strb r2, [r1] - lsrs r1, r0, #0x10 - adds r2, r3, #0 - adds r2, #0x39 - strb r1, [r2] - lsrs r0, r0, #0x18 - adds r1, r3, #0 - adds r1, #0x3a - strb r0, [r1] - pop {pc} - .align 2, 0 -_0807E8C0: .4byte gUnk_03003F80 - - thumb_func_start sub_0807E8C4 -sub_0807E8C4: @ 0x0807E8C4 - push {lr} - ldr r0, [r1] - bl sub_08016998 - bl sub_0807DB2C - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E8D4 -sub_0807E8D4: @ 0x0807E8D4 - ldr r2, _0807E8E0 @ =gUnk_03003F80 - ldr r0, [r1] - ldrh r0, [r0, #2] - strh r0, [r2, #8] - bx lr - .align 2, 0 -_0807E8E0: .4byte gUnk_03003F80 - - thumb_func_start sub_0807E8E4 -sub_0807E8E4: @ 0x0807E8E4 - ldr r0, _0807E8FC @ =gUnk_08016984 - ldrh r0, [r0] - ldr r2, _0807E900 @ =0x000003FF - ands r2, r0 - ldr r3, _0807E904 @ =gUnk_03001160 - ldr r0, [r1] - ldrh r0, [r0] - subs r0, r0, r2 - lsls r0, r0, #1 - strb r0, [r3, #0x14] - bx lr - .align 2, 0 -_0807E8FC: .4byte gUnk_08016984 -_0807E900: .4byte 0x000003FF -_0807E904: .4byte gUnk_03001160 - - thumb_func_start sub_0807E908 -sub_0807E908: @ 0x0807E908 - ldr r1, [r1] - ldrh r1, [r1, #2] - movs r2, #0 - strb r1, [r0, #0xc] - strb r2, [r0, #0xd] - bx lr - - thumb_func_start sub_0807E914 -sub_0807E914: @ 0x0807E914 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl sub_08016998 - str r0, [r4, #4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807E924 -sub_0807E924: @ 0x0807E924 - adds r0, #0x5a - ldrb r2, [r0] - str r2, [r1, #4] - movs r1, #0 - strb r1, [r0] - bx lr - - thumb_func_start sub_0807E930 -sub_0807E930: @ 0x0807E930 - push {lr} - ldr r3, [r1] - ldrh r2, [r3, #2] - adds r1, r0, #0 - adds r1, #0x80 - strh r2, [r1] - ldrh r1, [r3, #2] - bl sub_080042AC - pop {pc} - - thumb_func_start sub_0807E944 -sub_0807E944: @ 0x0807E944 - push {lr} - adds r2, r0, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #0 - beq _0807E968 - movs r0, #0 - strb r0, [r2] - ldr r2, _0807E964 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807E96C - .align 2, 0 -_0807E964: .4byte gUnk_02033280 -_0807E968: - ldr r0, _0807E970 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807E96C: - pop {pc} - .align 2, 0 -_0807E970: .4byte gUnk_02033280 - - thumb_func_start sub_0807E974 -sub_0807E974: @ 0x0807E974 - push {lr} - adds r2, r1, #0 - ldrb r1, [r2, #0x18] - cmp r1, #0 - beq _0807E990 - cmp r1, #1 - beq _0807E9AE - ldrb r0, [r2, #0x19] - subs r0, #1 - strb r0, [r2, #0x19] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0807E9C8 - b _0807E9C2 -_0807E990: - adds r3, r0, #0 - adds r3, #0x39 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _0807E9C2 - strb r1, [r3] - ldrb r0, [r2, #0x18] - adds r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - bl sub_08056378 - b _0807E9C2 -_0807E9AE: - ldr r0, _0807E9CC @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0807E9C2 - movs r0, #2 - strb r0, [r2, #0x18] - movs r0, #0xf - strb r0, [r2, #0x19] -_0807E9C2: - ldr r1, _0807E9D0 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807E9C8: - pop {pc} - .align 2, 0 -_0807E9CC: .4byte gUnk_02000050 -_0807E9D0: .4byte gUnk_02033280 - - thumb_func_start sub_0807E9D4 -sub_0807E9D4: @ 0x0807E9D4 - push {lr} - bl sub_08078778 - pop {pc} - - thumb_func_start sub_0807E9DC -sub_0807E9DC: @ 0x0807E9DC - push {lr} - bl sub_080788E0 - pop {pc} - - thumb_func_start sub_0807E9E4 -sub_0807E9E4: @ 0x0807E9E4 - push {lr} - ldr r1, [r1] - ldrh r1, [r1, #2] - bl sub_08078784 - pop {pc} - - thumb_func_start sub_0807E9F0 -sub_0807E9F0: @ 0x0807E9F0 - push {r4, lr} - adds r4, r1, #0 - bl sub_0801E00C - movs r2, #1 - ldr r0, _0807EA18 @ =gUnk_02022740 - ldrb r0, [r0] - cmp r0, #1 - beq _0807EA24 - cmp r0, #2 - bne _0807EA40 - ldr r0, _0807EA1C @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - ldr r0, _0807EA20 @ =gUnk_02034490 - strb r2, [r0] - str r2, [r4, #0x14] - b _0807EA28 - .align 2, 0 -_0807EA18: .4byte gUnk_02022740 -_0807EA1C: .4byte gUnk_03003F80 -_0807EA20: .4byte gUnk_02034490 -_0807EA24: - movs r0, #0 - str r0, [r4, #0x14] -_0807EA28: - cmp r2, #0 - beq _0807EA40 - bl sub_0807919C - ldr r0, _0807EA3C @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - b _0807EA46 - .align 2, 0 -_0807EA3C: .4byte gUnk_03003F80 -_0807EA40: - ldr r1, _0807EA48 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EA46: - pop {r4, pc} - .align 2, 0 -_0807EA48: .4byte gUnk_02033280 - - thumb_func_start sub_0807EA4C -sub_0807EA4C: @ 0x0807EA4C - push {r4, lr} - adds r1, r0, #0 - adds r4, r1, #0 - adds r4, #0x39 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #2 - bne _0807EA7C - adds r0, r1, #0 - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_0801DFB4 - movs r0, #0 - strb r0, [r4] - ldr r2, _0807EA78 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807EA82 - .align 2, 0 -_0807EA78: .4byte gUnk_02033280 -_0807EA7C: - ldr r1, _0807EA84 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EA82: - pop {r4, pc} - .align 2, 0 -_0807EA84: .4byte gUnk_02033280 - - thumb_func_start sub_0807EA88 -sub_0807EA88: @ 0x0807EA88 - push {lr} - ldr r1, [r1] - ldrh r1, [r1, #2] - bl sub_08078790 - pop {pc} - - thumb_func_start sub_0807EA94 -sub_0807EA94: @ 0x0807EA94 - push {lr} - ldr r0, _0807EAAC @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _0807EAA8 - ldr r1, _0807EAB0 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EAA8: - pop {pc} - .align 2, 0 -_0807EAAC: .4byte gUnk_02000050 -_0807EAB0: .4byte gUnk_02033280 - - thumb_func_start sub_0807EAB4 -sub_0807EAB4: @ 0x0807EAB4 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_08056378 - pop {pc} - - thumb_func_start sub_0807EAC0 -sub_0807EAC0: @ 0x0807EAC0 - push {lr} - adds r2, r0, #0 - ldr r0, [r1] - ldrh r0, [r0, #2] - adds r1, r2, #0 - bl sub_08056398 - pop {pc} - - thumb_func_start sub_0807EAD0 -sub_0807EAD0: @ 0x0807EAD0 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl sub_08056378 - ldr r1, _0807EAEC @ =gUnk_02000050 - movs r0, #1 - strb r0, [r1, #6] - ldr r0, [r4] - ldrh r0, [r0, #4] - strb r0, [r1, #7] - pop {r4, pc} - .align 2, 0 -_0807EAEC: .4byte gUnk_02000050 - - thumb_func_start sub_0807EAF0 -sub_0807EAF0: @ 0x0807EAF0 - push {lr} - ldr r0, _0807EB0C @ =gUnk_02033280 - ldrb r0, [r0, #6] - ldr r2, [r1, #4] - cmp r0, r2 - bls _0807EB10 - lsls r0, r2, #1 - ldr r1, [r1] - adds r1, r1, r0 - ldrh r0, [r1, #2] - bl sub_08056378 - b _0807EB16 - .align 2, 0 -_0807EB0C: .4byte gUnk_02033280 -_0807EB10: - movs r0, #0 - bl sub_08056378 -_0807EB16: - pop {pc} - - thumb_func_start sub_0807EB18 -sub_0807EB18: @ 0x0807EB18 - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #4] - adds r1, r2, #0 - bl sub_08056398 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807EB28 -sub_0807EB28: @ 0x0807EB28 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - movs r1, #0 - bl sub_08078AA8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807EB38 -sub_0807EB38: @ 0x0807EB38 - ldr r0, _0807EB40 @ =gUnk_02000040 - ldrb r0, [r0, #1] - str r0, [r1, #4] - bx lr - .align 2, 0 -_0807EB40: .4byte gUnk_02000040 - - thumb_func_start sub_0807EB44 -sub_0807EB44: @ 0x0807EB44 - ldr r1, [r1] - ldrh r1, [r1, #2] - strb r1, [r0, #0x14] - bx lr - - thumb_func_start sub_0807EB4C -sub_0807EB4C: @ 0x0807EB4C - push {r4, lr} - adds r4, r0, #0 - ldr r2, [r1] - ldrh r1, [r2, #2] - ldr r3, _0807EB70 @ =gUnk_03000BF0 - ldrh r0, [r3, #6] - adds r1, r1, r0 - ldrh r2, [r2, #4] - ldrh r0, [r3, #8] - adds r2, r2, r0 - adds r0, r4, #0 - bl sub_080045B4 - bl sub_0806F5B0 - strb r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_0807EB70: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807EB74 -sub_0807EB74: @ 0x0807EB74 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0807EB88 @ =gUnk_03001160 - bl sub_080045C4 - bl sub_0806F5B0 - strb r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_0807EB88: .4byte gUnk_03001160 - - thumb_func_start sub_0807EB8C -sub_0807EB8C: @ 0x0807EB8C - push {r4, lr} - adds r1, r0, #0 - ldr r4, _0807EBA4 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5B0 - movs r1, #0xfe - ands r0, r1 - strb r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_0807EBA4: .4byte gUnk_03001160 - - thumb_func_start sub_0807EBA8 -sub_0807EBA8: @ 0x0807EBA8 - ldr r1, [r1] - ldrh r1, [r1, #2] - strb r1, [r0, #0x15] - bx lr - - thumb_func_start sub_0807EBB0 -sub_0807EBB0: @ 0x0807EBB0 - ldr r1, [r1] - ldrh r1, [r1, #2] - strb r1, [r0, #0x15] - ldrb r1, [r0, #0x15] - lsrs r1, r1, #2 - strb r1, [r0, #0x14] - bx lr - .align 2, 0 - - thumb_func_start sub_0807EBC0 -sub_0807EBC0: @ 0x0807EBC0 - ldr r1, [r1] - ldrh r1, [r1, #2] - strh r1, [r0, #0x24] - bx lr - - thumb_func_start sub_0807EBC8 -sub_0807EBC8: @ 0x0807EBC8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r1] - bl sub_08016998 - str r0, [r4, #0x20] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807EBD8 -sub_0807EBD8: @ 0x0807EBD8 - push {r4, lr} - ldr r3, _0807EBF0 @ =gUnk_03000BF0 - ldr r2, [r1] - ldrh r1, [r2, #2] - ldrh r4, [r3, #6] - adds r1, r1, r4 - strh r1, [r0, #0x2e] - ldrh r1, [r2, #4] - ldrh r3, [r3, #8] - adds r1, r1, r3 - strh r1, [r0, #0x32] - pop {r4, pc} - .align 2, 0 -_0807EBF0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807EBF4 -sub_0807EBF4: @ 0x0807EBF4 - ldr r2, [r1] - ldrh r1, [r2, #2] - ldrh r3, [r0, #0x2e] - adds r1, r1, r3 - strh r1, [r0, #0x2e] - ldrh r1, [r2, #4] - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] - bx lr - - thumb_func_start sub_0807EC08 -sub_0807EC08: @ 0x0807EC08 - push {lr} - adds r1, r0, #0 - ldr r0, _0807EC14 @ =gUnk_03001160 - bl sub_0806FA24 - pop {pc} - .align 2, 0 -_0807EC14: .4byte gUnk_03001160 - - thumb_func_start nullsub_509 -nullsub_509: @ 0x0807EC18 - bx lr - .align 2, 0 - - thumb_func_start sub_0807EC1C -sub_0807EC1C: @ 0x0807EC1C - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807EC3A - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - strh r0, [r2, #0x12] - ldr r0, [r2, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #8] -_0807EC3A: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - - thumb_func_start sub_0807EC44 -sub_0807EC44: @ 0x0807EC44 - push {r4, lr} - adds r4, r1, #0 - bl sub_0806F69C - ldrh r0, [r4, #0x12] - subs r0, #1 - strh r0, [r4, #0x12] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0807EC5E - ldr r1, _0807EC60 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EC5E: - pop {r4, pc} - .align 2, 0 -_0807EC60: .4byte gUnk_02033280 - - thumb_func_start sub_0807EC64 -sub_0807EC64: @ 0x0807EC64 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807EC88 - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - movs r1, #0 - strh r0, [r2, #0x12] - strb r1, [r3, #0x14] - strb r1, [r3, #0x15] - ldr r0, [r2, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #8] -_0807EC88: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807EC94 -sub_0807EC94: @ 0x0807EC94 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807ECB8 - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - strh r0, [r2, #0x12] - movs r1, #2 - strb r1, [r3, #0x14] - movs r0, #8 - strb r0, [r3, #0x15] - ldr r0, [r2, #8] - orrs r0, r1 - str r0, [r2, #8] -_0807ECB8: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807ECC4 -sub_0807ECC4: @ 0x0807ECC4 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807ECEA - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - strh r0, [r2, #0x12] - movs r0, #4 - strb r0, [r3, #0x14] - movs r0, #0x10 - strb r0, [r3, #0x15] - ldr r0, [r2, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #8] -_0807ECEA: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - - thumb_func_start sub_0807ECF4 -sub_0807ECF4: @ 0x0807ECF4 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807ED1A - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - strh r0, [r2, #0x12] - movs r0, #6 - strb r0, [r3, #0x14] - movs r0, #0x18 - strb r0, [r3, #0x15] - ldr r0, [r2, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #8] -_0807ED1A: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - - thumb_func_start sub_0807ED24 -sub_0807ED24: @ 0x0807ED24 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r6, r1, #0 - ldrb r0, [r6, #0x18] - cmp r0, #0 - bne _0807ED90 - movs r0, #1 - strb r0, [r6, #0x18] - ldr r4, [r6] - ldrh r0, [r4, #6] - strh r0, [r6, #0x12] - ldrh r2, [r4, #2] - movs r1, #0x2e - ldrsh r0, [r7, r1] - ldr r5, _0807ED8C @ =gUnk_03000BF0 - ldrh r1, [r5, #6] - subs r0, r0, r1 - subs r0, r2, r0 - lsls r0, r0, #0x10 - ldrh r1, [r6, #0x12] - bl __divsi3 - str r0, [r6, #0x1c] - ldrh r2, [r4, #4] - movs r3, #0x32 - ldrsh r0, [r7, r3] - ldrh r1, [r5, #8] - subs r0, r0, r1 - subs r0, r2, r0 - lsls r0, r0, #0x10 - ldrh r1, [r6, #0x12] - bl __divsi3 - str r0, [r6, #0x20] - ldrh r1, [r4, #2] - ldrh r0, [r5, #6] - adds r1, r1, r0 - ldrh r2, [r4, #4] - ldrh r0, [r5, #8] - adds r2, r2, r0 - adds r0, r7, #0 - bl sub_080045B4 - bl sub_0806F5B0 - strb r0, [r7, #0x14] - ldr r0, [r6, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r6, #8] - b _0807EDC8 - .align 2, 0 -_0807ED8C: .4byte gUnk_03000BF0 -_0807ED90: - ldrh r0, [r6, #0x12] - subs r0, #1 - strh r0, [r6, #0x12] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0807EDB8 - ldr r2, [r6] - ldr r1, _0807EDB4 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - ldrh r3, [r2, #2] - adds r0, r0, r3 - strh r0, [r7, #0x2e] - ldrh r0, [r1, #8] - ldrh r2, [r2, #4] - adds r0, r0, r2 - strh r0, [r7, #0x32] - b _0807EDCE - .align 2, 0 -_0807EDB4: .4byte gUnk_03000BF0 -_0807EDB8: - ldr r0, [r7, #0x2c] - ldr r1, [r6, #0x1c] - adds r0, r0, r1 - str r0, [r7, #0x2c] - ldr r0, [r7, #0x30] - ldr r1, [r6, #0x20] - adds r0, r0, r1 - str r0, [r7, #0x30] -_0807EDC8: - ldr r1, _0807EDD0 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EDCE: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807EDD0: .4byte gUnk_02033280 - - thumb_func_start sub_0807EDD4 -sub_0807EDD4: @ 0x0807EDD4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _0807EDEA - movs r0, #1 - strb r0, [r4, #0x18] - adds r0, r5, #0 - bl sub_0807EE04 -_0807EDEA: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807EE30 - ldr r1, [r4, #0x14] - cmp r1, #0 - bne _0807EDFC - ldr r0, _0807EE00 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807EDFC: - pop {r4, r5, pc} - .align 2, 0 -_0807EE00: .4byte gUnk_02033280 - - thumb_func_start sub_0807EE04 -sub_0807EE04: @ 0x0807EE04 - push {r4, r5, lr} - ldr r5, [r1] - ldrh r2, [r5, #2] - ldr r4, _0807EE28 @ =gUnk_03000BF0 - ldrh r3, [r4, #6] - adds r2, r2, r3 - ldrh r3, [r5, #4] - ldrh r4, [r4, #8] - adds r3, r3, r4 - bl sub_0807DEDC - ldr r2, _0807EE2C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, pc} - .align 2, 0 -_0807EE28: .4byte gUnk_03000BF0 -_0807EE2C: .4byte gUnk_02033280 - - thumb_func_start sub_0807EE30 -sub_0807EE30: @ 0x0807EE30 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x19] - subs r0, #1 - strb r0, [r5, #0x19] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0807EE60 - movs r0, #8 - strb r0, [r5, #0x19] - movs r1, #0x1e - ldrsh r0, [r5, r1] - movs r2, #0x2e - ldrsh r1, [r6, r2] - subs r0, r0, r1 - movs r3, #0x22 - ldrsh r1, [r5, r3] - movs r3, #0x32 - ldrsh r2, [r6, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r6, #0x15] -_0807EE60: - movs r0, #0x2e - ldrsh r4, [r6, r0] - movs r1, #0x1e - ldrsh r0, [r5, r1] - subs r4, r4, r0 - movs r2, #0x32 - ldrsh r1, [r6, r2] - movs r3, #0x22 - ldrsh r0, [r5, r3] - subs r7, r1, r0 - movs r0, #0x24 - ldrsh r1, [r6, r0] - ldrb r2, [r6, #0x15] - adds r0, r6, #0 - bl sub_0806F62C - movs r1, #0x2e - ldrsh r0, [r6, r1] - movs r2, #0x1e - ldrsh r1, [r5, r2] - subs r0, r0, r1 - muls r4, r0, r4 - movs r3, #0x32 - ldrsh r0, [r6, r3] - movs r2, #0x22 - ldrsh r1, [r5, r2] - subs r0, r0, r1 - muls r7, r0, r7 - cmp r4, #0 - bgt _0807EEAC - cmp r7, #0 - bgt _0807EEAC - ldrh r0, [r5, #0x1e] - strh r0, [r6, #0x2e] - ldrh r0, [r5, #0x22] - strh r0, [r6, #0x32] - movs r0, #1 - b _0807EEAE -_0807EEAC: - movs r0, #0 -_0807EEAE: - str r0, [r5, #0x14] - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807EEB4 -sub_0807EEB4: @ 0x0807EEB4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _0807EED6 - movs r0, #1 - strb r0, [r4, #0x18] - ldr r0, _0807EEEC @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r1, #0x32 - ldrsh r3, [r0, r1] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807DEDC -_0807EED6: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807EE30 - ldr r1, [r4, #0x14] - cmp r1, #0 - bne _0807EEE8 - ldr r0, _0807EEF0 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807EEE8: - pop {r4, r5, pc} - .align 2, 0 -_0807EEEC: .4byte gUnk_03001160 -_0807EEF0: .4byte gUnk_02033280 - - thumb_func_start sub_0807EEF4 -sub_0807EEF4: @ 0x0807EEF4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _0807EF22 - movs r0, #1 - strb r0, [r4, #0x18] - movs r0, #0x2e - ldrsh r2, [r5, r0] - ldr r1, [r4] - movs r3, #2 - ldrsh r0, [r1, r3] - adds r2, r2, r0 - movs r6, #0x32 - ldrsh r3, [r5, r6] - movs r6, #4 - ldrsh r0, [r1, r6] - adds r3, r3, r0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807DEDC -_0807EF22: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807EE30 - ldr r1, [r4, #0x14] - cmp r1, #0 - bne _0807EF34 - ldr r0, _0807EF38 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807EF34: - pop {r4, r5, r6, pc} - .align 2, 0 -_0807EF38: .4byte gUnk_02033280 - - thumb_func_start sub_0807EF3C -sub_0807EF3C: @ 0x0807EF3C - push {r4, lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807EF66 - movs r0, #1 - strb r0, [r2, #0x18] - ldr r1, [r2] - movs r4, #2 - ldrsh r0, [r1, r4] - lsls r0, r0, #8 - str r0, [r3, #0x20] - ldrh r0, [r1, #4] - lsls r0, r0, #8 - strh r0, [r2, #0x1c] - ldrh r1, [r2, #0x1c] - adds r0, r3, #0 - bl sub_08003FC4 - b _0807EF72 -_0807EF66: - ldrh r1, [r2, #0x1c] - adds r0, r3, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _0807EF78 -_0807EF72: - ldr r1, _0807EF7C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EF78: - pop {r4, pc} - .align 2, 0 -_0807EF7C: .4byte gUnk_02033280 - - thumb_func_start sub_0807EF80 -sub_0807EF80: @ 0x0807EF80 - ldr r0, [r1] - movs r2, #1 - ldrh r0, [r0, #2] - lsls r2, r0 - ldr r0, [r1, #8] - orrs r0, r2 - str r0, [r1, #8] - bx lr - - thumb_func_start sub_0807EF90 -sub_0807EF90: @ 0x0807EF90 - ldr r0, [r1] - movs r2, #1 - ldrh r0, [r0, #2] - lsls r2, r0 - ldr r0, [r1, #8] - orrs r0, r2 - str r0, [r1, #8] - bx lr - - thumb_func_start sub_0807EFA0 -sub_0807EFA0: @ 0x0807EFA0 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_080A3268 - pop {pc} - - thumb_func_start sub_0807EFAC -sub_0807EFAC: @ 0x0807EFAC - push {lr} - ldr r1, [r1] - ldrh r0, [r1, #2] - cmp r0, #0x63 - bls _0807EFCC - ldr r0, _0807EFC8 @ =gUnk_02033A90 - movs r1, #0x86 - lsls r1, r1, #4 - adds r0, r0, r1 - ldr r0, [r0] - bl sub_080A3268 - b _0807EFD2 - .align 2, 0 -_0807EFC8: .4byte gUnk_02033A90 -_0807EFCC: - ldrh r0, [r1, #2] - bl sub_080A3268 -_0807EFD2: - pop {pc} - - thumb_func_start sub_0807EFD4 -sub_0807EFD4: @ 0x0807EFD4 - push {lr} - ldr r0, [r1] - bl sub_08016998 - bl sub_080A3268 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807EFE4 -sub_0807EFE4: @ 0x0807EFE4 - push {lr} - ldr r0, _0807EFF0 @ =0x80100000 - bl sub_080A3268 - pop {pc} - .align 2, 0 -_0807EFF0: .4byte 0x80100000 - - thumb_func_start sub_0807EFF4 -sub_0807EFF4: @ 0x0807EFF4 - push {lr} - ldr r0, [r1] - movs r1, #2 - ldrsh r0, [r0, r1] - bl sub_080526CC - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F004 -sub_0807F004: @ 0x0807F004 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_080526A0 - pop {pc} - - thumb_func_start sub_0807F010 -sub_0807F010: @ 0x0807F010 - push {lr} - ldr r3, _0807F030 @ =gUnk_02002A40 - adds r2, r3, #0 - adds r2, #0xab - ldrb r0, [r2] - adds r1, r0, #0 - adds r1, #8 - cmp r1, #0xa0 - ble _0807F024 - movs r1, #0xa0 -_0807F024: - strb r1, [r2] - adds r0, r3, #0 - adds r0, #0xaa - strb r1, [r0] - pop {pc} - .align 2, 0 -_0807F030: .4byte gUnk_02002A40 - - thumb_func_start sub_0807F034 -sub_0807F034: @ 0x0807F034 - push {lr} - movs r3, #0 - ldr r2, [r1] - ldrh r0, [r2, #2] - cmp r0, #0x3f - bne _0807F042 - ldr r3, [r1, #4] -_0807F042: - ldrh r0, [r2, #2] - adds r1, r3, #0 - movs r2, #0 - bl sub_080A7C18 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F050 -sub_0807F050: @ 0x0807F050 - push {lr} - ldr r0, [r1] - ldrh r1, [r0, #2] - movs r0, #0x5c - movs r2, #0 - bl sub_080A7C18 - pop {pc} - - thumb_func_start sub_0807F060 -sub_0807F060: @ 0x0807F060 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl sub_0807CA84 - str r0, [r4, #4] - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - str r1, [r4, #0x14] - pop {r4, pc} - - thumb_func_start sub_0807F078 -sub_0807F078: @ 0x0807F078 - push {lr} - ldr r1, [r1] - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl sub_0807CAA0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F088 -sub_0807F088: @ 0x0807F088 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - movs r1, #0 - movs r2, #3 - bl sub_080A7C18 - pop {pc} - - thumb_func_start sub_0807F098 -sub_0807F098: @ 0x0807F098 - ldr r1, _0807F0A0 @ =gUnk_03000BF0 - str r0, [r1, #0x30] - bx lr - .align 2, 0 -_0807F0A0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807F0A4 -sub_0807F0A4: @ 0x0807F0A4 - ldr r1, _0807F0AC @ =gUnk_03000BF0 - ldr r0, _0807F0B0 @ =gUnk_03001160 - str r0, [r1, #0x30] - bx lr - .align 2, 0 -_0807F0AC: .4byte gUnk_03000BF0 -_0807F0B0: .4byte gUnk_03001160 - - thumb_func_start sub_0807F0B4 -sub_0807F0B4: @ 0x0807F0B4 - ldr r2, _0807F0C4 @ =gUnk_03000BF0 - ldr r0, [r1] - ldrb r1, [r0, #2] - movs r0, #7 - ands r0, r1 - strb r0, [r2, #0xe] - bx lr - .align 2, 0 -_0807F0C4: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807F0C8 -sub_0807F0C8: @ 0x0807F0C8 - push {lr} - ldr r1, [r1] - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl sub_08080964 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F0D8 -sub_0807F0D8: @ 0x0807F0D8 - ldr r0, _0807F0E8 @ =gUnk_03000FF0 - ldrh r2, [r0, #2] - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - str r0, [r1, #0x14] - bx lr - .align 2, 0 -_0807F0E8: .4byte gUnk_03000FF0 - - thumb_func_start sub_0807F0EC -sub_0807F0EC: @ 0x0807F0EC - push {r4, lr} - adds r4, r1, #0 - bl sub_08000E50 - ldr r1, [r4, #4] - bl __modsi3 - str r0, [r4, #4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807F100 -sub_0807F100: @ 0x0807F100 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08000E50 - movs r2, #6 - adds r1, r0, #0 - ands r1, r2 - strb r1, [r4, #0x14] - ldr r2, _0807F124 @ =gUnk_0811E750 - lsrs r0, r0, #8 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r5, #0x1a] - pop {r4, r5, pc} - .align 2, 0 -_0807F124: .4byte gUnk_0811E750 - - thumb_func_start sub_0807F128 -sub_0807F128: @ 0x0807F128 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_08000E50 - ldr r2, _0807F150 @ =gUnk_0811E758 - movs r3, #7 - adds r1, r0, #0 - ands r1, r3 - adds r1, r1, r2 - ldrb r1, [r1] - strb r1, [r4, #0x14] - ldr r1, _0807F154 @ =gUnk_0811E760 - lsrs r0, r0, #8 - ands r0, r3 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0x1a] - pop {r4, r5, pc} - .align 2, 0 -_0807F150: .4byte gUnk_0811E758 -_0807F154: .4byte gUnk_0811E760 - - thumb_func_start sub_0807F158 -sub_0807F158: @ 0x0807F158 - push {lr} - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #1 - strb r1, [r2] - bl sub_08016A04 - pop {pc} - - thumb_func_start sub_0807F168 -sub_0807F168: @ 0x0807F168 - push {lr} - ldr r0, _0807F17C @ =gUnk_03001160 - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #1 - strb r1, [r2] - bl sub_08016A04 - pop {pc} - .align 2, 0 -_0807F17C: .4byte gUnk_03001160 - - thumb_func_start sub_0807F180 -sub_0807F180: @ 0x0807F180 - push {lr} - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #2 - strb r1, [r2] - bl sub_08016A04 - pop {pc} - - thumb_func_start sub_0807F190 -sub_0807F190: @ 0x0807F190 - push {lr} - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #4 - bl sub_08050054 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F1A0 -sub_0807F1A0: @ 0x0807F1A0 - push {r4, lr} - ldr r3, _0807F1BC @ =gUnk_03001160 - movs r4, #0x2e - ldrsh r2, [r3, r4] - movs r4, #0x32 - ldrsh r3, [r3, r4] - bl sub_0807DEDC - ldr r2, _0807F1C0 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807F1BC: .4byte gUnk_03001160 -_0807F1C0: .4byte gUnk_02033280 - - thumb_func_start sub_0807F1C4 -sub_0807F1C4: @ 0x0807F1C4 - push {lr} - ldr r2, _0807F1D8 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _0807F1E0 - ldr r0, _0807F1DC @ =0x00000459 - b _0807F1E4 - .align 2, 0 -_0807F1D8: .4byte gUnk_03003F80 -_0807F1DC: .4byte 0x00000459 -_0807F1E0: - movs r0, #0xde - lsls r0, r0, #1 -_0807F1E4: - strh r0, [r2, #8] - pop {pc} - - thumb_func_start sub_0807F1E8 -sub_0807F1E8: @ 0x0807F1E8 - push {lr} - ldr r2, _0807F1FC @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _0807F204 - ldr r0, _0807F200 @ =0x0000045A - b _0807F206 - .align 2, 0 -_0807F1FC: .4byte gUnk_03003F80 -_0807F200: .4byte 0x0000045A -_0807F204: - ldr r0, _0807F20C @ =0x000002BD -_0807F206: - strh r0, [r2, #8] - pop {pc} - .align 2, 0 -_0807F20C: .4byte 0x000002BD - - thumb_func_start sub_0807F210 -sub_0807F210: @ 0x0807F210 - push {lr} - ldr r2, _0807F224 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _0807F22C - ldr r0, _0807F228 @ =0x0000041C - b _0807F22E - .align 2, 0 -_0807F224: .4byte gUnk_03003F80 -_0807F228: .4byte 0x0000041C -_0807F22C: - ldr r0, _0807F234 @ =0x0000080C -_0807F22E: - strh r0, [r2, #8] - pop {pc} - .align 2, 0 -_0807F234: .4byte 0x0000080C - - thumb_func_start sub_0807F238 -sub_0807F238: @ 0x0807F238 - ldr r2, _0807F240 @ =gUnk_03003F80 - ldr r0, [r1, #4] - strh r0, [r2, #8] - bx lr - .align 2, 0 -_0807F240: .4byte gUnk_03003F80 - - thumb_func_start sub_0807F244 -sub_0807F244: @ 0x0807F244 - push {r4, r5, lr} - ldr r0, [r1, #4] - ldr r4, _0807F298 @ =0x0000FFFF - lsrs r5, r0, #0x10 - ands r4, r0 - cmp r4, #1 - blo _0807F28C - cmp r4, #4 - bls _0807F25A - cmp r4, #6 - bne _0807F28C -_0807F25A: - movs r4, #1 - movs r0, #2 - bl sub_0807CA84 - cmp r0, #0 - beq _0807F268 - movs r4, #2 -_0807F268: - movs r0, #3 - bl sub_0807CA84 - cmp r0, #0 - beq _0807F274 - movs r4, #3 -_0807F274: - movs r0, #4 - bl sub_0807CA84 - cmp r0, #0 - beq _0807F280 - movs r4, #4 -_0807F280: - movs r0, #6 - bl sub_0807CA84 - cmp r0, #0 - beq _0807F28C - movs r4, #6 -_0807F28C: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08054414 - pop {r4, r5, pc} - .align 2, 0 -_0807F298: .4byte 0x0000FFFF - - thumb_func_start sub_0807F29C -sub_0807F29C: @ 0x0807F29C - push {lr} - ldr r0, [r1, #4] - bl sub_0805ED14 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F2A8 -sub_0807F2A8: @ 0x0807F2A8 - push {lr} - ldr r0, _0807F2C0 @ =gUnk_03003F80 - adds r0, #0x9c - ldr r0, [r0] - cmp r0, #0 - bne _0807F2C8 - ldr r2, _0807F2C4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807F2CE - .align 2, 0 -_0807F2C0: .4byte gUnk_03003F80 -_0807F2C4: .4byte gUnk_02033280 -_0807F2C8: - ldr r1, _0807F2D0 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F2CE: - pop {pc} - .align 2, 0 -_0807F2D0: .4byte gUnk_02033280 - - thumb_func_start sub_0807F2D4 -sub_0807F2D4: @ 0x0807F2D4 - push {lr} - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0807F2F8 - ldr r2, _0807F2F4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807F2FC - .align 2, 0 -_0807F2F4: .4byte gUnk_02033280 -_0807F2F8: - ldr r0, _0807F300 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807F2FC: - pop {pc} - .align 2, 0 -_0807F300: .4byte gUnk_02033280 - - thumb_func_start sub_0807F304 -sub_0807F304: @ 0x0807F304 - push {lr} - ldr r0, _0807F324 @ =gUnk_03001160 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0807F32C - ldr r2, _0807F328 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807F330 - .align 2, 0 -_0807F324: .4byte gUnk_03001160 -_0807F328: .4byte gUnk_02033280 -_0807F32C: - ldr r0, _0807F334 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807F330: - pop {pc} - .align 2, 0 -_0807F334: .4byte gUnk_02033280 - - thumb_func_start sub_0807F338 -sub_0807F338: @ 0x0807F338 - movs r1, #0 - str r1, [r0, #0x48] - ldrb r2, [r0, #0x17] - movs r1, #0xfe - ands r1, r2 - strb r1, [r0, #0x17] - bx lr - .align 2, 0 - - thumb_func_start sub_0807F348 -sub_0807F348: @ 0x0807F348 - push {lr} - movs r1, #2 - bl sub_0805E3A0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F354 -sub_0807F354: @ 0x0807F354 - push {lr} - movs r1, #6 - bl sub_0805E3A0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F360 -sub_0807F360: @ 0x0807F360 - push {lr} - movs r1, #3 - bl sub_0805E3A0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F36C -sub_0807F36C: @ 0x0807F36C - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #0x41 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _0807F3C2 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - ldr r3, _0807F3C4 @ =0xFFF80000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - bl sub_08000E50 - movs r5, #1 - ands r0, r5 - cmp r0, #0 - beq _0807F3B0 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_0807F3B0: - bl sub_08000E50 - ands r0, r5 - cmp r0, #0 - beq _0807F3C2 - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_0807F3C2: - pop {r4, r5, pc} - .align 2, 0 -_0807F3C4: .4byte 0xFFF80000 - - thumb_func_start sub_0807F3C8 -sub_0807F3C8: @ 0x0807F3C8 - push {lr} - bl sub_0807F36C - movs r0, #0xe5 - bl sub_080A3268 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F3D8 -sub_0807F3D8: @ 0x0807F3D8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - ldr r1, [r1, #4] - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r4, #0x80 - strh r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807F3F8 -sub_0807F3F8: @ 0x0807F3F8 - push {lr} - ldr r0, _0807F408 @ =gUnk_03001160 - movs r2, #0x18 - rsbs r2, r2, #0 - movs r1, #8 - bl sub_080A2CFC - pop {pc} - .align 2, 0 -_0807F408: .4byte gUnk_03001160 - - thumb_func_start sub_0807F40C -sub_0807F40C: @ 0x0807F40C - push {lr} - ldr r0, _0807F41C @ =gUnk_03001160 - movs r2, #0x18 - rsbs r2, r2, #0 - movs r1, #8 - bl sub_080A2D0C - pop {pc} - .align 2, 0 -_0807F41C: .4byte gUnk_03001160 - - thumb_func_start sub_0807F420 -sub_0807F420: @ 0x0807F420 - push {lr} - ldr r2, [r1, #4] - ldrb r0, [r1, #4] - lsrs r2, r2, #8 - lsls r2, r2, #0x18 - lsrs r2, r2, #0x18 - adds r1, r2, #0 - bl sub_080A7138 - pop {pc} - - thumb_func_start sub_0807F434 -sub_0807F434: @ 0x0807F434 - push {lr} - adds r3, r0, #0 - adds r3, #0x39 - movs r2, #0 - ldrsb r2, [r3, r2] - cmp r2, #1 - beq _0807F44C - cmp r2, #2 - beq _0807F44C - movs r0, #0 - str r0, [r1, #4] - b _0807F452 -_0807F44C: - movs r0, #0 - strb r0, [r3] - str r2, [r1, #4] -_0807F452: - ldr r2, _0807F460 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807F460: .4byte gUnk_02033280 - - thumb_func_start sub_0807F464 -sub_0807F464: @ 0x0807F464 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x18] - cmp r0, #0 - bne _0807F4BC - adds r0, #1 - movs r3, #0 - strb r0, [r5, #0x18] - ldr r0, [r5, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r5, #8] - ldr r2, [r5, #4] - ldr r1, _0807F4A8 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, r0, r2 - strh r0, [r5, #0x1e] - ldrh r0, [r4, #0x32] - strh r0, [r5, #0x22] - movs r6, #0x2e - ldrsh r0, [r4, r6] - ldrh r1, [r1, #6] - subs r0, r0, r1 - cmp r2, r0 - ble _0807F4AC - movs r0, #0x40 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - movs r0, #0x80 - ands r0, r1 - movs r1, #2 - b _0807F4B8 - .align 2, 0 -_0807F4A8: .4byte gUnk_03000BF0 -_0807F4AC: - movs r0, #0xc0 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - movs r0, #0x80 - ands r0, r1 - movs r1, #6 -_0807F4B8: - orrs r0, r1 - strb r0, [r4, #0x14] -_0807F4BC: - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - movs r2, #0x1e - ldrsh r1, [r5, r2] - movs r6, #0x2e - ldrsh r0, [r4, r6] - subs r1, r1, r0 - ldrb r2, [r4, #0x15] - movs r0, #0x80 - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - lsls r0, r0, #0x18 - eors r1, r0 - cmp r1, #0 - bge _0807F4EA - ldrh r0, [r5, #0x1e] - strh r0, [r4, #0x2e] - b _0807F4F0 -_0807F4EA: - ldr r1, _0807F4F4 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F4F0: - pop {r4, r5, r6, pc} - .align 2, 0 -_0807F4F4: .4byte gUnk_02033280 - - thumb_func_start sub_0807F4F8 -sub_0807F4F8: @ 0x0807F4F8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x18] - cmp r0, #0 - bne _0807F548 - adds r0, #1 - strb r0, [r5, #0x18] - ldr r0, [r5, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r5, #8] - ldr r2, [r5, #4] - ldrh r0, [r4, #0x2e] - strh r0, [r5, #0x1e] - ldr r1, _0807F538 @ =gUnk_03000BF0 - ldrh r0, [r1, #8] - adds r0, r0, r2 - strh r0, [r5, #0x22] - movs r3, #0x32 - ldrsh r0, [r4, r3] - ldrh r1, [r1, #8] - subs r0, r0, r1 - cmp r2, r0 - ble _0807F53C - movs r0, #0x80 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - ands r0, r1 - movs r1, #4 - orrs r0, r1 - b _0807F546 - .align 2, 0 -_0807F538: .4byte gUnk_03000BF0 -_0807F53C: - movs r0, #0 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - movs r0, #0x80 - ands r0, r1 -_0807F546: - strb r0, [r4, #0x14] -_0807F548: - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - movs r2, #0x22 - ldrsh r1, [r5, r2] - movs r3, #0x32 - ldrsh r0, [r4, r3] - subs r1, r1, r0 - ldrb r2, [r4, #0x15] - movs r0, #0x80 - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - lsls r0, r0, #0x18 - eors r1, r0 - cmp r1, #0 - blt _0807F576 - ldrh r0, [r5, #0x22] - strh r0, [r4, #0x32] - b _0807F57C -_0807F576: - ldr r1, _0807F580 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F57C: - pop {r4, r5, pc} - .align 2, 0 -_0807F580: .4byte gUnk_02033280 - - thumb_func_start sub_0807F584 -sub_0807F584: @ 0x0807F584 - ldr r0, _0807F590 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - str r0, [r1, #4] - bx lr - .align 2, 0 -_0807F590: .4byte gUnk_03001160 - - thumb_func_start sub_0807F594 -sub_0807F594: @ 0x0807F594 - push {lr} - ldr r0, _0807F5A8 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0 - beq _0807F5A6 - ldr r1, _0807F5AC @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F5A6: - pop {pc} - .align 2, 0 -_0807F5A8: .4byte gUnk_03003F80 -_0807F5AC: .4byte gUnk_02033280 - - thumb_func_start sub_0807F5B0 -sub_0807F5B0: @ 0x0807F5B0 - ldr r0, _0807F5BC @ =gUnk_03003F80 - ldr r1, [r1, #4] - adds r0, #0x27 - strb r1, [r0] - bx lr - .align 2, 0 -_0807F5BC: .4byte gUnk_03003F80 - - thumb_func_start sub_0807F5C0 -sub_0807F5C0: @ 0x0807F5C0 - push {r4, lr} - ldr r4, _0807F620 @ =gUnk_03000BF0 - ldr r1, [r4, #0x30] - cmp r1, #0 - beq _0807F62E - movs r2, #0x2e - ldrsh r0, [r1, r2] - adds r2, r0, #0 - subs r2, #0x78 - movs r3, #0x32 - ldrsh r0, [r1, r3] - adds r3, r0, #0 - subs r3, #0x50 - ldrh r1, [r4, #6] - cmp r2, r1 - bge _0807F5E2 - adds r2, r1, #0 -_0807F5E2: - ldrh r0, [r4, #0x1e] - adds r0, r1, r0 - subs r0, #0xf0 - cmp r2, r0 - ble _0807F5EE - adds r2, r0, #0 -_0807F5EE: - ldrh r1, [r4, #8] - cmp r3, r1 - bge _0807F5F6 - adds r3, r1, #0 -_0807F5F6: - ldrh r0, [r4, #0x20] - adds r0, r1, r0 - subs r0, #0xa0 - cmp r3, r0 - ble _0807F602 - adds r3, r0, #0 -_0807F602: - movs r1, #0xa - ldrsh r0, [r4, r1] - cmp r2, r0 - bne _0807F628 - movs r2, #0xc - ldrsh r0, [r4, r2] - cmp r3, r0 - bne _0807F628 - ldr r2, _0807F624 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807F62E - .align 2, 0 -_0807F620: .4byte gUnk_03000BF0 -_0807F624: .4byte gUnk_02033280 -_0807F628: - ldr r1, _0807F630 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F62E: - pop {r4, pc} - .align 2, 0 -_0807F630: .4byte gUnk_02033280 - - thumb_func_start sub_0807F634 -sub_0807F634: @ 0x0807F634 - push {lr} - ldr r3, [r1, #4] - ldrh r1, [r3] - ldrh r2, [r3, #2] - ldrh r3, [r3, #4] - bl sub_0801DFB4 - ldr r0, _0807F64C @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - pop {pc} - .align 2, 0 -_0807F64C: .4byte gUnk_03003F80 - - thumb_func_start sub_0807F650 -sub_0807F650: @ 0x0807F650 - push {r4, lr} - adds r4, r0, #0 - bl sub_08002632 - ldr r1, _0807F678 @ =gUnk_08001A7C - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldrh r1, [r0] - ldrh r2, [r0, #2] - ldrh r3, [r0, #4] - adds r0, r4, #0 - bl sub_0801DFB4 - ldr r0, _0807F67C @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - pop {r4, pc} - .align 2, 0 -_0807F678: .4byte gUnk_08001A7C -_0807F67C: .4byte gUnk_03003F80 - - thumb_func_start sub_0807F680 -sub_0807F680: @ 0x0807F680 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, _0807F6A8 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r0, r1] - ldr r1, _0807F6AC @ =gUnk_03000BF0 - ldrh r1, [r1, #6] - subs r0, r0, r1 - ldrh r1, [r2, #4] - cmp r0, r1 - ble _0807F69A - movs r3, #1 -_0807F69A: - str r3, [r2, #0x14] - ldr r2, _0807F6B0 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807F6A8: .4byte gUnk_03001160 -_0807F6AC: .4byte gUnk_03000BF0 -_0807F6B0: .4byte gUnk_02033280 - - thumb_func_start sub_0807F6B4 -sub_0807F6B4: @ 0x0807F6B4 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, _0807F6DC @ =gUnk_03001160 - movs r1, #0x32 - ldrsh r0, [r0, r1] - ldr r1, _0807F6E0 @ =gUnk_03000BF0 - ldrh r1, [r1, #8] - subs r0, r0, r1 - ldrh r1, [r2, #4] - cmp r0, r1 - ble _0807F6CE - movs r3, #1 -_0807F6CE: - str r3, [r2, #0x14] - ldr r2, _0807F6E4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807F6DC: .4byte gUnk_03001160 -_0807F6E0: .4byte gUnk_03000BF0 -_0807F6E4: .4byte gUnk_02033280 - - thumb_func_start sub_0807F6E8 -sub_0807F6E8: @ 0x0807F6E8 - ldr r2, _0807F6F4 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, [r1, #4] - orrs r0, r1 - str r0, [r2, #0x30] - bx lr - .align 2, 0 -_0807F6F4: .4byte gUnk_03003F80 - - thumb_func_start sub_0807F6F8 -sub_0807F6F8: @ 0x0807F6F8 - ldr r2, _0807F704 @ =gUnk_03003F80 - ldr r1, [r1, #4] - ldr r0, [r2, #0x30] - bics r0, r1 - str r0, [r2, #0x30] - bx lr - .align 2, 0 -_0807F704: .4byte gUnk_03003F80 - - thumb_func_start sub_0807F708 -sub_0807F708: @ 0x0807F708 - push {lr} - ldr r1, [r1, #4] - bl sub_0806F1AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F714 -sub_0807F714: @ 0x0807F714 - push {lr} - adds r1, r0, #0 - ldr r2, _0807F734 @ =gUnk_08114F30 - ldrb r3, [r1, #0x19] - lsrs r0, r3, #6 - adds r0, r0, r2 - ldrb r2, [r0] - lsls r2, r2, #6 - movs r0, #0x3f - ands r0, r3 - orrs r0, r2 - strb r0, [r1, #0x19] - adds r0, r1, #0 - bl sub_0806FAB0 - pop {pc} - .align 2, 0 -_0807F734: .4byte gUnk_08114F30 - - thumb_func_start sub_0807F738 -sub_0807F738: @ 0x0807F738 - push {lr} - adds r1, r0, #0 - ldr r2, _0807F758 @ =gUnk_08114F34 - ldrb r3, [r1, #0x19] - lsrs r0, r3, #6 - adds r0, r0, r2 - ldrb r2, [r0] - lsls r2, r2, #6 - movs r0, #0x3f - ands r0, r3 - orrs r0, r2 - strb r0, [r1, #0x19] - adds r0, r1, #0 - bl sub_0806FAD8 - pop {pc} - .align 2, 0 -_0807F758: .4byte gUnk_08114F34 - - thumb_func_start sub_0807F75C -sub_0807F75C: @ 0x0807F75C - push {r4, lr} - ldr r2, [r1, #4] - ldr r3, _0807F774 @ =gUnk_03001160 - ldr r1, _0807F778 @ =gUnk_03000BF0 - asrs r0, r2, #0x10 - ldrh r4, [r1, #6] - adds r0, r0, r4 - strh r0, [r3, #0x2e] - ldrh r0, [r1, #8] - adds r0, r0, r2 - strh r0, [r3, #0x32] - pop {r4, pc} - .align 2, 0 -_0807F774: .4byte gUnk_03001160 -_0807F778: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807F77C -sub_0807F77C: @ 0x0807F77C - push {lr} - ldr r0, [r1, #0x14] - cmp r0, #0 - beq _0807F786 - movs r0, #1 -_0807F786: - str r0, [r1, #4] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F78C -sub_0807F78C: @ 0x0807F78C - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r5, [r1, #4] - cmp r5, #0 - bne _0807F79A - ldr r0, _0807F7BC @ =gUnk_02034350 - ldrb r5, [r0, #6] -_0807F79A: - adds r0, r5, #0 - bl sub_08053FD0 - adds r4, r0, #0 - adds r0, r5, #0 - bl sub_08053FE0 - adds r5, r0, #0 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_08056398 - ldr r0, _0807F7C0 @ =gUnk_02000050 - lsls r5, r5, #0x10 - lsrs r5, r5, #0x10 - str r5, [r0, #0x10] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807F7BC: .4byte gUnk_02034350 -_0807F7C0: .4byte gUnk_02000050 - - thumb_func_start sub_0807F7C4 -sub_0807F7C4: @ 0x0807F7C4 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4, #4] - cmp r0, #0 - bne _0807F7D2 - ldr r0, _0807F7F4 @ =gUnk_02034350 - ldrb r0, [r0, #6] -_0807F7D2: - bl sub_08053FE0 - movs r2, #0 - ldr r1, _0807F7F8 @ =gUnk_02002A40 - adds r1, #0xc0 - ldrh r1, [r1] - cmp r0, r1 - bgt _0807F7E4 - movs r2, #1 -_0807F7E4: - str r2, [r4, #0x14] - ldr r2, _0807F7FC @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807F7F4: .4byte gUnk_02034350 -_0807F7F8: .4byte gUnk_02002A40 -_0807F7FC: .4byte gUnk_02033280 - - thumb_func_start sub_0807F800 -sub_0807F800: @ 0x0807F800 - push {r4, lr} - ldr r4, [r1, #4] - cmp r4, #0 - bne _0807F80C - ldr r0, _0807F834 @ =gUnk_02034350 - ldrb r4, [r0, #6] -_0807F80C: - adds r0, r4, #0 - bl sub_08053FE0 - rsbs r0, r0, #0 - bl sub_080526CC - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_080A7C18 - ldr r1, _0807F834 @ =gUnk_02034350 - movs r0, #0 - strb r0, [r1, #6] - ldr r2, _0807F838 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807F834: .4byte gUnk_02034350 -_0807F838: .4byte gUnk_02033280 - - thumb_func_start sub_0807F83C -sub_0807F83C: @ 0x0807F83C - push {lr} - bl sub_08079184 - pop {pc} - - thumb_func_start sub_0807F844 -sub_0807F844: @ 0x0807F844 - push {lr} - ldr r1, _0807F850 @ =gUnk_03000BF0 - str r0, [r1, #0x30] - bl sub_080809D4 - pop {pc} - .align 2, 0 -_0807F850: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807F854 -sub_0807F854: @ 0x0807F854 - push {lr} - ldr r1, [r1, #4] - lsrs r2, r1, #0x10 - movs r0, #3 - ands r2, r0 - ldr r3, _0807F870 @ =0x0000FFFF - ands r3, r1 - cmp r2, #4 - bhi _0807F8B4 - lsls r0, r2, #2 - ldr r1, _0807F874 @ =_0807F878 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807F870: .4byte 0x0000FFFF -_0807F874: .4byte _0807F878 -_0807F878: @ jump table - .4byte _0807F88C @ case 0 - .4byte _0807F88C @ case 1 - .4byte _0807F898 @ case 2 - .4byte _0807F8A4 @ case 3 - .4byte _0807F8B0 @ case 4 -_0807F88C: - ldr r0, _0807F894 @ =gUnk_02000050 - str r3, [r0, #0x10] - b _0807F8B4 - .align 2, 0 -_0807F894: .4byte gUnk_02000050 -_0807F898: - ldr r0, _0807F8A0 @ =gUnk_02000050 - str r3, [r0, #0x14] - b _0807F8B4 - .align 2, 0 -_0807F8A0: .4byte gUnk_02000050 -_0807F8A4: - ldr r0, _0807F8AC @ =gUnk_02000050 - str r3, [r0, #0x18] - b _0807F8B4 - .align 2, 0 -_0807F8AC: .4byte gUnk_02000050 -_0807F8B0: - ldr r0, _0807F8B8 @ =gUnk_02000050 - str r3, [r0, #0x1c] -_0807F8B4: - pop {pc} - .align 2, 0 -_0807F8B8: .4byte gUnk_02000050 - - thumb_func_start sub_0807F8BC -sub_0807F8BC: @ 0x0807F8BC - push {r4, lr} - adds r4, r1, #0 - bl sub_080040A8 - cmp r0, #0 - beq _0807F8CA - movs r0, #1 -_0807F8CA: - str r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807F8D0 -sub_0807F8D0: @ 0x0807F8D0 - push {lr} - ldr r1, [r1, #4] - bl sub_08003FC4 - ldr r2, _0807F8E4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807F8E4: .4byte gUnk_02033280 - - thumb_func_start sub_0807F8E8 -sub_0807F8E8: @ 0x0807F8E8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0xa6 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - adds r2, r0, #0 - cmp r2, #0 - beq _0807F912 - str r4, [r2, #0x50] - ldr r0, [r5, #4] - ldr r1, _0807F914 @ =0x000003FF - ands r0, r1 - movs r3, #0x80 - lsls r3, r3, #8 - adds r1, r3, #0 - adds r2, #0x86 - orrs r0, r1 - strh r0, [r2] -_0807F912: - pop {r4, r5, pc} - .align 2, 0 -_0807F914: .4byte 0x000003FF - - thumb_func_start sub_0807F918 -sub_0807F918: @ 0x0807F918 - push {lr} - ldr r0, [r1, #4] - bl sub_08054398 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F924 -sub_0807F924: @ 0x0807F924 - push {lr} - bl sub_0807879C - pop {pc} - - thumb_func_start sub_0807F92C -sub_0807F92C: @ 0x0807F92C - push {lr} - bl sub_080787C0 - pop {pc} - - thumb_func_start sub_0807F934 -sub_0807F934: @ 0x0807F934 - push {lr} - bl sub_080787B4 - pop {pc} - - thumb_func_start sub_0807F93C -sub_0807F93C: @ 0x0807F93C - push {lr} - ldr r2, [r1, #4] - lsrs r1, r2, #8 - movs r3, #0xff - ands r1, r3 - ands r2, r3 - bl sub_080A2D1C - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F950 -sub_0807F950: @ 0x0807F950 - push {lr} - sub sp, #4 - movs r0, #2 - str r0, [sp] - movs r0, #6 - movs r1, #0x56 - movs r2, #6 - movs r3, #0 - bl sub_0805EB2C - cmp r0, #0 - beq _0807F96C - bl sub_0805E7BC -_0807F96C: - add sp, #4 - pop {pc} - - thumb_func_start sub_0807F970 -sub_0807F970: @ 0x0807F970 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r1, _0807F988 @ =gUnk_02022780 - ldr r0, [r2, #4] - ldrh r1, [r1, #0x28] - cmp r0, r1 - bne _0807F982 - movs r3, #1 -_0807F982: - str r3, [r2, #0x14] - pop {pc} - .align 2, 0 -_0807F988: .4byte gUnk_02022780 - - thumb_func_start sub_0807F98C -sub_0807F98C: @ 0x0807F98C - ldr r1, [r1, #4] - str r1, [r0, #0x34] - bx lr - .align 2, 0 - - thumb_func_start sub_0807F994 -sub_0807F994: @ 0x0807F994 - ldr r2, [r1, #4] - asrs r1, r2, #0x10 - adds r3, r0, #0 - adds r3, #0x62 - strb r1, [r3] - adds r0, #0x63 - strb r2, [r0] - bx lr - - thumb_func_start sub_0807F9A4 -sub_0807F9A4: @ 0x0807F9A4 - push {lr} - ldr r0, _0807F9BC @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - subs r0, #5 - cmp r0, #0x17 - bhi _0807FA30 - lsls r0, r0, #2 - ldr r1, _0807F9C0 @ =_0807F9C4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807F9BC: .4byte gUnk_03003F80 -_0807F9C0: .4byte _0807F9C4 -_0807F9C4: @ jump table - .4byte _0807FA24 @ case 0 - .4byte _0807FA30 @ case 1 - .4byte _0807FA24 @ case 2 - .4byte _0807FA24 @ case 3 - .4byte _0807FA30 @ case 4 - .4byte _0807FA24 @ case 5 - .4byte _0807FA24 @ case 6 - .4byte _0807FA24 @ case 7 - .4byte _0807FA24 @ case 8 - .4byte _0807FA24 @ case 9 - .4byte _0807FA24 @ case 10 - .4byte _0807FA24 @ case 11 - .4byte _0807FA24 @ case 12 - .4byte _0807FA24 @ case 13 - .4byte _0807FA24 @ case 14 - .4byte _0807FA24 @ case 15 - .4byte _0807FA24 @ case 16 - .4byte _0807FA24 @ case 17 - .4byte _0807FA24 @ case 18 - .4byte _0807FA24 @ case 19 - .4byte _0807FA30 @ case 20 - .4byte _0807FA30 @ case 21 - .4byte _0807FA24 @ case 22 - .4byte _0807FA24 @ case 23 -_0807FA24: - ldr r1, _0807FA2C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _0807FA3A - .align 2, 0 -_0807FA2C: .4byte gUnk_02033280 -_0807FA30: - ldr r2, _0807FA3C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] -_0807FA3A: - pop {pc} - .align 2, 0 -_0807FA3C: .4byte gUnk_02033280 - - thumb_func_start sub_0807FA40 -sub_0807FA40: @ 0x0807FA40 - push {lr} - ldr r0, _0807FA58 @ =gUnk_03003F80 - adds r0, #0xa8 - ldrb r0, [r0] - subs r0, #5 - cmp r0, #0x17 - bhi _0807FACC - lsls r0, r0, #2 - ldr r1, _0807FA5C @ =_0807FA60 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807FA58: .4byte gUnk_03003F80 -_0807FA5C: .4byte _0807FA60 -_0807FA60: @ jump table - .4byte _0807FAC0 @ case 0 - .4byte _0807FACC @ case 1 - .4byte _0807FAC0 @ case 2 - .4byte _0807FAC0 @ case 3 - .4byte _0807FACC @ case 4 - .4byte _0807FAC0 @ case 5 - .4byte _0807FAC0 @ case 6 - .4byte _0807FAC0 @ case 7 - .4byte _0807FAC0 @ case 8 - .4byte _0807FAC0 @ case 9 - .4byte _0807FAC0 @ case 10 - .4byte _0807FAC0 @ case 11 - .4byte _0807FAC0 @ case 12 - .4byte _0807FAC0 @ case 13 - .4byte _0807FACC @ case 14 - .4byte _0807FAC0 @ case 15 - .4byte _0807FAC0 @ case 16 - .4byte _0807FAC0 @ case 17 - .4byte _0807FAC0 @ case 18 - .4byte _0807FAC0 @ case 19 - .4byte _0807FACC @ case 20 - .4byte _0807FACC @ case 21 - .4byte _0807FAC0 @ case 22 - .4byte _0807FAC0 @ case 23 -_0807FAC0: - ldr r1, _0807FAC8 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _0807FAD6 - .align 2, 0 -_0807FAC8: .4byte gUnk_02033280 -_0807FACC: - ldr r2, _0807FAD8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] -_0807FAD6: - pop {pc} - .align 2, 0 -_0807FAD8: .4byte gUnk_02033280 - - thumb_func_start sub_0807FADC -sub_0807FADC: @ 0x0807FADC - push {r4, lr} - adds r2, r0, #0 - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #1 - beq _0807FB06 - cmp r0, #1 - bgt _0807FAF2 - cmp r0, #0 - beq _0807FAF8 - b _0807FB1C -_0807FAF2: - cmp r0, #2 - beq _0807FB16 - b _0807FB1C -_0807FAF8: - movs r0, #1 - strb r0, [r4, #0x18] - ldr r1, [r4, #4] - adds r0, r2, #0 - bl sub_0808C650 - b _0807FB1C -_0807FB06: - bl sub_0808C67C - cmp r0, #0 - beq _0807FB1C - ldrb r0, [r4, #0x18] - adds r0, #1 - strb r0, [r4, #0x18] - b _0807FB1C -_0807FB16: - bl sub_0808C688 - b _0807FB22 -_0807FB1C: - ldr r1, _0807FB24 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807FB22: - pop {r4, pc} - .align 2, 0 -_0807FB24: .4byte gUnk_02033280 - - thumb_func_start sub_0807FB28 -sub_0807FB28: @ 0x0807FB28 - push {r4, lr} - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _0807FB3A - ldr r0, _0807FB54 @ =0x00007FFF - movs r1, #1 - bl sub_0801D7BC -_0807FB3A: - ldrb r0, [r4, #0x18] - adds r0, #1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x18] - ldr r0, [r4, #4] - cmp r1, r0 - blo _0807FB58 - movs r0, #0 - movs r1, #0 - bl sub_0801D7BC - b _0807FB5E - .align 2, 0 -_0807FB54: .4byte 0x00007FFF -_0807FB58: - ldr r1, _0807FB60 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807FB5E: - pop {r4, pc} - .align 2, 0 -_0807FB60: .4byte gUnk_02033280 - - thumb_func_start sub_0807FB64 -sub_0807FB64: @ 0x0807FB64 - ldr r0, _0807FB70 @ =gUnk_03001160 - ldr r1, [r1, #4] - adds r0, #0x3d - strb r1, [r0] - bx lr - .align 2, 0 -_0807FB70: .4byte gUnk_03001160 - - thumb_func_start sub_0807FB74 -sub_0807FB74: @ 0x0807FB74 - ldr r0, _0807FB8C @ =gUnk_03003F80 - adds r0, #0x26 - movs r1, #0 - strb r1, [r0] - ldr r1, _0807FB90 @ =gUnk_03001160 - adds r1, #0x3c - ldrb r2, [r1] - movs r0, #0xfb - ands r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_0807FB8C: .4byte gUnk_03003F80 -_0807FB90: .4byte gUnk_03001160 - - thumb_func_start sub_0807FB94 -sub_0807FB94: @ 0x0807FB94 - push {lr} - movs r0, #4 - bl sub_08056010 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807FBA0 -sub_0807FBA0: @ 0x0807FBA0 - ldr r2, _0807FBB0 @ =gUnk_03000BF0 - ldrh r1, [r2, #0xa] - adds r1, #0x78 - strh r1, [r0, #0x2e] - ldrh r1, [r2, #0xc] - adds r1, #0x50 - strh r1, [r0, #0x32] - bx lr - .align 2, 0 -_0807FBB0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807FBB4 -sub_0807FBB4: @ 0x0807FBB4 - ldr r2, _0807FBC0 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x1a] - bx lr - .align 2, 0 -_0807FBC0: .4byte gUnk_03003F80 - - thumb_func_start sub_0807FBC4 -sub_0807FBC4: @ 0x0807FBC4 - push {lr} - bl sub_0805E4A0 - pop {pc} - - thumb_func_start sub_0807FBCC -sub_0807FBCC: @ 0x0807FBCC - push {lr} - bl sub_0805E4CC - pop {pc} - - thumb_func_start sub_0807FBD4 -sub_0807FBD4: @ 0x0807FBD4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - beq _0807FBF4 - ldr r1, _0807FBF8 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807FBF4: - pop {r4, pc} - .align 2, 0 -_0807FBF8: .4byte gUnk_02033280 - - thumb_func_start sub_0807FBFC -sub_0807FBFC: @ 0x0807FBFC - ldr r3, _0807FC20 @ =gUnk_02002A40 - adds r0, r3, #0 - adds r0, #0xb2 - movs r1, #0 - strb r1, [r0] - adds r0, #0x12 - movs r2, #0 - strh r1, [r0] - subs r0, #0x11 - strb r2, [r0] - adds r0, #0x13 - strh r1, [r0] - subs r0, #0xc - strb r2, [r0] - adds r0, #0xe - strh r1, [r0] - bx lr - .align 2, 0 -_0807FC20: .4byte gUnk_02002A40 - - thumb_func_start sub_0807FC24 -sub_0807FC24: @ 0x0807FC24 - push {lr} - ldr r0, _0807FC3C @ =gUnk_03000BF0 - ldrb r0, [r0, #5] - movs r1, #0xd1 - cmp r0, #1 - bne _0807FC32 - movs r1, #0xcf -_0807FC32: - adds r0, r1, #0 - bl sub_0807CCB4 - pop {pc} - .align 2, 0 -_0807FC3C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0807FC40 -sub_0807FC40: @ 0x0807FC40 - push {lr} - ldr r0, _0807FC5C @ =gUnk_03000BF0 - ldrb r2, [r0, #0xf] - movs r1, #0xfb - ands r1, r2 - strb r1, [r0, #0xf] - ldr r2, _0807FC60 @ =gUnk_0811E768 - ldrb r1, [r0, #2] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807FC5C: .4byte gUnk_03000BF0 -_0807FC60: .4byte gUnk_0811E768 - - thumb_func_start sub_0807FC64 -sub_0807FC64: @ 0x0807FC64 - push {lr} - movs r2, #0 - movs r1, #1 - strb r1, [r0, #2] - strh r2, [r0] - movs r1, #4 - strb r1, [r0, #0xe] - bl sub_0807FC7C - bl sub_080805F8 - pop {pc} - - thumb_func_start sub_0807FC7C -sub_0807FC7C: @ 0x0807FC7C - push {r4, r5, r6, r7, lr} - adds r2, r0, #0 - ldr r0, [r2, #0x30] - cmp r0, #0 - bne _0807FC88 - b _0807FDA6 -_0807FC88: - movs r1, #0xa - ldrsh r4, [r2, r1] - movs r1, #0x2e - ldrsh r0, [r0, r1] - subs r0, #0x78 - subs r3, r4, r0 - cmp r3, #0 - beq _0807FD16 - ldrh r6, [r2, #0xa] - movs r7, #7 - ands r7, r6 - mov ip, r6 - cmp r3, #0 - ble _0807FCDC - ldrh r0, [r2, #6] - adds r5, r0, #0 - cmp r5, r4 - bge _0807FD16 - ldrb r0, [r2, #0xe] - cmp r0, r3 - bgt _0807FCBC - adds r3, r0, #0 - ldrb r1, [r2, #0xf] - movs r0, #4 - orrs r0, r1 - strb r0, [r2, #0xf] -_0807FCBC: - mov r1, ip - subs r0, r1, r3 - strh r0, [r2, #0xa] - subs r0, r7, r3 - cmp r0, #0 - bgt _0807FCCE - ldr r1, _0807FCD8 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807FCCE: - movs r1, #0xa - ldrsh r0, [r2, r1] - cmp r5, r0 - blt _0807FD16 - b _0807FD14 - .align 2, 0 -_0807FCD8: .4byte gUnk_02000070 -_0807FCDC: - ldrh r0, [r2, #6] - ldrh r1, [r2, #0x1e] - adds r0, r0, r1 - adds r5, r0, #0 - subs r5, #0xf0 - cmp r4, r5 - bge _0807FD16 - ldrb r0, [r2, #0xe] - rsbs r0, r0, #0 - cmp r0, r3 - blt _0807FCFC - adds r3, r0, #0 - ldrb r1, [r2, #0xf] - movs r0, #4 - orrs r0, r1 - strb r0, [r2, #0xf] -_0807FCFC: - subs r0, r6, r3 - strh r0, [r2, #0xa] - subs r0, r7, r3 - cmp r0, #7 - ble _0807FD0C - ldr r1, _0807FD68 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807FD0C: - movs r1, #0xa - ldrsh r0, [r2, r1] - cmp r0, r5 - blt _0807FD16 -_0807FD14: - strh r5, [r2, #0xa] -_0807FD16: - movs r0, #0xc - ldrsh r4, [r2, r0] - ldr r0, [r2, #0x30] - movs r1, #0x32 - ldrsh r0, [r0, r1] - subs r0, #0x50 - subs r3, r4, r0 - cmp r3, #0 - beq _0807FDA6 - ldrh r6, [r2, #0xc] - movs r7, #7 - ands r7, r6 - mov ip, r6 - cmp r3, #0 - ble _0807FD6C - ldrh r0, [r2, #8] - adds r5, r0, #0 - cmp r5, r4 - bge _0807FDA6 - ldrb r0, [r2, #0xe] - cmp r0, r3 - bgt _0807FD4C - adds r3, r0, #0 - ldrb r1, [r2, #0xf] - movs r0, #4 - orrs r0, r1 - strb r0, [r2, #0xf] -_0807FD4C: - mov r1, ip - subs r0, r1, r3 - strh r0, [r2, #0xc] - subs r0, r7, r3 - cmp r0, #0 - bgt _0807FD5E - ldr r1, _0807FD68 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807FD5E: - movs r1, #0xc - ldrsh r0, [r2, r1] - cmp r5, r0 - blt _0807FDA6 - b _0807FDA4 - .align 2, 0 -_0807FD68: .4byte gUnk_02000070 -_0807FD6C: - ldrh r0, [r2, #8] - ldrh r1, [r2, #0x20] - adds r0, r0, r1 - adds r5, r0, #0 - subs r5, #0xa0 - cmp r4, r5 - bge _0807FDA6 - ldrb r0, [r2, #0xe] - rsbs r0, r0, #0 - cmp r0, r3 - blt _0807FD8C - adds r3, r0, #0 - ldrb r1, [r2, #0xf] - movs r0, #4 - orrs r0, r1 - strb r0, [r2, #0xf] -_0807FD8C: - subs r0, r6, r3 - strh r0, [r2, #0xc] - subs r0, r7, r3 - cmp r0, #7 - ble _0807FD9C - ldr r1, _0807FDAC @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807FD9C: - movs r1, #0xc - ldrsh r0, [r2, r1] - cmp r0, r5 - blt _0807FDA6 -_0807FDA4: - strh r5, [r2, #0xc] -_0807FDA6: - bl sub_08080BC4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807FDAC: .4byte gUnk_02000070 - - thumb_func_start sub_0807FDB0 -sub_0807FDB0: @ 0x0807FDB0 - push {lr} - ldr r2, _0807FDC4 @ =gUnk_0811E780 - ldrb r1, [r0, #3] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807FDC4: .4byte gUnk_0811E780 - - thumb_func_start sub_0807FDC8 -sub_0807FDC8: @ 0x0807FDC8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0807FDE0 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r4] - bl sub_08000108 - movs r1, #0 - movs r0, #1 - strb r0, [r5, #3] - strb r1, [r4] - pop {r4, r5, pc} - .align 2, 0 -_0807FDE0: .4byte gUnk_02000070 - - thumb_func_start sub_0807FDE4 -sub_0807FDE4: @ 0x0807FDE4 - movs r2, #0 - movs r1, #2 - strb r1, [r0, #3] - strh r2, [r0, #0x18] - ldr r0, _0807FDF4 @ =gUnk_02000070 - strb r1, [r0] - bx lr - .align 2, 0 -_0807FDF4: .4byte gUnk_02000070 - - thumb_func_start sub_0807FDF8 -sub_0807FDF8: @ 0x0807FDF8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0807FE18 @ =gUnk_02000070 - movs r0, #2 - strb r0, [r1] - ldrh r0, [r4, #0x18] - adds r0, #1 - strh r0, [r4, #0x18] - ldrb r0, [r4, #0x10] - cmp r0, #1 - beq _0807FE44 - cmp r0, #1 - bgt _0807FE1C - cmp r0, #0 - beq _0807FE26 - b _0807FEB6 - .align 2, 0 -_0807FE18: .4byte gUnk_02000070 -_0807FE1C: - cmp r0, #2 - beq _0807FE68 - cmp r0, #3 - beq _0807FE94 - b _0807FEB6 -_0807FE26: - ldrh r0, [r4, #0xc] - subs r0, #4 - strh r0, [r4, #0xc] - ldr r1, [r4, #0x30] - ldr r0, _0807FE3C @ =gUnk_03001160 - cmp r1, r0 - bne _0807FE80 - ldr r0, [r1, #0x30] - ldr r2, _0807FE40 @ =0xFFFFA000 - b _0807FE7C - .align 2, 0 -_0807FE3C: .4byte gUnk_03001160 -_0807FE40: .4byte 0xFFFFA000 -_0807FE44: - ldrh r0, [r4, #0xa] - adds r0, #4 - strh r0, [r4, #0xa] - ldr r1, [r4, #0x30] - ldr r0, _0807FE64 @ =gUnk_03001160 - cmp r1, r0 - bne _0807FE5C - ldr r0, [r1, #0x2c] - movs r2, #0x80 - lsls r2, r2, #7 - adds r0, r0, r2 - str r0, [r1, #0x2c] -_0807FE5C: - ldrh r0, [r4, #0x18] - cmp r0, #0x3c - bne _0807FEB6 - b _0807FE86 - .align 2, 0 -_0807FE64: .4byte gUnk_03001160 -_0807FE68: - ldrh r0, [r4, #0xc] - adds r0, #4 - strh r0, [r4, #0xc] - ldr r1, [r4, #0x30] - ldr r0, _0807FE90 @ =gUnk_03001160 - cmp r1, r0 - bne _0807FE80 - ldr r0, [r1, #0x30] - movs r2, #0xc0 - lsls r2, r2, #7 -_0807FE7C: - adds r0, r0, r2 - str r0, [r1, #0x30] -_0807FE80: - ldrh r0, [r4, #0x18] - cmp r0, #0x28 - bne _0807FEB6 -_0807FE86: - adds r0, r4, #0 - bl sub_0807FEC8 - b _0807FEB6 - .align 2, 0 -_0807FE90: .4byte gUnk_03001160 -_0807FE94: - ldrh r0, [r4, #0xa] - subs r0, #4 - strh r0, [r4, #0xa] - ldr r1, [r4, #0x30] - ldr r0, _0807FEC0 @ =gUnk_03001160 - cmp r1, r0 - bne _0807FEAA - ldr r0, [r1, #0x2c] - ldr r2, _0807FEC4 @ =0xFFFFC000 - adds r0, r0, r2 - str r0, [r1, #0x2c] -_0807FEAA: - ldrh r0, [r4, #0x18] - cmp r0, #0x3c - bne _0807FEB6 - adds r0, r4, #0 - bl sub_0807FEC8 -_0807FEB6: - movs r0, #0 - strh r0, [r4, #0x16] - bl sub_08080BC4 - pop {r4, pc} - .align 2, 0 -_0807FEC0: .4byte gUnk_03001160 -_0807FEC4: .4byte 0xFFFFC000 - - thumb_func_start sub_0807FEC8 -sub_0807FEC8: @ 0x0807FEC8 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0 - strb r0, [r5, #2] - subs r0, #1 - ldr r4, _0807FEEC @ =gUnk_03003FC0 - adds r1, r4, #0 - movs r2, #0x40 - bl sub_0801D610 - subs r4, #0x40 - ldr r1, [r5, #0x30] - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x16] - ldrh r0, [r1, #0x32] - strh r0, [r4, #0x18] - pop {r4, r5, pc} - .align 2, 0 -_0807FEEC: .4byte gUnk_03003FC0 - - thumb_func_start sub_0807FEF0 -sub_0807FEF0: @ 0x0807FEF0 - push {lr} - ldr r2, _0807FF04 @ =gUnk_0811E78C - ldrb r1, [r0, #3] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807FF04: .4byte gUnk_0811E78C - - thumb_func_start sub_0807FF08 -sub_0807FF08: @ 0x0807FF08 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #3] - strh r2, [r0, #0x18] - ldr r1, _0807FF18 @ =gUnk_02000070 - movs r0, #3 - strb r0, [r1] - bx lr - .align 2, 0 -_0807FF18: .4byte gUnk_02000070 - - thumb_func_start sub_0807FF1C -sub_0807FF1C: @ 0x0807FF1C - push {lr} - adds r2, r0, #0 - ldr r0, _0807FF4C @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0807FF48 - ldr r1, _0807FF50 @ =gUnk_02000070 - movs r0, #3 - strb r0, [r1] - ldrh r0, [r2, #0x18] - adds r0, #1 - strh r0, [r2, #0x18] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x13 - bls _0807FF48 - movs r0, #0 - strb r0, [r2, #2] - bl sub_0805E5B4 -_0807FF48: - pop {pc} - .align 2, 0 -_0807FF4C: .4byte gUnk_030010A0 -_0807FF50: .4byte gUnk_02000070 - - thumb_func_start sub_0807FF54 -sub_0807FF54: @ 0x0807FF54 - push {lr} - ldr r2, _0807FF68 @ =gUnk_0811E794 - ldrb r1, [r0, #3] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807FF68: .4byte gUnk_0811E794 - - thumb_func_start sub_0807FF6C -sub_0807FF6C: @ 0x0807FF6C - push {r4, lr} - movs r1, #1 - strb r1, [r0, #3] - ldr r3, _0807FFC8 @ =gUnk_03000F50 - ldrh r1, [r3] - movs r2, #0x80 - lsls r2, r2, #7 - adds r0, r2, #0 - orrs r0, r1 - strh r0, [r3] - adds r2, r3, #0 - adds r2, #0x60 - ldrb r0, [r2] - movs r4, #0xb8 - lsls r4, r4, #5 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - adds r2, #2 - ldrh r1, [r2] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r1 - movs r1, #7 - movs r4, #0 - orrs r0, r1 - strh r0, [r2] - adds r0, r3, #0 - adds r0, #0x5a - movs r1, #0xf0 - strh r1, [r0] - adds r0, #4 - strh r1, [r0] - bl sub_08077B2C - bl sub_080791D0 - ldr r0, _0807FFCC @ =gUnk_03004030 - ldrb r0, [r0, #8] - cmp r0, #0 - beq _0807FFD4 - ldr r1, _0807FFD0 @ =gUnk_03001160 - movs r0, #4 - strb r0, [r1, #0x14] - b _0807FFD8 - .align 2, 0 -_0807FFC8: .4byte gUnk_03000F50 -_0807FFCC: .4byte gUnk_03004030 -_0807FFD0: .4byte gUnk_03001160 -_0807FFD4: - ldr r0, _0807FFE0 @ =gUnk_03001160 - strb r4, [r0, #0x14] -_0807FFD8: - bl sub_080809D4 - pop {r4, pc} - .align 2, 0 -_0807FFE0: .4byte gUnk_03001160 - - thumb_func_start sub_0807FFE4 -sub_0807FFE4: @ 0x0807FFE4 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #2 - strb r0, [r5, #3] - bl sub_080803D0 - adds r0, #6 - strh r0, [r5, #0x18] - ldr r4, _0808002C @ =gUnk_0200B640 - bl sub_08080278 - strh r0, [r4] - ldr r1, _08080030 @ =gUnk_08109194 - ldr r0, _08080034 @ =gUnk_03004030 - ldr r0, [r0] - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0] - bl sub_080197D4 - ldr r4, _08080038 @ =gUnk_0200B654 - ldrh r1, [r5, #0x1e] - lsrs r1, r1, #4 - ldrh r2, [r5, #0x20] - lsrs r2, r2, #4 - adds r0, r4, #0 - bl sub_0807C8B0 - ldr r0, _0808003C @ =gUnk_02002F00 - subs r4, #4 - adds r1, r4, #0 - bl sub_0801AB08 - pop {r4, r5, pc} - .align 2, 0 -_0808002C: .4byte gUnk_0200B640 -_08080030: .4byte gUnk_08109194 -_08080034: .4byte gUnk_03004030 -_08080038: .4byte gUnk_0200B654 -_0808003C: .4byte gUnk_02002F00 - - thumb_func_start sub_08080040 -sub_08080040: @ 0x08080040 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrh r4, [r5, #0x18] - subs r4, #6 - strh r4, [r5, #0x18] - ldrh r0, [r5, #0x18] - lsls r0, r0, #1 - movs r1, #3 - bl __divsi3 - strh r0, [r5, #0x1a] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #0x2a - bls _080800C6 - ldr r3, [r5, #0x30] - movs r1, #0x2e - ldrsh r0, [r3, r1] - movs r2, #0xa - ldrsh r1, [r5, r2] - subs r2, r0, r1 - ldrh r1, [r5, #0x18] - subs r0, r2, r1 - adds r7, r0, #0 - adds r7, #8 - cmp r7, #0 - bge _08080078 - movs r7, #0 -_08080078: - adds r0, r2, r1 - adds r6, r0, #0 - subs r6, #8 - cmp r6, #0xf0 - ble _08080084 - movs r6, #0xf0 -_08080084: - movs r1, #0x32 - ldrsh r0, [r3, r1] - movs r2, #0xc - ldrsh r1, [r5, r2] - subs r2, r0, r1 - ldrh r1, [r5, #0x1a] - subs r0, r2, r1 - adds r4, r0, #0 - adds r4, #8 - cmp r4, #0 - bge _0808009C - movs r4, #0 -_0808009C: - adds r0, r2, r1 - adds r3, r0, #0 - subs r3, #8 - cmp r3, #0xa0 - ble _080800A8 - movs r3, #0xa0 -_080800A8: - ldr r2, _080800F0 @ =gUnk_03000F50 - movs r1, #0xff - ands r7, r1 - lsls r0, r7, #8 - ands r6, r1 - orrs r0, r6 - adds r6, r2, #0 - adds r6, #0x5a - strh r0, [r6] - ands r4, r1 - lsls r0, r4, #8 - ands r3, r1 - orrs r0, r3 - adds r2, #0x5e - strh r0, [r2] -_080800C6: - ldrh r0, [r5, #0x18] - cmp r0, #0 - bne _080800FC - movs r0, #3 - strb r0, [r5, #3] - bl sub_0805E9F4 - bl sub_0807C810 - ldr r1, _080800F4 @ =gUnk_08109194 - ldr r0, _080800F8 @ =gUnk_03004030 - ldr r0, [r0] - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0, #4] - bl sub_08080C80 - b _08080102 - .align 2, 0 -_080800F0: .4byte gUnk_03000F50 -_080800F4: .4byte gUnk_08109194 -_080800F8: .4byte gUnk_03004030 -_080800FC: - ldr r1, _08080104 @ =gUnk_02000070 - movs r0, #4 - strb r0, [r1] -_08080102: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08080104: .4byte gUnk_02000070 - - thumb_func_start sub_08080108 -sub_08080108: @ 0x08080108 - push {r4, r5, r6, lr} - movs r1, #4 - strb r1, [r0, #3] - ldr r5, _08080178 @ =gUnk_02025EB4 - movs r0, #0xc0 - lsls r0, r0, #6 - adds r1, r5, r0 - movs r6, #0x80 - lsls r6, r6, #6 - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_0801D66C - ldr r4, _0808017C @ =gUnk_0200B654 - movs r0, #0xc0 - lsls r0, r0, #6 - adds r1, r4, r0 - adds r0, r4, #0 - adds r2, r6, #0 - bl sub_0801D66C - bl sub_08080368 - ldr r1, _08080180 @ =gUnk_02034480 - ldr r0, _08080184 @ =gUnk_0200B640 - ldrh r0, [r0] - strh r0, [r1] - ldr r0, _08080188 @ =gUnk_02022830 - ldr r1, _0808018C @ =gUnk_020246B0 - movs r2, #0xc0 - lsls r2, r2, #5 - bl sub_0801D66C - subs r5, #4 - adds r0, r5, #0 - bl sub_08080B60 - subs r4, #4 - adds r0, r4, #0 - bl sub_08080B60 - bl sub_0807BBE4 - bl sub_0807BC84 - bl sub_0805E248 - ldr r0, _08080190 @ =gUnk_02019EE0 - adds r1, r5, #0 - bl sub_0801AB08 - ldr r0, _08080194 @ =gUnk_02002F00 - adds r1, r4, #0 - bl sub_0801AB08 - pop {r4, r5, r6, pc} - .align 2, 0 -_08080178: .4byte gUnk_02025EB4 -_0808017C: .4byte gUnk_0200B654 -_08080180: .4byte gUnk_02034480 -_08080184: .4byte gUnk_0200B640 -_08080188: .4byte gUnk_02022830 -_0808018C: .4byte gUnk_020246B0 -_08080190: .4byte gUnk_02019EE0 -_08080194: .4byte gUnk_02002F00 - - thumb_func_start sub_08080198 -sub_08080198: @ 0x08080198 - push {r4, lr} - movs r1, #5 - strb r1, [r0, #3] - movs r4, #0 - movs r1, #0xff - strh r1, [r0, #0x1c] - bl sub_0804B01C - bl sub_0804AFF4 - ldr r0, _080801B8 @ =gUnk_02000070 - strb r4, [r0] - bl sub_080805F8 - pop {r4, pc} - .align 2, 0 -_080801B8: .4byte gUnk_02000070 - - thumb_func_start sub_080801BC -sub_080801BC: @ 0x080801BC - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrh r4, [r5, #0x18] - adds r4, #6 - strh r4, [r5, #0x18] - ldrh r0, [r5, #0x18] - lsls r0, r0, #1 - movs r1, #3 - bl __divsi3 - strh r0, [r5, #0x1a] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #0x1e - bls _08080232 - ldr r2, [r5, #0x30] - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r3, #0xa - ldrsh r0, [r5, r3] - subs r0, r1, r0 - ldrh r1, [r5, #0x18] - subs r7, r0, r1 - cmp r7, #0 - bge _080801F0 - movs r7, #0 -_080801F0: - adds r6, r0, r1 - cmp r6, #0xf0 - ble _080801F8 - movs r6, #0xf0 -_080801F8: - movs r0, #0x32 - ldrsh r1, [r2, r0] - movs r2, #0xc - ldrsh r0, [r5, r2] - subs r0, r1, r0 - ldrh r1, [r5, #0x1a] - subs r4, r0, r1 - cmp r4, #0 - bge _0808020C - movs r4, #0 -_0808020C: - adds r3, r0, r1 - cmp r3, #0xa0 - ble _08080214 - movs r3, #0xa0 -_08080214: - ldr r2, _08080260 @ =gUnk_03000F50 - movs r1, #0xff - ands r7, r1 - lsls r0, r7, #8 - ands r6, r1 - orrs r0, r6 - adds r6, r2, #0 - adds r6, #0x5a - strh r0, [r6] - ands r4, r1 - lsls r0, r4, #8 - ands r3, r1 - orrs r0, r3 - adds r2, #0x5e - strh r0, [r2] -_08080232: - ldrh r0, [r5, #0x1c] - cmp r0, #0 - bne _08080268 - strb r0, [r5, #2] - strh r0, [r5] - bl sub_0805E5B4 - ldr r1, _08080260 @ =gUnk_03000F50 - ldrh r2, [r1] - ldr r0, _08080264 @ =0x0000BFFF - ands r0, r2 - strh r0, [r1] - adds r2, r1, #0 - adds r2, #0x60 - ldrb r0, [r2] - strh r0, [r2] - adds r1, #0x62 - ldrh r2, [r1] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r2 - strh r0, [r1] - b _08080272 - .align 2, 0 -_08080260: .4byte gUnk_03000F50 -_08080264: .4byte 0x0000BFFF -_08080268: - ldr r0, _08080274 @ =gUnk_02000070 - movs r1, #4 - strb r1, [r0] - movs r0, #0 - strh r0, [r5, #0x1c] -_08080272: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08080274: .4byte gUnk_02000070 - - thumb_func_start sub_08080278 -sub_08080278: @ 0x08080278 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - ldr r0, _08080344 @ =gUnk_02022830 - mov ip, r0 - ldr r1, _08080348 @ =gUnk_03000BF0 - ldrh r0, [r1, #0x1e] - lsrs r0, r0, #4 - str r0, [sp] - ldrh r0, [r1, #0x20] - lsrs r0, r0, #4 - lsls r0, r0, #6 - str r0, [sp, #4] - movs r5, #0 - mov sl, r5 - cmp r5, r0 - bhs _08080336 - mov sb, r5 -_080802A2: - movs r1, #0 - mov r8, r1 - ldr r0, [sp] - cmp r8, r0 - bhs _08080328 - ldr r4, _0808034C @ =gUnk_0200B654 - add r4, sb - ldr r7, _08080350 @ =gUnk_0200E654 - add r7, sb - ldr r3, _08080354 @ =gUnk_02025EB4 - add r3, sb - ldr r6, _08080358 @ =gUnk_02028EB4 - add r6, sb -_080802BC: - mov r2, sl - add r2, r8 - ldrh r0, [r6] - ldrh r1, [r3] - cmp r0, r1 - beq _080802EA - ldr r0, _0808035C @ =0x00003FFF - cmp r1, r0 - bhi _080802EA - adds r0, #1 - adds r1, r0, #0 - adds r0, r2, #0 - orrs r0, r1 - mov r1, ip - strh r0, [r1] - ldrh r0, [r3] - strh r0, [r1, #2] - movs r0, #4 - add ip, r0 - adds r5, #1 - ldr r0, _08080360 @ =0x000005FF - cmp r5, r0 - bhi _08080336 -_080802EA: - ldrh r0, [r7] - ldrh r1, [r4] - cmp r0, r1 - beq _08080316 - ldr r0, _0808035C @ =0x00003FFF - cmp r1, r0 - bhi _08080316 - movs r1, #0x80 - lsls r1, r1, #8 - adds r0, r1, #0 - orrs r2, r0 - mov r0, ip - strh r2, [r0] - ldrh r0, [r4] - mov r1, ip - strh r0, [r1, #2] - movs r0, #4 - add ip, r0 - adds r5, #1 - ldr r0, _08080364 @ =0x000007FF - cmp r5, r0 - bhi _08080336 -_08080316: - adds r4, #2 - adds r7, #2 - adds r3, #2 - adds r6, #2 - movs r1, #1 - add r8, r1 - ldr r0, [sp] - cmp r8, r0 - blo _080802BC -_08080328: - movs r1, #0x80 - add sb, r1 - movs r0, #0x40 - add sl, r0 - ldr r1, [sp, #4] - cmp sl, r1 - blo _080802A2 -_08080336: - adds r0, r5, #0 - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08080344: .4byte gUnk_02022830 -_08080348: .4byte gUnk_03000BF0 -_0808034C: .4byte gUnk_0200B654 -_08080350: .4byte gUnk_0200E654 -_08080354: .4byte gUnk_02025EB4 -_08080358: .4byte gUnk_02028EB4 -_0808035C: .4byte 0x00003FFF -_08080360: .4byte 0x000005FF -_08080364: .4byte 0x000007FF - - thumb_func_start sub_08080368 -sub_08080368: @ 0x08080368 - push {r4, r5, r6, r7, lr} - ldr r0, _08080384 @ =gUnk_03004030 - ldr r1, _08080388 @ =gUnk_03000BF0 - ldrb r0, [r0, #0xa] - ldrb r1, [r1, #4] - cmp r0, r1 - beq _08080390 - cmp r0, #0xff - beq _08080390 - ldr r1, _0808038C @ =gUnk_02034480 - movs r0, #0 - strh r0, [r1] - b _080803BE - .align 2, 0 -_08080384: .4byte gUnk_03004030 -_08080388: .4byte gUnk_03000BF0 -_0808038C: .4byte gUnk_02034480 -_08080390: - ldr r5, _080803C0 @ =gUnk_020246B0 - ldr r0, _080803C4 @ =gUnk_02034480 - ldrh r0, [r0] - lsls r6, r0, #1 - movs r4, #0 - cmp r4, r6 - bhs _080803B8 - ldr r0, _080803C8 @ =0x00000FFF - adds r7, r0, #0 -_080803A2: - ldrh r0, [r5, #2] - ldrh r2, [r5] - adds r1, r7, #0 - ands r1, r2 - lsrs r2, r2, #0xe - bl sub_0807B9B8 - adds r5, #4 - adds r4, #2 - cmp r4, r6 - blo _080803A2 -_080803B8: - ldr r1, _080803CC @ =gUnk_02000070 - movs r0, #0 - strb r0, [r1] -_080803BE: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080803C0: .4byte gUnk_020246B0 -_080803C4: .4byte gUnk_02034480 -_080803C8: .4byte 0x00000FFF -_080803CC: .4byte gUnk_02000070 - - thumb_func_start sub_080803D0 -sub_080803D0: @ 0x080803D0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x38 - ldr r1, _080804F0 @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r0, [r1, r2] - ldrh r2, [r1, #6] - subs r0, r0, r2 - str r0, [sp, #0x18] - ldr r3, [r1, #0x30] - movs r4, #0x2e - ldrsh r0, [r3, r4] - subs r0, r0, r2 - str r0, [sp, #0x10] - movs r2, #0xc - ldrsh r0, [r1, r2] - ldrh r1, [r1, #8] - subs r0, r0, r1 - str r0, [sp, #0x1c] - movs r4, #0x32 - ldrsh r0, [r3, r4] - subs r0, r0, r1 - str r0, [sp, #0x14] - movs r0, #0x3c - str r0, [sp, #8] -_08080408: - movs r7, #0 - ldr r1, [sp, #8] - adds r1, #6 - str r1, [sp, #8] - adds r2, r1, #0 - muls r2, r1, r2 - mov sl, r2 - lsls r4, r1, #1 - adds r0, r4, #0 - movs r1, #3 - bl __divsi3 - str r0, [sp, #0xc] - adds r1, r0, #0 - muls r1, r0, r1 - mov sb, r1 - movs r2, #0 - str r2, [sp, #4] - rsbs r4, r4, #0 - adds r4, #1 - mov r0, sb - muls r0, r4, r0 - mov r4, sl - lsls r5, r4, #1 - adds r4, r0, r5 - ldr r0, [sp, #8] - mov r6, sb - muls r6, r0, r6 - adds r0, r6, #0 - mov r1, sl - bl __divsi3 - adds r2, r0, #0 - cmp r7, r2 - bgt _08080506 - ldr r1, [sp, #0x18] - adds r1, #0xf8 - str r1, [sp, #0x20] - mov r1, sl - adds r0, r5, r1 - lsls r3, r0, #1 - str r6, [sp, #0x2c] - ldr r0, [sp, #8] - lsls r1, r0, #2 - rsbs r1, r1, #0 - adds r1, #4 - mov r8, r1 - rsbs r0, r0, #0 - adds r0, #8 - ldr r1, [sp, #0x10] - adds r6, r0, r1 - ldr r0, [sp, #8] - adds r5, r0, r1 - mov r0, r8 - mov r1, sb - muls r1, r0, r1 - mov r8, r1 -_0808047A: - ldr r1, [sp, #0x1c] - adds r1, #0xa8 - mov ip, r1 - ldr r0, [sp, #0x14] - ldr r1, [sp, #4] - adds r0, r0, r1 - str r0, [sp, #0x34] - cmp ip, r0 - ble _080804A0 - ldr r0, [sp, #0x20] - cmp r0, r5 - ble _08080496 - movs r0, #1 - orrs r7, r0 -_08080496: - ldr r1, [sp, #0x18] - cmp r1, r6 - bge _080804A0 - movs r0, #2 - orrs r7, r0 -_080804A0: - ldr r0, [sp, #0x14] - ldr r1, [sp, #4] - subs r0, r0, r1 - mov ip, r0 - adds r0, #8 - ldr r1, [sp, #0x1c] - cmp r1, r0 - bge _080804C4 - ldr r0, [sp, #0x20] - cmp r0, r5 - ble _080804BA - movs r0, #4 - orrs r7, r0 -_080804BA: - ldr r1, [sp, #0x18] - cmp r1, r6 - bge _080804C4 - movs r0, #8 - orrs r7, r0 -_080804C4: - cmp r4, #0 - ble _080804F4 - mov r2, r8 - adds r0, r2, r3 - adds r4, r4, r0 - ldr r0, [sp, #0x2c] - mov r1, sb - subs r0, r0, r1 - str r0, [sp, #0x2c] - lsls r0, r1, #2 - add r8, r0 - adds r6, #1 - subs r5, #1 - ldr r0, [sp, #0x2c] - mov r1, sl - str r3, [sp, #0x30] - bl __divsi3 - adds r2, r0, #0 - ldr r3, [sp, #0x30] - b _080804F6 - .align 2, 0 -_080804F0: .4byte gUnk_03000BF0 -_080804F4: - adds r4, r4, r3 -_080804F6: - mov r1, sl - lsls r0, r1, #2 - adds r3, r3, r0 - ldr r0, [sp, #4] - adds r0, #1 - str r0, [sp, #4] - cmp r0, r2 - ble _0808047A -_08080506: - movs r1, #0 - str r1, [sp] - ldr r2, [sp, #0xc] - str r2, [sp, #4] - mov r4, sb - lsls r6, r4, #1 - lsls r0, r2, #1 - rsbs r0, r0, #0 - adds r0, #1 - mov r1, sl - muls r1, r0, r1 - adds r0, r1, #0 - adds r4, r6, r0 - mov r5, sl - muls r5, r2, r5 - adds r0, r5, #0 - mov r1, sb - bl __divsi3 - adds r2, r0, #0 - ldr r0, [sp] - cmp r0, r2 - bgt _080805E4 - ldr r1, [sp, #0x18] - adds r1, #0xf8 - str r1, [sp, #0x24] - mov r1, sb - adds r0, r6, r1 - lsls r0, r0, #1 - mov r8, r0 - ldr r3, [sp, #0x10] - adds r3, #8 - ldr r6, [sp, #0x10] - str r5, [sp, #0x28] - ldr r1, [sp, #4] - lsls r0, r1, #2 - rsbs r0, r0, #0 - adds r0, #4 - mov r5, sl - muls r5, r0, r5 -_08080556: - ldr r0, [sp, #0x1c] - adds r0, #0xa8 - mov ip, r0 - ldr r1, [sp, #0x14] - ldr r0, [sp, #4] - adds r1, r1, r0 - str r1, [sp, #0x34] - cmp ip, r1 - ble _0808057C - ldr r1, [sp, #0x24] - cmp r1, r6 - ble _08080572 - movs r0, #0x10 - orrs r7, r0 -_08080572: - ldr r0, [sp, #0x18] - cmp r0, r3 - bge _0808057C - movs r0, #0x20 - orrs r7, r0 -_0808057C: - ldr r1, [sp, #0x14] - ldr r0, [sp, #4] - subs r1, r1, r0 - mov ip, r1 - mov r0, ip - adds r0, #8 - ldr r1, [sp, #0x1c] - cmp r1, r0 - bge _080805A2 - ldr r0, [sp, #0x24] - cmp r0, r6 - ble _08080598 - movs r0, #0x40 - orrs r7, r0 -_08080598: - ldr r1, [sp, #0x18] - cmp r1, r3 - bge _080805A2 - movs r0, #0x80 - orrs r7, r0 -_080805A2: - cmp r4, #0 - ble _080805CE - mov r2, r8 - adds r0, r2, r5 - adds r4, r4, r0 - ldr r0, [sp, #0x28] - mov r1, sl - subs r0, r0, r1 - str r0, [sp, #0x28] - lsls r0, r1, #2 - adds r5, r5, r0 - ldr r2, [sp, #4] - subs r2, #1 - str r2, [sp, #4] - ldr r0, [sp, #0x28] - mov r1, sb - str r3, [sp, #0x30] - bl __divsi3 - adds r2, r0, #0 - ldr r3, [sp, #0x30] - b _080805D0 -_080805CE: - add r4, r8 -_080805D0: - mov r1, sb - lsls r0, r1, #2 - add r8, r0 - subs r3, #1 - adds r6, #1 - ldr r0, [sp] - adds r0, #1 - str r0, [sp] - cmp r0, r2 - ble _08080556 -_080805E4: - cmp r7, #0 - beq _080805EA - b _08080408 -_080805EA: - ldr r0, [sp, #8] - add sp, #0x38 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080805F8 -sub_080805F8: @ 0x080805F8 - push {lr} - ldr r0, _08080610 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - subs r0, #0xc - cmp r0, #0xd - bhi _0808065C - lsls r0, r0, #2 - ldr r1, _08080614 @ =_08080618 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080610: .4byte gUnk_03000BF0 -_08080614: .4byte _08080618 -_08080618: @ jump table - .4byte _08080650 @ case 0 - .4byte _0808065C @ case 1 - .4byte _0808065C @ case 2 - .4byte _08080650 @ case 3 - .4byte _0808065C @ case 4 - .4byte _0808065C @ case 5 - .4byte _0808065C @ case 6 - .4byte _08080650 @ case 7 - .4byte _08080650 @ case 8 - .4byte _0808065C @ case 9 - .4byte _08080650 @ case 10 - .4byte _08080650 @ case 11 - .4byte _0808065C @ case 12 - .4byte _08080650 @ case 13 -_08080650: - ldr r1, _08080658 @ =gUnk_03004030 - movs r0, #1 - b _08080660 - .align 2, 0 -_08080658: .4byte gUnk_03004030 -_0808065C: - ldr r1, _08080664 @ =gUnk_03004030 - movs r0, #0 -_08080660: - strb r0, [r1, #8] - pop {pc} - .align 2, 0 -_08080664: .4byte gUnk_03004030 - - thumb_func_start sub_08080668 -sub_08080668: @ 0x08080668 - push {r4, r5, lr} - ldr r5, _080806A4 @ =gUnk_03000BF0 - adds r0, r5, #0 - movs r1, #0x38 - bl sub_0801D630 - ldr r4, _080806A8 @ =gUnk_03004030 - adds r0, r4, #0 - movs r1, #0xc - bl sub_0801D630 - ldr r0, _080806AC @ =0x0000FFFF - strh r0, [r5, #0x22] - movs r0, #0xff - strb r0, [r4, #0xa] - ldr r1, _080806B0 @ =gUnk_02034480 - movs r0, #0 - strh r0, [r1] - ldr r0, _080806B4 @ =gUnk_02019EE0 - movs r4, #0x80 - lsls r4, r4, #8 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _080806B8 @ =gUnk_02002F00 - adds r1, r4, #0 - bl sub_0801D630 - pop {r4, r5, pc} - .align 2, 0 -_080806A4: .4byte gUnk_03000BF0 -_080806A8: .4byte gUnk_03004030 -_080806AC: .4byte 0x0000FFFF -_080806B0: .4byte gUnk_02034480 -_080806B4: .4byte gUnk_02019EE0 -_080806B8: .4byte gUnk_02002F00 - - thumb_func_start sub_080806BC -sub_080806BC: @ 0x080806BC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov sb, r0 - mov r8, r1 - adds r7, r2, #0 - adds r6, r3, #0 - ldr r0, _08080710 @ =gUnk_02033A90 - ldr r1, _08080714 @ =0x0000085C - adds r0, r0, r1 - ldr r0, [r0] - ldr r5, [r0, #0x18] - ldrh r0, [r5] - ldr r1, _08080718 @ =0x0000FFFF - cmp r0, r1 - beq _08080728 - mov sl, r1 -_080806E2: - ldrh r2, [r5] - movs r0, #1 - lsls r0, r2 - ands r0, r6 - cmp r0, #0 - beq _08080720 - ldr r1, _0808071C @ =gUnk_0811E7AC - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r4, [r0] - adds r0, r5, #0 - mov r1, sb - mov r2, r8 - adds r3, r7, #0 - bl _call_via_r4 - cmp r0, #0 - beq _08080720 - adds r0, r5, #0 - bl sub_08080840 - movs r0, #1 - b _0808072A - .align 2, 0 -_08080710: .4byte gUnk_02033A90 -_08080714: .4byte 0x0000085C -_08080718: .4byte 0x0000FFFF -_0808071C: .4byte gUnk_0811E7AC -_08080720: - adds r5, #0x14 - ldrh r0, [r5] - cmp r0, sl - bne _080806E2 -_08080728: - movs r0, #0 -_0808072A: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08080734 -sub_08080734: @ 0x08080734 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r5, r1, #0 - ldr r0, _08080778 @ =gUnk_02033A90 - ldr r1, _0808077C @ =0x0000085C - adds r0, r0, r1 - ldr r0, [r0] - ldr r4, [r0, #0x18] - movs r0, #0xa - mov r8, r0 - ldrh r0, [r4] - ldr r1, _08080780 @ =0x0000FFFF - cmp r0, r1 - beq _0808078C - adds r7, r1, #0 -_08080756: - movs r0, #1 - ldrh r1, [r4] - lsls r0, r1 - mov r1, r8 - ands r0, r1 - cmp r0, #0 - beq _08080784 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r5, #0 - movs r3, #0 - bl sub_08080808 - cmp r0, #0 - beq _08080784 - adds r0, r4, #0 - b _0808078E - .align 2, 0 -_08080778: .4byte gUnk_02033A90 -_0808077C: .4byte 0x0000085C -_08080780: .4byte 0x0000FFFF -_08080784: - adds r4, #0x14 - ldrh r0, [r4] - cmp r0, r7 - bne _08080756 -_0808078C: - movs r0, #0 -_0808078E: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08080794 -sub_08080794: @ 0x08080794 - push {r4, lr} - adds r4, r0, #0 - cmp r3, #1 - beq _080807C0 - cmp r3, #1 - blo _080807AC - cmp r3, #2 - beq _080807D4 - cmp r3, #3 - beq _080807E8 -_080807A8: - movs r0, #0 - b _08080800 -_080807AC: - ldr r0, _080807BC @ =gUnk_03000BF0 - ldrh r0, [r0, #0x1e] - lsrs r0, r0, #1 - movs r3, #1 - cmp r0, r1 - bhs _080807F6 - movs r3, #2 - b _080807F6 - .align 2, 0 -_080807BC: .4byte gUnk_03000BF0 -_080807C0: - ldr r0, _080807D0 @ =gUnk_03000BF0 - ldrh r0, [r0, #0x20] - lsrs r0, r0, #1 - movs r3, #4 - cmp r0, r2 - bhs _080807F6 - movs r3, #8 - b _080807F6 - .align 2, 0 -_080807D0: .4byte gUnk_03000BF0 -_080807D4: - ldr r0, _080807E4 @ =gUnk_03000BF0 - ldrh r0, [r0, #0x1e] - lsrs r0, r0, #1 - movs r3, #0x10 - cmp r0, r1 - bhs _080807F6 - movs r3, #0x20 - b _080807F6 - .align 2, 0 -_080807E4: .4byte gUnk_03000BF0 -_080807E8: - ldr r0, _08080804 @ =gUnk_03000BF0 - ldrh r0, [r0, #0x20] - lsrs r0, r0, #1 - movs r3, #0x40 - cmp r0, r2 - bhs _080807F6 - movs r3, #0x80 -_080807F6: - ldrb r0, [r4, #0xa] - ands r0, r3 - cmp r0, #0 - beq _080807A8 - movs r0, #1 -_08080800: - pop {r4, pc} - .align 2, 0 -_08080804: .4byte gUnk_03000BF0 - - thumb_func_start sub_08080808 -sub_08080808: @ 0x08080808 - push {r4, r5, lr} - adds r3, r0, #0 - adds r5, r2, #0 - ldrb r0, [r3, #0xa] - lsls r0, r0, #1 - ldr r2, _08080838 @ =gUnk_0811E7BC - adds r4, r0, r2 - ldrb r0, [r4] - ldrh r2, [r3, #2] - subs r1, r1, r2 - adds r1, r1, r0 - lsls r0, r0, #1 - cmp r1, r0 - bhi _0808083C - ldrb r1, [r4, #1] - ldrh r0, [r3, #4] - subs r0, r5, r0 - adds r0, r0, r1 - lsls r1, r1, #1 - cmp r0, r1 - bhi _0808083C - movs r0, #1 - b _0808083E - .align 2, 0 -_08080838: .4byte gUnk_0811E7BC -_0808083C: - movs r0, #0 -_0808083E: - pop {r4, r5, pc} - - thumb_func_start sub_08080840 -sub_08080840: @ 0x08080840 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0808085C @ =gUnk_030010A0 - movs r1, #1 - strb r1, [r0, #8] - adds r2, r0, #0 - adds r2, #0xc - ldrh r1, [r4, #6] - ldr r0, _08080860 @ =0x000003FF - cmp r1, r0 - bhi _08080864 - strh r1, [r2, #4] - b _08080872 - .align 2, 0 -_0808085C: .4byte gUnk_030010A0 -_08080860: .4byte 0x000003FF -_08080864: - ldr r0, _08080880 @ =gUnk_03000BF0 - ldr r0, [r0, #0x30] - ldrh r1, [r0, #0x2e] - ldr r3, _08080884 @ =0xFFFF8000 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2, #4] -_08080872: - ldrh r1, [r4, #8] - ldr r0, _08080888 @ =0x000003FF - cmp r1, r0 - bhi _0808088C - strh r1, [r2, #6] - b _0808089A - .align 2, 0 -_08080880: .4byte gUnk_03000BF0 -_08080884: .4byte 0xFFFF8000 -_08080888: .4byte 0x000003FF -_0808088C: - ldr r0, _080808CC @ =gUnk_03000BF0 - ldr r0, [r0, #0x30] - ldrh r1, [r0, #0x32] - ldr r3, _080808D0 @ =0xFFFF8000 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2, #6] -_0808089A: - ldrb r0, [r4, #0xb] - strb r0, [r2] - ldrb r0, [r4, #0xc] - strb r0, [r2, #1] - ldrb r0, [r4, #0xd] - strb r0, [r2, #8] - ldrb r0, [r4, #0xe] - strb r0, [r2, #3] - ldrb r0, [r4, #0xf] - strb r0, [r2, #2] - ldrh r0, [r4, #0x10] - cmp r0, #0 - beq _080808B8 - bl sub_080A3268 -_080808B8: - ldr r0, _080808D4 @ =gUnk_0811E7C4 - ldrh r1, [r4] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r0, [r4, #0xa] - ldr r1, [r1] - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080808CC: .4byte gUnk_03000BF0 -_080808D0: .4byte 0xFFFF8000 -_080808D4: .4byte gUnk_0811E7C4 - - thumb_func_start sub_080808D8 -sub_080808D8: @ 0x080808D8 - ldr r1, _080808E0 @ =gUnk_030010A0 - movs r0, #0 - strb r0, [r1, #9] - bx lr - .align 2, 0 -_080808E0: .4byte gUnk_030010A0 - - thumb_func_start sub_080808E4 -sub_080808E4: @ 0x080808E4 - push {r4, lr} - ldr r4, _080808F8 @ =gUnk_030010A0 - ldrb r0, [r4, #0xc] - bl sub_08052638 - cmp r0, #0 - beq _080808FC - movs r0, #0 - b _080808FE - .align 2, 0 -_080808F8: .4byte gUnk_030010A0 -_080808FC: - movs r0, #5 -_080808FE: - strb r0, [r4, #9] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08080904 -sub_08080904: @ 0x08080904 - ldr r1, _0808090C @ =gUnk_030010A0 - movs r0, #1 - strb r0, [r1, #9] - bx lr - .align 2, 0 -_0808090C: .4byte gUnk_030010A0 - - thumb_func_start sub_08080910 -sub_08080910: @ 0x08080910 - ldr r1, _08080918 @ =gUnk_030010A0 - movs r0, #1 - strb r0, [r1, #9] - bx lr - .align 2, 0 -_08080918: .4byte gUnk_030010A0 - - thumb_func_start sub_0808091C -sub_0808091C: @ 0x0808091C - push {r4, lr} - adds r4, r1, #0 - bl sub_08080840 - ldr r0, _0808092C @ =gUnk_030010A0 - strb r4, [r0, #9] - pop {r4, pc} - .align 2, 0 -_0808092C: .4byte gUnk_030010A0 - - thumb_func_start sub_08080930 -sub_08080930: @ 0x08080930 - push {lr} - ldr r1, _08080948 @ =gUnk_03000BF0 - movs r2, #0 - movs r0, #5 - strb r0, [r1, #2] - strb r2, [r1, #3] - movs r0, #2 - strh r0, [r1] - strb r2, [r1, #0x10] - bl sub_0805E5A8 - pop {pc} - .align 2, 0 -_08080948: .4byte gUnk_03000BF0 - - thumb_func_start sub_0808094C -sub_0808094C: @ 0x0808094C - push {lr} - cmp r0, #2 - beq _0808095C - ldr r0, _08080958 @ =gUnk_02025EB0 - b _0808095E - .align 2, 0 -_08080958: .4byte gUnk_02025EB0 -_0808095C: - ldr r0, _08080960 @ =gUnk_0200B650 -_0808095E: - pop {pc} - .align 2, 0 -_08080960: .4byte gUnk_0200B650 - - thumb_func_start sub_08080964 -sub_08080964: @ 0x08080964 - ldr r2, _08080970 @ =gUnk_03000BF0 - strh r0, [r2, #0x16] - movs r0, #7 - ands r1, r0 - strb r1, [r2, #0x14] - bx lr - .align 2, 0 -_08080970: .4byte gUnk_03000BF0 - - thumb_func_start sub_08080974 -sub_08080974: @ 0x08080974 - push {r4, lr} - adds r3, r0, #0 - adds r4, r1, #0 - ldr r1, _0808098C @ =gUnk_03000BF0 - ldrh r2, [r1, #6] - adds r0, r2, #0 - adds r0, #0x78 - cmp r3, r0 - bhi _08080990 - strh r2, [r1, #0xa] - b _080809A2 - .align 2, 0 -_0808098C: .4byte gUnk_03000BF0 -_08080990: - ldrh r0, [r1, #0x1e] - adds r2, r2, r0 - adds r0, r2, #0 - subs r0, #0x78 - cmp r3, r0 - bhs _0808099E - adds r0, r3, #0 -_0808099E: - subs r0, #0x78 - strh r0, [r1, #0xa] -_080809A2: - ldrh r2, [r1, #8] - adds r0, r2, #0 - adds r0, #0x50 - cmp r4, r0 - bhi _080809B0 - strh r2, [r1, #0xc] - b _080809C2 -_080809B0: - ldrh r0, [r1, #0x20] - adds r2, r2, r0 - adds r0, r2, #0 - subs r0, #0x50 - cmp r4, r0 - bhs _080809BE - adds r0, r4, #0 -_080809BE: - subs r0, #0x50 - strh r0, [r1, #0xc] -_080809C2: - bl sub_080809D4 - ldr r1, _080809D0 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - pop {r4, pc} - .align 2, 0 -_080809D0: .4byte gUnk_02000070 - - thumb_func_start sub_080809D4 -sub_080809D4: @ 0x080809D4 - push {r4, lr} - ldr r2, _080809F4 @ =gUnk_03000BF0 - ldrb r0, [r2, #0xf] - movs r1, #0xfb - ands r1, r0 - strb r1, [r2, #0xf] - ldr r4, [r2, #0x30] - movs r0, #0x2e - ldrsh r3, [r4, r0] - ldrh r1, [r2, #6] - adds r0, r1, #0 - adds r0, #0x78 - cmp r3, r0 - bgt _080809F8 - strh r1, [r2, #0xa] - b _08080A0A - .align 2, 0 -_080809F4: .4byte gUnk_03000BF0 -_080809F8: - ldrh r0, [r2, #0x1e] - adds r1, r1, r0 - adds r0, r1, #0 - subs r0, #0x78 - cmp r3, r0 - bge _08080A06 - ldrh r0, [r4, #0x2e] -_08080A06: - subs r0, #0x78 - strh r0, [r2, #0xa] -_08080A0A: - ldr r4, [r2, #0x30] - movs r0, #0x32 - ldrsh r3, [r4, r0] - ldrh r1, [r2, #8] - adds r0, r1, #0 - adds r0, #0x50 - cmp r3, r0 - bgt _08080A1E - strh r1, [r2, #0xc] - b _08080A30 -_08080A1E: - ldrh r0, [r2, #0x20] - adds r1, r1, r0 - adds r0, r1, #0 - subs r0, #0x50 - cmp r3, r0 - bge _08080A2C - ldrh r0, [r4, #0x32] -_08080A2C: - subs r0, #0x50 - strh r0, [r2, #0xc] -_08080A30: - bl sub_08080BC4 - ldr r1, _08080A3C @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] - pop {r4, pc} - .align 2, 0 -_08080A3C: .4byte gUnk_02000070 - - thumb_func_start sub_08080A40 -sub_08080A40: @ 0x08080A40 - push {r4, r5, r6, r7, lr} - ldr r7, _08080A70 @ =gUnk_03000BF0 - ldr r1, [r7, #0x30] - ldr r0, _08080A74 @ =gUnk_03001160 - adds r2, r7, #0 - cmp r1, r0 - beq _08080A50 - b _08080B5C -_08080A50: - ldr r0, _08080A78 @ =gUnk_03003F80 - ldrb r0, [r0, #2] - cmp r0, #0 - beq _08080A5A - b _08080B5C -_08080A5A: - ldrb r0, [r1, #0xc] - subs r0, #1 - cmp r0, #0x1c - bls _08080A64 - b _08080B5C -_08080A64: - lsls r0, r0, #2 - ldr r1, _08080A7C @ =_08080A80 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080A70: .4byte gUnk_03000BF0 -_08080A74: .4byte gUnk_03001160 -_08080A78: .4byte gUnk_03003F80 -_08080A7C: .4byte _08080A80 -_08080A80: @ jump table - .4byte _08080AFA @ case 0 - .4byte _08080B5C @ case 1 - .4byte _08080B5C @ case 2 - .4byte _08080B5C @ case 3 - .4byte _08080B5C @ case 4 - .4byte _08080B5C @ case 5 - .4byte _08080B5C @ case 6 - .4byte _08080B5C @ case 7 - .4byte _08080AFA @ case 8 - .4byte _08080B5C @ case 9 - .4byte _08080B5C @ case 10 - .4byte _08080B5C @ case 11 - .4byte _08080B5C @ case 12 - .4byte _08080B5C @ case 13 - .4byte _08080AF4 @ case 14 - .4byte _08080B5C @ case 15 - .4byte _08080B5C @ case 16 - .4byte _08080B5C @ case 17 - .4byte _08080B5C @ case 18 - .4byte _08080B5C @ case 19 - .4byte _08080B5C @ case 20 - .4byte _08080B5C @ case 21 - .4byte _08080B5C @ case 22 - .4byte _08080AFA @ case 23 - .4byte _08080B5C @ case 24 - .4byte _08080B5C @ case 25 - .4byte _08080B5C @ case 26 - .4byte _08080B5C @ case 27 - .4byte _08080AFA @ case 28 -_08080AF4: - ldrb r0, [r2, #4] - cmp r0, #0x48 - beq _08080B5C -_08080AFA: - ldr r3, [r7, #0x30] - movs r0, #0x32 - ldrsh r1, [r3, r0] - ldrh r0, [r7, #8] - subs r6, r1, r0 - movs r0, #0x2e - ldrsh r1, [r3, r0] - ldrh r0, [r7, #6] - subs r5, r1, r0 - asrs r0, r5, #4 - movs r2, #0x3f - ands r0, r2 - asrs r1, r6, #4 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - adds r3, #0x38 - ldrb r1, [r3] - bl sub_080002C8 - adds r4, r0, #0 - ldr r0, [r7, #0x30] - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_080002A8 - ldr r1, _08080B48 @ =gUnk_030010A0 - strh r0, [r1, #0xa] - cmp r4, #0x3f - beq _08080B50 - cmp r4, #0x3f - bhi _08080B4C - cmp r4, #0x29 - bhi _08080B5C - cmp r4, #0x28 - blo _08080B5C - b _08080B50 - .align 2, 0 -_08080B48: .4byte gUnk_030010A0 -_08080B4C: - cmp r4, #0xf1 - bne _08080B5C -_08080B50: - adds r0, r5, #0 - adds r1, r6, #0 - movs r2, #0xff - movs r3, #0xa - bl sub_080806BC -_08080B5C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08080B60 -sub_08080B60: @ 0x08080B60 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r1, _08080B90 @ =0x00005004 - adds r4, r0, r1 - ldr r2, _08080B94 @ =gUnk_080B37A0 - mov r8, r2 - movs r3, #0 - ldr r1, _08080B98 @ =0x00003FFF - mov ip, r1 - ldr r7, _08080B9C @ =gUnk_080B7910 - ldr r2, _08080BA0 @ =0x0000B004 - adds r1, r0, r2 - adds r2, r0, #4 - ldr r6, _08080BA4 @ =0xFFFFC000 - ldr r5, _08080BA8 @ =0x00000FFF -_08080B80: - ldrh r0, [r2] - cmp r0, ip - bhi _08080BAC - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - add r0, r8 - b _08080BB0 - .align 2, 0 -_08080B90: .4byte 0x00005004 -_08080B94: .4byte gUnk_080B37A0 -_08080B98: .4byte 0x00003FFF -_08080B9C: .4byte gUnk_080B7910 -_08080BA0: .4byte 0x0000B004 -_08080BA4: .4byte 0xFFFFC000 -_08080BA8: .4byte 0x00000FFF -_08080BAC: - adds r0, r0, r6 - adds r0, r0, r7 -_08080BB0: - ldrb r0, [r0] - strb r0, [r1] - adds r1, #1 - adds r2, #2 - adds r3, #1 - cmp r3, r5 - bls _08080B80 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08080BC4 -sub_08080BC4: @ 0x08080BC4 - push {r4, r5, r6, lr} - ldr r3, _08080C40 @ =gUnk_03000BF0 - movs r0, #0xa - ldrsh r1, [r3, r0] - ldrh r0, [r3, #6] - subs r5, r1, r0 - movs r2, #0xf - ands r5, r2 - movs r1, #0xc - ldrsh r0, [r3, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - ands r0, r2 - adds r6, r0, #0 - adds r6, #8 - ldrh r2, [r3, #0x16] - adds r4, r2, #0 - cmp r4, #0 - beq _08080C50 - subs r2, #1 - strh r2, [r3, #0x16] - ldrb r0, [r3, #0x14] - lsls r0, r0, #4 - movs r1, #0xe - ands r2, r1 - adds r0, r0, r2 - ldr r1, _08080C44 @ =gUnk_080169A4 - adds r2, r0, r1 - ldr r4, _08080C48 @ =gUnk_02025EB0 - ldr r1, [r4] - cmp r1, #0 - beq _08080C16 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r0, r5 - strh r0, [r1, #2] - ldr r1, [r4] - movs r0, #1 - ldrsb r0, [r2, r0] - adds r0, r0, r6 - strh r0, [r1, #4] -_08080C16: - ldr r4, _08080C4C @ =gUnk_0200B650 - ldr r1, [r4] - cmp r1, #0 - beq _08080C30 - movs r0, #0 - ldrsb r0, [r2, r0] - adds r0, r0, r5 - strh r0, [r1, #2] - ldr r1, [r4] - movs r0, #1 - ldrsb r0, [r2, r0] - adds r0, r0, r6 - strh r0, [r1, #4] -_08080C30: - ldrb r1, [r2] - adds r0, r3, #0 - adds r0, #0x24 - strb r1, [r0] - ldrb r1, [r2, #1] - adds r0, #1 - strb r1, [r0] - b _08080C76 - .align 2, 0 -_08080C40: .4byte gUnk_03000BF0 -_08080C44: .4byte gUnk_080169A4 -_08080C48: .4byte gUnk_02025EB0 -_08080C4C: .4byte gUnk_0200B650 -_08080C50: - ldr r0, _08080C78 @ =gUnk_02025EB0 - ldr r1, [r0] - cmp r1, #0 - beq _08080C5E - strh r5, [r1, #2] - ldr r0, [r0] - strh r6, [r0, #4] -_08080C5E: - ldr r0, _08080C7C @ =gUnk_0200B650 - ldr r1, [r0] - cmp r1, #0 - beq _08080C6C - strh r5, [r1, #2] - ldr r0, [r0] - strh r6, [r0, #4] -_08080C6C: - adds r0, r3, #0 - adds r0, #0x24 - strb r4, [r0] - adds r0, #1 - strb r4, [r0] -_08080C76: - pop {r4, r5, r6, pc} - .align 2, 0 -_08080C78: .4byte gUnk_02025EB0 -_08080C7C: .4byte gUnk_0200B650 - - thumb_func_start sub_08080C80 -sub_08080C80: @ 0x08080C80 - push {r4, lr} - bl sub_080197D4 - ldr r0, _08080CA8 @ =gUnk_02025EB4 - ldr r4, _08080CAC @ =gUnk_03000BF0 - ldrh r1, [r4, #0x1e] - lsrs r1, r1, #4 - ldrh r2, [r4, #0x20] - lsrs r2, r2, #4 - bl sub_0807C8B0 - ldr r0, _08080CB0 @ =gUnk_0200B654 - ldrh r1, [r4, #0x1e] - lsrs r1, r1, #4 - ldrh r2, [r4, #0x20] - lsrs r2, r2, #4 - bl sub_0807C8B0 - pop {r4, pc} - .align 2, 0 -_08080CA8: .4byte gUnk_02025EB4 -_08080CAC: .4byte gUnk_03000BF0 -_08080CB0: .4byte gUnk_0200B654 - - thumb_func_start sub_08080CB4 -sub_08080CB4: @ 0x08080CB4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x58 - ldrb r0, [r4, #0xa] - ldrb r1, [r1] - cmp r0, r1 - beq _08080CF0 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_080042AC - ldrb r0, [r4, #0xa] - cmp r0, #0x5c - beq _08080CD4 - b _08080E00 -_08080CD4: - ldrb r0, [r4, #0xb] - lsls r0, r0, #3 - ldr r1, _08080CEC @ =gUnk_080C9CBC - adds r0, r0, r1 - ldrb r0, [r0] - movs r1, #0xf - ands r1, r0 - lsls r0, r0, #4 - orrs r0, r1 - strb r0, [r4, #0x1a] - b _08080E00 - .align 2, 0 -_08080CEC: .4byte gUnk_080C9CBC -_08080CF0: - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - bne _08080D00 - b _08080E00 -_08080D00: - ldrb r0, [r4, #0xa] - subs r0, #0x40 - cmp r0, #0x22 - bhi _08080E00 - lsls r0, r0, #2 - ldr r1, _08080D14 @ =_08080D18 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080D14: .4byte _08080D18 -_08080D18: @ jump table - .4byte _08080DEE @ case 0 - .4byte _08080DEE @ case 1 - .4byte _08080DEE @ case 2 - .4byte _08080DEE @ case 3 - .4byte _08080E00 @ case 4 - .4byte _08080E00 @ case 5 - .4byte _08080E00 @ case 6 - .4byte _08080E00 @ case 7 - .4byte _08080E00 @ case 8 - .4byte _08080E00 @ case 9 - .4byte _08080E00 @ case 10 - .4byte _08080E00 @ case 11 - .4byte _08080E00 @ case 12 - .4byte _08080E00 @ case 13 - .4byte _08080E00 @ case 14 - .4byte _08080E00 @ case 15 - .4byte _08080E00 @ case 16 - .4byte _08080E00 @ case 17 - .4byte _08080E00 @ case 18 - .4byte _08080E00 @ case 19 - .4byte _08080E00 @ case 20 - .4byte _08080E00 @ case 21 - .4byte _08080E00 @ case 22 - .4byte _08080E00 @ case 23 - .4byte _08080E00 @ case 24 - .4byte _08080E00 @ case 25 - .4byte _08080E00 @ case 26 - .4byte _08080E00 @ case 27 - .4byte _08080DEE @ case 28 - .4byte _08080E00 @ case 29 - .4byte _08080E00 @ case 30 - .4byte _08080E00 @ case 31 - .4byte _08080DA4 @ case 32 - .4byte _08080E00 @ case 33 - .4byte _08080DEE @ case 34 -_08080DA4: - adds r5, r4, #0 - adds r5, #0x6a - ldrb r0, [r5] - cmp r0, #0 - beq _08080DB4 - subs r0, #1 - strb r0, [r5] - b _08080E00 -_08080DB4: - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - adds r0, #0xa - strb r0, [r5] - adds r0, r4, #0 - movs r1, #7 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08080E00 - adds r0, r4, #0 - adds r0, #0x62 - ldrb r0, [r0] - adds r2, r1, #0 - adds r2, #0x62 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x63 - ldrb r0, [r0] - adds r2, #1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0806FAB0 - b _08080E00 -_08080DEE: - ldr r0, _08080E04 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _08080E00 - adds r0, r4, #0 - bl sub_080A2B80 -_08080E00: - pop {r4, r5, pc} - .align 2, 0 -_08080E04: .4byte gUnk_030010A0 - - thumb_func_start sub_08080E08 -sub_08080E08: @ 0x08080E08 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08080EDE - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x1e - bhi _08080EDE - lsls r0, r0, #2 - ldr r1, _08080E2C @ =_08080E30 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080E2C: .4byte _08080E30 -_08080E30: @ jump table - .4byte _08080ED8 @ case 0 - .4byte _08080ED8 @ case 1 - .4byte _08080EDE @ case 2 - .4byte _08080EDE @ case 3 - .4byte _08080ED8 @ case 4 - .4byte _08080ED8 @ case 5 - .4byte _08080ED8 @ case 6 - .4byte _08080EDE @ case 7 - .4byte _08080ED8 @ case 8 - .4byte _08080ED8 @ case 9 - .4byte _08080ED8 @ case 10 - .4byte _08080ED8 @ case 11 - .4byte _08080ED8 @ case 12 - .4byte _08080EDE @ case 13 - .4byte _08080EDE @ case 14 - .4byte _08080EDE @ case 15 - .4byte _08080EDE @ case 16 - .4byte _08080EDE @ case 17 - .4byte _08080EDE @ case 18 - .4byte _08080EDE @ case 19 - .4byte _08080EAC @ case 20 - .4byte _08080EDE @ case 21 - .4byte _08080EDE @ case 22 - .4byte _08080EDE @ case 23 - .4byte _08080EDE @ case 24 - .4byte _08080EDE @ case 25 - .4byte _08080EDE @ case 26 - .4byte _08080EDE @ case 27 - .4byte _08080EDE @ case 28 - .4byte _08080EDE @ case 29 - .4byte _08080ED8 @ case 30 -_08080EAC: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4, #0x4c] - str r0, [r4, #0x54] - b _08080EDE -_08080ED8: - adds r0, r4, #0 - bl sub_08081598 -_08080EDE: - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08080EF0 - adds r0, r4, #0 - bl sub_080813BC - b _08080F00 -_08080EF0: - ldr r0, _08080F18 @ =gUnk_0811E7D4 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08080F00: - ldrb r0, [r4, #0xa] - cmp r0, #0x5c - bne _08080F0E - ldr r1, _08080F1C @ =gUnk_02034350 - ldrb r0, [r1, #4] - adds r0, #1 - strb r0, [r1, #4] -_08080F0E: - adds r0, r4, #0 - bl sub_08080CB4 - pop {r4, pc} - .align 2, 0 -_08080F18: .4byte gUnk_0811E7D4 -_08080F1C: .4byte gUnk_02034350 - - thumb_func_start sub_08080F20 -sub_08080F20: @ 0x08080F20 - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _08080F3A - bl sub_0807CBE4 - cmp r0, #0 - beq _08080F3A - bl sub_0805E780 -_08080F3A: - ldrb r0, [r4, #0xa] - cmp r0, #0x60 - bne _08080F42 - b _0808107C -_08080F42: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #7 - strb r0, [r1] - subs r1, #3 - movs r0, #0x47 - strb r0, [r1] - adds r1, #4 - movs r0, #0x44 - strb r0, [r1] - adds r1, #5 - movs r0, #0xff - strb r0, [r1] - ldr r0, _08080F9C @ =gUnk_080FD1A8 - str r0, [r4, #0x48] - ldrb r0, [r4, #0xa] - subs r0, #0x3f - cmp r0, #0x20 - bhi _08081030 - lsls r0, r0, #2 - ldr r1, _08080FA0 @ =_08080FA4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080F9C: .4byte gUnk_080FD1A8 -_08080FA0: .4byte _08080FA4 -_08080FA4: @ jump table - .4byte _08081028 @ case 0 - .4byte _08081030 @ case 1 - .4byte _08081030 @ case 2 - .4byte _08081030 @ case 3 - .4byte _08081030 @ case 4 - .4byte _08081030 @ case 5 - .4byte _08081030 @ case 6 - .4byte _08081030 @ case 7 - .4byte _08081030 @ case 8 - .4byte _08081030 @ case 9 - .4byte _08081030 @ case 10 - .4byte _08081030 @ case 11 - .4byte _08081030 @ case 12 - .4byte _08081030 @ case 13 - .4byte _08081030 @ case 14 - .4byte _08081030 @ case 15 - .4byte _08081030 @ case 16 - .4byte _08081030 @ case 17 - .4byte _08081030 @ case 18 - .4byte _08081030 @ case 19 - .4byte _08081030 @ case 20 - .4byte _08081028 @ case 21 - .4byte _08081028 @ case 22 - .4byte _08081028 @ case 23 - .4byte _08081028 @ case 24 - .4byte _08081028 @ case 25 - .4byte _08081030 @ case 26 - .4byte _08081030 @ case 27 - .4byte _08081030 @ case 28 - .4byte _08081028 @ case 29 - .4byte _08081028 @ case 30 - .4byte _08081028 @ case 31 - .4byte _08081028 @ case 32 -_08081028: - adds r1, r4, #0 - adds r1, #0x3b - movs r0, #0x17 - b _08081036 -_08081030: - adds r1, r4, #0 - adds r1, #0x3b - movs r0, #0x11 -_08081036: - strb r0, [r1] - ldrb r0, [r4, #0xe] - adds r5, r4, #0 - adds r5, #0x69 - movs r2, #0 - strb r0, [r5] - adds r0, r4, #0 - adds r0, #0x6a - strb r2, [r0] - adds r0, #2 - movs r1, #0 - strh r2, [r0] - subs r0, #4 - strb r1, [r0] - strb r1, [r4, #0xe] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - ldrb r0, [r4, #0xa] - bl sub_0808147C - strb r0, [r4, #0x1c] - ldr r1, _08081078 @ =gUnk_0811E7E8 - ldrb r0, [r5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - b _080810A4 - .align 2, 0 -_08081078: .4byte gUnk_0811E7E8 -_0808107C: - movs r0, #0x40 - movs r1, #0x60 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _080810A4 - movs r0, #0 - strb r0, [r1, #0xe] - ldrb r0, [r4, #0xe] - cmp r0, #1 - bne _0808109A - movs r0, #2 - strb r0, [r1, #0xb] -_0808109A: - adds r0, r4, #0 - bl sub_0806FA24 - bl sub_0805E780 -_080810A4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080810A8 -sub_080810A8: @ 0x080810A8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_080814A4 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080810D6 - movs r0, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _080810DC - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - b _080810DC -_080810D6: - movs r0, #0xff - orrs r0, r1 - strb r0, [r4, #0x15] -_080810DC: - ldr r0, [r4, #0x20] - cmp r0, #0 - bne _080810E8 - movs r0, #0xf0 - lsls r0, r0, #9 - str r0, [r4, #0x20] -_080810E8: - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #2 - bne _080810F8 - adds r0, r4, #0 - bl sub_08016A30 -_080810F8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080810FC -sub_080810FC: @ 0x080810FC - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0x5f - beq _0808110E - adds r0, r2, #0 - bl sub_08081598 - b _0808112E -_0808110E: - movs r1, #0 - movs r0, #2 - strb r0, [r2, #0xc] - strb r1, [r2, #0xd] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r1, r2, #0 - adds r1, #0x3b - movs r0, #0x11 - strb r0, [r1] - ldr r0, _08081130 @ =gUnk_03001160 - adds r1, r2, #0 - bl sub_0806FA24 -_0808112E: - pop {pc} - .align 2, 0 -_08081130: .4byte gUnk_03001160 - - thumb_func_start sub_08081134 -sub_08081134: @ 0x08081134 - push {r4, lr} - adds r4, r0, #0 - bl sub_080814A4 - adds r1, r4, #0 - adds r1, #0x6c - ldrh r0, [r1] - adds r0, #0x50 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08081150 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081150 -sub_08081150: @ 0x08081150 - push {lr} - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x80 - orrs r1, r2 - strb r1, [r0, #0x10] - ldr r1, _08081180 @ =0x0000FF80 - strh r1, [r0, #0x36] - ldrb r3, [r0, #0x1b] - movs r2, #0x3f - adds r1, r2, #0 - ands r1, r3 - movs r3, #0x40 - orrs r1, r3 - strb r1, [r0, #0x1b] - ldrb r1, [r0, #0x19] - ands r2, r1 - orrs r2, r3 - strb r2, [r0, #0x19] - ldr r0, _08081184 @ =0x0000012D - bl sub_080A3268 - pop {pc} - .align 2, 0 -_08081180: .4byte 0x0000FF80 -_08081184: .4byte 0x0000012D - - thumb_func_start sub_08081188 -sub_08081188: @ 0x08081188 - push {lr} - adds r2, r0, #0 - movs r0, #2 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r0, r2, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #2 - bne _080811A8 - adds r0, r2, #0 - bl sub_08016A30 -_080811A8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080811AC -sub_080811AC: @ 0x080811AC - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_080002A0 - adds r4, #0x6e - strh r0, [r4] - pop {r4, pc} - - thumb_func_start sub_080811C8 -sub_080811C8: @ 0x080811C8 - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #6 - ands r1, r2 - strb r1, [r0, #0x18] - bx lr - .align 2, 0 - - thumb_func_start sub_080811D8 -sub_080811D8: @ 0x080811D8 - push {lr} - bl sub_08081188 - ldr r0, _080811E8 @ =0x00000215 - bl sub_080A3268 - pop {pc} - .align 2, 0 -_080811E8: .4byte 0x00000215 - - thumb_func_start sub_080811EC -sub_080811EC: @ 0x080811EC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x69 - ldrb r0, [r0] - cmp r0, #6 - beq _08081200 - adds r0, r4, #0 - bl sub_080AEFE0 - b _08081206 -_08081200: - adds r0, r4, #0 - bl sub_0806F69C -_08081206: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - ldr r0, [r4, #0x20] - cmp r0, #0 - bgt _08081228 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_080814A4 -_08081228: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808122C -sub_0808122C: @ 0x0808122C - push {lr} - ldr r2, _08081244 @ =gUnk_0811E814 - adds r1, r0, #0 - adds r1, #0x69 - ldrb r1, [r1] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08081244: .4byte gUnk_0811E814 - - thumb_func_start sub_08081248 -sub_08081248: @ 0x08081248 - push {r4, lr} - adds r4, r0, #0 - bl sub_08081500 - adds r0, r4, #0 - bl sub_080814C0 - cmp r0, #0 - beq _08081264 - adds r0, r4, #0 - movs r1, #0 - bl sub_08081404 - b _0808126A -_08081264: - adds r0, r4, #0 - bl sub_0800442E -_0808126A: - pop {r4, pc} - - thumb_func_start sub_0808126C -sub_0808126C: @ 0x0808126C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0808153C - pop {r4, pc} - - thumb_func_start sub_0808127C -sub_0808127C: @ 0x0808127C - push {r4, lr} - adds r4, r0, #0 - bl sub_080814C0 - cmp r0, #0 - beq _08081292 - adds r0, r4, #0 - movs r1, #0 - bl sub_08081404 - b _08081298 -_08081292: - adds r0, r4, #0 - bl sub_0808153C -_08081298: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_113 -nullsub_113: @ 0x0808129C - bx lr - .align 2, 0 - - thumb_func_start sub_080812A0 -sub_080812A0: @ 0x080812A0 - push {lr} - bl sub_08081500 - pop {pc} - - thumb_func_start sub_080812A8 -sub_080812A8: @ 0x080812A8 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080002D0 - cmp r0, #0xf - beq _080812E4 - adds r0, r5, #0 - adds r0, #0x6e - ldrh r4, [r0] - adds r0, r5, #0 - bl sub_080002A0 - cmp r4, r0 - beq _080812E4 - movs r0, #0 - strb r0, [r5, #0x15] - movs r2, #0 - strh r0, [r5, #0x24] - ldrb r1, [r5, #0x18] - subs r0, #4 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r0, r5, #0 - adds r0, #0x69 - strb r2, [r0] - adds r0, r5, #0 - bl sub_080810A8 -_080812E4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080812E8 -sub_080812E8: @ 0x080812E8 - push {r4, lr} - adds r4, r0, #0 - ldr r3, _0808131C @ =gUnk_03003F80 - adds r0, r3, #0 - adds r0, #0x26 - ldrb r1, [r0] - movs r2, #0x80 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _08081318 - ldr r0, [r3, #0x30] - ands r0, r2 - cmp r0, #0 - bne _08081318 - ldr r1, _08081320 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080177A0 - cmp r0, #0 - beq _08081318 - adds r0, r4, #0 - bl sub_080810FC -_08081318: - pop {r4, pc} - .align 2, 0 -_0808131C: .4byte gUnk_03003F80 -_08081320: .4byte gUnk_03001160 - - thumb_func_start nullsub_510 -nullsub_510: @ 0x08081324 - bx lr - .align 2, 0 - - thumb_func_start sub_08081328 -sub_08081328: @ 0x08081328 - push {r4, lr} - adds r4, r0, #0 - ldr r2, [r4, #0x54] - ldrh r1, [r2, #8] - movs r0, #0xc2 - lsls r0, r0, #2 - cmp r1, r0 - beq _08081342 - adds r0, r4, #0 - movs r1, #0 - bl sub_08081404 - b _08081364 -_08081342: - adds r0, r2, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - ldr r2, _08081368 @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_080177A0 - cmp r0, #0 - beq _08081364 - adds r0, r4, #0 - bl sub_080810FC -_08081364: - pop {r4, pc} - .align 2, 0 -_08081368: .4byte gUnk_03001160 - - thumb_func_start sub_0808136C -sub_0808136C: @ 0x0808136C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _080813B2 - ldr r3, [r5, #0x54] - ldr r0, [r3, #0x2c] - str r0, [r5, #0x2c] - ldr r0, [r3, #0x30] - str r0, [r5, #0x30] - ldrb r2, [r3, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r4, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r4 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r3, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x19] - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r5, #0 - bl sub_08003FC4 - b _080813BA -_080813B2: - adds r0, r5, #0 - movs r1, #1 - bl sub_08081404 -_080813BA: - pop {r4, r5, pc} - - thumb_func_start sub_080813BC -sub_080813BC: @ 0x080813BC - push {lr} - ldr r2, _080813D0 @ =gUnk_0811E840 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080813D0: .4byte gUnk_0811E840 - - thumb_func_start sub_080813D4 -sub_080813D4: @ 0x080813D4 - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xd] - strb r1, [r0, #0x1d] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - bx lr - - thumb_func_start sub_080813E8 -sub_080813E8: @ 0x080813E8 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_080813F0 -sub_080813F0: @ 0x080813F0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _08081402 - adds r0, r4, #0 - bl sub_080810FC -_08081402: - pop {r4, pc} - - thumb_func_start sub_08081404 -sub_08081404: @ 0x08081404 - push {lr} - cmp r1, #0 - beq _08081418 - adds r1, r0, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _08081418 - bl sub_0807CCC8 -_08081418: - bl sub_0805E780 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08081420 -sub_08081420: @ 0x08081420 - push {r4, lr} - adds r4, r0, #0 - bl sub_08081450 - cmp r0, #0 - bne _08081438 - ldrb r0, [r4, #0xa] - ldrb r1, [r4, #0xb] - bl sub_08053FF0 - movs r0, #0 - b _0808144C -_08081438: - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldrb r0, [r4, #0xa] - ldrb r1, [r4, #0xb] - movs r2, #0 - bl sub_080A7C00 - movs r0, #1 -_0808144C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081450 -sub_08081450: @ 0x08081450 - push {r4, lr} - movs r4, #0 - ldr r1, _08081478 @ =gUnk_080FD5B4 - ldrb r2, [r0, #0xa] - lsls r0, r2, #3 - adds r0, r0, r1 - ldrb r1, [r0, #3] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08081470 - adds r0, r2, #0 - bl sub_0807CA84 - cmp r0, #0 - bne _08081472 -_08081470: - movs r4, #1 -_08081472: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_08081478: .4byte gUnk_080FD5B4 - - thumb_func_start sub_0808147C -sub_0808147C: @ 0x0808147C - lsls r0, r0, #3 - ldr r1, _08081488 @ =gUnk_0811E84C - adds r0, r0, r1 - ldrb r0, [r0, #4] - bx lr - .align 2, 0 -_08081488: .4byte gUnk_0811E84C - - thumb_func_start sub_0808148C -sub_0808148C: @ 0x0808148C - push {lr} - lsls r0, r0, #3 - ldr r1, _080814A0 @ =gUnk_0811E84C - adds r1, r0, r1 - ldrh r0, [r1, #2] - cmp r0, #0 - beq _0808149E - bl sub_080A3268 -_0808149E: - pop {pc} - .align 2, 0 -_080814A0: .4byte gUnk_0811E84C - - thumb_func_start sub_080814A4 -sub_080814A4: @ 0x080814A4 - push {lr} - adds r1, r0, #0 - adds r0, #0x69 - ldrb r0, [r0] - cmp r0, #0xa - bne _080814B6 - adds r1, #0x6c - movs r0, #0x78 - b _080814BC -_080814B6: - adds r1, #0x6c - movs r0, #0x96 - lsls r0, r0, #2 -_080814BC: - strh r0, [r1] - pop {pc} - - thumb_func_start sub_080814C0 -sub_080814C0: @ 0x080814C0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805E40C - cmp r0, #0 - bne _080814FA - adds r0, r4, #0 - adds r0, #0x6c - ldrh r1, [r0] - subs r1, #1 - strh r1, [r0] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _080814E0 - movs r0, #1 - b _080814FC -_080814E0: - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x59 - bhi _080814FA - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_080814FA: - movs r0, #0 -_080814FC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081500 -sub_08081500: @ 0x08081500 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x68 - ldrb r0, [r5] - cmp r0, #0 - bne _08081538 - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - bne _08081522 - movs r0, #1 - strb r0, [r5] - b _08081538 -_08081522: - cmp r0, #1 - bne _08081532 - ldrb r0, [r4, #0xa] - bl sub_0808148C - adds r0, r4, #0 - bl sub_08016A04 -_08081532: - adds r0, r4, #0 - bl sub_080AEFE0 -_08081538: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808153C -sub_0808153C: @ 0x0808153C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x68 - ldrb r0, [r5] - cmp r0, #1 - bhi _08081596 - cmp r0, #0 - bne _0808157E - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08081596 - adds r0, r4, #0 - bl sub_0800442E - cmp r0, #0 - bne _08081596 - movs r0, #1 - strb r0, [r5] - movs r0, #0xf0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - ldrb r0, [r4, #0xa] - bl sub_0808148C - adds r0, r4, #0 - bl sub_08016A04 - b _08081596 -_0808157E: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08081596 - movs r0, #2 - strb r0, [r5] - ldrb r0, [r4, #0xa] - bl sub_0808148C -_08081596: - pop {r4, r5, pc} - - thumb_func_start sub_08081598 -sub_08081598: @ 0x08081598 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080815AC - adds r0, r4, #0 - movs r1, #1 - bl sub_08081404 -_080815AC: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xe - strb r0, [r4, #0xe] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - movs r1, #8 - rsbs r1, r1, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08081618 @ =gUnk_03001160 - str r0, [r4, #0x54] - adds r1, r4, #0 - bl sub_0806FA24 - ldrh r0, [r4, #0x36] - subs r0, #4 - strh r0, [r4, #0x36] - ldrb r0, [r4, #0xa] - cmp r0, #0x5f - beq _08081614 - adds r0, r4, #0 - bl sub_08081420 - cmp r0, #0 - beq _08081614 - adds r0, r4, #0 - movs r1, #1 - bl sub_08081404 -_08081614: - pop {r4, pc} - .align 2, 0 -_08081618: .4byte gUnk_03001160 - - thumb_func_start sub_0808161C -sub_0808161C: @ 0x0808161C - push {lr} - ldr r2, _08081630 @ =gUnk_0811EBFC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08081630: .4byte gUnk_0811EBFC - - thumb_func_start sub_08081634 -sub_08081634: @ 0x08081634 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x6c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808169C - movs r5, #0 - movs r0, #0x65 - strh r0, [r4, #0x12] - movs r1, #2 - strb r1, [r4, #0xc] - strb r5, [r4, #0x15] - movs r0, #0x40 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r4, #0 - bl sub_08016A04 - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0xe] - movs r2, #0x80 - cmp r0, #0 - beq _08081674 - adds r2, r0, #0 - strb r5, [r4, #0xe] -_08081674: - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r4, #0 - movs r1, #4 - movs r2, #0 - bl sub_080AE008 - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - ldr r0, _08081698 @ =0x00000129 - bl sub_080A3268 - b _0808170C - .align 2, 0 -_08081698: .4byte 0x00000129 -_0808169C: - movs r0, #0xc - ands r0, r1 - cmp r0, #0 - beq _080816B2 - adds r0, r4, #0 - bl sub_08081790 - adds r0, r4, #0 - bl sub_0808180C - b _08081702 -_080816B2: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080816C4 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _08081702 -_080816C4: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08081718 @ =gUnk_0811EC08 - ldrb r0, [r4, #0xa] - lsrs r0, r0, #2 - adds r0, r0, r1 - ldrb r2, [r0] - ldrb r0, [r4, #0xa] - movs r1, #3 - ands r0, r1 - lsls r0, r0, #1 - asrs r2, r0 - ands r2, r1 - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _080816FA - ldr r0, _0808171C @ =gUnk_0811EC20 - adds r0, r2, r0 - ldrb r0, [r0] - strb r0, [r1, #0xe] -_080816FA: - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_08004260 -_08081702: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xff - bl sub_08004488 -_0808170C: - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - pop {r4, r5, pc} - .align 2, 0 -_08081718: .4byte gUnk_0811EC08 -_0808171C: .4byte gUnk_0811EC20 - - thumb_func_start sub_08081720 -sub_08081720: @ 0x08081720 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08081744 - adds r0, r4, #0 - bl sub_08081790 - adds r0, r4, #0 - bl sub_0808180C - b _0808175E -_08081744: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808175E - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] -_0808175E: - pop {r4, pc} - - thumb_func_start sub_08081760 -sub_08081760: @ 0x08081760 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808177E - adds r0, r4, #0 - bl sub_0808180C - b _0808178C -_0808177E: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808178C - adds r0, r4, #0 - bl sub_0806F69C -_0808178C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081790 -sub_08081790: @ 0x08081790 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x6d - ldrb r0, [r1] - cmp r0, #0xef - bhi _080817B4 - ldr r0, _080817B0 @ =gUnk_0811EC64 - ldrb r1, [r1] - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r2, #0 - bl sub_0805457C - b _080817C6 - .align 2, 0 -_080817B0: .4byte gUnk_0811EC64 -_080817B4: - ldr r0, _080817C8 @ =gUnk_0811EC24 - ldrb r1, [r1] - subs r1, #0xf0 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_080817C6: - pop {pc} - .align 2, 0 -_080817C8: .4byte gUnk_0811EC24 - - thumb_func_start sub_080817CC -sub_080817CC: @ 0x080817CC - push {lr} - movs r1, #9 - bl sub_0805457C - pop {pc} - .align 2, 0 - - thumb_func_start sub_080817D8 -sub_080817D8: @ 0x080817D8 - push {lr} - movs r1, #0xd - bl sub_0805457C - pop {pc} - .align 2, 0 - - thumb_func_start sub_080817E4 -sub_080817E4: @ 0x080817E4 - push {lr} - movs r1, #0xe - bl sub_0805457C - pop {pc} - .align 2, 0 - - thumb_func_start sub_080817F0 -sub_080817F0: @ 0x080817F0 - push {lr} - movs r1, #1 - bl sub_0805457C - pop {pc} - .align 2, 0 - - thumb_func_start sub_080817FC -sub_080817FC: @ 0x080817FC - push {lr} - adds r1, r0, #0 - adds r1, #0x6e - ldrb r1, [r1] - movs r2, #0 - bl sub_08054754 - pop {pc} - - thumb_func_start sub_0808180C -sub_0808180C: @ 0x0808180C - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_08081814 -sub_08081814: @ 0x08081814 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08081850 @ =gUnk_0811EE28 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - beq _08081838 - adds r0, r4, #0 - bl sub_08080CB4 -_08081838: - ldrb r0, [r4, #0xe] - cmp r0, #2 - bgt _0808184E - cmp r0, #1 - blt _0808184E - ldrb r0, [r4, #0xc] - cmp r0, #1 - bne _0808184E - adds r0, r4, #0 - bl sub_0800445C -_0808184E: - pop {r4, pc} - .align 2, 0 -_08081850: .4byte gUnk_0811EE28 - - thumb_func_start sub_08081854 -sub_08081854: @ 0x08081854 - push {r4, lr} - adds r4, r0, #0 - movs r3, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - strb r3, [r4, #0x16] - str r4, [r4, #0x54] - adds r0, r4, #0 - bl sub_08081A5C - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0808188E - cmp r0, #1 - beq _08081898 - b _0808189C -_0808188E: - ldr r0, _08081894 @ =gUnk_080FD328 - b _0808189A - .align 2, 0 -_08081894: .4byte gUnk_080FD328 -_08081898: - ldr r0, _080818A0 @ =gUnk_080FD198 -_0808189A: - str r0, [r4, #0x48] -_0808189C: - pop {r4, pc} - .align 2, 0 -_080818A0: .4byte gUnk_080FD198 - - thumb_func_start sub_080818A4 -sub_080818A4: @ 0x080818A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xd] - cmp r2, #0 - beq _080818C0 - movs r1, #2 - strb r1, [r4, #0xc] - ldr r0, _080818BC @ =gUnk_0200AF00 - adds r0, #0x2f - strb r1, [r0] - b _08081920 - .align 2, 0 -_080818BC: .4byte gUnk_0200AF00 -_080818C0: - ldrb r0, [r4, #0xa] - cmp r0, #0x36 - bne _080818F0 - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08081920 - strb r2, [r1] - movs r0, #3 - strb r0, [r4, #0xc] - ldr r1, _080818E8 @ =gUnk_02034350 - movs r0, #1 - str r0, [r1, #0x68] - ldr r1, _080818EC @ =gUnk_03003F80 - movs r0, #7 - strb r0, [r1, #0xc] - b _08081920 - .align 2, 0 -_080818E8: .4byte gUnk_02034350 -_080818EC: .4byte gUnk_03003F80 -_080818F0: - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08081920 - strb r2, [r1] - movs r0, #1 - strb r0, [r4, #0xd] - bl sub_08078B48 - bl sub_08077B2C - ldr r1, _08081924 @ =gUnk_03003F80 - movs r0, #4 - strb r0, [r1, #5] - ldr r0, _08081928 @ =gUnk_03001160 - str r4, [r0, #0x74] - ldr r0, _0808192C @ =gUnk_0200AF00 - adds r0, #0x2f - movs r1, #2 - strb r1, [r0] - bl sub_08056360 -_08081920: - pop {r4, pc} - .align 2, 0 -_08081924: .4byte gUnk_03003F80 -_08081928: .4byte gUnk_03001160 -_0808192C: .4byte gUnk_0200AF00 - - thumb_func_start sub_08081930 -sub_08081930: @ 0x08081930 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, _08081968 @ =gUnk_0200AF00 - adds r6, r0, #0 - adds r6, #0x2f - movs r0, #2 - strb r0, [r6] - ldr r3, _0808196C @ =gUnk_03001160 - ldrb r1, [r3, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - subs r0, #6 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r5, _08081970 @ =gUnk_03003F80 - ldrb r0, [r5, #5] - cmp r0, #0 - beq _0808195E - ldr r0, [r3, #0x74] - cmp r4, r0 - beq _08081974 -_0808195E: - adds r0, r4, #0 - bl sub_080819B4 - b _080819AC - .align 2, 0 -_08081968: .4byte gUnk_0200AF00 -_0808196C: .4byte gUnk_03001160 -_08081970: .4byte gUnk_03003F80 -_08081974: - bl sub_080784E4 - adds r1, r0, #0 - ldr r0, [r1, #8] - cmp r0, #0 - beq _08081998 - ldrb r0, [r1, #1] - cmp r0, #1 - bne _08081998 - movs r0, #7 - strb r0, [r6] - adds r0, r5, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0x88 - ands r0, r1 - cmp r0, #0 - bne _080819AC -_08081998: - ldr r0, _080819B0 @ =gUnk_03003F80 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0x98 - ands r0, r1 - cmp r0, #0 - beq _080819AC - adds r0, r4, #0 - bl sub_080819B4 -_080819AC: - pop {r4, r5, r6, pc} - .align 2, 0 -_080819B0: .4byte gUnk_03003F80 - - thumb_func_start sub_080819B4 -sub_080819B4: @ 0x080819B4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r0, _08081A48 @ =gUnk_02034350 - ldrb r0, [r0, #6] - cmp r0, #0 - bne _080819D4 - ldr r0, [r5, #0x50] - cmp r0, #0 - beq _080819D0 - adds r0, #0x20 - ldrb r1, [r5, #0xf] - adds r0, r0, r1 - movs r1, #0xff - strb r1, [r0] -_080819D0: - bl sub_0805E780 -_080819D4: - ldr r0, _08081A4C @ =gUnk_03003F80 - movs r2, #0 - strb r2, [r0, #5] - ldr r4, _08081A50 @ =gUnk_03001160 - str r2, [r4, #0x74] - ldr r1, _08081A54 @ =gUnk_0200AF00 - ldr r3, _08081A48 @ =gUnk_02034350 - strb r2, [r3, #6] - adds r0, r1, #0 - adds r0, #0x2c - strb r2, [r0] - adds r1, #0x2f - strb r2, [r1] - strb r2, [r3, #7] - adds r1, r5, #0 - adds r1, #0x80 - ldr r3, _08081A58 @ =gUnk_03000BF0 - ldrh r0, [r3, #6] - ldrh r1, [r1] - adds r0, r0, r1 - movs r1, #0 - strh r0, [r5, #0x2e] - movs r6, #0x82 - ldrh r0, [r3, #8] - ldrh r3, [r6, r5] - adds r0, r0, r3 - strh r0, [r5, #0x32] - str r2, [r5, #0x34] - movs r3, #1 - strb r3, [r5, #0xc] - strb r1, [r5, #0xd] - ldrb r1, [r4, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r5, #0x1b] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x1b] - adds r0, r5, #0 - adds r0, #0x38 - strb r3, [r0] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - bl sub_08016A04 - adds r0, r5, #0 - bl sub_08081A5C - pop {r4, r5, r6, pc} - .align 2, 0 -_08081A48: .4byte gUnk_02034350 -_08081A4C: .4byte gUnk_03003F80 -_08081A50: .4byte gUnk_03001160 -_08081A54: .4byte gUnk_0200AF00 -_08081A58: .4byte gUnk_03000BF0 - - thumb_func_start sub_08081A5C -sub_08081A5C: @ 0x08081A5C - push {r4, lr} - adds r4, r0, #0 - bl sub_080787D8 - adds r2, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #1 - bne _08081A7A - ldr r0, _08081A7C @ =gUnk_03003DF0 - lsls r1, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r1, r1, r0 - movs r0, #0 - strb r0, [r1, #0xa] -_08081A7A: - pop {r4, pc} - .align 2, 0 -_08081A7C: .4byte gUnk_03003DF0 - - thumb_func_start sub_08081A80 -sub_08081A80: @ 0x08081A80 - push {lr} - adds r2, r0, #0 - ldr r0, _08081A98 @ =gUnk_02034350 - ldr r0, [r0, #0x68] - cmp r0, #0 - bne _08081A9C - bl sub_08081AB0 - bl sub_0805E780 - b _08081AAC - .align 2, 0 -_08081A98: .4byte gUnk_02034350 -_08081A9C: - cmp r0, #2 - bne _08081AAC - movs r1, #0 - movs r0, #1 - strb r0, [r2, #0xc] - strb r1, [r2, #0xd] - bl sub_08081AB0 -_08081AAC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08081AB0 -sub_08081AB0: @ 0x08081AB0 - push {lr} - ldr r1, _08081AC4 @ =gUnk_02034350 - movs r0, #0 - str r0, [r1, #0x68] - strb r0, [r1, #6] - strb r0, [r1, #7] - bl sub_08078A90 - pop {pc} - .align 2, 0 -_08081AC4: .4byte gUnk_02034350 - - thumb_func_start sub_08081AC8 -sub_08081AC8: @ 0x08081AC8 - push {lr} - ldr r2, _08081ADC @ =gUnk_0811EE38 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08081ADC: .4byte gUnk_0811EE38 - - thumb_func_start sub_08081AE0 -sub_08081AE0: @ 0x08081AE0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x84 - ldrh r1, [r0] - cmp r1, #0 - beq _08081B0E - subs r0, #0x4c - strb r1, [r0] -_08081B0E: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08081B6C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x74 - strh r1, [r5] - ldrh r0, [r5] - adds r6, r4, #0 - adds r6, #0x38 - ldrb r1, [r6] - bl sub_080002B0 - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08081B70 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08081B70 - movs r0, #5 - strb r0, [r4, #0xc] - ldrh r1, [r5] - ldrb r2, [r6] - movs r0, #0x7a - bl sub_0807B314 - b _08081B82 - .align 2, 0 -_08081B6C: .4byte gUnk_03000BF0 -_08081B70: - adds r0, r4, #0 - bl sub_08081E3C - cmp r0, #0 - beq _08081B7E - movs r0, #2 - b _08081B80 -_08081B7E: - movs r0, #1 -_08081B80: - strb r0, [r4, #0xc] -_08081B82: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08081B84 -sub_08081B84: @ 0x08081B84 - push {r4, lr} - adds r4, r0, #0 - bl sub_08081E3C - cmp r0, #0 - beq _08081BAA - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] -_08081BAA: - pop {r4, pc} - - thumb_func_start sub_08081BAC -sub_08081BAC: @ 0x08081BAC - push {r4, lr} - adds r4, r0, #0 - bl sub_08081CB0 - cmp r0, #0 - beq _08081BDC - movs r0, #0 - strb r0, [r4, #0xd] - movs r0, #0xa - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0xa - bl sub_0805E4E0 - adds r0, r4, #0 - bl sub_08081FF8 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _08081BD8 - movs r0, #3 - b _08081BDA -_08081BD8: - movs r0, #5 -_08081BDA: - strb r0, [r4, #0xc] -_08081BDC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081BE0 -sub_08081BE0: @ 0x08081BE0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x78 - bl sub_08081F7C - cmp r0, #0 - beq _08081C2C - adds r0, r4, #0 - bl sub_08081D28 - cmp r0, #0 - bne _08081C26 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xf] - ldr r1, _08081C1C @ =gUnk_03003F80 - ldrb r0, [r1, #5] - cmp r0, #2 - beq _08081C16 - adds r0, r1, #0 - adds r0, #0x35 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08081C20 -_08081C16: - movs r0, #0x18 - strb r0, [r4, #0xe] - b _08081C2C - .align 2, 0 -_08081C1C: .4byte gUnk_03003F80 -_08081C20: - movs r0, #8 - strb r0, [r4, #0xe] - b _08081C2C -_08081C26: - adds r0, r4, #0 - bl sub_08081E6C -_08081C2C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081C30 -sub_08081C30: @ 0x08081C30 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08081C70 - subs r0, #1 - movs r5, #0 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08081C5A - strb r5, [r4, #0xf] - ldr r0, _08081C6C @ =0x00004035 - adds r1, r4, #0 - adds r1, #0x74 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_08081C5A: - adds r0, r4, #0 - bl sub_08081CB0 - cmp r0, #0 - beq _08081C96 - movs r0, #3 - strb r0, [r4, #0xc] - strb r5, [r4, #0xe] - b _08081C96 - .align 2, 0 -_08081C6C: .4byte 0x00004035 -_08081C70: - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CD48 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - subs r0, #0x3c - ldrb r2, [r0] - movs r0, #0x77 - bl sub_0807B314 - movs r0, #0x86 - lsls r0, r0, #1 - bl sub_080A3268 -_08081C96: - pop {r4, r5, pc} - - thumb_func_start sub_08081C98 -sub_08081C98: @ 0x08081C98 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x7a - bl sub_08081F7C - cmp r0, #0 - beq _08081CAC - adds r0, r4, #0 - bl sub_08081E6C -_08081CAC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08081CB0 -sub_08081CB0: @ 0x08081CB0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08081D74 - cmp r0, #0 - beq _08081CEC - adds r1, r4, #0 - adds r1, #0x70 - ldr r0, _08081CE4 @ =0x0000FFFF - strh r0, [r1] - adds r5, r4, #0 - adds r5, #0x74 - ldrh r0, [r5] - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080002B0 - ldr r1, _08081CE8 @ =0x00004035 - cmp r0, r1 - bne _08081D1C - ldrh r1, [r5] - ldrb r2, [r4] - movs r0, #0x78 - bl sub_0807B7D8 - b _08081D1C - .align 2, 0 -_08081CE4: .4byte 0x0000FFFF -_08081CE8: .4byte 0x00004035 -_08081CEC: - adds r6, r4, #0 - adds r6, #0x74 - ldrh r0, [r6] - adds r5, r4, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080002B0 - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #0x77 - beq _08081D24 - cmp r1, #0x79 - beq _08081D24 - ldr r0, _08081D20 @ =0x00004035 - cmp r1, r0 - beq _08081D24 - ldrh r0, [r6] - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x70 - strh r0, [r1] -_08081D1C: - movs r0, #1 - b _08081D26 - .align 2, 0 -_08081D20: .4byte 0x00004035 -_08081D24: - movs r0, #0 -_08081D26: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08081D28 -sub_08081D28: @ 0x08081D28 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08081D74 - cmp r0, #0 - beq _08081D44 - adds r1, r4, #0 - adds r1, #0x70 - ldr r0, _08081D40 @ =0x0000FFFF - strh r0, [r1] - movs r0, #1 - b _08081D72 - .align 2, 0 -_08081D40: .4byte 0x0000FFFF -_08081D44: - adds r5, r4, #0 - adds r5, #0x70 - ldrh r1, [r5] - ldr r0, _08081D6C @ =0x0000FFFF - cmp r1, r0 - beq _08081D70 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - ldrh r5, [r5] - cmp r0, r5 - bne _08081D70 - movs r0, #1 - b _08081D72 - .align 2, 0 -_08081D6C: .4byte 0x0000FFFF -_08081D70: - movs r0, #0 -_08081D72: - pop {r4, r5, pc} - - thumb_func_start sub_08081D74 -sub_08081D74: @ 0x08081D74 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002E0 - cmp r0, #0xf - bne _08081D8E - movs r0, #0 - b _08081E0A -_08081D8E: - movs r6, #0 - adds r0, r4, #0 - bl sub_08081E0C - cmp r0, #0 - beq _08081DB4 - ldr r0, _08081DAC @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x90 - ands r0, r1 - cmp r0, #0 - bne _08081E06 - ldr r6, _08081DB0 @ =gUnk_03001160 - b _08081E06 - .align 2, 0 -_08081DAC: .4byte gUnk_03003F80 -_08081DB0: .4byte gUnk_03001160 -_08081DB4: - ldr r0, _08081DD8 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - beq _08081E06 - ldr r5, _08081DDC @ =gUnk_03004040 - ldr r1, [r5] - adds r0, r4, #0 - movs r2, #5 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - beq _08081DE0 - ldr r6, [r5] - b _08081E06 - .align 2, 0 -_08081DD8: .4byte gUnk_03003F80 -_08081DDC: .4byte gUnk_03004040 -_08081DE0: - ldr r1, [r5, #4] - adds r0, r4, #0 - movs r2, #5 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - beq _08081DF4 - ldr r6, [r5, #4] - b _08081E06 -_08081DF4: - ldr r1, [r5, #8] - adds r0, r4, #0 - movs r2, #5 - movs r3, #6 - bl sub_080041A0 - cmp r0, #0 - beq _08081E06 - ldr r6, [r5, #8] -_08081E06: - str r6, [r4, #0x54] - adds r0, r6, #0 -_08081E0A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08081E0C -sub_08081E0C: @ 0x08081E0C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08081E28 @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _08081E22 - bl sub_08079F8C - cmp r0, #0 - bne _08081E2C -_08081E22: - movs r0, #0 - b _08081E38 - .align 2, 0 -_08081E28: .4byte gUnk_03001160 -_08081E2C: - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #5 - movs r3, #6 - bl sub_080041A0 -_08081E38: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08081E3C -sub_08081E3C: @ 0x08081E3C - push {lr} - adds r1, r0, #0 - adds r1, #0x74 - ldrh r2, [r1] - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r2, #0 - bl sub_080002B0 - adds r2, r0, #0 - ldr r1, _08081E64 @ =gUnk_0811EE50 -_08081E52: - ldrh r0, [r1] - cmp r0, r2 - beq _08081E68 - adds r1, #2 - ldrh r0, [r1] - cmp r0, #0 - bne _08081E52 - movs r0, #0 - b _08081E6A - .align 2, 0 -_08081E64: .4byte gUnk_0811EE50 -_08081E68: - movs r0, #1 -_08081E6A: - pop {pc} - - thumb_func_start sub_08081E6C -sub_08081E6C: @ 0x08081E6C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x74 - ldrh r6, [r0] - subs r0, #0x3c - ldrb r5, [r0] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_080002B0 - adds r7, r0, #0 - ldr r0, _08081EEC @ =0x00003FFF - cmp r7, r0 - bls _08081EE8 - adds r0, r5, #0 - bl sub_0808094C - adds r1, r0, #0 - ldrb r0, [r4, #0xa] - movs r4, #0x78 - cmp r0, #0 - bne _08081E9A - movs r4, #0x7a -_08081E9A: - ldr r0, _08081EF0 @ =0x00007004 - adds r3, r1, r0 - lsls r0, r4, #1 - ldr r2, _08081EF4 @ =0x00006004 - adds r1, r1, r2 - adds r1, r1, r0 - ldrh r0, [r1] - lsls r0, r0, #3 - adds r3, r3, r0 - ldr r2, _08081EF8 @ =gUnk_02019EE0 - cmp r5, #2 - bne _08081EB4 - ldr r2, _08081EFC @ =gUnk_02002F00 -_08081EB4: - movs r0, #0x3f - ands r0, r6 - lsls r0, r0, #1 - movs r1, #0xfc - lsls r1, r1, #4 - ands r1, r6 - lsls r1, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r2, r2, r0 - adds r0, r2, #0 - adds r1, r3, #0 - bl sub_08081F00 - cmp r0, #0 - bne _08081EE8 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r5, #0 - bl sub_0807B314 - adds r0, r7, #0 - adds r1, r6, #0 - adds r2, r5, #0 - bl sub_0800015E -_08081EE8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08081EEC: .4byte 0x00003FFF -_08081EF0: .4byte 0x00007004 -_08081EF4: .4byte 0x00006004 -_08081EF8: .4byte gUnk_02019EE0 -_08081EFC: .4byte gUnk_02002F00 - - thumb_func_start sub_08081F00 -sub_08081F00: @ 0x08081F00 - push {lr} - adds r2, r0, #0 - adds r3, r1, #0 - ldr r1, [r2] - ldr r0, [r3] - cmp r1, r0 - bne _08081F20 - movs r1, #0x80 - lsls r1, r1, #1 - adds r0, r2, r1 - ldr r1, [r0] - ldr r0, [r3, #4] - cmp r1, r0 - bne _08081F20 - movs r0, #1 - b _08081F22 -_08081F20: - movs r0, #0 -_08081F22: - pop {pc} - - thumb_func_start sub_08081F24 -sub_08081F24: @ 0x08081F24 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08081F50 - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2, #0x11] - ldrh r0, [r2, #0x2e] - adds r0, #7 - strh r0, [r2, #0x2e] - ldrh r0, [r2, #0x32] - adds r0, #5 - strh r0, [r2, #0x32] -_08081F50: - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08081F7A - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2, #0x11] - ldrh r0, [r2, #0x2e] - subs r0, #7 - strh r0, [r2, #0x2e] - ldrh r0, [r2, #0x32] - adds r0, #5 - strh r0, [r2, #0x32] -_08081F7A: - pop {r4, pc} - - thumb_func_start sub_08081F7C -sub_08081F7C: @ 0x08081F7C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r7, r1, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08081FF4 - subs r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #6 - bls _08081FA4 - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _08081FF4 - adds r1, r0, #0 - adds r1, #0x63 - movs r0, #0xfc - strb r0, [r1] - b _08081FF4 -_08081FA4: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #6 - bne _08081FF4 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - adds r6, r4, #0 - adds r6, #0x74 - ldrh r1, [r6] - adds r5, r4, #0 - adds r5, #0x38 - ldrb r2, [r5] - adds r0, r7, #0 - bl sub_0807B314 - adds r0, r4, #0 - bl sub_08081F24 - movs r0, #0x86 - lsls r0, r0, #1 - bl sub_080A3268 - adds r2, r4, #0 - adds r2, #0x70 - ldrh r1, [r2] - ldr r0, _08081FF0 @ =0x0000FFFF - cmp r1, r0 - beq _08081FEC - adds r0, r1, #0 - ldrh r1, [r6] - ldrb r2, [r5] - bl sub_0800015E -_08081FEC: - movs r0, #0 - b _08081FF6 - .align 2, 0 -_08081FF0: .4byte 0x0000FFFF -_08081FF4: - movs r0, #1 -_08081FF6: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08081FF8 -sub_08081FF8: @ 0x08081FF8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x54] - ldr r0, _08082038 @ =gUnk_03001160 - cmp r1, r0 - bne _08082036 - adds r0, r1, #0 - adds r1, r4, #0 - bl sub_080045C4 - adds r6, r0, #0 - ldr r0, [r4, #0x54] - movs r1, #0x80 - lsls r1, r1, #2 - adds r2, r6, #0 - bl sub_080044AE - movs r5, #0 - ldr r4, _0808203C @ =gUnk_03004040 -_0808201E: - ldr r0, [r4] - cmp r0, #0 - beq _0808202E - movs r1, #0x80 - lsls r1, r1, #2 - adds r2, r6, #0 - bl sub_080044AE -_0808202E: - adds r4, #4 - adds r5, #1 - cmp r5, #2 - bls _0808201E -_08082036: - pop {r4, r5, r6, pc} - .align 2, 0 -_08082038: .4byte gUnk_03001160 -_0808203C: .4byte gUnk_03004040 - - thumb_func_start sub_08082040 -sub_08082040: @ 0x08082040 - push {lr} - ldr r2, _08082054 @ =gUnk_0811EE5C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08082054: .4byte gUnk_0811EE5C - - thumb_func_start sub_08082058 -sub_08082058: @ 0x08082058 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4, #0x11] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 - adds r0, r4, #0 - bl sub_08082098 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08082098 -sub_08082098: @ 0x08082098 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r0, _08082100 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080820AC - bl sub_0805E780 -_080820AC: - ldr r5, _08082104 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_08079BD8 - ldrb r1, [r4, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r1, [r5, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r1, [r5, #0x14] - movs r0, #0xe - ands r0, r1 - strb r0, [r4, #0x14] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r5, #0x14] - lsrs r3, r0, #1 - adds r7, r3, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0x14 - beq _08082122 - cmp r0, #0x14 - bgt _08082108 - cmp r0, #0xa - beq _0808212A - b _0808212E - .align 2, 0 -_08082100: .4byte gUnk_03003F80 -_08082104: .4byte gUnk_03001160 -_08082108: - cmp r0, #0x16 - beq _08082112 - cmp r0, #0x18 - beq _08082126 - b _0808212E -_08082112: - ldrb r0, [r4, #0x14] - movs r3, #0xd - adds r5, r4, #0 - adds r5, #0x58 - cmp r0, #2 - bne _080821F2 - movs r3, #0xe - b _080821F2 -_08082122: - movs r3, #0xc - b _080821EE -_08082126: - adds r3, #0xf - b _080821EE -_0808212A: - movs r3, #0x13 - b _080821EE -_0808212E: - adds r0, r5, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - beq _0808213E - adds r3, r7, #0 - adds r3, #8 - b _080821EE -_0808213E: - ldr r2, _0808215C @ =gUnk_03003F80 - ldrb r1, [r2, #2] - adds r6, r1, #0 - cmp r6, #0 - beq _08082160 - movs r0, #0x10 - ands r0, r1 - adds r5, r4, #0 - adds r5, #0x58 - cmp r0, #0 - bne _080821F2 - adds r3, r7, #0 - adds r3, #0x19 - b _080821F2 - .align 2, 0 -_0808215C: .4byte gUnk_03003F80 -_08082160: - adds r0, r2, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #1 - beq _0808216E - cmp r0, #0x19 - bne _080821C8 -_0808216E: - adds r3, r7, #4 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, r3 - beq _08082180 - str r6, [r4, #0x34] - b _080821BA -_08082180: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r7, #0xff - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080821F2 - adds r2, r4, #0 - adds r2, #0x63 - movs r1, #0 - ldrsb r1, [r2, r1] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _080821C0 - cmp r1, r0 - bgt _080821AC - subs r0, #1 - cmp r1, r0 - beq _080821B4 - b _080821F2 -_080821AC: - cmp r1, #0 - bne _080821F2 - movs r0, #0xfe - b _080821B8 -_080821B4: - ldrb r0, [r2] - orrs r0, r7 -_080821B8: - strb r0, [r2] -_080821BA: - movs r0, #6 - strb r0, [r4, #0xe] - b _080821F2 -_080821C0: - strb r6, [r2] - movs r0, #3 - strb r0, [r4, #0xe] - b _080821F2 -_080821C8: - adds r0, r2, #0 - adds r0, #0x26 - ldrb r2, [r0] - adds r1, r2, #0 - cmp r1, #0 - beq _080821E8 - movs r0, #0x80 - ands r0, r2 - adds r3, r7, #0 - adds r3, #0x14 - adds r5, r4, #0 - adds r5, #0x58 - cmp r0, #0 - beq _080821F2 - movs r3, #0x18 - b _080821F2 -_080821E8: - adds r0, r4, #0 - adds r0, #0x63 - strb r1, [r0] -_080821EE: - adds r5, r4, #0 - adds r5, #0x58 -_080821F2: - ldrb r0, [r5] - cmp r0, r3 - beq _08082202 - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_080042AC - b _08082208 -_08082202: - adds r0, r4, #0 - bl sub_080042B8 -_08082208: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0808220C -sub_0808220C: @ 0x0808220C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08082228 @ =gUnk_0811F090 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r4, #0x41 - movs r0, #0 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08082228: .4byte gUnk_0811F090 - - thumb_func_start sub_0808222C -sub_0808222C: @ 0x0808222C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _0808224C - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808224C - bl sub_0805E780 -_0808224C: - movs r2, #1 - strb r2, [r4, #0xc] - ldr r0, _08082308 @ =gUnk_080FD338 - str r0, [r4, #0x48] - movs r1, #0 - movs r0, #0x80 - strh r0, [r4, #0x24] - ldrh r0, [r4, #0x32] - adds r0, #3 - strh r0, [r4, #0x32] - strb r1, [r4, #0x16] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x45 - strb r2, [r0] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #3 - movs r0, #0x6e - strb r0, [r1] - subs r1, #4 - movs r0, #0x84 - strb r0, [r1] - movs r0, #0x12 - strb r0, [r4, #0x1c] - adds r5, r4, #0 - adds r5, #0x38 - ldrb r0, [r5] - cmp r0, #0 - bne _08082298 - adds r0, r4, #0 - bl sub_08016A30 -_08082298: - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r7, _0808230C @ =gUnk_03000BF0 - ldrh r1, [r7, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r6, #0x3f - ands r0, r6 - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r7, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r0, r1 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x70 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #7 - mov r8, r1 - cmp r0, r8 - bne _080822D6 - bl sub_0805E780 -_080822D6: - movs r2, #0x2e - ldrsh r1, [r4, r2] - ldrh r0, [r7, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r4, r2] - ldrh r2, [r7, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - ldrb r2, [r5] - mov r0, r8 - bl sub_0800015E - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08082308: .4byte gUnk_080FD338 -_0808230C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08082310 -sub_08082310: @ 0x08082310 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r6, #0x7f - adds r1, r6, #0 - ands r1, r0 - cmp r1, #0x13 - beq _08082342 - cmp r1, #0x1d - beq _0808234C - adds r0, r5, #0 - bl sub_080002A0 - adds r4, r0, #0 - movs r0, #0x80 - lsls r0, r0, #7 - cmp r4, r0 - bne _08082338 - b _080824F0 -_08082338: - adds r0, #1 - cmp r4, r0 - bhs _08082340 - b _08082484 -_08082340: - b _080823C4 -_08082342: - movs r1, #0 - movs r0, #3 - strb r0, [r5, #0xc] - strb r1, [r5, #0xd] - b _080824F6 -_0808234C: - adds r0, r5, #0 - adds r0, #0x70 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080823C0 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r7, #0x32 - ldrsh r2, [r5, r7] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - movs r1, #0 - movs r0, #5 - strb r0, [r5, #0xc] - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r5, #0x20] - adds r0, r5, #0 - adds r0, #0x63 - strb r1, [r0] - ldrb r1, [r5, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r5, #0x10] - adds r0, r6, #0 - ands r0, r1 - strb r0, [r5, #0x10] - adds r0, r5, #0 - bl sub_08082824 - b _080824F6 - .align 2, 0 -_080823C0: .4byte gUnk_03000BF0 -_080823C4: - ldr r0, _080823D4 @ =0x00004004 - cmp r4, r0 - bls _080823D8 - adds r0, #0x63 - cmp r4, r0 - beq _08082448 - b _08082484 - .align 2, 0 -_080823D4: .4byte 0x00004004 -_080823D8: - ldr r1, _08082438 @ =0xFFFFBFFF - adds r0, r4, r1 - lsls r0, r0, #3 - strb r0, [r5, #0x15] - movs r0, #0x20 - strb r0, [r5, #0xe] - movs r0, #4 - strb r0, [r5, #0xc] - ldr r0, _0808243C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08082400 - ldrh r0, [r5, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x11 - strh r0, [r5, #0x24] - movs r0, #0x40 - strb r0, [r5, #0xe] -_08082400: - adds r0, r5, #0 - adds r0, #0x70 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08082440 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldr r0, _08082444 @ =0x0000010F - bl sub_08004488 - b _080824F6 - .align 2, 0 -_08082438: .4byte 0xFFFFBFFF -_0808243C: .4byte gUnk_03003F80 -_08082440: .4byte gUnk_03000BF0 -_08082444: .4byte 0x0000010F -_08082448: - adds r0, r5, #0 - adds r0, #0x70 - ldrh r0, [r0] - movs r7, #0x2e - ldrsh r1, [r5, r7] - ldr r3, _08082480 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - bl sub_0805E780 - b _080824F6 - .align 2, 0 -_08082480: .4byte gUnk_03000BF0 -_08082484: - adds r0, r5, #0 - bl sub_080002B8 - cmp r0, #0xd - bne _0808249A - adds r0, r5, #0 - movs r1, #0 - movs r2, #0 - bl sub_080A29AC - b _080824D8 -_0808249A: - ldr r0, _080824E4 @ =0x00004005 - cmp r4, r0 - bne _080824D8 - ldr r0, _080824E8 @ =gUnk_03003F80 - adds r0, #0xab - movs r1, #4 - strb r1, [r0] - adds r0, r5, #0 - adds r0, #0x70 - ldrh r0, [r0] - movs r7, #0x2e - ldrsh r1, [r5, r7] - ldr r3, _080824EC @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_080824D8: - adds r0, r5, #0 - movs r1, #0 - bl sub_08082850 - b _080824F6 - .align 2, 0 -_080824E4: .4byte 0x00004005 -_080824E8: .4byte gUnk_03003F80 -_080824EC: .4byte gUnk_03000BF0 -_080824F0: - adds r0, r5, #0 - bl sub_08078930 -_080824F6: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080824F8 -sub_080824F8: @ 0x080824F8 - push {lr} - ldr r2, _0808250C @ =gUnk_0811F0A8 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808250C: .4byte gUnk_0811F0A8 - - thumb_func_start sub_08082510 -sub_08082510: @ 0x08082510 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0x10] - movs r0, #0x80 - movs r2, #0 - orrs r0, r1 - strb r0, [r5, #0x10] - ldr r0, _08082578 @ =gUnk_080FD340 - str r0, [r5, #0x48] - adds r1, r5, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #3 - movs r0, #1 - strb r0, [r1] - ldr r0, _0808257C @ =gUnk_03001160 - adds r0, #0x3b - ldrb r0, [r0] - subs r1, #4 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x63 - strb r2, [r0] - adds r0, #0xd - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08082580 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldrb r0, [r5, #0xd] - adds r0, #1 - strb r0, [r5, #0xd] - pop {r4, r5, r6, pc} - .align 2, 0 -_08082578: .4byte gUnk_080FD340 -_0808257C: .4byte gUnk_03001160 -_08082580: .4byte gUnk_03000BF0 - - thumb_func_start nullsub_511 -nullsub_511: @ 0x08082584 - bx lr - .align 2, 0 - - thumb_func_start sub_08082588 -sub_08082588: @ 0x08082588 - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #0x18 - orrs r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_0808259C -sub_0808259C: @ 0x0808259C - push {r4, lr} - adds r4, r0, #0 - bl sub_080043E8 - cmp r0, #2 - beq _080825B8 - cmp r0, #2 - bhi _080825B2 - cmp r0, #1 - beq _080825BE - b _080825D0 -_080825B2: - cmp r0, #3 - beq _080825C4 - b _080825D0 -_080825B8: - adds r0, r4, #0 - movs r1, #0xb - b _080825C8 -_080825BE: - adds r0, r4, #0 - movs r1, #0 - b _080825C8 -_080825C4: - adds r0, r4, #0 - movs r1, #0xc -_080825C8: - movs r2, #0 - bl sub_080A29AC - b _080825E0 -_080825D0: - ldr r1, _080825DC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_08082850 - b _080825E4 - .align 2, 0 -_080825DC: .4byte gUnk_03001160 -_080825E0: - bl sub_0805E780 -_080825E4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080825E8 -sub_080825E8: @ 0x080825E8 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_080825F0 -sub_080825F0: @ 0x080825F0 - push {lr} - adds r1, r0, #0 - ldr r0, _08082604 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _08082602 - adds r0, r1, #0 - bl sub_08082608 -_08082602: - pop {pc} - .align 2, 0 -_08082604: .4byte gUnk_03003F80 - - thumb_func_start sub_08082608 -sub_08082608: @ 0x08082608 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - strb r2, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_08082614 -sub_08082614: @ 0x08082614 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - bl sub_0800445C - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _08082638 - adds r0, r5, #0 - bl sub_0806F69C - adds r0, r5, #0 - bl sub_08016A6C - b _080826DC -_08082638: - adds r0, r5, #0 - bl sub_0800442E - cmp r0, #0 - bne _080826DC - movs r0, #1 - strb r0, [r5, #0xc] - ldr r0, _080826A4 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08082658 - ldrh r0, [r5, #0x24] - lsls r0, r0, #1 - strh r0, [r5, #0x24] -_08082658: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r2, _080826A8 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r4, #0x32 - ldrsh r1, [r5, r4] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r4, r5, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080001DA - adds r1, r5, #0 - adds r1, #0x70 - strh r0, [r1] - adds r0, r5, #0 - bl sub_080002A0 - adds r6, r4, #0 - cmp r0, #0x72 - bhi _080826AC - cmp r0, #0x71 - blo _080826AC - adds r0, r5, #0 - movs r1, #0 - bl sub_08082850 - b _080826DC - .align 2, 0 -_080826A4: .4byte gUnk_03003F80 -_080826A8: .4byte gUnk_03000BF0 -_080826AC: - movs r0, #0x80 - lsls r0, r0, #7 - movs r7, #0x2e - ldrsh r1, [r5, r7] - ldr r3, _080826E0 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r7, #0x32 - ldrsh r2, [r5, r7] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r6] - bl sub_0800015E - adds r0, r5, #0 - bl sub_08078930 -_080826DC: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080826E0: .4byte gUnk_03000BF0 - - thumb_func_start sub_080826E4 -sub_080826E4: @ 0x080826E4 - push {lr} - ldr r2, _080826F8 @ =gUnk_0811F0C4 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080826F8: .4byte gUnk_0811F0C4 - - thumb_func_start sub_080826FC -sub_080826FC: @ 0x080826FC - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x30 - strb r1, [r0, #0x1d] - strb r2, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_0808270C -sub_0808270C: @ 0x0808270C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r0, _08082768 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _0808272A - adds r0, r5, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _08082770 -_0808272A: - adds r1, r5, #0 - adds r1, #0x62 - movs r0, #0 - strb r0, [r1] - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0x80 - lsls r0, r0, #7 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0808276C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - b _08082776 - .align 2, 0 -_08082768: .4byte gUnk_03003F80 -_0808276C: .4byte gUnk_03000BF0 -_08082770: - adds r0, r5, #0 - bl sub_0806F4E8 -_08082776: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08082778 -sub_08082778: @ 0x08082778 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xe] - cmp r1, #0 - bne _080827C4 - movs r0, #1 - strb r0, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x62 - strb r1, [r0] - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #0xfe - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x70 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080827E8 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_080827C4: - ldr r0, _080827EC @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _080827DE - adds r0, r5, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _080827F0 -_080827DE: - adds r0, r5, #0 - movs r1, #0 - bl sub_08082850 - b _080827F6 - .align 2, 0 -_080827E8: .4byte gUnk_03000BF0 -_080827EC: .4byte gUnk_03003F80 -_080827F0: - adds r0, r5, #0 - bl sub_0806F3E4 -_080827F6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080827F8 -sub_080827F8: @ 0x080827F8 - push {lr} - adds r1, r0, #0 - ldr r0, _08082810 @ =gUnk_03003F80 - ldrb r0, [r0, #0x1c] - cmp r0, #0 - bne _0808280C - adds r0, r1, #0 - movs r1, #0 - bl sub_08082850 -_0808280C: - pop {pc} - .align 2, 0 -_08082810: .4byte gUnk_03003F80 - - thumb_func_start nullsub_512 -nullsub_512: @ 0x08082814 - bx lr - .align 2, 0 - - thumb_func_start sub_08082818 -sub_08082818: @ 0x08082818 - push {lr} - movs r1, #0 - bl sub_08082850 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08082824 -sub_08082824: @ 0x08082824 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _08082836 - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_08082836: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0808284C - adds r0, r4, #0 - movs r1, #0 - bl sub_08082850 -_0808284C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08082850 -sub_08082850: @ 0x08082850 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r1, [r4, #0xa] - adds r0, #0x7d - ldrb r2, [r0] - ldrb r3, [r4, #0xb] - adds r0, r4, #0 - bl sub_0808288C - adds r2, r0, #0 - adds r0, r4, #0 - movs r1, #5 - bl sub_080A29AC - cmp r0, #0 - beq _08082874 - str r5, [r0, #0x50] -_08082874: - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _08082884 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 -_08082884: - bl sub_0805E780 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808288C -sub_0808288C: @ 0x0808288C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - adds r4, r1, #0 - adds r5, r2, #0 - mov r8, r3 - movs r6, #0 - cmp r4, #0 - beq _080828A6 - cmp r4, #0xff - bne _080828AA - b _080828D6 -_080828A6: - movs r6, #0x80 - b _080828D6 -_080828AA: - adds r0, r7, #0 - movs r1, #0 - adds r2, r4, #0 - adds r3, r5, #0 - bl sub_080A2988 - adds r2, r0, #0 - cmp r2, #0 - beq _080828D6 - mov r0, r8 - cmp r0, #2 - bne _080828D4 - movs r0, #5 - strb r0, [r2, #0xe] - adds r0, r7, #0 - adds r0, #0x86 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x86 - strh r1, [r0] - b _080828D6 -_080828D4: - strb r6, [r2, #0xe] -_080828D6: - adds r0, r6, #0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080828E0 -sub_080828E0: @ 0x080828E0 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080828F8 - ldr r0, _080828F4 @ =gUnk_0811F15C - b _08082900 - .align 2, 0 -_080828F4: .4byte gUnk_0811F15C -_080828F8: - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _08082914 - ldr r0, _08082910 @ =gUnk_0811F14C -_08082900: - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _08082924 - .align 2, 0 -_08082910: .4byte gUnk_0811F14C -_08082914: - ldr r0, _08082928 @ =gUnk_0811F154 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_08082924: - pop {pc} - .align 2, 0 -_08082928: .4byte gUnk_0811F154 - - thumb_func_start sub_0808292C -sub_0808292C: @ 0x0808292C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x11] - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r3, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4, #0x11] - ldr r5, _080829C8 @ =gUnk_03001160 - ldrb r1, [r5, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - movs r0, #7 - ands r1, r0 - mov r0, ip - ldrb r2, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldrb r0, [r5, #0x1a] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - ldrb r1, [r4, #0x1a] - ands r3, r1 - orrs r3, r0 - strb r3, [r4, #0x1a] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r5, #0x14] - cmp r0, #2 - bne _080829A4 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_080829A4: - adds r0, r4, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080829CC - movs r0, #7 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #7 - bl sub_080042AC - movs r0, #0xf3 - bl sub_080A3268 - b _080829E2 - .align 2, 0 -_080829C8: .4byte gUnk_03001160 -_080829CC: - movs r0, #0 - strb r0, [r4, #0xe] - movs r0, #0xa - strb r0, [r4, #0xf] - ldrh r0, [r4, #0x32] - subs r0, #0xe - strh r0, [r4, #0x32] - adds r0, r4, #0 - movs r1, #0x14 - bl sub_080042AC -_080829E2: - pop {r4, r5, pc} - - thumb_func_start sub_080829E4 -sub_080829E4: @ 0x080829E4 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _08082A10 @ =gUnk_03001160 - ldrb r1, [r0, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - ldrb r2, [r5, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x1a] - ldr r3, _08082A14 @ =gUnk_02000050 - ldrb r0, [r3] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - bne _08082A18 - adds r0, r5, #0 - bl sub_0805E7BC - b _08082AB4 - .align 2, 0 -_08082A10: .4byte gUnk_03001160 -_08082A14: .4byte gUnk_02000050 -_08082A18: - cmp r1, #5 - beq _08082A9C - ldrb r1, [r3, #1] - adds r0, r1, #0 - cmp r0, #0xa - beq _08082A30 - cmp r0, #0 - beq _08082A30 - movs r0, #0xf - ands r0, r1 - cmp r0, #9 - bls _08082A4A -_08082A30: - adds r1, r5, #0 - adds r1, #0x58 - ldrb r2, [r5, #0xf] - movs r0, #3 - ldrb r1, [r1] - orrs r2, r0 - cmp r1, r2 - beq _08082A9C - adds r0, r5, #0 - adds r1, r2, #0 - bl sub_080042AC - b _08082AB4 -_08082A4A: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08082A78 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x90 - ands r0, r1 - cmp r0, #0 - beq _08082A9C - bl sub_08000E50 - ldr r4, _08082A74 @ =gUnk_0811F16C - movs r1, #9 - bl __modsi3 - adds r0, r0, r4 - ldrb r0, [r0] - strb r0, [r5, #0xf] - b _08082A8C - .align 2, 0 -_08082A74: .4byte gUnk_0811F16C -_08082A78: - adds r2, r5, #0 - adds r2, #0x58 - ldr r1, _08082A98 @ =gUnk_0811F16C - ldrb r0, [r3, #1] - adds r0, r0, r1 - ldrb r1, [r0] - ldrb r0, [r2] - cmp r0, r1 - beq _08082A9C - strb r1, [r5, #0xf] -_08082A8C: - ldrb r1, [r5, #0xf] - adds r0, r5, #0 - bl sub_080042AC - b _08082AB4 - .align 2, 0 -_08082A98: .4byte gUnk_0811F16C -_08082A9C: - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #7 - bls _08082AAA - movs r0, #1 - b _08082AAC -_08082AAA: - movs r0, #0 -_08082AAC: - strb r0, [r5, #0xe] - adds r0, r5, #0 - bl sub_080042B8 -_08082AB4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08082AB8 -sub_08082AB8: @ 0x08082AB8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08082B10 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r5, #0x80 - ands r0, r5 - cmp r0, #0 - beq _08082ACC - bl sub_0805E780 -_08082ACC: - adds r0, r4, #0 - bl sub_080042B8 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _08082B5C - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08082B98 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - movs r0, #0xa - strb r0, [r4, #0xf] - ldrb r0, [r4, #0xe] - subs r5, r0, #1 - adds r0, r4, #0 - movs r1, #0x79 - adds r2, r5, #0 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _08082B18 - cmp r5, #0 - bne _08082B14 - str r1, [r4, #0x50] - b _08082B18 - .align 2, 0 -_08082B10: .4byte gUnk_03003F80 -_08082B14: - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] -_08082B18: - ldrb r0, [r4, #0xe] - cmp r0, #6 - bne _08082B36 - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r1, [r4, #0x50] - movs r0, #1 - strb r0, [r1, #0xb] - adds r0, r4, #0 - movs r1, #0x1c - bl sub_080042AC - b _08082B98 -_08082B36: - ldr r1, _08082B58 @ =gUnk_0811F178 - ldrb r0, [r4, #0xe] - subs r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_080042AC - ldrb r0, [r4, #0xe] - cmp r0, #2 - bls _08082B98 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] - b _08082B98 - .align 2, 0 -_08082B58: .4byte gUnk_0811F178 -_08082B5C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _08082B98 - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0xe] - cmp r0, #0 - beq _08082B98 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0xe] - adds r1, #0x1b - adds r0, r4, #0 - bl sub_080042AC -_08082B98: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08082B9C -sub_08082B9C: @ 0x08082B9C - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r1, [r6, #0x11] - movs r2, #0x10 - rsbs r2, r2, #0 - adds r0, r2, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r6, #0x11] - ldr r5, _08082C34 @ =gUnk_03001160 - ldrb r0, [r5, #0x1a] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - ldrb r1, [r6, #0x1a] - ands r2, r1 - orrs r2, r0 - strb r2, [r6, #0x1a] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r6, #0 - adds r0, #0x38 - movs r4, #0 - strb r1, [r0] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r6, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r6, #0x18] - movs r0, #1 - strb r0, [r6, #0xc] - adds r0, r6, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 - adds r0, r6, #0 - movs r1, #0xc - bl sub_080042AC - adds r0, r6, #0 - adds r0, #0x82 - strh r4, [r0] - adds r4, r6, #0 - adds r4, #0x84 - ldr r1, [r4] - adds r0, r6, #0 - bl sub_0807DF74 - ldr r1, [r4] - adds r0, r6, #0 - bl sub_08082D20 - ldrb r0, [r5, #0x14] - cmp r0, #2 - bne _08082C2C - ldrb r0, [r6, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r6, #0x18] -_08082C2C: - adds r0, r6, #0 - bl sub_08082C5C - pop {r4, r5, r6, pc} - .align 2, 0 -_08082C34: .4byte gUnk_03001160 - - thumb_func_start sub_08082C38 -sub_08082C38: @ 0x08082C38 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x84 - ldr r1, [r4] - bl sub_0807DF74 - ldr r1, [r4] - adds r0, r5, #0 - bl sub_08082D20 - ldrb r0, [r5, #0xc] - cmp r0, #1 - bhi _08082C5A - adds r0, r5, #0 - bl sub_08082C5C -_08082C5A: - pop {r4, r5, pc} - - thumb_func_start sub_08082C5C -sub_08082C5C: @ 0x08082C5C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xd] - cmp r0, #4 - bhi _08082D0C - lsls r0, r0, #2 - ldr r1, _08082C70 @ =_08082C74 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08082C70: .4byte _08082C74 -_08082C74: @ jump table - .4byte _08082C88 @ case 0 - .4byte _08082C9C @ case 1 - .4byte _08082CB0 @ case 2 - .4byte _08082CE4 @ case 3 - .4byte _08082CF8 @ case 4 -_08082C88: - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x17 - beq _08082D0C - adds r0, r5, #0 - movs r1, #0x17 - bl sub_080042AC - b _08082D1C -_08082C9C: - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x18 - beq _08082D0C - adds r0, r5, #0 - movs r1, #0x18 - bl sub_080042AC - b _08082D1C -_08082CB0: - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08082D0C - bl sub_08000E50 - adds r4, r0, #0 - bl sub_08000E50 - adds r1, r0, #0 - ldr r2, _08082CE0 @ =gUnk_0811F18C - movs r0, #3 - ands r4, r0 - adds r4, r4, r2 - ands r1, r0 - ldrb r4, [r4] - adds r1, r1, r4 - adds r0, r5, #0 - bl sub_080042AC - b _08082D1C - .align 2, 0 -_08082CE0: .4byte gUnk_0811F18C -_08082CE4: - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x13 - beq _08082D0C - adds r0, r5, #0 - movs r1, #0x13 - bl sub_080042AC - b _08082D1C -_08082CF8: - adds r0, r5, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x1a - beq _08082D0C - adds r0, r5, #0 - movs r1, #0x1a - bl sub_080042AC - b _08082D1C -_08082D0C: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r5, #0 - bl sub_08003FC4 - adds r0, r5, #0 - bl sub_080042B8 -_08082D1C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08082D20 -sub_08082D20: @ 0x08082D20 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r3, r1, #0 - ldr r0, [r3, #8] - cmp r0, #0 - beq _08082E10 - movs r6, #0 - movs r5, #1 - movs r0, #4 - rsbs r0, r0, #0 - mov ip, r0 -_08082D36: - ldr r1, [r3, #8] - mvns r0, r1 - adds r2, r0, #1 - ands r2, r1 - eors r1, r2 - str r1, [r3, #8] - cmp r2, #0x80 - beq _08082DB4 - cmp r2, #0x80 - bhi _08082D66 - cmp r2, #4 - beq _08082D9E - cmp r2, #4 - bhi _08082D5C - cmp r2, #1 - beq _08082D96 - cmp r2, #2 - beq _08082D9A - b _08082E0A -_08082D5C: - cmp r2, #8 - beq _08082DA4 - cmp r2, #0x40 - beq _08082DDA - b _08082E0A -_08082D66: - movs r0, #0x80 - lsls r0, r0, #0xd - cmp r2, r0 - beq _08082DDE - cmp r2, r0 - bhi _08082D84 - movs r0, #0x80 - lsls r0, r0, #1 - cmp r2, r0 - beq _08082DAA - movs r0, #0x80 - lsls r0, r0, #0xa - cmp r2, r0 - beq _08082DC0 - b _08082E0A -_08082D84: - movs r0, #0x80 - lsls r0, r0, #0xe - cmp r2, r0 - beq _08082DE6 - movs r0, #0x80 - lsls r0, r0, #0xf - cmp r2, r0 - beq _08082DF2 - b _08082E0A -_08082D96: - strb r6, [r4, #0xd] - b _08082E0A -_08082D9A: - strb r5, [r4, #0xd] - b _08082E0A -_08082D9E: - movs r0, #2 - strb r0, [r4, #0xd] - b _08082E0A -_08082DA4: - movs r0, #3 - strb r0, [r4, #0xd] - b _08082E0A -_08082DAA: - ldrb r0, [r4, #0x18] - mov r1, ip - ands r0, r1 - strb r0, [r4, #0x18] - b _08082E0A -_08082DB4: - ldrb r0, [r4, #0x18] - mov r7, ip - ands r0, r7 - orrs r0, r5 - strb r0, [r4, #0x18] - b _08082E0A -_08082DC0: - ldrb r0, [r4, #0x18] - lsls r1, r0, #0x19 - lsrs r1, r1, #0x1f - eors r1, r5 - ands r1, r5 - lsls r1, r1, #6 - movs r7, #0x41 - rsbs r7, r7, #0 - adds r2, r7, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - b _08082E0A -_08082DDA: - bl sub_0805E780 -_08082DDE: - movs r0, #2 - strb r0, [r4, #0xc] - strb r6, [r4, #0xd] - b _08082E10 -_08082DE6: - movs r0, #4 - strb r0, [r4, #0xd] - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - b _08082E0A -_08082DF2: - movs r0, #3 - strb r0, [r4, #0xc] - strb r6, [r4, #0xd] - adds r1, r4, #0 - adds r1, #0x62 - movs r0, #4 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #0x1b - bl sub_080042AC - b _08082E10 -_08082E0A: - ldr r0, [r3, #8] - cmp r0, #0 - bne _08082D36 -_08082E10: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08082E14 -sub_08082E14: @ 0x08082E14 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x84 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_0807DF74 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _08082E38 - cmp r0, #1 - beq _08082E44 - b _08082E5E -_08082E38: - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _08082E5E - movs r0, #1 - strb r0, [r4, #0xd] - b _08082E5E -_08082E44: - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0xa - rsbs r0, r0, #0 - cmp r1, r0 - ble _08082E5E - ldr r0, _08082E68 @ =gUnk_02033280 - ldr r1, [r0] - movs r2, #2 - orrs r1, r2 - str r1, [r0] - bl sub_0805E780 -_08082E5E: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08082E68: .4byte gUnk_02033280 - - thumb_func_start sub_08082E6C -sub_08082E6C: @ 0x08082E6C - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08082E98 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x62 - strb r1, [r0] - adds r0, r4, #0 - movs r1, #0x17 - bl sub_080042AC -_08082E98: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08082E9C -sub_08082E9C: @ 0x08082E9C - push {lr} - ldr r2, _08082EB0 @ =gUnk_0811F624 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08082EB0: .4byte gUnk_0811F624 - - thumb_func_start sub_08082EB4 -sub_08082EB4: @ 0x08082EB4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, _08082EE0 @ =gUnk_03000BF0 - ldrb r1, [r0, #4] - adds r6, r0, #0 - cmp r1, #0x11 - bne _08082EF6 - adds r0, r4, #0 - bl sub_080AE068 - ldr r1, _08082EE4 @ =0x000001C1 - adds r0, r4, #0 - bl sub_080ADF80 - cmp r0, #0 - bne _08082EE8 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _0808308E - .align 2, 0 -_08082EE0: .4byte gUnk_03000BF0 -_08082EE4: .4byte 0x000001C1 -_08082EE8: - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] -_08082EF6: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x20 - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x88 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldrh r1, [r6, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r6, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - ldrb r1, [r4, #0xa] - lsls r1, r1, #3 - ldrh r0, [r4, #0x2e] - adds r0, r1, r0 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - adds r1, r1, r0 - strh r1, [r4, #0x32] - ldr r1, _08082F6C @ =gUnk_0811F64C - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r4, #0x48] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - bl sub_080002B0 - str r0, [r4, #0x68] - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _08082F7A - cmp r0, #1 - bgt _08082F70 - cmp r0, #0 - beq _08082F76 - b _08082FF0 - .align 2, 0 -_08082F6C: .4byte gUnk_0811F64C -_08082F70: - cmp r0, #2 - beq _08082F9A - b _08082FF0 -_08082F76: - adds r0, r5, #0 - b _08082FE8 -_08082F7A: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #1 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x40 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x41 - b _08082FE8 -_08082F9A: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #1 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #2 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x40 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x41 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x42 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x80 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x81 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x82 -_08082FE8: - adds r1, r4, #0 - bl sub_080832D8 - b _08083088 -_08082FF0: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #1 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #2 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #3 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x40 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x41 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x42 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x43 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x80 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x81 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x82 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0x83 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0xc0 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0xc1 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0xc2 - adds r1, r4, #0 - bl sub_080832D8 - adds r0, r5, #0 - adds r0, #0xc3 - adds r1, r4, #0 - bl sub_080832D8 -_08083088: - ldr r0, _08083090 @ =0x0000010F - bl sub_08004488 -_0808308E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08083090: .4byte 0x0000010F - - thumb_func_start sub_08083094 -sub_08083094: @ 0x08083094 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_0800445C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080830B4 - adds r0, r4, #0 - bl sub_080830B8 -_080830B4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080830B8 -sub_080830B8: @ 0x080830B8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov sb, r0 - ldrb r5, [r0, #0xa] - lsls r4, r5, #3 - movs r1, #0x2e - ldrsh r0, [r0, r1] - subs r0, r0, r4 - ldr r3, _080830FC @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r7, r0, #4 - movs r2, #0x3f - ands r7, r2 - mov r6, sb - movs r1, #0x32 - ldrsh r0, [r6, r1] - subs r0, r0, r4 - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r7, r0 - cmp r5, #1 - beq _08083128 - cmp r5, #1 - bgt _08083100 - cmp r5, #0 - beq _08083106 - b _080831EC - .align 2, 0 -_080830FC: .4byte gUnk_03000BF0 -_08083100: - cmp r5, #2 - beq _08083160 - b _080831EC -_08083106: - mov r0, sb - bl sub_0800442E - cmp r0, #0 - beq _08083112 - b _080832C0 -_08083112: - ldr r0, _08083124 @ =0x00000365 - mov r1, sb - adds r1, #0x38 - ldrb r2, [r1] - adds r1, r7, #0 - bl sub_0807B7D8 - b _080832BA - .align 2, 0 -_08083124: .4byte 0x00000365 -_08083128: - mov r2, sb - ldr r0, [r2, #0x68] - mov r4, sb - adds r4, #0x38 - ldrb r2, [r4] - adds r1, r7, #0 - bl sub_0807B7D8 - ldr r0, _08083158 @ =0x0000036F - adds r1, r7, #1 - ldrb r2, [r4] - bl sub_0807B7D8 - movs r0, #0xdc - lsls r0, r0, #2 - adds r1, r7, #0 - adds r1, #0x40 - ldrb r2, [r4] - bl sub_0807B7D8 - ldr r0, _0808315C @ =0x00000371 - adds r1, r7, #0 - adds r1, #0x41 - b _080831CA - .align 2, 0 -_08083158: .4byte 0x0000036F -_0808315C: .4byte 0x00000371 -_08083160: - mov r6, sb - ldr r0, [r6, #0x68] - mov r4, sb - adds r4, #0x38 - ldrb r2, [r4] - adds r1, r7, #0 - bl sub_0807B7D8 - ldr r0, _080831D4 @ =0x00000372 - adds r1, r7, #1 - ldrb r2, [r4] - bl sub_0807B7D8 - ldr r0, _080831D8 @ =0x0000036F - adds r1, r7, #2 - ldrb r2, [r4] - bl sub_0807B7D8 - movs r0, #0xdd - lsls r0, r0, #2 - adds r1, r7, #0 - adds r1, #0x40 - ldrb r2, [r4] - bl sub_0807B7D8 - ldr r0, _080831DC @ =0x00000376 - adds r1, r7, #0 - adds r1, #0x41 - ldrb r2, [r4] - bl sub_0807B7D8 - ldr r0, _080831E0 @ =0x00000375 - adds r1, r7, #0 - adds r1, #0x42 - ldrb r2, [r4] - bl sub_0807B7D8 - movs r0, #0xdc - lsls r0, r0, #2 - adds r1, r7, #0 - adds r1, #0x80 - ldrb r2, [r4] - bl sub_0807B7D8 - ldr r0, _080831E4 @ =0x00000373 - adds r1, r7, #0 - adds r1, #0x81 - ldrb r2, [r4] - bl sub_0807B7D8 - ldr r0, _080831E8 @ =0x00000371 - adds r1, r7, #0 - adds r1, #0x82 -_080831CA: - ldrb r2, [r4] - bl sub_0807B7D8 - b _080832BA - .align 2, 0 -_080831D4: .4byte 0x00000372 -_080831D8: .4byte 0x0000036F -_080831DC: .4byte 0x00000376 -_080831E0: .4byte 0x00000375 -_080831E4: .4byte 0x00000373 -_080831E8: .4byte 0x00000371 -_080831EC: - mov r1, sb - ldr r0, [r1, #0x68] - mov r4, sb - adds r4, #0x38 - ldrb r2, [r4] - adds r1, r7, #0 - bl sub_0807B7D8 - ldr r5, _080832C8 @ =0x00000372 - adds r1, r7, #1 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0807B7D8 - adds r1, r7, #2 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0807B7D8 - ldr r0, _080832CC @ =0x0000036F - adds r1, r7, #3 - ldrb r2, [r4] - bl sub_0807B7D8 - movs r2, #0xdd - lsls r2, r2, #2 - mov r8, r2 - adds r1, r7, #0 - adds r1, #0x40 - ldrb r2, [r4] - mov r0, r8 - bl sub_0807B7D8 - adds r5, #4 - adds r1, r7, #0 - adds r1, #0x41 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0807B7D8 - adds r1, r7, #0 - adds r1, #0x42 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0807B7D8 - ldr r6, _080832D0 @ =0x00000375 - adds r1, r7, #0 - adds r1, #0x43 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0807B7D8 - adds r1, r7, #0 - adds r1, #0x80 - ldrb r2, [r4] - mov r0, r8 - bl sub_0807B7D8 - adds r1, r7, #0 - adds r1, #0x81 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0807B7D8 - adds r1, r7, #0 - adds r1, #0x82 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0807B7D8 - adds r1, r7, #0 - adds r1, #0x83 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0807B7D8 - movs r0, #0xdc - lsls r0, r0, #2 - adds r1, r7, #0 - adds r1, #0xc0 - ldrb r2, [r4] - bl sub_0807B7D8 - subs r5, #3 - adds r1, r7, #0 - adds r1, #0xc1 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0807B7D8 - adds r1, r7, #0 - adds r1, #0xc2 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0807B7D8 - ldr r0, _080832D4 @ =0x00000371 - adds r1, r7, #0 - adds r1, #0xc3 - ldrb r2, [r4] - bl sub_0807B7D8 -_080832BA: - mov r0, sb - bl sub_0805E7BC -_080832C0: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080832C8: .4byte 0x00000372 -_080832CC: .4byte 0x0000036F -_080832D0: .4byte 0x00000375 -_080832D4: .4byte 0x00000371 - - thumb_func_start sub_080832D8 -sub_080832D8: @ 0x080832D8 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - adds r2, #0x38 - ldrb r0, [r2] - cmp r0, #2 - beq _080832FC - ldrb r1, [r1, #0x15] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080832F6 - ldrb r2, [r2] - movs r0, #0x21 - b _0808330A -_080832F6: - ldrb r2, [r2] - movs r0, #0x20 - b _0808330A -_080832FC: - ldrb r1, [r1, #0x15] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08083312 - ldrb r2, [r2] - movs r0, #0x2f -_0808330A: - adds r1, r3, #0 - bl sub_0807B7D8 - b _0808331C -_08083312: - ldrb r2, [r2] - movs r0, #0x2e - adds r1, r3, #0 - bl sub_0807B7D8 -_0808331C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08083320 -sub_08083320: @ 0x08083320 - push {lr} - ldr r2, _08083334 @ =gUnk_0811F65C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08083334: .4byte gUnk_0811F65C - - thumb_func_start sub_08083338 -sub_08083338: @ 0x08083338 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x84 - ldrh r1, [r2] - ldr r0, _08083400 @ =0x0000FFFF - cmp r1, r0 - beq _08083356 - adds r0, r1, #0 - bl sub_0807CBE4 - cmp r0, #0 - beq _08083356 - bl sub_0805E780 -_08083356: - adds r0, r4, #0 - bl sub_080837B0 - cmp r0, #0 - bne _08083362 - b _080834B2 -_08083362: - ldrb r2, [r4, #0xa] - lsrs r0, r2, #2 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0xb] - movs r7, #3 - adds r0, r7, #0 - ands r0, r2 - strb r0, [r4, #0x1e] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x70 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - ldrb r1, [r4, #0xa] - adds r0, r7, #0 - ands r0, r1 - adds r6, r4, #0 - adds r6, #0x7e - strb r0, [r6] - ldr r0, _08083404 @ =gUnk_080FD170 - str r0, [r4, #0x48] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0xa] - movs r0, #0xf - ands r0, r1 - adds r1, r4, #0 - adds r1, #0x5a - strb r0, [r1] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08083408 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x76 - strh r1, [r5] - ldrh r0, [r5] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x74 - strh r0, [r1] - ldrb r0, [r4, #0xb] - cmp r0, #1 - beq _08083438 - cmp r0, #1 - bgt _0808340C - cmp r0, #0 - beq _08083412 - b _080834AE - .align 2, 0 -_08083400: .4byte 0x0000FFFF -_08083404: .4byte gUnk_080FD170 -_08083408: .4byte gUnk_03000BF0 -_0808340C: - cmp r0, #2 - beq _08083456 - b _080834AE -_08083412: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _0808342E - ldrb r1, [r4, #0xa] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0808344E - strb r7, [r4, #0xc] - b _080834B2 -_0808342E: - ldrb r1, [r4, #0xa] - movs r0, #0xef - ands r0, r1 - strb r0, [r4, #0xa] - b _08083446 -_08083438: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _0808344E -_08083446: - adds r0, r4, #0 - bl sub_08083638 - b _080834B2 -_0808344E: - adds r0, r4, #0 - bl sub_080836A0 - b _080834B2 -_08083456: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _080834A8 - ldrb r0, [r4, #0x1e] - movs r1, #4 - orrs r0, r1 - strb r0, [r4, #0x1e] - ldrb r1, [r6] - ldrh r2, [r5] - adds r0, r4, #0 - bl sub_080836DC - bl sub_08052660 - cmp r0, #0 - bne _08083484 - movs r0, #5 - strb r0, [r4, #0xc] - b _080834B2 -_08083484: - movs r0, #8 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_080787CC - ldr r1, _080834A4 @ =gUnk_0811F740 - ldrb r0, [r6] - adds r0, r0, r1 - ldrb r2, [r0] - adds r0, r4, #0 - movs r1, #0 - movs r3, #0 - bl sub_08078850 - b _080834B2 - .align 2, 0 -_080834A4: .4byte gUnk_0811F740 -_080834A8: - bl sub_0805E780 - b _080834B2 -_080834AE: - bl sub_0805E780 -_080834B2: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080834B4 -sub_080834B4: @ 0x080834B4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080834E6 - movs r0, #2 - strb r0, [r2, #0xc] - movs r0, #7 - strb r0, [r2, #0xe] - adds r0, r2, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r2, #0 - adds r1, #0x76 - ldrh r1, [r1] - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldr r0, _080834E8 @ =0x0000010B - bl sub_08004488 -_080834E6: - pop {pc} - .align 2, 0 -_080834E8: .4byte 0x0000010B - - thumb_func_start sub_080834EC -sub_080834EC: @ 0x080834EC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08083516 - ldrb r1, [r4, #0xa] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08083512 - adds r0, r4, #0 - bl sub_08083638 - b _08083516 -_08083512: - bl sub_0805E780 -_08083516: - pop {r4, pc} - - thumb_func_start sub_08083518 -sub_08083518: @ 0x08083518 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x7e - ldrb r1, [r5] - bl sub_08083734 - cmp r0, #0 - beq _0808353C - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r5] - adds r0, r4, #0 - adds r0, #0x76 - ldrh r2, [r0] - adds r0, r4, #0 - bl sub_080836DC -_0808353C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08083540 -sub_08083540: @ 0x08083540 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808358C - ldrb r1, [r4, #0xa] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08083566 - movs r0, #0xef - ands r0, r1 - strb r0, [r4, #0xa] - b _0808356E -_08083566: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08083576 -_0808356E: - adds r0, r4, #0 - bl sub_080836A0 - b _0808357A -_08083576: - movs r0, #5 - strb r0, [r4, #0xc] -_0808357A: - adds r0, r4, #0 - adds r0, #0x7e - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08083814 - ldr r0, _08083590 @ =0x0000010B - bl sub_08004488 -_0808358C: - pop {r4, pc} - .align 2, 0 -_08083590: .4byte 0x0000010B - - thumb_func_start nullsub_513 -nullsub_513: @ 0x08083594 - bx lr - .align 2, 0 - - thumb_func_start sub_08083598 -sub_08083598: @ 0x08083598 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080835B2 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080835C6 - b _080835C0 -_080835B2: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _080835C6 -_080835C0: - adds r0, r4, #0 - bl sub_08083658 -_080835C6: - pop {r4, pc} - - thumb_func_start sub_080835C8 -sub_080835C8: @ 0x080835C8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080835E2 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _080835F4 - b _080835F0 -_080835E2: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080835F4 -_080835F0: - movs r0, #3 - strb r0, [r4, #0xc] -_080835F4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080835F8 -sub_080835F8: @ 0x080835F8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _08083616 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08083636 -_08083616: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x14 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08083658 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - movs r0, #1 - rsbs r0, r0, #0 - bl sub_080526F8 -_08083636: - pop {r4, pc} - - thumb_func_start sub_08083638 -sub_08083638: @ 0x08083638 - adds r2, r0, #0 - movs r0, #7 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - subs r0, #0xb - ands r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - adds r0, #0x70 - ldrh r0, [r0] - strh r0, [r2, #0x2e] - adds r0, r2, #0 - adds r0, #0x72 - ldrh r0, [r0] - strh r0, [r2, #0x32] - bx lr - - thumb_func_start sub_08083658 -sub_08083658: @ 0x08083658 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x14 - strb r1, [r0, #0xe] - adds r2, r0, #0 - adds r2, #0x7e - ldrb r1, [r2] - lsls r1, r1, #3 - strb r1, [r0, #0x15] - ldrb r2, [r2] - lsls r2, r2, #1 - ldr r1, _08083698 @ =gUnk_0811F680 - adds r2, r2, r1 - movs r1, #0 - ldrsb r1, [r2, r1] - ldrh r3, [r0, #0x2e] - adds r1, r1, r3 - strh r1, [r0, #0x2e] - movs r1, #1 - ldrsb r1, [r2, r1] - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] - movs r1, #0x3c - bl sub_0805E4E0 - ldr r0, _0808369C @ =0x0000010B - bl sub_080A3268 - pop {pc} - .align 2, 0 -_08083698: .4byte gUnk_0811F680 -_0808369C: .4byte 0x0000010B - - thumb_func_start sub_080836A0 -sub_080836A0: @ 0x080836A0 - push {lr} - adds r2, r0, #0 - movs r0, #6 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - subs r0, #0xa - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - adds r0, #0x70 - ldrh r0, [r0] - strh r0, [r2, #0x2e] - adds r0, r2, #0 - adds r0, #0x72 - ldrh r0, [r0] - strh r0, [r2, #0x32] - ldr r0, _080836D8 @ =0x00004022 - adds r1, r2, #0 - adds r1, #0x76 - ldrh r1, [r1] - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - pop {pc} - .align 2, 0 -_080836D8: .4byte 0x00004022 - - thumb_func_start sub_080836DC -sub_080836DC: @ 0x080836DC - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r1, r2, #0 - ldr r0, _0808372C @ =0x00004022 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - movs r0, #7 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x18] - subs r0, #0xb - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - lsls r0, r4, #3 - movs r1, #0x10 - eors r0, r1 - strb r0, [r5, #0x15] - lsls r4, r4, #1 - ldr r0, _08083730 @ =gUnk_0811F688 - adds r4, r4, r0 - ldrb r0, [r5, #0xb] - cmp r0, #2 - beq _08083728 - movs r0, #0 - ldrsb r0, [r4, r0] - ldrh r1, [r5, #0x2e] - adds r0, r0, r1 - strh r0, [r5, #0x2e] - movs r0, #1 - ldrsb r0, [r4, r0] - ldrh r1, [r5, #0x32] - adds r0, r0, r1 - strh r0, [r5, #0x32] -_08083728: - pop {r4, r5, pc} - .align 2, 0 -_0808372C: .4byte 0x00004022 -_08083730: .4byte gUnk_0811F688 - - thumb_func_start sub_08083734 -sub_08083734: @ 0x08083734 - push {lr} - adds r2, r0, #0 - cmp r1, #1 - beq _08083760 - cmp r1, #1 - blo _0808374A - cmp r1, #2 - beq _08083774 - cmp r1, #3 - beq _08083790 - b _080837AC -_0808374A: - adds r0, r2, #0 - adds r0, #0x72 - ldrh r1, [r0] - ldr r0, _0808375C @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r0, [r0, r2] - subs r0, #0xd - b _0808379E - .align 2, 0 -_0808375C: .4byte gUnk_03001160 -_08083760: - ldr r0, _08083770 @ =gUnk_03001160 - movs r1, #0x2e - ldrsh r0, [r0, r1] - adds r0, #0xb - adds r1, r2, #0 - adds r1, #0x70 - b _08083780 - .align 2, 0 -_08083770: .4byte gUnk_03001160 -_08083774: - ldr r0, _0808378C @ =gUnk_03001160 - movs r1, #0x32 - ldrsh r0, [r0, r1] - adds r0, #8 - adds r1, r2, #0 - adds r1, #0x72 -_08083780: - ldrh r1, [r1] - subs r0, r0, r1 - cmp r0, #0 - bge _080837AC - movs r0, #1 - b _080837AE - .align 2, 0 -_0808378C: .4byte gUnk_03001160 -_08083790: - adds r0, r2, #0 - adds r0, #0x70 - ldrh r1, [r0] - ldr r0, _080837A8 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r0, [r0, r2] - subs r0, #0xa -_0808379E: - subs r1, r1, r0 - cmp r1, #0 - bge _080837AC - movs r0, #1 - b _080837AE - .align 2, 0 -_080837A8: .4byte gUnk_03001160 -_080837AC: - movs r0, #0 -_080837AE: - pop {pc} - - thumb_func_start sub_080837B0 -sub_080837B0: @ 0x080837B0 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _080837C8 @ =gUnk_03000BF0 - ldrb r2, [r0, #4] - cmp r2, #0x3f - bhi _080837DC - cmp r2, #0x25 - beq _080837CC - cmp r2, #0x35 - beq _080837D4 - movs r5, #0xa - b _080837E8 - .align 2, 0 -_080837C8: .4byte gUnk_03000BF0 -_080837CC: - ldr r5, _080837D0 @ =0x000001E7 - b _080837E8 - .align 2, 0 -_080837D0: .4byte 0x000001E7 -_080837D4: - ldr r5, _080837D8 @ =0x000001C3 - b _080837E8 - .align 2, 0 -_080837D8: .4byte 0x000001C3 -_080837DC: - ldr r1, _080837F8 @ =gUnk_0811F690 - adds r0, r2, #0 - subs r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r5, [r0] -_080837E8: - cmp r2, #0x68 - bne _080837FC - adds r0, r4, #0 - movs r1, #0 - bl sub_0801D2B4 - b _08083808 - .align 2, 0 -_080837F8: .4byte gUnk_0811F690 -_080837FC: - cmp r2, #0x88 - bne _08083808 - adds r0, r4, #0 - movs r1, #1 - bl sub_0801D2B4 -_08083808: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080ADF80 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08083814 -sub_08083814: @ 0x08083814 - push {r4, r5, lr} - adds r5, r0, #0 - lsls r1, r1, #2 - ldr r0, _08083868 @ =gUnk_0811F730 - adds r4, r1, r0 - adds r0, r5, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08083842 - movs r0, #0 - ldrsb r0, [r4, r0] - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r4, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] -_08083842: - adds r0, r5, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _08083866 - movs r0, #2 - ldrsb r0, [r4, r0] - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - movs r0, #3 - ldrsb r0, [r4, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] -_08083866: - pop {r4, r5, pc} - .align 2, 0 -_08083868: .4byte gUnk_0811F730 - - thumb_func_start sub_0808386C -sub_0808386C: @ 0x0808386C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080838C8 @ =gUnk_03003F80 - adds r0, #0x27 - ldrb r1, [r0] - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r2, r0, #0x1f - ldr r0, _080838CC @ =gUnk_02022740 - ldrb r0, [r0] - cmp r0, #2 - bgt _08083894 - cmp r0, #0 - blt _08083894 - ldr r0, _080838D0 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _080838AC -_08083894: - ldr r0, _080838D4 @ =gUnk_03003DF0 - ldr r0, [r0, #4] - ldrb r0, [r0, #3] - cmp r0, #0x32 - bne _080838AA - movs r0, #0x32 - bl sub_0801E7F4 - movs r2, #0 - cmp r0, #0 - beq _080838AC -_080838AA: - movs r2, #1 -_080838AC: - cmp r2, #0 - beq _080838B6 - adds r0, r4, #0 - bl sub_080838DC -_080838B6: - ldr r0, _080838D8 @ =gUnk_0811F754 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080838C8: .4byte gUnk_03003F80 -_080838CC: .4byte gUnk_02022740 -_080838D0: .4byte gUnk_02000050 -_080838D4: .4byte gUnk_03003DF0 -_080838D8: .4byte gUnk_0811F754 - - thumb_func_start sub_080838DC -sub_080838DC: @ 0x080838DC - ldrb r2, [r0, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r0, #0x18] - ldrb r2, [r0, #0x1b] - movs r3, #0x3f - adds r1, r3, #0 - ands r1, r2 - movs r2, #0x40 - orrs r1, r2 - strb r1, [r0, #0x1b] - ldrb r1, [r0, #0x19] - ands r3, r1 - strb r3, [r0, #0x19] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r2 - strb r1, [r3] - movs r2, #0 - movs r1, #4 - strb r1, [r0, #0xe] - str r2, [r0, #0x54] - strb r2, [r0, #0xc] - bx lr - - thumb_func_start sub_08083914 -sub_08083914: @ 0x08083914 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #1 - beq _08083942 - adds r0, r4, #0 - movs r1, #1 - movs r2, #1 - bl sub_080AE008 - adds r0, r4, #0 - adds r0, #0x60 - ldrh r1, [r0] - subs r1, #0x10 - strh r1, [r0] - ldr r1, _08083958 @ =0x01027820 - movs r0, #1 - bl sub_080ADDD8 - adds r0, r4, #0 - bl sub_080838DC -_08083942: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - pop {r4, pc} - .align 2, 0 -_08083958: .4byte 0x01027820 - - thumb_func_start sub_0808395C -sub_0808395C: @ 0x0808395C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _0808396C - subs r0, #1 - strb r0, [r2, #0xe] - b _08083992 -_0808396C: - ldr r3, _08083994 @ =gUnk_03003DF0 - ldr r0, [r3, #4] - ldr r1, [r0, #8] - cmp r1, #0 - beq _08083992 - ldrb r0, [r0, #3] - subs r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x63 - bhi _08083992 - str r1, [r2, #0x54] - ldrb r0, [r3, #3] - adds r1, r2, #0 - adds r1, #0x39 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08083A40 -_08083992: - pop {pc} - .align 2, 0 -_08083994: .4byte gUnk_03003DF0 - - thumb_func_start sub_08083998 -sub_08083998: @ 0x08083998 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _080839C8 - ldr r0, _080839C4 @ =gUnk_03003DF0 - ldr r2, [r0, #4] - ldrb r0, [r2, #3] - subs r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x63 - bhi _080839BA - ldr r1, [r4, #0x54] - ldr r0, [r2, #8] - cmp r1, r0 - beq _080839C8 -_080839BA: - adds r0, r4, #0 - bl sub_080838DC - b _08083A32 - .align 2, 0 -_080839C4: .4byte gUnk_03003DF0 -_080839C8: - ldr r1, [r4, #0x54] - ldr r0, [r1, #0x2c] - str r0, [r4, #0x2c] - ldr r0, [r1, #0x30] - str r0, [r4, #0x30] - ldr r0, [r1, #0x34] - str r0, [r4, #0x34] - adds r1, r4, #0 - adds r1, #0x5a - ldrb r0, [r1] - cmp r0, #1 - bne _08083A2C - movs r0, #0 - strb r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080839F8 - ldr r0, _080839F4 @ =gUnk_03003DF0 - ldr r0, [r0, #4] - ldrb r0, [r0, #3] - b _080839FA - .align 2, 0 -_080839F4: .4byte gUnk_03003DF0 -_080839F8: - ldrb r0, [r4, #0xb] -_080839FA: - lsls r0, r0, #3 - ldr r1, _08083A34 @ =gUnk_080C9CBC - adds r0, r0, r1 - ldrb r2, [r0, #6] - movs r1, #1 - ands r1, r2 - ldrb r3, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldr r0, _08083A38 @ =gUnk_0811F744 - lsls r2, r2, #2 - adds r2, r2, r0 - ldr r1, [r2] - lsrs r2, r1, #0x1f - ldr r0, _08083A3C @ =0x00FFFFFF - ands r1, r0 - orrs r1, r2 - adds r0, #1 - orrs r1, r0 - movs r0, #0 - bl sub_080ADDD8 -_08083A2C: - adds r0, r4, #0 - bl sub_08004274 -_08083A32: - pop {r4, pc} - .align 2, 0 -_08083A34: .4byte gUnk_080C9CBC -_08083A38: .4byte gUnk_0811F744 -_08083A3C: .4byte 0x00FFFFFF - - thumb_func_start sub_08083A40 -sub_08083A40: @ 0x08083A40 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #2 - strb r0, [r4, #0xc] - ldr r0, [r4, #0x54] - ldr r1, _08083A70 @ =gUnk_03001160 - movs r3, #0x2e - ldrsh r2, [r0, r3] - movs r3, #0x2e - ldrsh r0, [r1, r3] - cmp r2, r0 - ble _08083A74 - movs r1, #0 - adds r2, r4, #0 - adds r2, #0x62 - movs r0, #8 - b _08083A7C - .align 2, 0 -_08083A70: .4byte gUnk_03001160 -_08083A74: - movs r1, #1 - adds r2, r4, #0 - adds r2, #0x62 - movs r0, #0xf8 -_08083A7C: - strb r0, [r2] - adds r2, r4, #0 - adds r2, #0x63 - movs r0, #0xee - strb r0, [r2] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08083998 - pop {r4, pc} - - thumb_func_start sub_08083A94 -sub_08083A94: @ 0x08083A94 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - ldrb r0, [r6, #0xc] - cmp r0, #0 - bne _08083B24 - movs r0, #1 - mov r8, r0 - mov r2, r8 - strb r2, [r6, #0xc] - ldr r0, _08083B10 @ =gUnk_080FD170 - str r0, [r6, #0x48] - adds r7, r6, #0 - adds r7, #0x38 - ldrb r0, [r7] - movs r1, #0x34 - cmp r0, #1 - bne _08083ABC - movs r1, #0x26 -_08083ABC: - adds r4, r6, #0 - adds r4, #0x70 - strh r1, [r4] - adds r0, r6, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08083B1C - ldrh r0, [r4] - movs r3, #0x2e - ldrsh r1, [r6, r3] - ldr r5, _08083B14 @ =gUnk_03000BF0 - ldrh r2, [r5, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r7] - bl sub_0807B314 - ldrh r1, [r5] - mov r0, r8 - ands r0, r1 - cmp r0, #0 - beq _08083B08 - ldr r1, _08083B18 @ =gUnk_02000070 - movs r0, #0 - strb r0, [r1] -_08083B08: - bl sub_0805E780 - b _08083B7E - .align 2, 0 -_08083B10: .4byte gUnk_080FD170 -_08083B14: .4byte gUnk_03000BF0 -_08083B18: .4byte gUnk_02000070 -_08083B1C: - adds r0, r6, #0 - bl sub_080787CC - b _08083B7E -_08083B24: - adds r0, r6, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08083B7E - adds r0, r6, #0 - adds r0, #0x70 - ldrh r0, [r0] - movs r5, #0x2e - ldrsh r1, [r6, r5] - ldr r3, _08083B84 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r5, #0x32 - ldrsh r2, [r6, r5] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r6, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B314 - adds r0, r6, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - adds r0, r6, #0 - bl sub_080A29BC - movs r0, #1 - rsbs r0, r0, #0 - bl sub_080526F8 - bl sub_0805E780 -_08083B7E: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08083B84: .4byte gUnk_03000BF0 - - thumb_func_start sub_08083B88 -sub_08083B88: @ 0x08083B88 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08083BDC @ =gUnk_0811F7D8 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r0, [r4, #0x50] - adds r0, #0x5a - ldrb r1, [r0] - lsrs r1, r1, #6 - movs r0, #1 - ands r1, r0 - ldrb r2, [r4, #0x18] - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_08080CB4 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x1b] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r2, r0 - strb r2, [r4, #0x19] - pop {r4, pc} - .align 2, 0 -_08083BDC: .4byte gUnk_0811F7D8 - - thumb_func_start sub_08083BE0 -sub_08083BE0: @ 0x08083BE0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #6 - bl sub_0805E3A0 - movs r0, #1 - strb r0, [r4, #0xc] - pop {r4, pc} - - thumb_func_start sub_08083BF0 -sub_08083BF0: @ 0x08083BF0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0x41 - bne _08083C98 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #5 - bhi _08083C98 - lsls r0, r0, #2 - ldr r1, _08083C14 @ =_08083C18 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08083C14: .4byte _08083C18 -_08083C18: @ jump table - .4byte _08083C30 @ case 0 - .4byte _08083C30 @ case 1 - .4byte _08083C4A @ case 2 - .4byte _08083C98 @ case 3 - .4byte _08083C98 @ case 4 - .4byte _08083C74 @ case 5 -_08083C30: - ldrb r0, [r4, #0xa] - ldrb r1, [r4, #0xb] - bl sub_08053FF0 - adds r1, r4, #0 - adds r1, #0x68 - strh r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0x43 - bgt _08083C62 - cmp r0, #0x40 - bge _08083C98 - b _08083C62 -_08083C4A: - ldrb r0, [r4, #0xa] - ldrb r1, [r4, #0xb] - bl sub_08053FF0 - ldr r1, _08083C6C @ =gUnk_080FD964 - ldrb r0, [r4, #0xa] - lsls r0, r0, #3 - adds r0, r0, r1 - ldrh r1, [r0, #6] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] -_08083C62: - ldr r0, _08083C70 @ =0x00000109 - bl sub_080A3268 - b _08083C98 - .align 2, 0 -_08083C6C: .4byte gUnk_080FD964 -_08083C70: .4byte 0x00000109 -_08083C74: - ldrb r0, [r4, #0xa] - bl sub_0807CA84 - ldrb r1, [r4, #0xa] - lsls r1, r1, #3 - ldr r2, _08083C8C @ =gUnk_080FD5B4 - adds r1, r1, r2 - cmp r0, #0 - bne _08083C90 - ldrh r1, [r1, #4] - b _08083C92 - .align 2, 0 -_08083C8C: .4byte gUnk_080FD5B4 -_08083C90: - ldrh r1, [r1, #6] -_08083C92: - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] -_08083C98: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08083C9C -sub_08083C9C: @ 0x08083C9C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0x42 - bne _08083D22 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #5 - bhi _08083D22 - lsls r0, r0, #2 - ldr r1, _08083CC0 @ =_08083CC4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08083CC0: .4byte _08083CC4 -_08083CC4: @ jump table - .4byte _08083CDC @ case 0 - .4byte _08083D22 @ case 1 - .4byte _08083CDC @ case 2 - .4byte _08083D22 @ case 3 - .4byte _08083D22 @ case 4 - .4byte _08083CDC @ case 5 -_08083CDC: - adds r0, r4, #0 - adds r0, #0x68 - ldrh r1, [r0] - cmp r1, #0 - beq _08083D22 - ldrb r0, [r4, #0xa] - cmp r0, #0x3f - beq _08083D00 - cmp r0, #0x63 - bne _08083D16 - ldr r0, _08083CFC @ =gUnk_02002A40 - adds r0, #0xa9 - ldrb r0, [r0] - adds r1, r1, r0 - b _08083D16 - .align 2, 0 -_08083CFC: .4byte gUnk_02002A40 -_08083D00: - ldrb r0, [r4, #0xb] - cmp r0, #1 - bls _08083D16 - ldr r0, _08083D10 @ =0x00000577 - cmp r1, r0 - bne _08083D14 - subs r1, #1 - b _08083D16 - .align 2, 0 -_08083D10: .4byte 0x00000577 -_08083D14: - adds r1, #1 -_08083D16: - adds r0, r1, #0 - bl sub_08056378 - ldr r1, _08083D24 @ =gUnk_02000050 - ldrb r0, [r4, #0xb] - str r0, [r1, #0x10] -_08083D22: - pop {r4, pc} - .align 2, 0 -_08083D24: .4byte gUnk_02000050 - - thumb_func_start sub_08083D28 -sub_08083D28: @ 0x08083D28 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #8 - beq _08083DD4 - ldrb r0, [r4, #0xe] - cmp r0, #5 - bhi _08083DD0 - lsls r0, r0, #2 - ldr r1, _08083D44 @ =_08083D48 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08083D44: .4byte _08083D48 -_08083D48: @ jump table - .4byte _08083D60 @ case 0 - .4byte _08083D60 @ case 1 - .4byte _08083D60 @ case 2 - .4byte _08083DAC @ case 3 - .4byte _08083DD0 @ case 4 - .4byte _08083DD0 @ case 5 -_08083D60: - ldrb r0, [r4, #0xa] - cmp r0, #0x62 - beq _08083D88 - cmp r0, #0x63 - bne _08083DD0 - movs r0, #0xa0 - bl sub_080526A0 - ldr r0, _08083DA8 @ =gUnk_02002A40 - adds r1, r0, #0 - adds r1, #0xa9 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #3 - bls _08083DD0 - movs r0, #0 - strb r0, [r1] -_08083D88: - ldr r0, _08083DA8 @ =gUnk_02002A40 - adds r1, r0, #0 - adds r1, #0xab - ldrb r0, [r1] - adds r0, #8 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xa0 - bls _08083DA0 - movs r0, #0xa0 - strb r0, [r1] -_08083DA0: - movs r0, #0xa0 - bl sub_080526A0 - b _08083DD0 - .align 2, 0 -_08083DA8: .4byte gUnk_02002A40 -_08083DAC: - ldrb r0, [r4, #0xa] - bl sub_080544DC - adds r1, r0, #0 - cmp r1, #0 - beq _08083DC8 - ldr r0, _08083DC4 @ =gUnk_02002A40 - adds r0, r0, r1 - adds r0, #0xb5 - movs r1, #0x20 - strb r1, [r0] - b _08083DD0 - .align 2, 0 -_08083DC4: .4byte gUnk_02002A40 -_08083DC8: - ldrb r0, [r4, #0xa] - movs r1, #2 - bl sub_0807CAA0 -_08083DD0: - bl sub_0805E780 -_08083DD4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08083DD8 -sub_08083DD8: @ 0x08083DD8 - push {lr} - ldr r2, _08083DEC @ =gUnk_0811F7E8 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08083DEC: .4byte gUnk_0811F7E8 - - thumb_func_start sub_08083DF0 -sub_08083DF0: @ 0x08083DF0 - push {lr} - ldr r2, _08083E04 @ =gUnk_0811F808 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08083E04: .4byte gUnk_0811F808 - - thumb_func_start sub_08083E08 -sub_08083E08: @ 0x08083E08 - push {lr} - ldr r2, _08083E1C @ =gUnk_0811F818 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08083E1C: .4byte gUnk_0811F818 - - thumb_func_start sub_08083E20 -sub_08083E20: @ 0x08083E20 - push {r4, lr} - adds r4, r0, #0 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - bl sub_080842D8 - adds r0, r4, #0 - bl sub_08078828 - pop {r4, pc} - - thumb_func_start sub_08083E4C -sub_08083E4C: @ 0x08083E4C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08083E80 @ =gUnk_0811F8B0 - str r0, [r4, #0x48] - ldrb r0, [r4, #0xb] - bl sub_0807CBD0 - cmp r0, #0 - beq _08083E84 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_080842D8 - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _08083EAC - .align 2, 0 -_08083E80: .4byte gUnk_0811F8B0 -_08083E84: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _08083E98 - ldrb r0, [r4, #0xa] - cmp r0, #4 - bne _08083EA0 -_08083E98: - adds r0, r4, #0 - bl sub_08083E20 - b _08083EA4 -_08083EA0: - movs r0, #1 - strb r0, [r4, #0xc] -_08083EA4: - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08083EAC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08083EB0 -sub_08083EB0: @ 0x08083EB0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08083F0A - ldr r1, _08083F0C @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r3, #0 - movs r0, #0xf4 - lsls r0, r0, #4 - strh r0, [r2] - adds r1, #0x68 - adds r0, #0xc0 - strh r0, [r1] - ldr r1, _08083F10 @ =gUnk_02034490 - movs r2, #1 - movs r0, #1 - strb r0, [r1] - movs r0, #2 - strb r0, [r4, #0xc] - strb r3, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x18] - subs r0, #0x22 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - movs r1, #0x1e - bl sub_0805E4E0 - bl sub_0805BC4C -_08083F0A: - pop {r4, pc} - .align 2, 0 -_08083F0C: .4byte gUnk_03000F50 -_08083F10: .4byte gUnk_02034490 - - thumb_func_start sub_08083F14 -sub_08083F14: @ 0x08083F14 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x1e - bl sub_0805E510 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _08083F78 - cmp r0, #1 - beq _08083FA4 - adds r0, r4, #0 - bl sub_0800445C - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - movs r2, #2 - bl sub_080577AC - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08083FE6 - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - ands r2, r0 - ldr r3, _08083F74 @ =gUnk_03000F50 - movs r0, #0x10 - subs r0, r0, r2 - lsls r0, r0, #8 - movs r5, #0xff - lsls r5, r5, #8 - adds r1, r5, #0 - ands r0, r1 - orrs r0, r2 - adds r1, r3, #0 - adds r1, #0x68 - strh r0, [r1] - cmp r0, #0x10 - bne _08083FE6 - b _08083FCC - .align 2, 0 -_08083F74: .4byte gUnk_03000F50 -_08083F78: - ldr r5, _08083FA0 @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0x10 - movs r3, #8 - bl sub_080041A0 - cmp r0, #0 - beq _08083F98 - movs r0, #0x10 - movs r1, #0 - movs r2, #0 - bl sub_08078AC0 - movs r0, #0x10 - strb r0, [r5, #0x15] -_08083F98: - movs r0, #1 - strb r0, [r4, #0xd] - b _08083FE6 - .align 2, 0 -_08083FA0: .4byte gUnk_03001160 -_08083FA4: - ldrb r0, [r4, #0xa] - cmp r0, #5 - beq _08083FB2 - ldr r0, _08083FC8 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #1 - bne _08083FE6 -_08083FB2: - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #8 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - movs r0, #0xa5 - lsls r0, r0, #1 - bl sub_080A3268 - b _08083FE6 - .align 2, 0 -_08083FC8: .4byte gUnk_03001160 -_08083FCC: - ldr r1, _08083FE8 @ =gUnk_02034490 - movs r0, #0 - strb r0, [r1] - adds r1, r3, #0 - adds r1, #0x66 - movs r0, #0 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08083E20 - movs r0, #0x73 - bl sub_080A3268 -_08083FE6: - pop {r4, r5, pc} - .align 2, 0 -_08083FE8: .4byte gUnk_02034490 - - thumb_func_start sub_08083FEC -sub_08083FEC: @ 0x08083FEC - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0808401E - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_080788E0 - adds r0, r4, #0 - movs r1, #0x3c - bl sub_0805E4E0 - ldr r0, _08084020 @ =0x0000011B - bl sub_080A3268 -_0808401E: - pop {r4, pc} - .align 2, 0 -_08084020: .4byte 0x0000011B - - thumb_func_start sub_08084024 -sub_08084024: @ 0x08084024 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08084070 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808406A - ldrb r0, [r4, #0xe] - cmp r0, #0x18 - bne _08084060 - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0xf] - b _0808406A -_08084060: - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xb] - bl sub_08084074 -_0808406A: - ldrb r0, [r4, #0xb] - bl sub_0807CCB4 -_08084070: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08084074 -sub_08084074: @ 0x08084074 - push {r4, lr} - adds r4, r0, #0 - movs r0, #3 - bl sub_0804B128 - adds r1, r0, #0 - cmp r1, #0 - beq _080840A4 - b _0808409E -_08084086: - cmp r0, #3 - bne _0808409C - ldrb r0, [r1, #1] - cmp r4, r0 - bne _0808409C - ldrb r0, [r1, #2] - ldrb r1, [r1, #3] - movs r2, #0 - bl sub_080A7C00 - b _080840A4 -_0808409C: - adds r1, #8 -_0808409E: - ldrb r0, [r1] - cmp r0, #0 - bne _08084086 -_080840A4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080840A8 -sub_080840A8: @ 0x080840A8 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r7, r1, #0 - ldr r4, _0808413C @ =gUnk_0811F838 - bl sub_08000E50 - movs r1, #7 - ands r1, r0 - adds r1, r1, r4 - ldrb r1, [r1] - movs r0, #0 - movs r2, #0 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _08084138 - movs r0, #6 - strb r0, [r5, #0xe] - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - adds r0, #0xc - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x15] - bl sub_08000E50 - movs r1, #0xf - ands r1, r0 - lsls r1, r1, #1 - adds r1, #0x20 - strh r1, [r5, #0x24] - bl sub_08000E50 - ldr r1, _08084140 @ =gUnk_0811F840 - movs r4, #3 - ands r0, r4 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r5, #0x20] - bl sub_08000E50 - ldr r1, _08084144 @ =gUnk_0811F850 - ands r0, r4 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r0, r0, r6 - strh r0, [r5, #0x2e] - adds r0, r7, #1 - strh r0, [r5, #0x32] - ldr r0, _08084148 @ =0x0000FFF8 - strh r0, [r5, #0x36] - adds r0, r5, #0 - bl sub_08016A30 - adds r0, r5, #0 - movs r1, #0x11 - movs r2, #0 - bl sub_080A29AC - adds r5, r0, #0 - cmp r5, #0 - beq _08084138 - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_080A3268 -_08084138: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0808413C: .4byte gUnk_0811F838 -_08084140: .4byte gUnk_0811F840 -_08084144: .4byte gUnk_0811F850 -_08084148: .4byte 0x0000FFF8 - - thumb_func_start sub_0808414C -sub_0808414C: @ 0x0808414C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08084180 - movs r0, #8 - strb r0, [r1, #0xe] - ldrb r0, [r1, #0xf] - subs r0, #1 - strb r0, [r1, #0xf] - ands r0, r2 - cmp r0, #0 - beq _0808417C - movs r2, #0x2e - ldrsh r0, [r1, r2] - movs r2, #0x32 - ldrsh r1, [r1, r2] - bl sub_080840A8 - b _08084180 -_0808417C: - movs r0, #5 - strb r0, [r1, #0xc] -_08084180: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08084184 -sub_08084184: @ 0x08084184 - push {lr} - bl sub_0800445C - pop {pc} - - thumb_func_start nullsub_114 -nullsub_114: @ 0x0808418C - bx lr - .align 2, 0 - - thumb_func_start sub_08084190 -sub_08084190: @ 0x08084190 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08084204 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x70 - strh r1, [r5] - ldr r0, _08084208 @ =gUnk_0811F8A8 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_080002A0 - cmp r0, #0x74 - bne _080841D2 - bl sub_0805E780 -_080841D2: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08084200 - movs r0, #3 - strb r0, [r4, #0xc] - ldrh r1, [r5] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r2, [r0] - movs r0, #0x73 - bl sub_0807B7D8 - ldrb r1, [r4, #0xa] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08084200 - bl sub_0805E780 -_08084200: - pop {r4, r5, pc} - .align 2, 0 -_08084204: .4byte gUnk_03000BF0 -_08084208: .4byte gUnk_0811F8A8 - - thumb_func_start sub_0808420C -sub_0808420C: @ 0x0808420C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08084220 - movs r0, #2 - strb r0, [r4, #0xc] -_08084220: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08084224 -sub_08084224: @ 0x08084224 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x70 - ldrh r1, [r0] - subs r0, #0x38 - ldrb r2, [r0] - movs r0, #0x73 - bl sub_0807B7D8 - ldrb r0, [r4, #0xa] - cmp r0, #7 - bgt _0808424C - cmp r0, #6 - blt _0808424C - ldr r0, _08084248 @ =0x00000215 - bl sub_080A3268 - b _08084258 - .align 2, 0 -_08084248: .4byte 0x00000215 -_0808424C: - movs r0, #0x72 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_080A29BC -_08084258: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xe] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - ldrb r1, [r4, #0xa] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08084278 - bl sub_0805E780 -_08084278: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808427C -sub_0808427C: @ 0x0808427C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0808428A - cmp r0, #7 - bne _080842D4 -_0808428A: - adds r0, r4, #0 - bl sub_080002A0 - cmp r0, #0x74 - bne _0808429C - adds r0, r4, #0 - bl sub_0805E7BC - b _080842D4 -_0808429C: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _080842D4 - adds r1, r4, #0 - adds r1, #0x72 - ldrh r0, [r1] - cmp r0, #0 - beq _080842BA - subs r0, #1 - strh r0, [r1] - b _080842D4 -_080842BA: - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - adds r0, r4, #0 - bl sub_080A29BC -_080842D4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080842D8 -sub_080842D8: @ 0x080842D8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrh r2, [r5, #0x2e] - movs r1, #8 - adds r0, r1, #0 - ands r0, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - rsbs r0, r0, #0 - lsrs r2, r0, #0x1f - ldrh r0, [r5, #0x32] - ands r1, r0 - cmp r1, #0 - beq _080842F6 - adds r2, #2 -_080842F6: - ldr r1, _0808432C @ =gUnk_0811F898 - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08084330 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0801AF18 - pop {r4, r5, r6, pc} - .align 2, 0 -_0808432C: .4byte gUnk_0811F898 -_08084330: .4byte gUnk_03000BF0 - - thumb_func_start sub_08084334 -sub_08084334: @ 0x08084334 - push {lr} - ldr r2, _08084348 @ =gUnk_0811F908 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08084348: .4byte gUnk_0811F908 - - thumb_func_start sub_0808434C -sub_0808434C: @ 0x0808434C - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r2, #1 - movs r3, #1 - strb r3, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - adds r1, r5, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x3f - strb r3, [r0] - adds r1, #4 - movs r0, #0x47 - strb r0, [r1] - subs r1, #5 - movs r0, #2 - strb r0, [r1] - ldr r0, _080843E0 @ =gUnk_080FD188 - str r0, [r5, #0x48] - ldr r0, _080843E4 @ =0x00004050 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080843E8 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _080843C8 - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080843EC -_080843C8: - movs r0, #3 - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - adds r0, r5, #0 - movs r1, #1 - bl sub_08004260 - b _080843F4 - .align 2, 0 -_080843E0: .4byte gUnk_080FD188 -_080843E4: .4byte 0x00004050 -_080843E8: .4byte gUnk_03000BF0 -_080843EC: - ldrb r1, [r5, #0xa] - adds r0, r5, #0 - bl sub_08004260 -_080843F4: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080843F8 -sub_080843F8: @ 0x080843F8 - push {lr} - adds r2, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9c - bne _08084420 - movs r0, #2 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - adds r0, r2, #0 - movs r1, #0xd - movs r2, #0 - bl sub_080A29AC - ldr r0, _08084424 @ =0x0000010D - bl sub_08004488 -_08084420: - pop {pc} - .align 2, 0 -_08084424: .4byte 0x0000010D - - thumb_func_start sub_08084428 -sub_08084428: @ 0x08084428 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08084454 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - movs r0, #0x86 - lsls r0, r0, #1 - bl sub_08004488 -_08084454: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08084458 -sub_08084458: @ 0x08084458 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08084472 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x14 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08004168 - b _080844C2 -_08084472: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080844C2 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _080844C4 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x38 - ldrb r2, [r0] - movs r0, #0x35 - bl sub_0807B7D8 - adds r0, r4, #0 - movs r1, #0 - movs r2, #0x40 - bl sub_080A29AC - movs r0, #0x93 - lsls r0, r0, #1 - bl sub_080A3268 - bl sub_0805E780 -_080844C2: - pop {r4, r5, pc} - .align 2, 0 -_080844C4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080844C8 -sub_080844C8: @ 0x080844C8 - push {lr} - ldr r2, _080844DC @ =gUnk_0811FAC0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080844DC: .4byte gUnk_0811FAC0 - - thumb_func_start sub_080844E0 -sub_080844E0: @ 0x080844E0 - push {r4, r5, lr} - adds r5, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - adds r0, r5, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - bne _08084516 - adds r0, r5, #0 - bl sub_08016A30 -_08084516: - ldrb r0, [r5, #0xa] - cmp r0, #0x20 - bne _08084524 - ldrb r0, [r5, #0x10] - movs r1, #0x20 - orrs r0, r1 - strb r0, [r5, #0x10] -_08084524: - ldrb r4, [r5, #0xa] - cmp r4, #3 - bne _08084538 - bl sub_08000E50 - ldr r1, _080845AC @ =gUnk_0811FAC8 - ands r4, r0 - adds r1, r4, r1 - ldrb r0, [r1] - strb r0, [r5, #0xa] -_08084538: - ldrb r0, [r5, #0xa] - cmp r0, #0x17 - bne _0808454E - bl sub_08000E50 - ldr r2, _080845B0 @ =gUnk_0811FACC - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r5, #0xa] -_0808454E: - ldrb r1, [r5, #0xa] - adds r0, r5, #0 - bl sub_08004260 - ldrb r0, [r5, #0xa] - lsls r0, r0, #2 - ldr r1, _080845B4 @ =gUnk_0811F960 - adds r4, r0, r1 - ldrb r1, [r4] - movs r0, #0xf - ands r0, r1 - cmp r0, #6 - bne _0808456C - movs r0, #0x40 - strh r0, [r5, #0x24] -_0808456C: - ldrh r0, [r4, #2] - cmp r0, #0 - beq _08084582 - ldrb r1, [r5, #0xb] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - bne _08084582 - ldrh r0, [r4, #2] - bl sub_08004488 -_08084582: - ldrb r1, [r5, #0xb] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08084594 - ldrb r1, [r4, #1] - adds r0, r5, #0 - bl sub_0805457C -_08084594: - ldrb r1, [r5, #0xb] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080845AA - ldrb r0, [r5, #0x19] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r5, #0x19] -_080845AA: - pop {r4, r5, pc} - .align 2, 0 -_080845AC: .4byte gUnk_0811FAC8 -_080845B0: .4byte gUnk_0811FACC -_080845B4: .4byte gUnk_0811F960 - - thumb_func_start sub_080845B8 -sub_080845B8: @ 0x080845B8 - push {lr} - ldr r3, _080845D4 @ =gUnk_0811FAD0 - ldr r2, _080845D8 @ =gUnk_0811F960 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldrb r1, [r1] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1a - adds r1, r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080845D4: .4byte gUnk_0811FAD0 -_080845D8: .4byte gUnk_0811F960 - - thumb_func_start sub_080845DC -sub_080845DC: @ 0x080845DC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080845F4 - bl sub_0805E780 -_080845F4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080845F8 -sub_080845F8: @ 0x080845F8 - push {r4, lr} - adds r4, r0, #0 - ldrh r2, [r4, #0x2e] - movs r1, #0xf - adds r0, r1, #0 - ands r0, r2 - movs r2, #8 - subs r3, r2, r0 - ldrh r0, [r4, #0x32] - ands r1, r0 - subs r1, r2, r1 - adds r0, r3, #0 - orrs r0, r1 - cmp r0, #0 - beq _08084626 - adds r0, r3, #0 - bl sub_080045DA - lsrs r0, r0, #3 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F69C -_08084626: - adds r0, r4, #0 - bl sub_08084630 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08084630 -sub_08084630: @ 0x08084630 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808467E - ldrb r1, [r4, #0xb] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _0808467A - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _0808467A - adds r1, #0x6a - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - ldr r0, [r4, #0x68] - cmp r0, #0 - beq _0808467A - ldr r2, [r4, #0x54] - adds r2, #0x6c - subs r0, #1 - movs r1, #0x1f - ands r0, r1 - adds r1, r3, #0 - lsls r1, r0 - ldrh r0, [r2] - bics r0, r1 - strh r0, [r2] -_0808467A: - bl sub_0805E780 -_0808467E: - pop {r4, pc} - - thumb_func_start sub_08084680 -sub_08084680: @ 0x08084680 - push {lr} - ldr r1, [r0, #0x34] - movs r2, #0x80 - lsls r2, r2, #7 - adds r1, r1, r2 - str r1, [r0, #0x34] - bl sub_080845DC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08084694 -sub_08084694: @ 0x08084694 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - cmp r0, #0 - beq _080846A4 - ldr r0, [r0, #4] - cmp r0, #0 - bne _080846A8 -_080846A4: - bl sub_0805E780 -_080846A8: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_080846B0 -sub_080846B0: @ 0x080846B0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080846D8 - ldrh r1, [r4, #0x24] - movs r2, #0x24 - ldrsh r0, [r4, r2] - cmp r0, #0 - beq _080846CA - adds r0, r1, #0 - subs r0, #0x10 - strh r0, [r4, #0x24] -_080846CA: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_080845DC - b _08084718 -_080846D8: - movs r0, #1 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x14] - movs r0, #2 - orrs r0, r1 - cmp r0, #2 - bne _080846EA - movs r0, #0x1e - b _080846EC -_080846EA: - movs r0, #2 -_080846EC: - strb r0, [r4, #0x15] - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08084712 - adds r1, r4, #0 - adds r1, #0x60 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - ldrb r0, [r4, #0x15] - movs r1, #1 - cmp r0, #0x17 - bls _08084708 - subs r1, #2 -_08084708: - adds r0, r0, r1 - strb r0, [r4, #0x15] - movs r0, #0xa0 - lsls r0, r0, #2 - b _08084716 -_08084712: - movs r0, #0xc0 - lsls r0, r0, #2 -_08084716: - strh r0, [r4, #0x24] -_08084718: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808471C -sub_0808471C: @ 0x0808471C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08004274 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08084768 - movs r4, #0 -_08084734: - adds r0, r5, #0 - movs r1, #0x24 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0808475E - lsls r1, r4, #1 - ldr r0, _0808476C @ =gUnk_0811FB08 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r3, [r2, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] -_0808475E: - adds r4, #1 - cmp r4, #3 - bls _08084734 - bl sub_0805E780 -_08084768: - pop {r4, r5, pc} - .align 2, 0 -_0808476C: .4byte gUnk_0811FB08 - - thumb_func_start sub_08084770 -sub_08084770: @ 0x08084770 - push {lr} - ldr r1, [r0, #0x34] - ldr r2, _08084780 @ =0xFFFFC000 - adds r1, r1, r2 - str r1, [r0, #0x34] - bl sub_080845DC - pop {pc} - .align 2, 0 -_08084780: .4byte 0xFFFFC000 - - thumb_func_start sub_08084784 -sub_08084784: @ 0x08084784 - push {lr} - ldr r1, [r0, #0x34] - movs r2, #0x80 - lsls r2, r2, #7 - adds r1, r1, r2 - str r1, [r0, #0x34] - bl sub_080845DC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08084798 -sub_08084798: @ 0x08084798 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080847B6 - ldr r0, [r4, #0x54] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080847BA -_080847B6: - bl sub_0805E780 -_080847BA: - pop {r4, pc} - - thumb_func_start sub_080847BC -sub_080847BC: @ 0x080847BC - push {lr} - ldr r1, [r0, #0x34] - ldr r2, _080847CC @ =0xFFFFE000 - adds r1, r1, r2 - str r1, [r0, #0x34] - bl sub_080845DC - pop {pc} - .align 2, 0 -_080847CC: .4byte 0xFFFFE000 - - thumb_func_start sub_080847D0 -sub_080847D0: @ 0x080847D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_080845DC - pop {r4, pc} - - thumb_func_start sub_080847E0 -sub_080847E0: @ 0x080847E0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _08084814 @ =gUnk_03000BF0 - ldrh r0, [r0] - cmp r0, #1 - bne _080847F0 - bl sub_0805E780 -_080847F0: - ldr r4, _08084818 @ =gUnk_03001160 - ldr r3, _0808481C @ =0xFFFD0000 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - ldr r0, _08084820 @ =0x0000FFFD - strh r0, [r5, #0x36] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FAB0 - adds r0, r5, #0 - bl sub_080845DC - pop {r4, r5, pc} - .align 2, 0 -_08084814: .4byte gUnk_03000BF0 -_08084818: .4byte gUnk_03001160 -_0808481C: .4byte 0xFFFD0000 -_08084820: .4byte 0x0000FFFD - - thumb_func_start sub_08084824 -sub_08084824: @ 0x08084824 - push {lr} - ldr r2, _08084838 @ =gUnk_08120560 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08084838: .4byte gUnk_08120560 - - thumb_func_start sub_0808483C -sub_0808483C: @ 0x0808483C - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - ldrh r2, [r4, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - movs r2, #8 - orrs r0, r2 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - ands r1, r0 - orrs r1, r2 - strh r1, [r4, #0x32] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _080848C0 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x74 - strh r1, [r5] - adds r0, r4, #0 - movs r1, #8 - bl sub_08004260 - ldr r0, _080848C4 @ =0x00004016 - ldrh r1, [r5] - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - movs r0, #0x89 - lsls r0, r0, #1 - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_080848C0: .4byte gUnk_03000BF0 -_080848C4: .4byte 0x00004016 - - thumb_func_start sub_080848C8 -sub_080848C8: @ 0x080848C8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08084980 @ =gUnk_03003F80 - adds r0, #0xa0 - ldrb r0, [r0] - cmp r0, #5 - bne _08084994 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x45 - movs r5, #1 - strb r5, [r0] - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x11] - subs r0, #0x12 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4, #0x11] - ldr r0, _08084984 @ =gUnk_08120574 - str r0, [r4, #0x48] - ldrb r1, [r4, #0xa] - adds r1, #1 - lsls r0, r1, #4 - subs r0, r0, r1 - strb r0, [r4, #0xf] - ldr r2, _08084988 @ =gUnk_03001160 - ldrh r0, [r4, #0x2e] - ldrh r1, [r2, #0x2e] - subs r0, r0, r1 - adds r3, r4, #0 - adds r3, #0x78 - strh r0, [r3] - ldrh r1, [r4, #0x32] - ldrh r0, [r2, #0x32] - subs r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x7a - strh r1, [r0] - ldrh r0, [r3] - cmp r0, #0 - beq _0808493C - lsls r0, r1, #0x10 - cmp r0, #0 - beq _0808493C - ldr r0, _0808498C @ =gUnk_03004040 - ldrb r1, [r4, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r5, [r0, #0x70] -_0808493C: - ldr r0, _08084990 @ =0x00000315 - adds r1, r4, #0 - adds r1, #0x74 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_08000152 - ldrb r1, [r4, #0xa] - adds r1, #1 - ldr r0, _08084980 @ =gUnk_03003F80 - ldr r0, [r0, #0x2c] - adds r0, #0x68 - ldrb r3, [r0] - movs r0, #1 - movs r2, #0 - bl sub_08077CF8 - str r0, [r4, #0x54] - cmp r0, #0 - beq _0808496A - str r4, [r0, #0x50] -_0808496A: - adds r0, r4, #0 - bl sub_0801766C - adds r0, r4, #0 - bl sub_0806FDA0 - adds r0, r4, #0 - bl sub_080849D8 - b _080849D6 - .align 2, 0 -_08084980: .4byte gUnk_03003F80 -_08084984: .4byte gUnk_08120574 -_08084988: .4byte gUnk_03001160 -_0808498C: .4byte gUnk_03004040 -_08084990: .4byte 0x00000315 -_08084994: - cmp r0, #4 - beq _080849C4 - ldr r0, _080849BC @ =0x00000315 - adds r1, r4, #0 - adds r1, #0x74 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_08000152 - ldr r1, _080849C0 @ =gUnk_03004040 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - movs r1, #0 - str r1, [r0] - bl sub_0805E780 - b _080849D6 - .align 2, 0 -_080849BC: .4byte 0x00000315 -_080849C0: .4byte gUnk_03004040 -_080849C4: - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_080849D6: - pop {r4, r5, pc} - - thumb_func_start sub_080849D8 -sub_080849D8: @ 0x080849D8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - adds r1, r0, #0 - cmp r1, #1 - bne _080849EE - movs r0, #0x76 - bl sub_080A3268 - ldrb r0, [r4, #0xf] - b _080849F2 -_080849EE: - cmp r1, #0 - beq _080849F6 -_080849F2: - subs r0, #1 - strb r0, [r4, #0xf] -_080849F6: - ldr r2, _08084A3C @ =gUnk_03003F80 - adds r3, r2, #0 - adds r3, #0xa0 - ldrb r0, [r3] - cmp r0, #5 - beq _08084A04 - b _08084AF8 -_08084A04: - ldr r0, _08084A40 @ =gUnk_03004040 - ldrb r1, [r4, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - cmp r0, #0 - beq _08084AF8 - adds r0, r2, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x13 - beq _08084AF8 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _08084AF8 - ldr r5, _08084A44 @ =gUnk_03001160 - adds r0, r5, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _08084A48 - movs r0, #1 - strb r0, [r3] - b _08084AF8 - .align 2, 0 -_08084A3C: .4byte gUnk_03003F80 -_08084A40: .4byte gUnk_03004040 -_08084A44: .4byte gUnk_03001160 -_08084A48: - adds r0, r4, #0 - bl sub_080002B8 - adds r0, r4, #0 - bl sub_08084B1C - adds r0, r4, #0 - adds r0, #0x78 - ldrh r0, [r0] - ldrh r1, [r5, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - ldrh r5, [r5, #0x32] - adds r0, r0, r5 - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_08084CAC - adds r0, r4, #0 - bl sub_080085B0 - ldrh r2, [r4, #0x2a] - ldr r1, _08084AB8 @ =0x00006666 - adds r0, r1, #0 - ands r0, r2 - cmp r0, r1 - beq _08084AEA - movs r3, #0 - ldr r5, _08084ABC @ =gUnk_0812056C - ldrh r1, [r5] - adds r0, r1, #0 - ands r0, r2 - cmp r1, r0 - beq _08084AA6 - adds r2, r5, #0 -_08084A94: - adds r2, #2 - adds r3, #1 - cmp r3, #3 - bhi _08084AA6 - ldrh r1, [r2] - ldrh r0, [r4, #0x2a] - ands r0, r1 - cmp r1, r0 - bne _08084A94 -_08084AA6: - cmp r3, #4 - bne _08084AC0 - movs r0, #0 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #4 - ands r0, r1 - movs r1, #1 - b _08084ADE - .align 2, 0 -_08084AB8: .4byte 0x00006666 -_08084ABC: .4byte gUnk_0812056C -_08084AC0: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08084AE4 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08084AEA - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 -_08084ADE: - orrs r0, r1 - strb r0, [r4, #0x18] - b _08084B16 -_08084AE4: - movs r0, #0x1e - strb r0, [r4, #0xe] - b _08084B16 -_08084AEA: - ldr r0, _08084AF4 @ =gUnk_03003F80 - adds r0, #0xa0 - movs r1, #1 - strb r1, [r0] - b _08084B16 - .align 2, 0 -_08084AF4: .4byte gUnk_03003F80 -_08084AF8: - bl sub_0807A108 - adds r0, r4, #0 - movs r1, #0x30 - movs r2, #0 - bl sub_080A29AC - ldr r0, [r4, #0x54] - bl sub_0805E7BC - ldr r0, _08084B18 @ =0x0000018F - bl sub_080A3268 - bl sub_0805E780 -_08084B16: - pop {r4, r5, pc} - .align 2, 0 -_08084B18: .4byte 0x0000018F - - thumb_func_start sub_08084B1C -sub_08084B1C: @ 0x08084B1C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r4, r0, #0 - ldr r3, _08084CA4 @ =gUnk_03001160 - ldrb r0, [r3, #0x10] - strb r0, [r4, #0x10] - adds r0, r3, #0 - adds r0, #0x60 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x60 - strh r1, [r0] - ldrb r0, [r3, #0x1e] - strb r0, [r4, #0x1e] - adds r0, r3, #0 - adds r0, #0x5b - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x5b - strb r0, [r1] - ldrh r0, [r3, #0x12] - strh r0, [r4, #0x12] - ldrb r0, [r3, #0x15] - strb r0, [r4, #0x15] - ldrb r0, [r3, #0x14] - strb r0, [r4, #0x14] - ldrb r0, [r3, #0x18] - movs r1, #1 - mov r8, r1 - movs r1, #0x40 - ands r1, r0 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - mov sb, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r3, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x19] - movs r7, #0x3f - adds r0, r7, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r3, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - movs r6, #7 - lsrs r1, r1, #0x1d - ldrb r2, [r0] - movs r0, #8 - rsbs r0, r0, #0 - mov sl, r0 - ands r0, r2 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldrb r1, [r3, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x1b] - adds r0, r7, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1b] - adds r0, r3, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r3, #0 - adds r0, #0x3b - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x3b - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x3f - ldrb r0, [r0] - adds r1, #4 - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x3c - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x3c - strb r1, [r0] - adds r0, r3, #0 - adds r0, #0x40 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x40 - strb r1, [r0] - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 - ldr r5, _08084CA8 @ =gUnk_03003F80 - ldrb r0, [r5, #4] - cmp r0, #0 - beq _08084C6A - ldr r1, [r4, #0x54] - ldr r0, [r5, #0x2c] - adds r0, #0x44 - ldrb r0, [r0] - adds r1, #0x44 - strb r0, [r1] - ldr r1, [r4, #0x54] - ldr r0, [r5, #0x2c] - ldrb r0, [r0, #0x1e] - strb r0, [r1, #0x1e] - ldr r3, [r4, #0x54] - ldr r0, [r5, #0x2c] - ldrb r1, [r0, #0x18] - lsls r1, r1, #0x19 - lsrs r1, r1, #0x1f - mov r0, r8 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r3, #0x18] - mov r0, sb - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] - ldr r3, [r4, #0x54] - ldr r0, [r5, #0x2c] - ldrb r1, [r0, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r3, #0x19] - adds r0, r7, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x19] - ldr r2, [r4, #0x54] - ldr r0, [r5, #0x2c] - adds r0, #0x29 - ldrb r0, [r0] - lsls r0, r0, #0x1d - lsrs r0, r0, #0x1d - adds r2, #0x29 - ands r6, r0 - ldrb r1, [r2] - mov r0, sl - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - ldr r1, [r4, #0x54] - ldrb r0, [r1, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - bge _08084C6A - ldr r1, [r1, #0x48] - ldrb r0, [r1] - rsbs r0, r0, #0 - strb r0, [r1] -_08084C6A: - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_0806FEBC - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_0806FEBC - adds r0, r4, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_0806FEBC - adds r0, r4, #0 - movs r1, #3 - movs r2, #0 - bl sub_0806FEBC - ldr r0, [r4, #0x54] - adds r1, r4, #0 - bl sub_08078E84 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08084CA4: .4byte gUnk_03001160 -_08084CA8: .4byte gUnk_03003F80 - - thumb_func_start sub_08084CAC -sub_08084CAC: @ 0x08084CAC - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r6, _08084D18 @ =gUnk_03004040 - ldrb r0, [r5, #0xa] - lsls r0, r0, #2 - adds r0, r0, r6 - ldr r0, [r0] - ldr r0, [r0, #0x70] - cmp r0, #0 - bne _08084D32 - ldrb r0, [r5, #0x14] - movs r2, #6 - ands r2, r0 - lsls r2, r2, #1 - ldr r0, _08084D1C @ =gUnk_080B4468 - adds r2, r2, r0 - movs r1, #0x2e - ldrsh r0, [r5, r1] - movs r3, #0 - ldrsh r1, [r2, r3] - adds r0, r0, r1 - ldr r4, _08084D20 @ =gUnk_03000BF0 - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r7, #0x32 - ldrsh r1, [r5, r7] - movs r7, #2 - ldrsh r2, [r2, r7] - adds r1, r1, r2 - ldrh r2, [r4, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - bl sub_080002E4 - cmp r0, #0x72 - bne _08084D24 - ldr r2, [r6] - movs r1, #1 - ldrb r5, [r5, #0xa] - lsls r1, r5 - ldr r0, [r2, #0x6c] - orrs r0, r1 - b _08084D30 - .align 2, 0 -_08084D18: .4byte gUnk_03004040 -_08084D1C: .4byte gUnk_080B4468 -_08084D20: .4byte gUnk_03000BF0 -_08084D24: - ldr r2, [r6] - movs r1, #1 - ldrb r5, [r5, #0xa] - lsls r1, r5 - ldr r0, [r2, #0x6c] - bics r0, r1 -_08084D30: - str r0, [r2, #0x6c] -_08084D32: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08084D34 -sub_08084D34: @ 0x08084D34 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805E3B0 - cmp r0, #0 - bne _08084D50 - ldr r0, _08084D54 @ =gUnk_0812057C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08084D50: - pop {r4, pc} - .align 2, 0 -_08084D54: .4byte gUnk_0812057C - - thumb_func_start sub_08084D58 -sub_08084D58: @ 0x08084D58 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - ldrb r0, [r7, #0xa] - cmp r0, #3 - bne _08084D6C - adds r0, r7, #0 - bl sub_08084F8C -_08084D6C: - adds r0, r7, #0 - bl sub_08004168 - ldrb r0, [r7, #0xa] - cmp r0, #4 - bne _08084D7E - adds r0, r7, #0 - bl sub_08084F8C -_08084D7E: - movs r0, #2 - strb r0, [r7, #0xc] - ldrb r0, [r7, #0x10] - movs r2, #0x80 - orrs r0, r2 - strb r0, [r7, #0x10] - ldrb r1, [r7, #0x19] - movs r5, #0x3f - adds r0, r5, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r7, #0x19] - ldr r0, _08084E48 @ =gUnk_08120588 - mov r8, r0 - ldrb r0, [r7, #0xa] - lsls r0, r0, #2 - add r0, r8 - ldrb r0, [r0, #1] - strb r0, [r7, #0x1d] - ldrb r0, [r7, #0xa] - lsls r0, r0, #2 - add r0, r8 - ldrb r0, [r0, #2] - strb r0, [r7, #0x1c] - movs r2, #0 - movs r0, #0x80 - strh r0, [r7, #0x24] - ldr r0, _08084E4C @ =gUnk_03001160 - adds r0, #0x38 - ldrb r0, [r0] - adds r6, r7, #0 - adds r6, #0x38 - strb r0, [r6] - adds r1, r7, #0 - adds r1, #0x45 - movs r0, #1 - strb r0, [r1] - subs r1, #9 - movs r0, #7 - strb r0, [r1] - adds r1, #3 - movs r0, #0x6e - strb r0, [r1] - subs r1, #4 - movs r0, #4 - strb r0, [r1] - ldr r0, _08084E50 @ =gUnk_081205B4 - str r0, [r7, #0x48] - adds r0, r7, #0 - adds r0, #0x72 - strb r2, [r0] - movs r1, #0x2e - ldrsh r0, [r7, r1] - ldr r4, _08084E54 @ =gUnk_03000BF0 - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r5 - movs r2, #0x32 - ldrsh r1, [r7, r2] - ldrh r2, [r4, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r5 - lsls r1, r1, #6 - orrs r0, r1 - ldrb r1, [r6] - bl sub_080001DA - adds r1, r7, #0 - adds r1, #0x70 - strh r0, [r1] - ldr r0, _08084E58 @ =0x00004022 - movs r3, #0x2e - ldrsh r1, [r7, r3] - ldrh r2, [r4, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r5 - movs r3, #0x32 - ldrsh r2, [r7, r3] - ldrh r3, [r4, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r5 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r6] - bl sub_0800015E - ldrb r0, [r7, #0xa] - lsls r0, r0, #2 - add r0, r8 - ldrb r1, [r0] - adds r0, r7, #0 - bl sub_08004260 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08084E48: .4byte gUnk_08120588 -_08084E4C: .4byte gUnk_03001160 -_08084E50: .4byte gUnk_081205B4 -_08084E54: .4byte gUnk_03000BF0 -_08084E58: .4byte 0x00004022 - - thumb_func_start sub_08084E5C -sub_08084E5C: @ 0x08084E5C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08084EAC @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _08084E7A - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _08084EA8 -_08084E7A: - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _08084EB0 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - bl sub_0805E780 -_08084EA8: - pop {r4, r5, pc} - .align 2, 0 -_08084EAC: .4byte gUnk_03003F80 -_08084EB0: .4byte gUnk_03000BF0 - - thumb_func_start sub_08084EB4 -sub_08084EB4: @ 0x08084EB4 - push {lr} - ldr r2, _08084EC8 @ =gUnk_0812059C - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08084EC8: .4byte gUnk_0812059C - - thumb_func_start sub_08084ECC -sub_08084ECC: @ 0x08084ECC - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - bl sub_08084ED8 - pop {pc} - - thumb_func_start sub_08084ED8 -sub_08084ED8: @ 0x08084ED8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08084E5C - adds r0, r4, #0 - bl sub_0806F4E8 - ldrb r0, [r4, #0x1d] - cmp r0, #0 - beq _08084EFA - subs r0, #1 - strb r0, [r4, #0x1d] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08084EFA - movs r0, #2 - strb r0, [r4, #0xd] -_08084EFA: - pop {r4, pc} - - thumb_func_start sub_08084EFC -sub_08084EFC: @ 0x08084EFC - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x72 - ldrb r1, [r2] - cmp r1, #0 - bne _08084F42 - movs r0, #1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x62 - strb r1, [r0] - adds r0, #0xe - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08084F7C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B9B8 -_08084F42: - ldr r0, _08084F80 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _08084F5C - adds r0, r5, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _08084F62 -_08084F5C: - adds r0, r5, #0 - bl sub_08084F8C -_08084F62: - adds r0, r5, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _08084F7A - ldrb r1, [r5, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _08084F7A - bl sub_0805E780 -_08084F7A: - pop {r4, r5, r6, pc} - .align 2, 0 -_08084F7C: .4byte gUnk_03000BF0 -_08084F80: .4byte gUnk_03003F80 - - thumb_func_start sub_08084F84 -sub_08084F84: @ 0x08084F84 - bx lr - .align 2, 0 - - thumb_func_start sub_08084F88 -sub_08084F88: @ 0x08084F88 - bx lr - .align 2, 0 - - thumb_func_start sub_08084F8C -sub_08084F8C: @ 0x08084F8C - push {lr} - ldrb r1, [r0, #0xb] - cmp r1, #0xf - beq _08084FA4 - cmp r1, #0xf - bgt _08084F9E - cmp r1, #0 - beq _08084FB8 - b _08084FAE -_08084F9E: - cmp r1, #0xff - bne _08084FAE - b _08084FB8 -_08084FA4: - ldrb r1, [r0, #0xe] - movs r2, #0x80 - bl sub_080A29AC - b _08084FB8 -_08084FAE: - ldrb r1, [r0, #0xb] - ldrb r2, [r0, #0xe] - movs r3, #0 - bl sub_080A2988 -_08084FB8: - bl sub_0805E780 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08084FC0 -sub_08084FC0: @ 0x08084FC0 - push {lr} - ldr r2, _08084FD4 @ =gUnk_081205BC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08084FD4: .4byte gUnk_081205BC - - thumb_func_start sub_08084FD8 -sub_08084FD8: @ 0x08084FD8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0808500C - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08084FF4 - bl sub_0805E780 -_08084FF4: - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_080850FC - b _0808501C -_0808500C: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xf0 - strb r0, [r4, #0xe] - movs r0, #0x80 - strh r0, [r4, #0x24] - movs r0, #0x18 - strb r0, [r4, #0x15] -_0808501C: - movs r0, #0 - strb r0, [r4, #0x1e] - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_115 -nullsub_115: @ 0x08085024 - bx lr - .align 2, 0 - - thumb_func_start sub_08085028 -sub_08085028: @ 0x08085028 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080850A6 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #4 - strb r0, [r1] - ldr r0, _080850A8 @ =gUnk_03000F50 - mov ip, r0 - ldrh r1, [r0] - movs r2, #0x80 - lsls r2, r2, #6 - adds r0, r2, #0 - orrs r0, r1 - mov r1, ip - strh r0, [r1] - adds r1, #0x60 - movs r0, #0x1f - strh r0, [r1] - adds r1, #2 - movs r0, #0xf - strh r0, [r1] - movs r2, #0x2e - ldrsh r0, [r4, r2] - ldr r3, _080850AC @ =gUnk_03000BF0 - movs r2, #0xa - ldrsh r1, [r3, r2] - subs r0, r0, r1 - adds r1, r0, #0 - subs r1, #0x18 - movs r2, #0xff - ands r1, r2 - lsls r1, r1, #8 - adds r0, #0x18 - ands r0, r2 - orrs r1, r0 - mov r0, ip - adds r0, #0x58 - strh r1, [r0] - movs r1, #0x32 - ldrsh r0, [r4, r1] - movs r4, #0xc - ldrsh r1, [r3, r4] - subs r0, r0, r1 - adds r1, r0, #0 - subs r1, #0x18 - ands r1, r2 - lsls r1, r1, #8 - adds r0, #0x18 - ands r0, r2 - orrs r1, r0 - mov r0, ip - adds r0, #0x5c - strh r1, [r0] -_080850A6: - pop {r4, pc} - .align 2, 0 -_080850A8: .4byte gUnk_03000F50 -_080850AC: .4byte gUnk_03000BF0 - - thumb_func_start sub_080850B0 -sub_080850B0: @ 0x080850B0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080850C8 - movs r0, #4 - strb r0, [r1, #0xc] - movs r0, #0x60 - strb r0, [r1, #0xe] -_080850C8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080850CC -sub_080850CC: @ 0x080850CC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080850F0 - ldr r2, _080850F4 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _080850F8 @ =0x0000DFFF - ands r0, r1 - strh r0, [r2] - adds r0, r4, #0 - bl sub_0805E7BC -_080850F0: - pop {r4, pc} - .align 2, 0 -_080850F4: .4byte gUnk_03000F50 -_080850F8: .4byte 0x0000DFFF - - thumb_func_start sub_080850FC -sub_080850FC: @ 0x080850FC - push {r4, r5, r6, lr} - movs r1, #0x2e - ldrsh r4, [r0, r1] - ldr r2, _0808518C @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r4, r4, r1 - asrs r4, r4, #4 - movs r3, #0x3f - ands r4, r3 - movs r5, #0x32 - ldrsh r1, [r0, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r4, r1 - adds r0, #0x38 - ldrb r6, [r0] - ldr r5, _08085190 @ =0x0000403D - adds r1, r4, #0 - subs r1, #0x41 - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_0800015E - adds r1, r4, #0 - subs r1, #0x40 - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_0800015E - adds r1, r4, #0 - subs r1, #0x3f - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_0800015E - subs r1, r4, #1 - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_0800015E - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r6, #0 - bl sub_0800015E - adds r1, r4, #1 - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_0800015E - adds r1, r4, #0 - adds r1, #0x3f - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_0800015E - adds r1, r4, #0 - adds r1, #0x40 - adds r0, r5, #0 - adds r2, r6, #0 - bl sub_0800015E - adds r4, #0x41 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r6, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_0808518C: .4byte gUnk_03000BF0 -_08085190: .4byte 0x0000403D - - thumb_func_start sub_08085194 -sub_08085194: @ 0x08085194 - push {lr} - ldr r2, _080851A8 @ =gUnk_081205D0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080851A8: .4byte gUnk_081205D0 - - thumb_func_start sub_080851AC -sub_080851AC: @ 0x080851AC - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r2, #1 - movs r3, #1 - strb r3, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r5, #0xb] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _080851E8 - adds r1, r5, #0 - adds r1, #0x7c - ldr r0, _080851E4 @ =0x0000FFFF - strh r0, [r1] - b _080851EE - .align 2, 0 -_080851E4: .4byte 0x0000FFFF -_080851E8: - adds r0, r5, #0 - adds r0, #0x7c - strh r3, [r0] -_080851EE: - ldrb r1, [r5, #0xb] - movs r0, #2 - ands r0, r1 - strb r0, [r5, #0x14] - ldrb r4, [r5, #0xa] - cmp r4, #3 - bne _0808521E - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - adds r1, r5, #0 - adds r1, #0x7a - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0808521E - ldrb r0, [r5, #0x14] - adds r0, #2 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0x14] - strb r4, [r5, #0xc] -_0808521E: - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl sub_08004260 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_0808094C - movs r1, #0x2e - ldrsh r2, [r5, r1] - ldr r3, _08085260 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r2, r2, r1 - asrs r2, r2, #4 - movs r4, #0x3f - ands r2, r4 - movs r6, #0x32 - ldrsh r1, [r5, r6] - ldrh r3, [r3, #8] - subs r1, r1, r3 - asrs r1, r1, #4 - ands r1, r4 - lsls r1, r1, #6 - orrs r2, r1 - lsls r2, r2, #1 - adds r2, #4 - adds r0, r0, r2 - str r0, [r5, #0x70] - adds r0, r5, #0 - bl sub_08085394 - pop {r4, r5, r6, pc} - .align 2, 0 -_08085260: .4byte gUnk_03000BF0 - - thumb_func_start sub_08085264 -sub_08085264: @ 0x08085264 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x86 - ldrh r0, [r5] - bl sub_0807CBE4 - cmp r0, #0 - beq _080852AE - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _0808528A - ldrh r0, [r5] - bl sub_0807CD48 -_0808528A: - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - ldrb r1, [r4, #0x14] - adds r0, r0, r1 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0808543C - ldr r0, _080852B0 @ =0x00000151 - bl sub_08004488 -_080852AE: - pop {r4, r5, pc} - .align 2, 0 -_080852B0: .4byte 0x00000151 - - thumb_func_start sub_080852B4 -sub_080852B4: @ 0x080852B4 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08085300 - movs r4, #3 - movs r0, #3 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0xe] - strb r0, [r5, #0xf] - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - adds r1, r5, #0 - adds r1, #0x7a - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0x7c - ldrb r0, [r0] - ldrb r1, [r5, #0x14] - adds r0, r0, r1 - ands r0, r4 - strb r0, [r5, #0x14] - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl sub_08004260 - adds r0, r5, #0 - bl sub_08085394 - ldr r0, _08085304 @ =0x00000151 - bl sub_08004488 -_08085300: - pop {r4, r5, pc} - .align 2, 0 -_08085304: .4byte 0x00000151 - - thumb_func_start sub_08085308 -sub_08085308: @ 0x08085308 - push {r4, lr} - adds r4, r0, #0 - bl sub_080854A8 - cmp r0, #0 - bne _0808538C - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _08085324 - cmp r0, #2 - ble _08085354 - cmp r0, #3 - beq _08085338 - b _08085354 -_08085324: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _08085354 - movs r0, #1 - strb r0, [r4, #0xc] - b _0808538C -_08085338: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - adds r1, r4, #0 - adds r1, #0x7a - ldrh r1, [r1] - cmp r0, r1 - bne _08085350 - movs r0, #0xff - b _08085352 -_08085350: - movs r0, #1 -_08085352: - strb r0, [r4, #0xf] -_08085354: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808538C - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - ldrb r1, [r4, #0x14] - adds r0, r0, r1 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0808543C - ldr r0, _08085390 @ =0x00000151 - bl sub_08004488 -_0808538C: - pop {r4, pc} - .align 2, 0 -_08085390: .4byte 0x00000151 - - thumb_func_start sub_08085394 -sub_08085394: @ 0x08085394 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r7, r0, #0 - ldr r0, _08085430 @ =gUnk_081205E0 - ldrb r2, [r7, #0x14] - lsrs r2, r2, #1 - lsls r2, r2, #1 - adds r0, r2, r0 - ldrh r0, [r0] - mov sl, r0 - ldr r0, _08085434 @ =gUnk_080B4488 - adds r2, r2, r0 - ldr r0, [r7, #0x70] - mov sb, r0 - movs r1, #0x2e - ldrsh r4, [r7, r1] - ldr r1, _08085438 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r3, #0x3f - ands r4, r3 - movs r5, #0x32 - ldrsh r0, [r7, r5] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r4, r0 - ldrb r2, [r2] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - mov r8, r2 - lsls r5, r2, #1 - mov r1, sb - subs r0, r1, r5 - ldrh r1, [r0] - adds r0, r7, #0 - adds r0, #0x74 - strh r1, [r0] - subs r1, r4, r2 - adds r6, r7, #0 - adds r6, #0x38 - ldrb r2, [r6] - mov r0, sl - bl sub_0800015E - mov r1, sb - ldrh r0, [r1] - adds r1, r7, #0 - adds r1, #0x76 - strh r0, [r1] - ldrb r2, [r6] - mov r0, sl - adds r1, r4, #0 - bl sub_0800015E - add r5, sb - ldrh r1, [r5] - adds r0, r7, #0 - adds r0, #0x78 - strh r1, [r0] - add r4, r8 - ldrb r2, [r6] - mov r0, sl - adds r1, r4, #0 - bl sub_0800015E - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08085430: .4byte gUnk_081205E0 -_08085434: .4byte gUnk_080B4488 -_08085438: .4byte gUnk_03000BF0 - - thumb_func_start sub_0808543C -sub_0808543C: @ 0x0808543C - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldr r0, _080854A0 @ =gUnk_080B4488 - ldrb r2, [r7, #0x14] - lsrs r2, r2, #1 - lsls r2, r2, #1 - adds r2, r2, r0 - movs r0, #0x2e - ldrsh r4, [r7, r0] - ldr r1, _080854A4 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r3, #0x3f - ands r4, r3 - movs r5, #0x32 - ldrsh r0, [r7, r5] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r4, r0 - adds r0, r7, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r6, #0 - ldrsb r6, [r2, r6] - subs r1, r4, r6 - adds r5, r7, #0 - adds r5, #0x38 - ldrb r2, [r5] - bl sub_0800015E - adds r0, r7, #0 - adds r0, #0x76 - ldrh r0, [r0] - ldrb r2, [r5] - adds r1, r4, #0 - bl sub_0800015E - adds r0, r7, #0 - adds r0, #0x78 - ldrh r0, [r0] - adds r4, r4, r6 - ldrb r2, [r5] - adds r1, r4, #0 - bl sub_0800015E - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080854A0: .4byte gUnk_080B4488 -_080854A4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080854A8 -sub_080854A8: @ 0x080854A8 - push {r4, lr} - ldr r2, _080854E0 @ =gUnk_081205E0 - ldrb r1, [r0, #0x14] - lsrs r1, r1, #1 - lsls r1, r1, #1 - adds r2, r1, r2 - ldrh r3, [r2] - adds r4, r3, #0 - ldr r2, _080854E4 @ =gUnk_080B4488 - adds r1, r1, r2 - ldr r2, [r0, #0x70] - movs r0, #0 - ldrsb r0, [r1, r0] - lsls r1, r0, #1 - subs r0, r2, r1 - ldrh r0, [r0] - cmp r3, r0 - bne _080854E8 - ldrh r0, [r2] - cmp r3, r0 - bne _080854E8 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r4, r0 - bne _080854E8 - movs r0, #0 - b _080854EA - .align 2, 0 -_080854E0: .4byte gUnk_081205E0 -_080854E4: .4byte gUnk_080B4488 -_080854E8: - movs r0, #1 -_080854EA: - pop {r4, pc} - - thumb_func_start sub_080854EC -sub_080854EC: @ 0x080854EC - push {lr} - ldr r2, _08085500 @ =gUnk_08120608 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08085500: .4byte gUnk_08120608 - - thumb_func_start sub_08085504 -sub_08085504: @ 0x08085504 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0xff - bne _08085520 - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - beq _0808551C - bl sub_0805E780 -_0808551C: - movs r0, #0 - strb r0, [r4, #0xa] -_08085520: - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08085552 - ldr r0, _08085540 @ =gUnk_02033A90 - ldrb r0, [r0, #1] - cmp r0, #0x1b - beq _08085544 - ldrb r0, [r4, #0xb] - bl sub_0807CBD0 - cmp r0, #0 - bne _08085552 - movs r0, #5 - strb r0, [r4, #0xc] - b _080855E2 - .align 2, 0 -_08085540: .4byte gUnk_02033A90 -_08085544: - ldrb r0, [r4, #0xb] - bl sub_0807CBD0 - cmp r0, #0 - bne _08085552 - bl sub_0805E780 -_08085552: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0808556C - adds r0, r4, #0 - bl sub_080040A2 - cmp r0, #0 - bne _08085566 - bl sub_0805E780 -_08085566: - movs r0, #0 - strb r0, [r4, #0xe] - b _0808557A -_0808556C: - adds r0, r4, #0 - bl sub_0805EABC - cmp r0, #0 - beq _0808557A - bl sub_0805E780 -_0808557A: - movs r2, #1 - strb r2, [r4, #0xc] - movs r3, #0 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - ldrb r1, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldr r0, _080855E4 @ =gUnk_08120640 - str r0, [r4, #0x48] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3f - strb r2, [r0] - subs r1, #1 - movs r0, #4 - strb r0, [r1] - movs r0, #0x80 - lsls r0, r0, #0x11 - str r0, [r4, #0x78] - adds r1, #0x43 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x85 - strb r3, [r0] - subs r0, #1 - strb r3, [r0] - adds r0, r4, #0 - movs r1, #9 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080855E8 -_080855E2: - pop {r4, pc} - .align 2, 0 -_080855E4: .4byte gUnk_08120640 - - thumb_func_start sub_080855E8 -sub_080855E8: @ 0x080855E8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - ldrb r1, [r7, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r7, #0x10] - ldr r6, _0808564C @ =gUnk_03001160 - adds r0, r7, #0 - adds r1, r6, #0 - movs r2, #0x18 - bl sub_0806FC80 - adds r1, r0, #0 - cmp r1, #0 - beq _080856EE - ldr r3, _08085650 @ =gUnk_03003F80 - ldr r0, [r3, #0x30] - movs r1, #2 - orrs r0, r1 - str r0, [r3, #0x30] - ldr r4, [r6, #0x34] - cmp r4, #0 - beq _0808561C - b _080857CE -_0808561C: - adds r5, r3, #0 - adds r5, #0x26 - ldrb r0, [r5] - cmp r0, #0 - beq _08085634 - adds r2, r6, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0xfb - ands r0, r1 - strb r0, [r2] - strb r4, [r5] -_08085634: - adds r0, r3, #0 - adds r0, #0x84 - str r7, [r0] - adds r0, r7, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - bne _08085654 - adds r0, r6, #0 - bl sub_0800455E - b _0808565A - .align 2, 0 -_0808564C: .4byte gUnk_03001160 -_08085650: .4byte gUnk_03003F80 -_08085654: - adds r0, r6, #0 - bl sub_08004542 -_0808565A: - ldrb r0, [r7, #0xf] - cmp r0, #0 - bne _0808568C - movs r0, #4 - strb r0, [r7, #0xf] -_08085664: - adds r0, r7, #0 - movs r1, #8 - movs r2, #0xa - bl sub_080A2AF4 - ldrb r0, [r7, #0xf] - subs r0, #1 - strb r0, [r7, #0xf] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _08085664 - movs r0, #1 - strb r0, [r7, #0xf] - ldrb r1, [r7, #0xe] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r7, #0xe] - str r2, [r7, #0x70] - str r2, [r7, #0x6c] -_0808568C: - ldr r2, _080856B8 @ =gUnk_03003F80 - ldrb r0, [r2, #0x1c] - cmp r0, #3 - beq _08085696 - b _080857CE -_08085696: - ldr r1, _080856BC @ =gUnk_08120620 - ldrb r0, [r2, #0x1d] - subs r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r4, [r0] - ldr r0, _080856C0 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - movs r1, #6 - ands r1, r0 - cmp r1, #2 - beq _080856DE - cmp r1, #2 - bgt _080856C4 - cmp r1, #0 - beq _080856D6 - b _080857CE - .align 2, 0 -_080856B8: .4byte gUnk_03003F80 -_080856BC: .4byte gUnk_08120620 -_080856C0: .4byte gUnk_03001160 -_080856C4: - cmp r1, #4 - beq _080856CE - cmp r1, #6 - beq _080856E6 - b _080857CE -_080856CE: - ldr r0, [r7, #0x70] - subs r0, r0, r4 - str r0, [r7, #0x70] - b _080857CE -_080856D6: - ldr r0, [r7, #0x70] - adds r0, r0, r4 - str r0, [r7, #0x70] - b _080857CE -_080856DE: - ldr r0, [r7, #0x6c] - subs r0, r0, r4 - str r0, [r7, #0x6c] - b _080857CE -_080856E6: - ldr r0, [r7, #0x6c] - adds r0, r0, r4 - str r0, [r7, #0x6c] - b _080857CE -_080856EE: - ldrb r0, [r7, #0xf] - cmp r0, #0 - beq _080856FC - strb r1, [r7, #0xf] - movs r0, #0x83 - bl sub_080A3268 -_080856FC: - adds r2, r7, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - mov r8, r2 - cmp r0, #0x13 - bne _080857C8 - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r3, _08085758 @ =gUnk_08126EE4 - ldrb r2, [r6, #0x14] - movs r0, #0xe - ands r0, r2 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r5, r1, r0 - movs r0, #0x32 - ldrsh r1, [r6, r0] - movs r0, #1 - orrs r0, r2 - adds r0, r0, r3 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r3, r1, r0 - movs r1, #0x2e - ldrsh r0, [r7, r1] - movs r2, #0x32 - ldrsh r1, [r7, r2] - adds r2, r5, #0 - bl sub_080045D4 - strb r0, [r7, #0x15] - ldr r0, _0808575C @ =gUnk_03003F80 - ldrb r0, [r0, #0x1d] - cmp r0, #2 - beq _0808576A - cmp r0, #2 - bgt _08085760 - cmp r0, #1 - beq _08085770 - b _08085774 - .align 2, 0 -_08085758: .4byte gUnk_08126EE4 -_0808575C: .4byte gUnk_03003F80 -_08085760: - cmp r0, #3 - bne _08085774 - movs r4, #0x80 - lsls r4, r4, #3 - b _08085774 -_0808576A: - movs r4, #0xc0 - lsls r4, r4, #2 - b _08085774 -_08085770: - movs r4, #0x80 - lsls r4, r4, #2 -_08085774: - ldr r6, _080858A8 @ =gUnk_080C9160 - ldrb r0, [r7, #0x15] - lsls r0, r0, #4 - adds r0, r0, r6 - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r4, r4, #0x10 - asrs r4, r4, #0x18 - adds r1, r4, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r5, #0x80 - lsls r5, r5, #1 - adds r1, r5, #0 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r7, #0x6c] - adds r1, r1, r0 - str r1, [r7, #0x6c] - ldrb r0, [r7, #0x15] - lsls r0, r0, #4 - adds r0, #0x80 - adds r0, r0, r6 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r1, r4, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r5, #0 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r7, #0x70] - subs r1, r1, r0 - str r1, [r7, #0x70] -_080857C8: - movs r0, #0 - mov r1, r8 - strb r0, [r1] -_080857CE: - ldr r0, [r7, #0x2c] - str r0, [r7, #0x54] - ldr r0, [r7, #0x30] - str r0, [r7, #0x50] - ldr r0, [r7, #0x6c] - cmp r0, #0 - bne _080857E4 - ldr r0, [r7, #0x70] - cmp r0, #0 - bne _080857E4 - b _080859F4 -_080857E4: - ldr r0, [r7, #0x70] - ldr r1, _080858AC @ =0xFFFF0000 - cmp r0, r1 - blt _080857F4 - movs r1, #0x80 - lsls r1, r1, #9 - cmp r0, r1 - ble _080857F6 -_080857F4: - str r1, [r7, #0x70] -_080857F6: - ldr r0, [r7, #0x6c] - ldr r1, _080858AC @ =0xFFFF0000 - cmp r0, r1 - blt _08085806 - movs r1, #0x80 - lsls r1, r1, #9 - cmp r0, r1 - ble _08085808 -_08085806: - str r1, [r7, #0x6c] -_08085808: - ldr r0, _080858B0 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _0808581A - adds r0, r7, #0 - bl sub_080A2AD4 -_0808581A: - ldr r0, [r7, #0x2c] - ldr r1, [r7, #0x6c] - adds r5, r0, r1 - ldr r1, [r7, #0x30] - ldr r2, [r7, #0x70] - adds r3, r1, r2 - adds r2, r5, #0 - bl sub_080045D4 - strb r0, [r7, #0x15] - ldr r0, [r7, #0x6c] - lsls r0, r0, #8 - asrs r0, r0, #0x10 - movs r4, #0x80 - lsls r4, r4, #1 - adds r1, r4, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldr r5, _080858A8 @ =gUnk_080C9160 - ldrb r1, [r7, #0x15] - lsls r1, r1, #4 - adds r1, r1, r5 - movs r2, #0 - ldrsh r1, [r1, r2] - bl sub_0806FA04 - strh r0, [r7, #0x24] - ldr r0, [r7, #0x70] - lsls r0, r0, #8 - asrs r0, r0, #0x10 - adds r1, r4, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - ldrb r1, [r7, #0x15] - lsls r1, r1, #4 - adds r1, #0x80 - adds r1, r1, r5 - movs r2, #0 - ldrsh r1, [r1, r2] - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - rsbs r4, r0, #0 - movs r1, #0x24 - ldrsh r0, [r7, r1] - cmp r4, r0 - ble _08085884 - strh r4, [r7, #0x24] -_08085884: - ldrb r0, [r7, #0xb] - cmp r0, #0 - beq _080858BC - adds r0, r7, #0 - adds r0, #0x7e - movs r2, #0 - ldrsh r1, [r0, r2] - ldr r0, _080858B4 @ =0x00000FFF - cmp r1, r0 - bgt _080858B8 - movs r0, #0x24 - ldrsh r1, [r7, r0] - lsls r1, r1, #0xc - ldr r0, [r7, #0x7c] - adds r0, r0, r1 - str r0, [r7, #0x7c] - b _080858E0 - .align 2, 0 -_080858A8: .4byte gUnk_080C9160 -_080858AC: .4byte 0xFFFF0000 -_080858B0: .4byte gUnk_030010A0 -_080858B4: .4byte 0x00000FFF -_080858B8: - movs r0, #0 - b _080858DE -_080858BC: - adds r0, r7, #0 - adds r0, #0x7e - movs r2, #0 - ldrsh r1, [r0, r2] - ldr r0, _080858D8 @ =0xFFFFF000 - cmp r1, r0 - ble _080858DC - movs r0, #0x24 - ldrsh r1, [r7, r0] - lsls r1, r1, #0xc - ldr r0, [r7, #0x7c] - subs r0, r0, r1 - str r0, [r7, #0x7c] - b _080858E0 - .align 2, 0 -_080858D8: .4byte 0xFFFFF000 -_080858DC: - movs r0, #1 -_080858DE: - strb r0, [r7, #0xb] -_080858E0: - adds r0, r7, #0 - bl sub_08085EFC - adds r0, r7, #0 - bl sub_080AF134 - ldr r1, [r7, #0x54] - ldr r0, [r7, #0x2c] - cmp r1, r0 - bne _0808590C - adds r0, r7, #0 - adds r0, #0x85 - ldrb r1, [r0] - adds r2, r0, #0 - cmp r1, #2 - bne _08085906 - movs r0, #0 - str r0, [r7, #0x6c] - b _08085916 -_08085906: - adds r0, r1, #1 - strb r0, [r2] - b _08085916 -_0808590C: - adds r1, r7, #0 - adds r1, #0x85 - movs r0, #0 - strb r0, [r1] - adds r2, r1, #0 -_08085916: - ldr r1, [r7, #0x50] - ldr r0, [r7, #0x30] - cmp r1, r0 - bne _0808592E - ldrb r0, [r2] - cmp r0, #2 - bne _0808592A - movs r0, #0 - str r0, [r7, #0x70] - b _08085932 -_0808592A: - adds r0, #1 - b _08085930 -_0808592E: - movs r0, #0 -_08085930: - strb r0, [r2] -_08085932: - ldr r0, _0808595C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - beq _08085944 - adds r0, r7, #0 - bl sub_08085F1C -_08085944: - ldr r1, [r7, #0x6c] - cmp r1, #0 - beq _08085998 - cmp r1, #0 - bge _0808596E - movs r0, #0x80 - rsbs r0, r0, #0 - cmp r1, r0 - ble _08085960 - movs r0, #0 - b _08085964 - .align 2, 0 -_0808595C: .4byte gUnk_03003F80 -_08085960: - adds r0, r1, #0 - adds r0, #0x80 -_08085964: - str r0, [r7, #0x6c] - ldrh r2, [r7, #0x2a] - movs r1, #0xe0 - lsls r1, r1, #4 - b _08085982 -_0808596E: - cmp r1, #0x7f - bhi _08085976 - movs r0, #0 - b _0808597A -_08085976: - adds r0, r1, #0 - subs r0, #0x80 -_0808597A: - str r0, [r7, #0x6c] - ldrh r2, [r7, #0x2a] - movs r1, #0xe0 - lsls r1, r1, #8 -_08085982: - adds r0, r1, #0 - ands r0, r2 - cmp r0, r1 - bne _08085998 - ldr r0, [r7, #0x6c] - cmp r0, #0 - bge _08085992 - adds r0, #3 -_08085992: - asrs r0, r0, #2 - rsbs r0, r0, #0 - str r0, [r7, #0x6c] -_08085998: - ldr r1, [r7, #0x70] - cmp r1, #0 - beq _080859E6 - cmp r1, #0 - bge _080859C0 - movs r0, #0x80 - rsbs r0, r0, #0 - cmp r1, r0 - ble _080859AE - movs r0, #0 - b _080859B2 -_080859AE: - adds r0, r1, #0 - adds r0, #0x80 -_080859B2: - str r0, [r7, #0x70] - ldrh r1, [r7, #0x2a] - movs r0, #0xe - ands r0, r1 - cmp r0, #0xe - bne _080859E6 - b _080859D8 -_080859C0: - cmp r1, #0x7f - bhi _080859C8 - movs r0, #0 - b _080859CC -_080859C8: - adds r0, r1, #0 - subs r0, #0x80 -_080859CC: - str r0, [r7, #0x70] - ldrh r1, [r7, #0x2a] - movs r0, #0xe0 - ands r0, r1 - cmp r0, #0xe0 - bne _080859E6 -_080859D8: - ldr r0, [r7, #0x70] - cmp r0, #0 - bge _080859E0 - adds r0, #3 -_080859E0: - asrs r0, r0, #2 - rsbs r0, r0, #0 - str r0, [r7, #0x70] -_080859E6: - adds r0, r7, #0 - bl sub_08085D28 - adds r0, r7, #0 - bl sub_08085D60 - b _08085A0A -_080859F4: - ldr r0, _08085A18 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _08085A0A - adds r0, r7, #0 - movs r1, #8 - movs r2, #0xa - bl sub_080A2AF4 -_08085A0A: - adds r0, r7, #0 - bl sub_08085F48 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08085A18: .4byte gUnk_030010A0 - - thumb_func_start sub_08085A1C -sub_08085A1C: @ 0x08085A1C - push {lr} - ldr r2, _08085A3C @ =gUnk_0812062C - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldr r2, _08085A40 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #0x30] - bl sub_08078B48 - pop {pc} - .align 2, 0 -_08085A3C: .4byte gUnk_0812062C -_08085A40: .4byte gUnk_03003F80 - - thumb_func_start sub_08085A44 -sub_08085A44: @ 0x08085A44 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #0x10 - movs r2, #0x18 - bl sub_080002B4 - cmp r0, #0x11 - beq _08085A62 - movs r0, #0x18 - strb r0, [r4, #0x15] - b _08085A82 -_08085A62: - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r4, #0 - movs r2, #0x18 - bl sub_080002B4 - cmp r0, #0x11 - beq _08085A78 - movs r0, #8 - strb r0, [r4, #0x15] - b _08085A82 -_08085A78: - movs r0, #0x10 - strb r0, [r4, #0x15] - movs r0, #1 - strb r0, [r4, #0xd] - b _08085A94 -_08085A82: - adds r0, r4, #0 - bl sub_08085EFC - adds r0, r4, #0 - bl sub_080AF134 - adds r0, r4, #0 - bl sub_08085F1C -_08085A94: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08085A98 -sub_08085A98: @ 0x08085A98 - push {r4, lr} - adds r4, r0, #0 - bl sub_08085EFC - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08085F1C - ldr r1, [r4, #0x78] - ldr r0, _08085B00 @ =0x007FFFFF - cmp r1, r0 - bls _08085ACC - ldr r2, _08085B04 @ =0xFFFE0000 - adds r0, r1, r2 - str r0, [r4, #0x78] - adds r0, r4, #0 - adds r0, #0x7a - ldrh r2, [r0] - adds r0, #4 - ldrh r3, [r0] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805EC9C -_08085ACC: - adds r0, r4, #0 - movs r1, #0 - movs r2, #0x18 - bl sub_080002B4 - cmp r0, #0x11 - beq _08085B34 - movs r0, #2 - strb r0, [r4, #0xd] - ldr r0, _08085B08 @ =gUnk_02033A90 - ldrb r0, [r0, #1] - cmp r0, #0x1b - bne _08085B10 - ldrh r0, [r4, #0x32] - adds r0, #0xd0 - strh r0, [r4, #0x32] - ldr r0, _08085B0C @ =0x0000FF30 - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0x46 - strh r0, [r1] - movs r0, #0x73 - bl sub_0807CCB4 - b _08085B22 - .align 2, 0 -_08085B00: .4byte 0x007FFFFF -_08085B04: .4byte 0xFFFE0000 -_08085B08: .4byte gUnk_02033A90 -_08085B0C: .4byte 0x0000FF30 -_08085B10: - ldrh r0, [r4, #0x32] - adds r0, #0x40 - strh r0, [r4, #0x32] - ldr r0, _08085B38 @ =0x0000FFC0 - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0xf - strh r0, [r1] -_08085B22: - adds r0, r4, #0 - movs r1, #0x2b - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - ldr r0, _08085B3C @ =0x0000012D - bl sub_080A3268 -_08085B34: - pop {r4, pc} - .align 2, 0 -_08085B38: .4byte 0x0000FFC0 -_08085B3C: .4byte 0x0000012D - - thumb_func_start sub_08085B40 -sub_08085B40: @ 0x08085B40 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x34] - cmp r0, #0 - beq _08085BB4 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r5, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _08085BE8 - ldr r1, [r5, #0x78] - ldr r0, _08085B9C @ =0x011FFFFF - cmp r1, r0 - bhi _08085B7A - movs r2, #0x80 - lsls r2, r2, #0xd - adds r0, r1, r2 - str r0, [r5, #0x78] - adds r0, r5, #0 - adds r0, #0x7a - ldrh r2, [r0] - adds r0, #4 - ldrh r3, [r0] - adds r0, r5, #0 - adds r1, r2, #0 - bl sub_0805EC9C -_08085B7A: - ldr r4, _08085BA0 @ =gUnk_03001160 - ldrh r3, [r5, #0x32] - ldrh r0, [r5, #0x36] - adds r0, r3, r0 - adds r1, r5, #0 - adds r1, #0x74 - ldrh r1, [r1] - subs r2, r0, r1 - strh r2, [r4, #0x32] - ldr r0, _08085BA4 @ =gUnk_02033A90 - ldrb r0, [r0, #1] - cmp r0, #0x1b - bne _08085BA8 - subs r0, r3, r1 - adds r1, r2, #0 - adds r1, #0xd0 - b _08085BAE - .align 2, 0 -_08085B9C: .4byte 0x011FFFFF -_08085BA0: .4byte gUnk_03001160 -_08085BA4: .4byte gUnk_02033A90 -_08085BA8: - subs r0, r3, r1 - adds r1, r2, #0 - adds r1, #0x40 -_08085BAE: - subs r0, r0, r1 - strh r0, [r4, #0x36] - b _08085BE8 -_08085BB4: - adds r0, r5, #0 - bl sub_0800455E - adds r0, r5, #0 - bl sub_080002B8 - cmp r0, #0xd - bne _08085BE8 - ldr r4, _08085C50 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_0800455E - adds r0, r5, #0 - bl sub_08085CDC - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080045C4 - strb r0, [r5, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - ldrb r2, [r5, #0x15] - adds r0, r4, #0 - bl sub_0806F5BC -_08085BE8: - adds r1, r5, #0 - adds r1, #0x82 - ldrh r0, [r1] - cmp r0, #0 - bne _08085C54 - ldr r4, _08085C50 @ =gUnk_03001160 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08085C58 - adds r0, r4, #0 - bl sub_0800455E - adds r0, r5, #0 - bl sub_08085F1C - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #4 - strb r0, [r5, #0xf] -_08085C16: - adds r0, r5, #0 - movs r1, #8 - movs r2, #0xa - bl sub_080A2AF4 - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _08085C16 - movs r0, #1 - strb r0, [r5, #0xf] - ldrb r1, [r5, #0xe] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0xe] - str r2, [r5, #0x70] - str r2, [r5, #0x6c] - adds r0, r5, #0 - bl sub_080002B8 - cmp r0, #0xd - bne _08085C58 - movs r0, #4 - strb r0, [r5, #0xc] - b _08085C58 - .align 2, 0 -_08085C50: .4byte gUnk_03001160 -_08085C54: - subs r0, #1 - strh r0, [r1] -_08085C58: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08085C5C -sub_08085C5C: @ 0x08085C5C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08085CA0 @ =gUnk_03001160 - adds r1, r5, #0 - movs r2, #0x18 - bl sub_0806FC80 - cmp r0, #0 - beq _08085CAE - adds r0, r4, #0 - bl sub_0806F69C - ldrh r0, [r4, #0x24] - strh r0, [r5, #0x24] - ldrb r0, [r4, #0x15] - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F69C - ldr r2, _08085CA4 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #0x30] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - bne _08085CA8 - adds r0, r5, #0 - bl sub_0800455E - b _08085CAE - .align 2, 0 -_08085CA0: .4byte gUnk_03001160 -_08085CA4: .4byte gUnk_03003F80 -_08085CA8: - adds r0, r5, #0 - bl sub_08004542 -_08085CAE: - ldr r3, _08085CD4 @ =gUnk_03000BF0 - ldrh r0, [r3] - cmp r0, #0 - bne _08085CD2 - ldrb r1, [r4, #0x10] - movs r0, #0xdf - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x11] - lsrs r2, r1, #4 - subs r0, #0x11 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x11] - ldr r0, _08085CD8 @ =gUnk_03001160 - str r0, [r3, #0x30] -_08085CD2: - pop {r4, r5, pc} - .align 2, 0 -_08085CD4: .4byte gUnk_03000BF0 -_08085CD8: .4byte gUnk_03001160 - - thumb_func_start sub_08085CDC -sub_08085CDC: @ 0x08085CDC - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x78] - movs r1, #0x80 - lsls r1, r1, #0xd - adds r0, r0, r1 - str r0, [r4, #0x78] - ldr r1, _08085D04 @ =0x03FFFFFF - cmp r0, r1 - bhi _08085D08 - adds r0, r4, #0 - adds r0, #0x7a - ldrh r2, [r0] - adds r0, #4 - ldrh r3, [r0] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805EC9C - b _08085D0C - .align 2, 0 -_08085D04: .4byte 0x03FFFFFF -_08085D08: - bl sub_0805E780 -_08085D0C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08085D10 -sub_08085D10: @ 0x08085D10 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805EABC - cmp r0, #0 - beq _08085D26 - ldrb r0, [r4, #0xb] - bl sub_0807CCB4 - bl sub_0805E780 -_08085D26: - pop {r4, pc} - - thumb_func_start sub_08085D28 -sub_08085D28: @ 0x08085D28 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _08085D5C @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x13 - beq _08085D5A - ldr r0, [r1, #0x30] - movs r5, #2 - ands r0, r5 - cmp r0, #0 - beq _08085D5A - adds r0, r4, #0 - movs r1, #0 - movs r2, #0x18 - bl sub_080002B4 - cmp r0, #0x11 - bne _08085D5A - movs r0, #0 - strb r5, [r4, #0xc] - strb r0, [r4, #0xd] - bl sub_08078B48 -_08085D5A: - pop {r4, r5, pc} - .align 2, 0 -_08085D5C: .4byte gUnk_03003F80 - - thumb_func_start sub_08085D60 -sub_08085D60: @ 0x08085D60 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldr r2, _08085D94 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - beq _08085E64 - adds r0, r2, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x12 - beq _08085E64 - ldrb r0, [r2, #2] - cmp r0, #0 - bne _08085E64 - ldrb r1, [r5, #0x15] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _08085D98 - ldrb r6, [r5, #0x15] - adds r4, r6, #0 - b _08085DB0 - .align 2, 0 -_08085D94: .4byte gUnk_03003F80 -_08085D98: - movs r0, #0x10 - ands r0, r1 - movs r4, #8 - cmp r0, #0 - beq _08085DA4 - movs r4, #0x18 -_08085DA4: - ldrb r0, [r5, #0x15] - subs r0, #8 - movs r6, #0x10 - cmp r0, #0x10 - ble _08085DB0 - movs r6, #0 -_08085DB0: - cmp r4, #0x18 - beq _08085DB8 - cmp r4, #8 - bne _08085E20 -_08085DB8: - lsrs r3, r4, #2 - ldr r1, _08085E10 @ =gUnk_08120638 - adds r0, r3, r1 - movs r7, #0 - ldrsb r7, [r0, r7] - adds r0, r3, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - mov r8, r0 - adds r0, r5, #0 - adds r1, r7, #0 - mov r2, r8 - bl sub_080002CC - cmp r0, #0xff - bne _08085E20 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r2, _08085E14 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - adds r0, r0, r7 - movs r3, #0x32 - ldrsh r1, [r5, r3] - ldrh r2, [r2, #8] - subs r1, r1, r2 - add r1, r8 - adds r2, r4, #0 - movs r3, #5 - bl sub_080806BC - cmp r0, #0 - bne _08085E1C - ldr r0, _08085E18 @ =gUnk_03001160 - lsrs r1, r4, #3 - bl sub_0807BD14 - cmp r0, #0 - beq _08085E20 - strb r4, [r5, #0x15] - b _08085E52 - .align 2, 0 -_08085E10: .4byte gUnk_08120638 -_08085E14: .4byte gUnk_03000BF0 -_08085E18: .4byte gUnk_03001160 -_08085E1C: - strb r4, [r5, #0x15] - b _08085E6C -_08085E20: - cmp r6, #0 - beq _08085E28 - cmp r6, #0x10 - bne _08085E6C -_08085E28: - lsrs r3, r6, #2 - ldr r2, _08085E5C @ =gUnk_08120638 - adds r0, r3, r2 - movs r1, #0 - ldrsb r1, [r0, r1] - adds r0, r3, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r0, r5, #0 - bl sub_080002CC - cmp r0, #0xff - bne _08085E6C - ldr r0, _08085E60 @ =gUnk_03001160 - lsrs r1, r6, #3 - bl sub_0807BD14 - cmp r0, #0 - beq _08085E6C - strb r6, [r5, #0x15] -_08085E52: - adds r0, r5, #0 - bl sub_08085E74 - b _08085E6C - .align 2, 0 -_08085E5C: .4byte gUnk_08120638 -_08085E60: .4byte gUnk_03001160 -_08085E64: - ldrb r1, [r5, #0x10] - movs r0, #0xdf - ands r0, r1 - strb r0, [r5, #0x10] -_08085E6C: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08085E74 -sub_08085E74: @ 0x08085E74 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2, #0x11] - movs r0, #3 - strb r0, [r2, #0xc] - ldrb r0, [r2, #0x15] - cmp r0, #8 - beq _08085EB8 - cmp r0, #8 - bgt _08085EA2 - cmp r0, #0 - beq _08085EAC - b _08085EBE -_08085EA2: - cmp r0, #0x10 - beq _08085EB2 - cmp r0, #0x18 - beq _08085EB8 - b _08085EBE -_08085EAC: - movs r0, #0x90 - lsls r0, r0, #1 - b _08085EBC -_08085EB2: - movs r0, #0x9c - lsls r0, r0, #1 - b _08085EBC -_08085EB8: - movs r0, #0x80 - lsls r0, r0, #1 -_08085EBC: - strh r0, [r2, #0x24] -_08085EBE: - movs r0, #0 - str r0, [r2, #0x70] - str r0, [r2, #0x6c] - strh r0, [r2, #0x2c] - strh r0, [r2, #0x30] - ldr r1, _08085EF0 @ =gUnk_03001160 - strh r0, [r1, #0x2c] - strh r0, [r1, #0x30] - ldrb r0, [r2, #0x15] - strb r0, [r1, #0x15] - ldr r1, _08085EF4 @ =gUnk_03003F80 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1, #8] - ldr r0, _08085EF8 @ =gUnk_03000BF0 - str r2, [r0, #0x30] - ldr r0, [r1, #0x2c] - cmp r0, #0 - beq _08085EE8 - bl sub_0805E7BC -_08085EE8: - bl sub_08077B2C - pop {pc} - .align 2, 0 -_08085EF0: .4byte gUnk_03001160 -_08085EF4: .4byte gUnk_03003F80 -_08085EF8: .4byte gUnk_03000BF0 - - thumb_func_start sub_08085EFC -sub_08085EFC: @ 0x08085EFC - ldr r3, _08085F18 @ =gUnk_03001160 - ldrh r1, [r0, #0x2e] - ldrh r2, [r3, #0x2e] - subs r1, r1, r2 - adds r2, r0, #0 - adds r2, #0x76 - strh r1, [r2] - ldrh r1, [r0, #0x32] - ldrh r2, [r3, #0x32] - subs r1, r1, r2 - adds r0, #0x74 - strh r1, [r0] - bx lr - .align 2, 0 -_08085F18: .4byte gUnk_03001160 - - thumb_func_start sub_08085F1C -sub_08085F1C: @ 0x08085F1C - push {lr} - adds r3, r0, #0 - ldr r2, _08085F44 @ =gUnk_03001160 - adds r1, r3, #0 - adds r1, #0x76 - ldrh r0, [r3, #0x2e] - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r2, #0x2e] - adds r1, r3, #0 - adds r1, #0x74 - ldrh r0, [r3, #0x32] - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r2, #0x32] - ldrb r0, [r3, #0x15] - bl sub_0807A5B8 - pop {pc} - .align 2, 0 -_08085F44: .4byte gUnk_03001160 - - thumb_func_start sub_08085F48 -sub_08085F48: @ 0x08085F48 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xe] - movs r0, #0x80 - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - beq _08085F8C - ldr r5, _08085F80 @ =gUnk_03003F80 - ldrb r0, [r5, #0x12] - cmp r0, #0x17 - bne _08085F6A - bl sub_08078F60 - movs r0, #0x19 - strb r0, [r5, #0x12] -_08085F6A: - movs r0, #0x83 - bl sub_080A3268 - ldr r1, [r4, #0x78] - ldr r0, _08085F84 @ =0x0127FFFF - cmp r1, r0 - bhi _08085F88 - movs r2, #0x80 - lsls r2, r2, #0xc - b _08085FF8 - .align 2, 0 -_08085F80: .4byte gUnk_03003F80 -_08085F84: .4byte 0x0127FFFF -_08085F88: - movs r0, #0 - b _08086006 -_08085F8C: - ldr r0, _08085FAC @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - movs r0, #2 - ands r1, r0 - cmp r1, #0 - beq _08085FCC - lsls r0, r2, #0x18 - cmp r0, #0 - beq _08085FB8 - ldr r1, [r4, #0x78] - ldr r0, _08085FB0 @ =0x011FFFFF - cmp r1, r0 - bhi _08085FB4 - movs r2, #0x80 - lsls r2, r2, #8 - b _08085FF8 - .align 2, 0 -_08085FAC: .4byte gUnk_03003F80 -_08085FB0: .4byte 0x011FFFFF -_08085FB4: - strb r3, [r4, #0xe] - b _08086008 -_08085FB8: - ldr r1, [r4, #0x78] - movs r0, #0x88 - lsls r0, r0, #0x11 - cmp r1, r0 - bls _08086004 - ldr r2, _08085FC8 @ =0xFFFF8000 - b _08085FF8 - .align 2, 0 -_08085FC8: .4byte 0xFFFF8000 -_08085FCC: - lsls r0, r2, #0x18 - cmp r0, #0 - beq _08085FEC - ldr r2, [r4, #0x78] - ldr r0, _08085FE4 @ =0x010FFFFF - cmp r2, r0 - bhi _08085FE8 - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r2, r1 - str r0, [r4, #0x78] - b _08086008 - .align 2, 0 -_08085FE4: .4byte 0x010FFFFF -_08085FE8: - strb r1, [r4, #0xe] - b _08086008 -_08085FEC: - ldr r1, [r4, #0x78] - movs r0, #0x83 - lsls r0, r0, #0x11 - cmp r1, r0 - bls _08086004 - ldr r2, _08086000 @ =0xFFFFC000 -_08085FF8: - adds r0, r1, r2 - str r0, [r4, #0x78] - b _08086008 - .align 2, 0 -_08086000: .4byte 0xFFFFC000 -_08086004: - movs r0, #1 -_08086006: - strb r0, [r4, #0xe] -_08086008: - adds r0, r4, #0 - adds r0, #0x7a - ldrh r2, [r0] - adds r0, #4 - ldrh r3, [r0] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805EC9C - pop {r4, r5, pc} - - thumb_func_start sub_0808601C -sub_0808601C: @ 0x0808601C - push {lr} - ldr r2, _08086030 @ =gUnk_08120648 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08086030: .4byte gUnk_08120648 - - thumb_func_start sub_08086034 -sub_08086034: @ 0x08086034 - push {lr} - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - adds r1, r0, #0 - adds r1, #0x58 - ldrb r1, [r1] - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08086054 -sub_08086054: @ 0x08086054 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08086064 - adds r0, r4, #0 - bl sub_08004274 -_08086064: - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0808607C - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_0808607C: - ldrb r0, [r4, #0xe] - lsls r1, r0, #0x18 - cmp r1, #0 - blt _080860AA - cmp r1, #0 - beq _08086098 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080860AA - bl sub_0805E780 - b _080860AA -_08086098: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080860AA - bl sub_0805E780 -_080860AA: - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _080860BC - ldr r0, [r1, #0x2c] - str r0, [r4, #0x2c] - ldr r0, [r1, #0x30] - str r0, [r4, #0x30] - ldr r0, [r1, #0x34] - str r0, [r4, #0x34] -_080860BC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080860C0 -sub_080860C0: @ 0x080860C0 - push {lr} - ldr r2, _080860D4 @ =gUnk_08120650 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080860D4: .4byte gUnk_08120650 - - thumb_func_start sub_080860D8 -sub_080860D8: @ 0x080860D8 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, #0xff - strh r0, [r4, #0x24] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xa] - strb r0, [r4, #0x1e] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xb] - bl sub_0804B128 - str r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x54 - adds r2, r4, #0 - adds r2, #0x70 - adds r0, r4, #0 - bl sub_080A2CC0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808611C -sub_0808611C: @ 0x0808611C - push {r4, lr} - adds r4, r0, #0 - bl sub_08086168 - adds r1, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0808613C - ldr r2, [r4, #0x50] - ldrb r0, [r2, #0xe] - cmp r0, #0 - bne _08086144 - cmp r1, #0 - beq _0808613C - adds r0, #1 - strb r0, [r2, #0xe] -_0808613C: - adds r0, r4, #0 - bl sub_080A2BE4 - b _0808614C -_08086144: - adds r0, r4, #0 - movs r1, #0 - bl sub_080A2BE4 -_0808614C: - adds r2, r4, #0 - adds r2, #0x70 - ldrh r0, [r2] - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08086166 - adds r1, r4, #0 - adds r1, #0x54 - adds r0, r4, #0 - bl sub_080A2CC0 -_08086166: - pop {r4, pc} - - thumb_func_start sub_08086168 -sub_08086168: @ 0x08086168 - push {r4, lr} - ldrb r1, [r0, #0xa] - lsls r1, r1, #1 - ldr r2, _0808619C @ =gUnk_08120658 - adds r1, r1, r2 - ldr r4, _080861A0 @ =gUnk_03001160 - ldrb r2, [r1] - ldrb r3, [r1, #1] - adds r1, r4, #0 - bl sub_080041A0 - cmp r0, #0 - beq _080861A8 - bl sub_08079F8C - cmp r0, #0 - beq _080861A8 - ldr r0, _080861A4 @ =gUnk_03003F80 - movs r1, #1 - strb r1, [r0, #0x14] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _080861A8 - movs r0, #1 - b _080861AA - .align 2, 0 -_0808619C: .4byte gUnk_08120658 -_080861A0: .4byte gUnk_03001160 -_080861A4: .4byte gUnk_03003F80 -_080861A8: - movs r0, #0 -_080861AA: - pop {r4, pc} - - thumb_func_start sub_080861AC -sub_080861AC: @ 0x080861AC - push {lr} - ldr r2, _080861C0 @ =gUnk_08120660 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080861C0: .4byte gUnk_08120660 - - thumb_func_start sub_080861C4 -sub_080861C4: @ 0x080861C4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r5, #1 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x80 - strh r0, [r4, #0x24] - ldr r0, _08086230 @ =gUnk_03001160 - mov ip, r0 - ldrb r1, [r0, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r3, [r4, #0x19] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4, #0x19] - mov r0, ip - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r6, r4, #0 - adds r6, #0x29 - lsrs r1, r1, #0x1d - ldrb r3, [r6] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r6] - mov r0, ip - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - mov r1, ip - ldrb r0, [r1, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r1, [r4, #0x1b] - ands r2, r1 - orrs r2, r0 - strb r2, [r4, #0x1b] - bl sub_08000E50 - ands r0, r5 - strb r0, [r4, #0xa] - adds r0, r4, #0 - movs r1, #0x11 - bl sub_08004260 - pop {r4, r5, r6, pc} - .align 2, 0 -_08086230: .4byte gUnk_03001160 - - thumb_func_start sub_08086234 -sub_08086234: @ 0x08086234 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08086258 - ldr r0, _08086254 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0808625E - adds r0, r4, #0 - bl sub_08004274 - b _0808625E - .align 2, 0 -_08086254: .4byte gUnk_030010A0 -_08086258: - adds r0, r4, #0 - bl sub_08004274 -_0808625E: - adds r0, r4, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0808626E - bl sub_0805E780 - b _0808627E -_0808626E: - ldr r0, _08086280 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - beq _0808627E - bl sub_0805E780 -_0808627E: - pop {r4, pc} - .align 2, 0 -_08086280: .4byte gUnk_03003F80 - - thumb_func_start sub_08086284 -sub_08086284: @ 0x08086284 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080862B4 @ =gUnk_08120668 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r1, r4, #0 - adds r1, #0x41 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - adds r0, #4 - ldrh r2, [r0] - adds r0, r4, #0 - movs r3, #0 - bl sub_0805EC9C - pop {r4, pc} - .align 2, 0 -_080862B4: .4byte gUnk_08120668 - - thumb_func_start sub_080862B8 -sub_080862B8: @ 0x080862B8 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x63 - bl sub_0807CBD0 - cmp r0, #0 - beq _080862CA - bl sub_0805E780 -_080862CA: - movs r3, #1 - strb r3, [r4, #0xc] - ldr r1, _08086350 @ =gUnk_08120678 - ldrb r0, [r4, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x7c - strh r0, [r1] - adds r2, r4, #0 - adds r2, #0x76 - strh r0, [r2] - ldrh r0, [r1] - subs r1, #2 - strh r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08086354 - adds r1, #6 - ldr r0, [r4, #0x2c] - str r0, [r1] - adds r1, #4 - ldr r0, [r4, #0x30] - str r0, [r1] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - strb r0, [r4, #0x19] - str r4, [r4, #0x50] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3f - strb r3, [r0] - subs r1, #1 - movs r0, #4 - strb r0, [r1] - movs r2, #0 -_08086324: - adds r5, r2, #1 - adds r0, r4, #0 - movs r1, #0x18 - adds r2, r5, #0 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _08086346 - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - ldr r0, [r4, #0x54] - str r4, [r0, #0x54] - ldr r0, [r4, #0x54] - str r0, [r4, #0x50] -_08086346: - adds r2, r5, #0 - cmp r2, #3 - bls _08086324 - b _08086360 - .align 2, 0 -_08086350: .4byte gUnk_08120678 -_08086354: - ldrb r0, [r4, #0x19] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r4, #0x19] -_08086360: - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08086370 - pop {r4, r5, pc} - - thumb_func_start sub_08086370 -sub_08086370: @ 0x08086370 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r2, [r6, #0xa] - cmp r2, #0 - beq _08086440 - ldr r0, [r6, #0x54] - adds r0, #0x7f - ldrb r0, [r0] - cmp r0, #0 - bne _080863B6 - adds r1, r6, #0 - adds r1, #0x7c - ldrh r0, [r1] - adds r2, r6, #0 - adds r2, #0x76 - strh r0, [r2] - ldrh r0, [r1] - subs r1, #2 - strh r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r6, #0x24] - ldr r2, [r6, #0x50] - ldr r0, [r2, #0x2c] - ldr r1, [r6, #0x2c] - subs r0, r0, r1 - ldr r1, [r2, #0x30] - ldr r2, [r6, #0x30] - subs r1, r1, r2 - bl sub_080045DA - movs r1, #0x80 - eors r0, r1 - strb r0, [r6, #0x15] - b _08086428 -_080863B6: - movs r0, #0xc0 - lsls r0, r0, #3 - strh r0, [r6, #0x24] - ldr r2, _080863E8 @ =gUnk_03001160 - ldr r0, [r2, #0x2c] - ldr r1, [r6, #0x2c] - subs r0, r0, r1 - ldr r1, [r2, #0x30] - ldr r2, [r6, #0x30] - subs r1, r1, r2 - bl sub_080045DA - adds r1, r0, #0 - movs r0, #0x80 - eors r1, r0 - ldrb r2, [r6, #0x15] - cmp r1, r2 - beq _080863F0 - subs r0, r1, r2 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x80 - bls _080863EC - adds r0, r2, #3 - b _080863EE - .align 2, 0 -_080863E8: .4byte gUnk_03001160 -_080863EC: - subs r0, r2, #3 -_080863EE: - strb r0, [r6, #0x15] -_080863F0: - ldr r0, _0808640C @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08086410 - adds r0, r6, #0 - adds r0, #0x7c - ldrh r0, [r0] - adds r0, #0x40 - adds r1, r6, #0 - adds r1, #0x76 - b _08086426 - .align 2, 0 -_0808640C: .4byte gUnk_03001160 -_08086410: - adds r0, r6, #0 - adds r0, #0x7c - ldrh r1, [r0] - subs r1, #0x20 - adds r2, r6, #0 - adds r2, #0x76 - strh r1, [r2] - ldrh r0, [r0] - adds r0, #0x50 - adds r1, r6, #0 - adds r1, #0x7a -_08086426: - strh r0, [r1] -_08086428: - ldr r1, [r6, #0x50] - ldr r0, [r1, #0x2c] - str r0, [r6, #0x2c] - ldr r0, [r1, #0x30] - str r0, [r6, #0x30] - movs r0, #0x24 - ldrsh r1, [r6, r0] - ldrb r2, [r6, #0x15] - adds r0, r6, #0 - bl sub_0806F62C - b _0808654A -_08086440: - adds r0, r6, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - bne _08086498 - ldrb r0, [r6, #0x15] - adds r0, #1 - strb r0, [r6, #0x15] - ldrb r0, [r6, #0x1d] - subs r0, #1 - strb r0, [r6, #0x1d] - adds r2, r6, #0 - adds r2, #0x7f - movs r0, #1 - strb r0, [r2] - ldr r0, _08086480 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - movs r0, #2 - ands r0, r1 - adds r3, r2, #0 - cmp r0, #0 - bne _08086484 - adds r0, r6, #0 - adds r0, #0x7c - ldrh r0, [r0] - adds r0, #0x10 - adds r1, r6, #0 - adds r1, #0x76 - strh r0, [r1] - b _080864BC - .align 2, 0 -_08086480: .4byte gUnk_03001160 -_08086484: - adds r1, r6, #0 - adds r1, #0x7c - ldrh r0, [r1] - subs r0, #0x20 - adds r2, r6, #0 - adds r2, #0x76 - strh r0, [r2] - ldrh r0, [r1] - adds r0, #0x30 - b _080864B6 -_08086498: - ldrb r0, [r6, #0x15] - adds r0, #2 - strb r0, [r6, #0x15] - movs r0, #0xf0 - strb r0, [r6, #0x1d] - adds r3, r6, #0 - adds r3, #0x7f - strb r2, [r3] - adds r1, r6, #0 - adds r1, #0x7c - ldrh r0, [r1] - adds r2, r6, #0 - adds r2, #0x76 - strh r0, [r2] - ldrh r0, [r1] -_080864B6: - subs r1, #2 - strh r0, [r1] - adds r1, r2, #0 -_080864BC: - ldrb r2, [r6, #0x1d] - cmp r2, #0 - bne _080864CA - movs r0, #2 - strb r0, [r6, #0xc] - strb r2, [r3] - b _0808654A -_080864CA: - ldrb r0, [r6, #0x15] - adds r0, #0x40 - lsls r0, r0, #0x18 - cmp r0, #0 - blt _080864E0 - ldrh r2, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _080864EE - b _080864EA -_080864E0: - ldrh r2, [r1] - movs r3, #0 - ldrsh r0, [r1, r3] - cmp r0, #0 - bge _080864EE -_080864EA: - rsbs r0, r2, #0 - strh r0, [r1] -_080864EE: - ldr r5, _0808654C @ =gUnk_080C9160 - ldrb r0, [r6, #0x15] - lsls r0, r0, #1 - adds r0, r0, r5 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r4, #0x80 - lsls r4, r4, #1 - adds r1, r4, #0 - bl sub_0806FA04 - adds r1, r6, #0 - adds r1, #0x80 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1] - adds r1, r1, r0 - str r1, [r6, #0x2c] - ldrb r0, [r6, #0x15] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r5 - movs r3, #0 - ldrsh r0, [r0, r3] - movs r1, #0x80 - lsls r1, r1, #5 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r4, #0 - bl sub_0806FA04 - adds r1, r6, #0 - adds r1, #0x84 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1] - subs r1, r1, r0 - str r1, [r6, #0x30] -_0808654A: - pop {r4, r5, r6, pc} - .align 2, 0 -_0808654C: .4byte gUnk_080C9160 - - thumb_func_start sub_08086550 -sub_08086550: @ 0x08086550 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _08086566 - movs r0, #3 - strb r0, [r4, #0xc] - b _08086592 -_08086566: - adds r0, r4, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _08086592 - movs r0, #0x63 - bl sub_0807CCB4 - movs r0, #0 - bl sub_0807CD10 - movs r5, #0 -_0808657E: - ldr r0, [r4, #0x54] - ldr r1, [r0, #0x50] - str r1, [r4, #0x54] - bl sub_0805E7BC - adds r5, #1 - cmp r5, #3 - bls _0808657E - bl sub_0805E780 -_08086592: - pop {r4, r5, pc} - - thumb_func_start sub_08086594 -sub_08086594: @ 0x08086594 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r0, #0x80 - ldr r0, [r0] - ldr r1, [r7, #0x2c] - subs r0, r0, r1 - adds r1, r7, #0 - adds r1, #0x84 - ldr r1, [r1] - ldr r2, [r7, #0x30] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r7, #0x15] - adds r0, r7, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - bne _08086608 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r7, #0x24] - ldrb r0, [r7, #0x1d] - subs r0, #1 - strb r0, [r7, #0x1d] - adds r2, r7, #0 - adds r2, #0x7f - movs r0, #1 - strb r0, [r2] - ldr r0, _080865EC @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _080865F0 - adds r0, r7, #0 - adds r0, #0x7c - ldrh r0, [r0] - adds r0, #0x10 - adds r1, r7, #0 - adds r1, #0x76 - b _0808662A - .align 2, 0 -_080865EC: .4byte gUnk_03001160 -_080865F0: - adds r0, r7, #0 - adds r0, #0x7c - ldrh r1, [r0] - subs r1, #0x20 - adds r3, r7, #0 - adds r3, #0x76 - strh r1, [r3] - ldrh r0, [r0] - adds r0, #0x30 - adds r1, r7, #0 - adds r1, #0x7a - b _0808662A -_08086608: - movs r1, #0 - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r7, #0x24] - movs r0, #0xf0 - strb r0, [r7, #0x1d] - adds r2, r7, #0 - adds r2, #0x7f - strb r1, [r2] - adds r1, r7, #0 - adds r1, #0x7c - ldrh r0, [r1] - adds r3, r7, #0 - adds r3, #0x76 - strh r0, [r3] - ldrh r0, [r1] - subs r1, #2 -_0808662A: - strh r0, [r1] - ldrb r1, [r7, #0x1d] - cmp r1, #0 - bne _0808663A - movs r0, #2 - strb r0, [r7, #0xc] - strb r1, [r2] - b _080866B8 -_0808663A: - movs r0, #0x24 - ldrsh r1, [r7, r0] - ldrb r2, [r7, #0x15] - adds r0, r7, #0 - bl sub_0806F62C - ldrb r0, [r7, #0x15] - movs r1, #0x80 - eors r0, r1 - strb r0, [r7, #0x15] - ldr r6, _080866BC @ =gUnk_080C9160 - ldrb r0, [r7, #0x15] - lsls r0, r0, #1 - adds r0, r0, r6 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r5, #0x80 - lsls r5, r5, #1 - adds r1, r5, #0 - bl sub_0806FA04 - adds r1, r7, #0 - adds r1, #0x80 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r4, [r1] - adds r4, r4, r0 - ldrb r0, [r7, #0x15] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r6 - movs r1, #0 - ldrsh r0, [r0, r1] - movs r1, #0x80 - lsls r1, r1, #5 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r5, #0 - bl sub_0806FA04 - adds r1, r7, #0 - adds r1, #0x84 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r2, [r1] - subs r2, r2, r0 - adds r0, r7, #0 - adds r1, r4, #0 - movs r3, #2 - bl sub_0806FCB8 - cmp r0, #0 - beq _080866B8 - movs r0, #1 - strb r0, [r7, #0xc] -_080866B8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080866BC: .4byte gUnk_080C9160 - - thumb_func_start sub_080866C0 -sub_080866C0: @ 0x080866C0 - push {lr} - ldr r2, _080866D4 @ =gUnk_081206B4 - ldrb r1, [r0, #0xb] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080866D4: .4byte gUnk_081206B4 - - thumb_func_start sub_080866D8 -sub_080866D8: @ 0x080866D8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - ldrb r1, [r6, #0xc] - cmp r1, #0 - bne _080866FE - movs r0, #1 - strb r0, [r6, #0xc] - str r1, [r6, #0x68] - ldrb r1, [r6, #0xe] - adds r0, r6, #0 - adds r0, #0x6c - strb r1, [r0] - adds r0, r6, #0 - movs r1, #6 - bl sub_0805E3A0 -_080866FE: - adds r0, r6, #0 - adds r0, #0x6c - ldrb r0, [r0] - bl sub_0804B128 - adds r5, r0, #0 - movs r0, #0 - mov r8, r0 - ldrh r0, [r5] - ldr r1, _080867C4 @ =0x0000FFFF - cmp r0, r1 - beq _080867BA - mov sb, r1 -_08086718: - movs r7, #1 - mov r1, r8 - lsls r7, r1 - ldr r0, [r6, #0x68] - ands r0, r7 - cmp r0, #0 - bne _080867A8 - ldrb r0, [r5, #5] - bl sub_080867CC - cmp r0, #0 - beq _080867A8 - ldrh r0, [r5] - ldrh r1, [r5, #2] - movs r2, #0x20 - movs r3, #0x20 - bl sub_080562CC - cmp r0, #0 - beq _080867A8 - ldrb r1, [r5, #7] - ldrb r2, [r5, #6] - movs r0, #0x19 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080867A8 - adds r0, #0x6c - mov r2, r8 - strb r2, [r0] - ldr r1, _080867C8 @ =gUnk_03000BF0 - ldrh r0, [r5] - ldrh r2, [r1, #6] - adds r0, r0, r2 - adds r0, #0x10 - strh r0, [r4, #0x2e] - ldrh r0, [r5, #2] - ldrh r1, [r1, #8] - adds r0, r0, r1 - adds r0, #0x20 - strh r0, [r4, #0x32] - str r6, [r4, #0x50] - ldrh r1, [r5] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - ldrh r0, [r5, #2] - adds r1, r4, #0 - adds r1, #0x6a - strh r0, [r1] - ldrb r1, [r5, #4] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - ldrb r0, [r5, #5] - strb r0, [r4, #0xd] - adds r0, r4, #0 - bl sub_08016A04 - ldr r0, [r6, #0x68] - orrs r0, r7 - str r0, [r6, #0x68] - ldr r1, [r5, #8] - cmp r1, #0 - beq _080867A8 - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_080867A8: - adds r5, #0xc - movs r0, #1 - add r8, r0 - ldrh r0, [r5] - cmp r0, sb - beq _080867BA - mov r1, r8 - cmp r1, #0x1f - bls _08086718 -_080867BA: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080867C4: .4byte 0x0000FFFF -_080867C8: .4byte gUnk_03000BF0 - - thumb_func_start sub_080867CC -sub_080867CC: @ 0x080867CC - push {lr} - cmp r0, #0 - beq _080867DE - cmp r0, #2 - bne _080867DE - movs r0, #0x18 - bl sub_0807CC30 - b _080867E0 -_080867DE: - movs r0, #1 -_080867E0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080867E4 -sub_080867E4: @ 0x080867E4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x68 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x6a - ldrh r1, [r1] - movs r2, #0x20 - movs r3, #0x20 - bl sub_080562CC - cmp r0, #0 - bne _08086814 - ldr r2, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x6c - movs r1, #1 - ldrb r0, [r0] - lsls r1, r0 - ldr r0, [r2, #0x68] - bics r0, r1 - str r0, [r2, #0x68] - bl sub_0805E780 -_08086814: - adds r0, r4, #0 - bl sub_0808681C - pop {r4, pc} - - thumb_func_start sub_0808681C -sub_0808681C: @ 0x0808681C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xc] - cmp r4, #0 - beq _0808682C - cmp r4, #1 - beq _08086868 - b _0808688C -_0808682C: - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #8 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x18] - subs r0, #0xc - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - strb r4, [r5, #0x1e] - ldr r0, _08086864 @ =gUnk_081206AC - str r0, [r5, #0x48] - ldrb r1, [r5, #0xd] - cmp r1, #1 - bne _08086852 - movs r0, #2 - strb r0, [r5, #0xc] - strb r1, [r5, #0x1e] -_08086852: - ldrb r1, [r5, #0x10] - movs r2, #2 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080868AA - strb r2, [r5, #0xc] - b _0808688C - .align 2, 0 -_08086864: .4byte gUnk_081206AC -_08086868: - adds r0, r5, #0 - bl sub_08086954 - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808688C - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - strb r4, [r5, #0x1e] - movs r0, #0x10 - movs r1, #0 - movs r2, #1 - bl sub_08078AC0 - ldr r0, _080868AC @ =0x00000111 - bl sub_080A3268 -_0808688C: - ldrb r1, [r5, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080868AA - adds r4, r5, #0 - adds r4, #0x84 - ldr r1, [r4] - adds r0, r5, #0 - bl sub_0807DF74 - ldr r1, [r4] - adds r0, r5, #0 - bl sub_080868EC -_080868AA: - pop {r4, r5, pc} - .align 2, 0 -_080868AC: .4byte 0x00000111 - - thumb_func_start sub_080868B0 -sub_080868B0: @ 0x080868B0 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _080868D2 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldr r0, _080868E8 @ =gUnk_081206AC - str r0, [r5, #0x48] - movs r0, #8 - strb r0, [r5, #0xe] -_080868D2: - adds r4, r5, #0 - adds r4, #0x84 - ldr r1, [r4] - adds r0, r5, #0 - bl sub_0807DF74 - ldr r1, [r4] - adds r0, r5, #0 - bl sub_080868EC - pop {r4, r5, pc} - .align 2, 0 -_080868E8: .4byte gUnk_081206AC - - thumb_func_start sub_080868EC -sub_080868EC: @ 0x080868EC - push {r4, r5, lr} - adds r3, r0, #0 - ldr r2, [r1, #8] - movs r0, #0 - str r0, [r1, #8] - cmp r2, #0 - beq _0808691E - movs r5, #0x80 - lsls r5, r5, #1 - movs r4, #0 - movs r1, #1 -_08086902: - mvns r0, r2 - adds r0, #1 - ands r0, r2 - eors r2, r0 - cmp r0, #0x80 - beq _08086914 - cmp r0, r5 - beq _08086918 - b _0808691A -_08086914: - strb r4, [r3, #0x1e] - b _0808691A -_08086918: - strb r1, [r3, #0x1e] -_0808691A: - cmp r2, #0 - bne _08086902 -_0808691E: - ldrb r0, [r3, #0x1e] - cmp r0, #0 - bne _0808692A - adds r0, r3, #0 - bl sub_0800445C -_0808692A: - pop {r4, r5, pc} - - thumb_func_start sub_0808692C -sub_0808692C: @ 0x0808692C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #0xfd - ands r0, r1 - strb r0, [r2, #0x10] - movs r0, #2 - strb r0, [r2, #0xb] - ldrb r0, [r2, #0x1e] - movs r1, #2 - cmp r0, #0 - bne _08086946 - movs r1, #1 -_08086946: - strb r1, [r2, #0xc] - movs r0, #0 - strb r0, [r2, #0xd] - movs r0, #8 - strb r0, [r2, #0xe] - pop {pc} - .align 2, 0 - - thumb_func_start sub_08086954 -sub_08086954: @ 0x08086954 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - cmp r0, #0 - beq _0808699C - adds r0, r4, #0 - movs r1, #6 - movs r2, #0x14 - bl sub_0806ED9C - cmp r0, #0 - blt _080869A0 - ldr r0, _08086994 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - cmp r0, #0 - bne _080869A0 - ldr r2, _08086998 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x90 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #3 - cmp r1, r0 - bne _080869A0 - ldrb r0, [r2, #2] - cmp r0, #0 - bne _080869A0 - ldrb r0, [r4, #0xe] - subs r0, #1 - b _0808699E - .align 2, 0 -_08086994: .4byte gUnk_03001160 -_08086998: .4byte gUnk_03003F80 -_0808699C: - movs r0, #8 -_0808699E: - strb r0, [r4, #0xe] -_080869A0: - ldrb r0, [r4, #0xe] - pop {r4, pc} - - thumb_func_start sub_080869A4 -sub_080869A4: @ 0x080869A4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #0 - str r0, [r5, #0x14] - adds r0, r4, #0 - bl sub_08086954 - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080869C2 - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #1 - str r0, [r5, #0x14] -_080869C2: - pop {r4, r5, pc} - - thumb_func_start sub_080869C4 -sub_080869C4: @ 0x080869C4 - push {lr} - ldr r2, _080869D8 @ =gUnk_081206C4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080869D8: .4byte gUnk_081206C4 - - thumb_func_start sub_080869DC -sub_080869DC: @ 0x080869DC - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, _08086A24 @ =gUnk_080FD1A8 - str r0, [r4, #0x48] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0xa] - movs r0, #0 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08086A20 - movs r0, #0xa - strb r0, [r1, #0xe] - str r4, [r1, #0x50] - str r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - bl sub_08086A6C -_08086A20: - pop {r4, pc} - .align 2, 0 -_08086A24: .4byte gUnk_080FD1A8 - - thumb_func_start sub_08086A28 -sub_08086A28: @ 0x08086A28 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08086A3A - movs r0, #2 - strb r0, [r4, #0xc] - b _08086A5A -_08086A3A: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - bne _08086A4C - movs r0, #2 - strb r0, [r4, #0xc] -_08086A4C: - adds r0, r4, #0 - bl sub_080AEF88 - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 -_08086A5A: - pop {r4, pc} - - thumb_func_start sub_08086A5C -sub_08086A5C: @ 0x08086A5C - push {lr} - ldr r1, [r0, #0x54] - movs r0, #0 - str r0, [r1, #0x50] - bl sub_0805E780 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08086A6C -sub_08086A6C: @ 0x08086A6C - push {r4, lr} - adds r4, r0, #0 - bl sub_08000E50 - movs r1, #0xa0 - lsls r1, r1, #0xa - str r1, [r4, #0x20] - lsrs r1, r0, #0x10 - movs r2, #0x1f - ands r1, r2 - strb r1, [r4, #0x15] - movs r2, #0xf0 - lsls r2, r2, #1 - adds r1, r2, #0 - ands r0, r1 - strh r0, [r4, #0x24] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08086A90 -sub_08086A90: @ 0x08086A90 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08086AA4 - ldrb r0, [r4, #0xa] - movs r1, #0xb - bl __modsi3 - strb r0, [r4, #0xb] -_08086AA4: - ldr r0, _08086AB8 @ =gUnk_081206D0 - ldrb r1, [r4, #0xb] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08086AB8: .4byte gUnk_081206D0 - - thumb_func_start sub_08086ABC -sub_08086ABC: @ 0x08086ABC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08086AE4 @ =gUnk_081206FC - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r3, _08086AE8 @ =gUnk_03001160 - movs r1, #0x32 - ldrsh r0, [r3, r1] - ldr r2, _08086AEC @ =gUnk_03000BF0 - ldrh r1, [r2, #8] - subs r0, r0, r1 - cmp r0, #0xa7 - bgt _08086AF0 - str r4, [r2, #0x30] - b _08086AF2 - .align 2, 0 -_08086AE4: .4byte gUnk_081206FC -_08086AE8: .4byte gUnk_03001160 -_08086AEC: .4byte gUnk_03000BF0 -_08086AF0: - str r3, [r2, #0x30] -_08086AF2: - movs r0, #2 - strb r0, [r2, #0xe] - pop {r4, pc} - - thumb_func_start sub_08086AF8 -sub_08086AF8: @ 0x08086AF8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08087380 - movs r0, #0 - strb r0, [r4, #0xe] - adds r4, #0x84 - movs r0, #0x91 - lsls r0, r0, #1 - strh r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08086B10 -sub_08086B10: @ 0x08086B10 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0 - bl sub_0807CC3C - cmp r0, #0 - beq _08086B9A - adds r1, r4, #0 - adds r1, #0x84 - ldrh r0, [r1] - cmp r0, #0 - beq _08086B2C - subs r0, #1 - strh r0, [r1] -_08086B2C: - ldrh r1, [r1] - cmp r1, #0x96 - beq _08086B62 - cmp r1, #0x96 - bgt _08086B40 - cmp r1, #0 - beq _08086B5C - cmp r1, #0x82 - beq _08086B62 - b _08086B9A -_08086B40: - cmp r1, #0xd2 - beq _08086B62 - cmp r1, #0xd2 - bgt _08086B4E - cmp r1, #0xaa - beq _08086B62 - b _08086B9A -_08086B4E: - ldr r0, _08086B58 @ =0x00000121 - cmp r1, r0 - beq _08086B62 - b _08086B9A - .align 2, 0 -_08086B58: .4byte 0x00000121 -_08086B5C: - movs r0, #2 - strb r0, [r4, #0xc] - b _08086B9A -_08086B62: - adds r0, r4, #0 - movs r1, #6 - movs r2, #0 - bl sub_080873AC - adds r5, r0, #0 - cmp r5, #0 - beq _08086B9A - ldr r3, _08086B9C @ =gUnk_08120714 - ldrb r1, [r4, #0xe] - lsls r0, r1, #1 - adds r0, r0, r3 - movs r6, #0 - ldrsh r2, [r0, r6] - lsls r2, r2, #0x10 - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r3 - movs r0, #0 - ldrsh r3, [r1, r0] - lsls r3, r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA48 - ldrb r0, [r4, #0xe] - adds r0, #2 - strb r0, [r4, #0xe] -_08086B9A: - pop {r4, r5, r6, pc} - .align 2, 0 -_08086B9C: .4byte gUnk_08120714 - - thumb_func_start sub_08086BA0 -sub_08086BA0: @ 0x08086BA0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #7 - movs r2, #0 - bl sub_080873AC - adds r1, r0, #0 - cmp r1, #0 - beq _08086BC2 - movs r3, #0x80 - lsls r3, r3, #0xc - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 - movs r0, #3 - strb r0, [r4, #0xc] -_08086BC2: - pop {r4, pc} - - thumb_func_start sub_08086BC4 -sub_08086BC4: @ 0x08086BC4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08086C10 @ =gUnk_02034350 - ldr r0, [r0, #0x68] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08086C0C - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080873AC - adds r1, r0, #0 - cmp r1, #0 - beq _08086C0C - adds r0, r4, #0 - bl sub_0806FA24 - movs r0, #6 - movs r1, #4 - bl sub_08050054 - ldr r0, _08086C14 @ =0x00000145 - bl sub_080A3268 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x40 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_08086C0C: - pop {r4, pc} - .align 2, 0 -_08086C10: .4byte gUnk_02034350 -_08086C14: .4byte 0x00000145 - - thumb_func_start sub_08086C18 -sub_08086C18: @ 0x08086C18 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - adds r5, r0, #0 - cmp r5, #0 - beq _08086C2E - subs r0, #1 - strb r0, [r4, #0xe] - b _08086C52 -_08086C2E: - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_080873AC - adds r1, r0, #0 - cmp r1, #0 - beq _08086C52 - ldr r3, _08086C54 @ =0xFFEC0000 - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - strb r5, [r4, #0xf] -_08086C52: - pop {r4, r5, pc} - .align 2, 0 -_08086C54: .4byte 0xFFEC0000 - - thumb_func_start sub_08086C58 -sub_08086C58: @ 0x08086C58 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08086C68 - subs r0, #1 - strb r0, [r4, #0xe] - b _08086C90 -_08086C68: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08086C90 - adds r0, r4, #0 - movs r1, #9 - movs r2, #0 - bl sub_080873AC - adds r5, r0, #0 - cmp r5, #0 - beq _08086C90 - ldr r3, _08086C98 @ =0xFFB40000 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - str r4, [r5, #0x50] - movs r0, #1 - strb r0, [r4, #0xf] -_08086C90: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, r5, pc} - .align 2, 0 -_08086C98: .4byte 0xFFB40000 - - thumb_func_start sub_08086C9C -sub_08086C9C: @ 0x08086C9C - push {lr} - ldr r2, _08086CB0 @ =gUnk_08120728 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08086CB0: .4byte gUnk_08120728 - - thumb_func_start sub_08086CB4 -sub_08086CB4: @ 0x08086CB4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08087380 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r4, #0x19] - ldr r1, _08086D10 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xf4 - lsls r0, r0, #4 - strh r0, [r2] - adds r1, #0x68 - ldr r0, _08086D14 @ =0x00000809 - strh r0, [r1] - movs r1, #0x80 - lsls r1, r1, #3 - strh r1, [r4, #0x24] - movs r2, #0x80 - lsls r2, r2, #1 - adds r0, r4, #0 - movs r3, #0 - bl sub_0805EC9C - pop {r4, pc} - .align 2, 0 -_08086D10: .4byte gUnk_03000F50 -_08086D14: .4byte 0x00000809 - - thumb_func_start sub_08086D18 -sub_08086D18: @ 0x08086D18 - push {lr} - adds r3, r0, #0 - ldrh r0, [r3, #0x24] - subs r0, #0x20 - strh r0, [r3, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #0x80 - lsls r2, r2, #1 - cmp r0, r2 - bne _08086D58 - movs r0, #2 - strb r0, [r3, #0xc] - adds r0, r3, #0 - bl sub_0805EC60 - ldr r2, _08086D50 @ =gUnk_02034350 - ldr r0, [r2, #0x68] - movs r1, #0x20 - orrs r0, r1 - str r0, [r2, #0x68] - ldr r2, _08086D54 @ =gUnk_02033280 - ldr r0, [r2] - movs r1, #4 - orrs r0, r1 - str r0, [r2] - b _08086D64 - .align 2, 0 -_08086D50: .4byte gUnk_02034350 -_08086D54: .4byte gUnk_02033280 -_08086D58: - movs r0, #0x24 - ldrsh r1, [r3, r0] - adds r0, r3, #0 - movs r3, #0 - bl sub_0805EC9C -_08086D64: - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_116 -nullsub_116: @ 0x08086D68 - bx lr - .align 2, 0 - - thumb_func_start sub_08086D6C -sub_08086D6C: @ 0x08086D6C - push {lr} - ldr r2, _08086D80 @ =gUnk_08120734 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08086D80: .4byte gUnk_08120734 - - thumb_func_start sub_08086D84 -sub_08086D84: @ 0x08086D84 - push {r4, lr} - adds r4, r0, #0 - bl sub_08087380 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4] - pop {r4, pc} - - thumb_func_start sub_08086DAC -sub_08086DAC: @ 0x08086DAC - push {lr} - bl sub_08004274 - pop {pc} - - thumb_func_start sub_08086DB4 -sub_08086DB4: @ 0x08086DB4 - push {lr} - ldr r2, _08086DC8 @ =gUnk_0812073C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08086DC8: .4byte gUnk_0812073C - - thumb_func_start sub_08086DCC -sub_08086DCC: @ 0x08086DCC - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #4 - movs r2, #0 - bl sub_080873AC - adds r4, r0, #0 - cmp r4, #0 - beq _08086E00 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - str r5, [r4, #0x50] - adds r0, r5, #0 - bl sub_08087380 - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - movs r0, #0 - strb r0, [r5, #0xf] -_08086E00: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08086E04 -sub_08086E04: @ 0x08086E04 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldr r0, [r4, #0x34] - ldr r1, _08086E2C @ =0xFFFF8000 - adds r0, r0, r1 - str r0, [r4, #0x34] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x14 - rsbs r0, r0, #0 - cmp r1, r0 - bne _08086E34 - movs r0, #2 - strb r0, [r4, #0xc] - ldr r0, _08086E30 @ =0x00000141 - bl sub_080A3268 - b _08086E62 - .align 2, 0 -_08086E2C: .4byte 0xFFFF8000 -_08086E30: .4byte 0x00000141 -_08086E34: - movs r0, #0xa - rsbs r0, r0, #0 - cmp r1, r0 - bne _08086E62 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08086E62 - adds r0, r4, #0 - movs r1, #5 - movs r2, #0 - bl sub_080873AC - adds r1, r0, #0 - cmp r1, #0 - beq _08086E62 - movs r3, #0x80 - lsls r3, r3, #0xb - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 - movs r0, #1 - strb r0, [r4, #0xf] -_08086E62: - pop {r4, pc} - - thumb_func_start sub_08086E64 -sub_08086E64: @ 0x08086E64 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080873D0 - ldr r0, _08086E88 @ =gUnk_02034350 - ldr r0, [r0, #0x68] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08086E84 - adds r0, r4, #0 - bl sub_0805E7BC -_08086E84: - pop {r4, pc} - .align 2, 0 -_08086E88: .4byte gUnk_02034350 - - thumb_func_start sub_08086E8C -sub_08086E8C: @ 0x08086E8C - push {lr} - ldr r2, _08086EA0 @ =gUnk_08120748 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08086EA0: .4byte gUnk_08120748 - - thumb_func_start sub_08086EA4 -sub_08086EA4: @ 0x08086EA4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08087380 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08086ED0 -sub_08086ED0: @ 0x08086ED0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x14 - rsbs r0, r0, #0 - cmp r1, r0 - bne _08086F0C - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - movs r2, #0x80 - lsls r2, r2, #1 - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C -_08086F0C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08086F10 -sub_08086F10: @ 0x08086F10 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08086F3C - ldr r2, _08086F38 @ =gUnk_02034350 - ldr r0, [r2, #0x68] - movs r1, #1 - orrs r0, r1 - str r0, [r2, #0x68] - movs r0, #3 - strb r0, [r3, #0xc] - adds r0, r3, #0 - bl sub_0805EC60 - b _08086F52 - .align 2, 0 -_08086F38: .4byte gUnk_02034350 -_08086F3C: - ldrh r2, [r3, #0x24] - subs r2, #0x18 - strh r2, [r3, #0x24] - movs r1, #0x80 - lsls r1, r1, #1 - lsls r2, r2, #0x10 - asrs r2, r2, #0x14 - adds r0, r3, #0 - movs r3, #0 - bl sub_0805EC9C -_08086F52: - pop {pc} - - thumb_func_start sub_08086F54 -sub_08086F54: @ 0x08086F54 - push {lr} - ldr r2, _08086F68 @ =gUnk_08120758 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08086F68: .4byte gUnk_08120758 - - thumb_func_start sub_08086F6C -sub_08086F6C: @ 0x08086F6C - push {r4, lr} - adds r4, r0, #0 - bl sub_08087380 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0 - strh r0, [r4, #0x36] - adds r4, #0x29 - ldrb r1, [r4] - subs r0, #8 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r4] - movs r0, #0xa0 - lsls r0, r0, #1 - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08086FA0 -sub_08086FA0: @ 0x08086FA0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08086FBC - adds r0, r4, #0 - bl sub_0805E7BC -_08086FBC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08086FC0 -sub_08086FC0: @ 0x08086FC0 - push {lr} - ldr r2, _08086FD4 @ =gUnk_08120760 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08086FD4: .4byte gUnk_08120760 - - thumb_func_start sub_08086FD8 -sub_08086FD8: @ 0x08086FD8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08087380 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4] - pop {r4, pc} - - thumb_func_start sub_08087000 -sub_08087000: @ 0x08087000 - push {lr} - adds r2, r0, #0 - ldr r0, _08087018 @ =gUnk_02034350 - ldr r0, [r0, #0x68] - movs r1, #2 - ands r0, r1 - cmp r0, #0 - beq _0808701C - adds r0, r2, #0 - bl sub_0805E7BC - b _08087022 - .align 2, 0 -_08087018: .4byte gUnk_02034350 -_0808701C: - adds r0, r2, #0 - bl sub_08004274 -_08087022: - pop {pc} - - thumb_func_start sub_08087024 -sub_08087024: @ 0x08087024 - push {lr} - ldr r2, _08087038 @ =gUnk_08120768 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08087038: .4byte gUnk_08120768 - - thumb_func_start sub_0808703C -sub_0808703C: @ 0x0808703C - push {r4, lr} - adds r4, r0, #0 - bl sub_08087380 - movs r0, #0x78 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x7c - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r4] - movs r0, #0xf9 - bl sub_080A3268 - pop {r4, pc} - - thumb_func_start sub_0808706C -sub_0808706C: @ 0x0808706C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08087080 - subs r0, #1 - strb r0, [r4, #0xe] - b _080870AA -_08087080: - adds r0, r4, #0 - movs r1, #3 - movs r2, #0 - bl sub_080873AC - adds r1, r0, #0 - cmp r1, #0 - beq _080870AA - ldr r3, _080870AC @ =0xFFF80000 - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 - ldr r2, _080870B0 @ =gUnk_02034350 - ldr r0, [r2, #0x68] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #0x68] - adds r0, r4, #0 - bl sub_0805E7BC -_080870AA: - pop {r4, pc} - .align 2, 0 -_080870AC: .4byte 0xFFF80000 -_080870B0: .4byte gUnk_02034350 - - thumb_func_start sub_080870B4 -sub_080870B4: @ 0x080870B4 - push {lr} - ldr r2, _080870C8 @ =gUnk_08120770 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080870C8: .4byte gUnk_08120770 - - thumb_func_start sub_080870CC -sub_080870CC: @ 0x080870CC - push {r4, lr} - adds r4, r0, #0 - bl sub_08087380 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r4] - pop {r4, pc} - - thumb_func_start sub_080870F4 -sub_080870F4: @ 0x080870F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08087110 - adds r0, r4, #0 - bl sub_0805E7BC -_08087110: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08087114 -sub_08087114: @ 0x08087114 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _08087134 - ldr r0, _08087130 @ =gUnk_08120778 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _0808714A - .align 2, 0 -_08087130: .4byte gUnk_08120778 -_08087134: - ldr r0, _0808714C @ =gUnk_08120788 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08004274 -_0808714A: - pop {r4, pc} - .align 2, 0 -_0808714C: .4byte gUnk_08120788 - - thumb_func_start sub_08087150 -sub_08087150: @ 0x08087150 - push {r4, lr} - adds r4, r0, #0 - bl sub_08087380 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - strb r1, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x80 - strh r0, [r4, #0x24] - movs r0, #0x10 - strb r0, [r4, #0x15] - ldr r0, _080871A0 @ =gUnk_0812079C - ldrb r0, [r0] - movs r1, #0xf - ands r1, r0 - lsls r0, r0, #4 - orrs r0, r1 - strb r0, [r4, #0x1a] - pop {r4, pc} - .align 2, 0 -_080871A0: .4byte gUnk_0812079C - - thumb_func_start nullsub_516 -nullsub_516: @ 0x080871A4 - bx lr - .align 2, 0 - - thumb_func_start sub_080871A8 -sub_080871A8: @ 0x080871A8 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080871CA - movs r0, #3 - strb r0, [r1, #0xc] - movs r0, #0x3c - strb r0, [r1, #0xe] - ldr r2, _080871CC @ =gUnk_02034350 - ldr r0, [r2, #0x68] - movs r1, #4 - orrs r0, r1 - str r0, [r2, #0x68] -_080871CA: - pop {pc} - .align 2, 0 -_080871CC: .4byte gUnk_02034350 - - thumb_func_start sub_080871D0 -sub_080871D0: @ 0x080871D0 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080871F0 - ldr r0, _080871F4 @ =gUnk_02034350 - ldr r1, [r0, #0x68] - movs r2, #8 - orrs r1, r2 - str r1, [r0, #0x68] - adds r0, r3, #0 - bl sub_0805E7BC -_080871F0: - pop {pc} - .align 2, 0 -_080871F4: .4byte gUnk_02034350 - - thumb_func_start sub_080871F8 -sub_080871F8: @ 0x080871F8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x54] - movs r0, #0x2e - ldrsh r1, [r3, r0] - movs r2, #0x2e - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0808721E - movs r5, #0x32 - ldrsh r0, [r3, r5] - subs r0, #0x20 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _0808721E - movs r0, #2 - strb r0, [r4, #0xc] - b _0808723C -_0808721E: - movs r5, #0x2e - ldrsh r0, [r4, r5] - movs r2, #0x32 - ldrsh r1, [r4, r2] - movs r5, #0x2e - ldrsh r2, [r3, r5] - movs r5, #0x32 - ldrsh r3, [r3, r5] - subs r3, #0x20 - bl sub_080045D4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F69C -_0808723C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08087240 -sub_08087240: @ 0x08087240 - push {lr} - adds r2, r0, #0 - ldr r0, _08087260 @ =gUnk_02034350 - ldr r0, [r0, #0x68] - movs r1, #4 - ands r0, r1 - cmp r0, #0 - beq _0808725C - movs r0, #3 - strb r0, [r2, #0xc] - movs r0, #0x14 - strb r0, [r2, #0xe] - movs r0, #0x10 - strb r0, [r2, #0x15] -_0808725C: - pop {pc} - .align 2, 0 -_08087260: .4byte gUnk_02034350 - - thumb_func_start sub_08087264 -sub_08087264: @ 0x08087264 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - cmp r0, #0 - beq _08087278 - subs r0, #1 - strb r0, [r1, #0xe] - adds r0, r1, #0 - bl sub_0806F69C -_08087278: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808727C -sub_0808727C: @ 0x0808727C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08087292 - adds r0, r1, #0 - bl sub_0805E7BC -_08087292: - pop {pc} - - thumb_func_start sub_08087294 -sub_08087294: @ 0x08087294 - push {lr} - ldr r2, _080872A8 @ =gUnk_081207A4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080872A8: .4byte gUnk_081207A4 - - thumb_func_start sub_080872AC -sub_080872AC: @ 0x080872AC - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x1b] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r2, r0 - strb r2, [r4, #0x19] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x6a - strh r0, [r1] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_08087380 - pop {r4, pc} - - thumb_func_start sub_080872F8 -sub_080872F8: @ 0x080872F8 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x68 - ldrh r0, [r2] - ldrh r1, [r4, #0x2e] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xc - bhi _0808732A - adds r0, r4, #0 - adds r0, #0x6a - ldrh r0, [r0] - ldrh r1, [r4, #0x32] - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xc - bls _0808735C -_0808732A: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r3, #0x32 - ldrsh r1, [r4, r3] - movs r5, #0 - ldrsh r2, [r2, r5] - adds r3, r4, #0 - adds r3, #0x6a - movs r5, #0 - ldrsh r3, [r3, r5] - bl sub_080045D4 - strb r0, [r4, #0x15] - bl sub_08000E50 - ldr r2, _08087378 @ =gUnk_081207AC - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_0808735C: - ldr r1, _0808737C @ =gUnk_080C9160 - ldrb r0, [r4, #0xe] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r3, #0 - ldrsh r0, [r0, r3] - asrs r0, r0, #6 - subs r0, #8 - strh r0, [r4, #0x36] - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - pop {r4, r5, pc} - .align 2, 0 -_08087378: .4byte gUnk_081207AC -_0808737C: .4byte gUnk_080C9160 - - thumb_func_start sub_08087380 -sub_08087380: @ 0x08087380 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - movs r1, #0xb - bl __modsi3 - strb r0, [r4, #0xb] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldrb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - pop {r4, pc} - - thumb_func_start sub_080873AC -sub_080873AC: @ 0x080873AC - push {r4, r5, r6, lr} - adds r5, r1, #0 - adds r6, r2, #0 - ldrb r0, [r0, #0xa] - movs r4, #0xb - movs r1, #0xb - bl __divsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r1, r0, #0 - muls r1, r4, r1 - adds r1, r1, r5 - movs r0, #0x1b - adds r2, r6, #0 - bl sub_080A2960 - pop {r4, r5, r6, pc} - - thumb_func_start sub_080873D0 -sub_080873D0: @ 0x080873D0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080873DE - subs r0, #1 - b _080873F6 -_080873DE: - adds r0, r4, #0 - movs r1, #8 - movs r2, #0 - bl sub_080873AC - adds r1, r0, #0 - cmp r1, #0 - beq _080873F8 - adds r0, r4, #0 - bl sub_0806FA24 - movs r0, #0x30 -_080873F6: - strb r0, [r4, #0xe] -_080873F8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080873FC -sub_080873FC: @ 0x080873FC - push {lr} - movs r0, #0xf7 - bl sub_080A3268 - ldr r1, _0808740C @ =gUnk_03000BF0 - movs r0, #0 - str r0, [r1, #0x30] - b _08087414 - .align 2, 0 -_0808740C: .4byte gUnk_03000BF0 -_08087410: - bl sub_0805E7BC -_08087414: - movs r0, #6 - movs r1, #0x1b - movs r2, #6 - bl sub_0805EB00 - cmp r0, #0 - bne _08087410 - pop {pc} - - thumb_func_start sub_08087424 -sub_08087424: @ 0x08087424 - push {r4, r5, lr} - adds r5, r1, #0 - bl sub_080791D0 - movs r0, #0x64 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0808744E - ldr r0, _0808745C @ =gUnk_03001160 - str r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 -_0808744E: - ldr r1, [r5, #4] - cmp r1, #0 - beq _08087460 - cmp r1, #1 - beq _0808746C - b _08087474 - .align 2, 0 -_0808745C: .4byte gUnk_03001160 -_08087460: - ldr r0, _08087468 @ =gUnk_02002A40 - adds r0, #0xad - b _08087472 - .align 2, 0 -_08087468: .4byte gUnk_02002A40 -_0808746C: - ldr r0, _08087478 @ =gUnk_02002A40 - adds r0, #0xac - movs r1, #0 -_08087472: - strb r1, [r0] -_08087474: - pop {r4, r5, pc} - .align 2, 0 -_08087478: .4byte gUnk_02002A40 - - thumb_func_start sub_0808747C -sub_0808747C: @ 0x0808747C - push {r4, lr} - sub sp, #4 - adds r4, r1, #0 - movs r0, #0 - str r0, [sp] - movs r0, #6 - movs r1, #0xf - movs r2, #6 - movs r3, #0xb - bl sub_0805EB2C - cmp r0, #0 - beq _08087498 - movs r0, #1 -_08087498: - str r0, [r4, #0x14] - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080874A0 -sub_080874A0: @ 0x080874A0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080874AE - movs r0, #1 - strb r0, [r4, #0xc] -_080874AE: - adds r0, r4, #0 - adds r0, #0x80 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r4, #0 - adds r1, #0x82 - movs r2, #0 - ldrsh r1, [r1, r2] - movs r2, #0x10 - movs r3, #0x10 - bl sub_0800290E - cmp r0, #0 - bne _080874DC - ldr r2, [r4, #0x50] - movs r1, #1 - ldrb r4, [r4, #0xb] - lsls r1, r4 - ldr r0, [r2, #0x20] - bics r0, r1 - str r0, [r2, #0x20] - bl sub_0805E780 -_080874DC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080874E0 -sub_080874E0: @ 0x080874E0 - push {lr} - ldr r2, _080874F4 @ =gUnk_081208A0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080874F4: .4byte gUnk_081208A0 - - thumb_func_start sub_080874F8 -sub_080874F8: @ 0x080874F8 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start nullsub_117 -nullsub_117: @ 0x08087500 - bx lr - .align 2, 0 - - thumb_func_start sub_08087504 -sub_08087504: @ 0x08087504 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805E3B0 - cmp r0, #0 - bne _08087520 - ldr r0, _08087524 @ =gUnk_081208B8 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08087520: - pop {r4, pc} - .align 2, 0 -_08087524: .4byte gUnk_081208B8 - - thumb_func_start sub_08087528 -sub_08087528: @ 0x08087528 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _08087590 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x19] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r4, #0x1b] - lsrs r0, r1, #6 - subs r0, #1 - lsls r0, r0, #6 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, #0x1b] - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08087594 - ldrb r1, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r0, [r4, #0x14] - cmp r0, #1 - bne _08087588 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_08087588: - adds r0, r4, #0 - bl sub_08087640 - b _080875DC - .align 2, 0 -_08087590: .4byte gUnk_03001160 -_08087594: - ldr r0, _080875B4 @ =gUnk_02033A90 - ldrb r0, [r0, #1] - movs r1, #4 - cmp r0, #0x10 - bne _080875A2 - movs r1, #0xb5 - lsls r1, r1, #1 -_080875A2: - adds r0, r4, #0 - bl sub_0801D2B4 - ldrb r0, [r4, #0x14] - cmp r0, #1 - beq _080875B8 - cmp r0, #3 - bne _080875CE - b _080875C0 - .align 2, 0 -_080875B4: .4byte gUnk_02033A90 -_080875B8: - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_080875C0: - ldrb r0, [r4, #0xa] - cmp r0, #0x40 - bne _080875DC - ldrh r0, [r4, #0x32] - adds r0, #4 - strh r0, [r4, #0x32] - b _080875DC -_080875CE: - ldrb r0, [r4, #0xa] - cmp r0, #0x40 - bne _080875DC - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_080875DC: - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - ldrb r1, [r4, #0xb] - lsls r1, r1, #2 - ldrb r0, [r4, #0x14] - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_080875F4 -sub_080875F4: @ 0x080875F4 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808760E - bl sub_0805E780 -_0808760E: - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08087638 - ldr r0, _0808763C @ =gUnk_03001160 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - ldrb r0, [r5] - subs r0, #1 - subs r1, r1, r0 - adds r3, r4, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_08087638: - pop {r4, r5, pc} - .align 2, 0 -_0808763C: .4byte gUnk_03001160 - - thumb_func_start sub_08087640 -sub_08087640: @ 0x08087640 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r5, [r4, r0] - movs r1, #0x32 - ldrsh r6, [r4, r1] - ldrb r1, [r4, #0x14] - lsls r1, r1, #1 - ldr r0, _08087684 @ =gUnk_081208C0 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r2, [r4, #0x2e] - adds r0, r0, r2 - strh r0, [r4, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldr r0, _08087688 @ =gUnk_03000BF0 - ldrh r1, [r0, #4] - ldr r0, _0808768C @ =0x00000403 - movs r2, #0x16 - cmp r1, r0 - bne _08087676 - movs r2, #0x17 -_08087676: - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805457C - strh r5, [r4, #0x2e] - strh r6, [r4, #0x32] - pop {r4, r5, r6, pc} - .align 2, 0 -_08087684: .4byte gUnk_081208C0 -_08087688: .4byte gUnk_03000BF0 -_0808768C: .4byte 0x00000403 - - thumb_func_start sub_08087690 -sub_08087690: @ 0x08087690 - push {lr} - ldr r2, _080876A4 @ =gUnk_08120A0C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080876A4: .4byte gUnk_08120A0C - - thumb_func_start sub_080876A8 -sub_080876A8: @ 0x080876A8 - push {lr} - mov ip, r0 - movs r0, #1 - mov r1, ip - strb r0, [r1, #0xc] - movs r0, #0xb0 - lsls r0, r0, #0xa - str r0, [r1, #0x20] - ldrb r2, [r1, #0x14] - lsls r0, r2, #2 - movs r1, #0x10 - eors r0, r1 - mov r3, ip - strb r0, [r3, #0x15] - lsls r2, r2, #0x18 - cmp r2, #0 - bne _080876E2 - adds r3, #0x29 - ldrb r2, [r3] - lsls r1, r2, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - movs r0, #7 - ands r1, r0 - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080876E2: - ldr r1, _08087760 @ =gUnk_08120A20 - mov r2, ip - ldrb r0, [r2, #0x14] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r3, [r2, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrb r0, [r2, #0x14] - adds r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldr r3, _08087764 @ =gUnk_08120A18 - ldrb r0, [r2, #0xf] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r0, #3] - mov r0, ip - adds r0, #0x60 - strh r1, [r0] - ldrb r0, [r2, #0xf] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r0, #1] - movs r0, #0xf - ands r1, r0 - ldrb r2, [r2, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - mov r2, ip - strb r0, [r2, #0x1a] - ldrb r0, [r2, #0xf] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r0, [r0, #2] - str r0, [r2, #0x6c] - ldr r0, _08087768 @ =gUnk_03001160 - adds r0, #0x38 - ldrb r1, [r0] - mov r0, ip - adds r0, #0x38 - strb r1, [r0] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #0x24] - ldrb r0, [r2, #0xf] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r0] - mov r0, ip - bl sub_08004260 - pop {pc} - .align 2, 0 -_08087760: .4byte gUnk_08120A20 -_08087764: .4byte gUnk_08120A18 -_08087768: .4byte gUnk_03001160 - - thumb_func_start sub_0808776C -sub_0808776C: @ 0x0808776C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x6c] - cmp r0, #0 - beq _08087788 - subs r0, #1 - str r0, [r4, #0x6c] - ldr r0, _08087784 @ =gUnk_03003F80 - adds r0, #0x3d - ldrb r0, [r0] - b _08087798 - .align 2, 0 -_08087784: .4byte gUnk_03003F80 -_08087788: - adds r0, r4, #0 - bl sub_080AEFE0 - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 -_08087798: - cmp r0, #0 - bne _080877A0 - movs r0, #2 - strb r0, [r4, #0xc] -_080877A0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080877A4 -sub_080877A4: @ 0x080877A4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080002D0 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r1, r0, #0 - cmp r0, #0x25 - beq _080877D0 - cmp r0, #0x25 - bgt _080877C4 - cmp r0, #0x21 - beq _080877CA - cmp r0, #0x24 - beq _080877D6 - b _080877E2 -_080877C4: - cmp r1, #0x30 - beq _080877D6 - b _080877E2 -_080877CA: - adds r0, r4, #0 - movs r1, #0 - b _080877DA -_080877D0: - adds r0, r4, #0 - movs r1, #0xc - b _080877DA -_080877D6: - adds r0, r4, #0 - movs r1, #0xb -_080877DA: - movs r2, #0 - bl sub_080A29AC - b _08087804 -_080877E2: - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08087804 - cmp r0, #0xf - bne _080877F8 - ldrb r1, [r4, #0xe] - adds r0, r4, #0 - movs r2, #0x80 - bl sub_080A29AC - b _08087804 -_080877F8: - ldrb r1, [r4, #0xb] - ldrb r2, [r4, #0xe] - adds r0, r4, #0 - movs r3, #0 - bl sub_080A2988 -_08087804: - bl sub_0805E780 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808780C -sub_0808780C: @ 0x0808780C - push {lr} - ldr r2, _08087820 @ =gUnk_08120A28 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08087820: .4byte gUnk_08120A28 - - thumb_func_start sub_08087824 -sub_08087824: @ 0x08087824 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - bne _08087836 - adds r0, r4, #0 - bl sub_08016A30 -_08087836: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #0x13 - strb r0, [r1] - adds r1, #9 - movs r0, #0xff - strb r0, [r1] - subs r1, #6 - movs r0, #0xa9 - strb r0, [r1] - adds r1, #1 - movs r0, #0x16 - strb r0, [r1] - ldr r0, _08087884 @ =gUnk_08120A54 - ldr r0, [r0] - str r0, [r4, #0x48] - subs r1, #5 - movs r0, #0x8b - strb r0, [r1] - adds r0, r4, #0 - bl sub_080878CC - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0801766C - movs r0, #0xfd - bl sub_08004488 - pop {r4, pc} - .align 2, 0 -_08087884: .4byte gUnk_08120A54 - - thumb_func_start sub_08087888 -sub_08087888: @ 0x08087888 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080878A4 - bl sub_0805E780 - b _080878C8 -_080878A4: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #4 - bhi _080878C0 - ldr r0, _080878BC @ =gUnk_08120A54 - ldrb r1, [r2] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r4, #0x48] - b _080878C8 - .align 2, 0 -_080878BC: .4byte gUnk_08120A54 -_080878C0: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] -_080878C8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080878CC -sub_080878CC: @ 0x080878CC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x10 - adds r7, r0, #0 - movs r1, #0x2e - ldrsh r0, [r7, r1] - str r0, [sp] - movs r0, #0x32 - ldrsh r2, [r7, r0] - str r2, [sp, #4] - adds r0, r7, #0 - adds r0, #0x38 - ldrb r0, [r0] - mov r8, r0 - movs r0, #0x10 - rsbs r0, r0, #0 - mov r1, r8 - lsls r1, r1, #0x18 - str r1, [sp, #8] -_080878F8: - movs r2, #0x10 - rsbs r2, r2, #0 - mov sb, r2 - ldr r1, [sp] - adds r1, r1, r0 - mov sl, r1 - adds r0, #0x10 - str r0, [sp, #0xc] - mov r6, sl -_0808790A: - ldr r2, _0808795C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r0, r6, r0 - lsrs r4, r0, #4 - movs r0, #0x3f - ands r4, r0 - ldr r5, [sp, #4] - add r5, sb - ldrh r0, [r2, #8] - subs r0, r5, r0 - lsrs r0, r0, #4 - movs r1, #0x3f - ands r0, r1 - lsls r0, r0, #6 - orrs r4, r0 - adds r0, r4, #0 - ldr r2, [sp, #8] - lsrs r1, r2, #0x18 - bl sub_080002C8 - cmp r0, #0x2e - bne _08087970 - adds r0, r4, #0 - mov r1, r8 - bl sub_080002B0 - adds r1, r0, #0 - movs r0, #0xda - lsls r0, r0, #2 - cmp r1, r0 - bhi _08087960 - subs r0, #1 - cmp r1, r0 - blo _08087960 - adds r0, r7, #0 - movs r1, #3 - adds r2, r6, #0 - adds r3, r5, #0 - bl sub_08008796 - b _0808797C - .align 2, 0 -_0808795C: .4byte gUnk_03000BF0 -_08087960: - ldr r0, _0808796C @ =0x00004022 - adds r1, r4, #0 - mov r2, r8 - bl sub_0800015E - b _0808797C - .align 2, 0 -_0808796C: .4byte 0x00004022 -_08087970: - adds r0, r7, #0 - movs r1, #3 - mov r2, sl - adds r3, r5, #0 - bl sub_08008796 -_0808797C: - movs r0, #0x10 - add sb, r0 - mov r1, sb - cmp r1, #0x10 - ble _0808790A - ldr r0, [sp, #0xc] - cmp r0, #0x10 - ble _080878F8 - add sp, #0x10 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08087998 -sub_08087998: @ 0x08087998 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080879C0 @ =gUnk_08120A68 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080879C4 - subs r0, #1 - strb r0, [r4, #0xe] - b _080879EA - .align 2, 0 -_080879C0: .4byte gUnk_08120A68 -_080879C4: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xa - bne _080879D8 - adds r0, r4, #0 - movs r1, #0xd - bl sub_08004260 - b _080879EA -_080879D8: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080879EA - bl sub_0805E780 -_080879EA: - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _08087A0C - adds r0, r4, #0 - bl sub_0806F69C - ldrh r1, [r4, #0x24] - movs r2, #0x24 - ldrsh r0, [r4, r2] - cmp r0, #0x10 - ble _08087A08 - adds r0, r1, #0 - subs r0, #0x10 - b _08087A0A -_08087A08: - movs r0, #0 -_08087A0A: - strh r0, [r4, #0x24] -_08087A0C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08087A10 -sub_08087A10: @ 0x08087A10 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08087A26 - adds r0, r4, #0 - movs r1, #3 - bl sub_0801D2B4 -_08087A26: - ldrb r0, [r4, #0xa] - cmp r0, #2 - bls _08087A3C - ldr r0, _08087A4C @ =gUnk_08120A78 - ldrb r1, [r4, #0xa] - subs r1, #3 - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_0801D2B4 -_08087A3C: - ldrb r0, [r4, #0xa] - cmp r0, #4 - bhi _08087AF0 - lsls r0, r0, #2 - ldr r1, _08087A50 @ =_08087A54 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08087A4C: .4byte gUnk_08120A78 -_08087A50: .4byte _08087A54 -_08087A54: @ jump table - .4byte _08087A76 @ case 0 - .4byte _08087AF0 @ case 1 - .4byte _08087AA0 @ case 2 - .4byte _08087A76 @ case 3 - .4byte _08087A68 @ case 4 -_08087A68: - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 -_08087A76: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - movs r2, #0 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #1 - strb r0, [r1] - subs r1, #9 - movs r0, #7 - strb r0, [r1] - adds r1, #3 - movs r0, #0xaa - strb r0, [r1] - subs r1, #4 - movs r0, #0xe - strb r0, [r1] - ldr r0, _08087AE4 @ =gUnk_08120A8C - str r0, [r4, #0x48] - strb r2, [r4, #0x1c] -_08087AA0: - bl sub_08000E50 - ldr r2, _08087AE8 @ =gUnk_08120A7A - movs r3, #3 - adds r1, r0, #0 - ands r1, r3 - adds r1, r1, r2 - ldrb r1, [r1] - strb r1, [r4, #0xe] - lsrs r2, r0, #8 - ands r2, r3 - movs r1, #0x10 - ands r1, r0 - cmp r1, #0 - beq _08087AC0 - rsbs r2, r2, #0 -_08087AC0: - ldrh r0, [r4, #0x2e] - adds r0, r0, r2 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - adds r0, r0, r2 - strh r0, [r4, #0x32] - ldr r0, _08087AEC @ =gUnk_03001160 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r4, #0 - movs r1, #0xa - bl sub_08004260 - b _08087AF8 - .align 2, 0 -_08087AE4: .4byte gUnk_08120A8C -_08087AE8: .4byte gUnk_08120A7A -_08087AEC: .4byte gUnk_03001160 -_08087AF0: - adds r0, r4, #0 - movs r1, #0x10 - bl sub_08004260 -_08087AF8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08087AFC -sub_08087AFC: @ 0x08087AFC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08087B56 - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x16 - beq _08087B3C - cmp r0, #0x16 - bgt _08087B1E - cmp r0, #0x13 - beq _08087B4E - b _08087B56 -_08087B1E: - cmp r0, #0x1c - bgt _08087B56 - cmp r0, #0x1b - blt _08087B56 - ldr r1, [r4, #0x4c] - adds r0, r1, #0 - adds r0, #0x84 - ldr r0, [r0] - adds r1, #0x80 - ldr r1, [r1] - ldr r2, [r4, #0x2c] - ldr r3, [r4, #0x30] - bl sub_080045D4 - b _08087B44 -_08087B3C: - ldr r0, [r4, #0x4c] - adds r1, r4, #0 - bl sub_080045C4 -_08087B44: - strb r0, [r4, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - b _08087B56 -_08087B4E: - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08087B56: - pop {r4, pc} - - thumb_func_start sub_08087B58 -sub_08087B58: @ 0x08087B58 - push {lr} - adds r2, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08087B80 - ldr r0, _08087B7C @ =gUnk_08120A80 - ldrb r1, [r2, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _08087B84 - .align 2, 0 -_08087B7C: .4byte gUnk_08120A80 -_08087B80: - movs r0, #1 - strb r0, [r2, #0xc] -_08087B84: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08087B88 -sub_08087B88: @ 0x08087B88 - adds r2, r0, #0 - adds r2, #0x46 - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r2] - movs r1, #1 - strb r1, [r0, #0xd] - strb r1, [r0, #0x1d] - bx lr - .align 2, 0 - - thumb_func_start sub_08087B9C -sub_08087B9C: @ 0x08087B9C - push {lr} - bl sub_0806F3E4 - cmp r0, #0 - beq _08087BAA - bl sub_0805E780 -_08087BAA: - pop {pc} - - thumb_func_start sub_08087BAC -sub_08087BAC: @ 0x08087BAC - push {lr} - ldr r2, _08087BC0 @ =gUnk_08120A94 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08087BC0: .4byte gUnk_08120A94 - - thumb_func_start sub_08087BC4 -sub_08087BC4: @ 0x08087BC4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - adds r0, #1 - movs r5, #0 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _08087C04 - cmp r0, #1 - bgt _08087BE0 - cmp r0, #0 - beq _08087BEA - b _08087CA6 -_08087BE0: - cmp r0, #2 - beq _08087C64 - cmp r0, #3 - beq _08087C7C - b _08087CA6 -_08087BEA: - movs r0, #0x5e - bl sub_0807CBD0 - cmp r0, #0 - beq _08087C16 - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080787B4 - b _08087C1C -_08087C04: - movs r0, #0x22 - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - cmp r0, #0 - beq _08087C16 - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_08087C16: - adds r0, r4, #0 - adds r0, #0x7a - strb r5, [r0] -_08087C1C: - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08087C60 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x78 - strh r1, [r0] - adds r0, r4, #0 - bl sub_08087F58 - b _08087CA6 - .align 2, 0 -_08087C60: .4byte gUnk_03000BF0 -_08087C64: - adds r0, r4, #0 - adds r0, #0x7a - strb r5, [r0] - adds r0, r4, #0 - movs r1, #7 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _08087CA6 -_08087C7C: - movs r0, #0x1e - strb r0, [r4, #0xe] - strb r5, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7a - strb r5, [r0] - adds r0, #1 - strb r5, [r0] - adds r0, #5 - strb r5, [r0] - adds r0, r4, #0 - bl sub_0808804C - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 -_08087CA6: - pop {r4, r5, pc} - - thumb_func_start sub_08087CA8 -sub_08087CA8: @ 0x08087CA8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x7a - ldrb r0, [r5] - cmp r0, #1 - beq _08087CCA - cmp r0, #1 - bgt _08087D02 - cmp r0, #0 - bne _08087D02 - movs r0, #1 - strb r0, [r5] - adds r0, r4, #0 - bl sub_080787B4 - b _08087D1A -_08087CCA: - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08087D1A - movs r0, #0 - strb r0, [r1] - bl sub_080791D0 - movs r0, #0x5e - bl sub_0807CBD0 - cmp r0, #0 - beq _08087CFA - movs r0, #2 - strb r0, [r5] - bl sub_0807CD10 - movs r0, #7 - movs r1, #0xff - bl sub_080A7138 - b _08087D1A -_08087CFA: - movs r0, #5 - bl sub_0807CD10 - b _08087D1A -_08087D02: - movs r0, #2 - bl sub_0807CC3C - cmp r0, #0 - bne _08087D1A - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080787B4 -_08087D1A: - pop {r4, r5, pc} - - thumb_func_start sub_08087D1C -sub_08087D1C: @ 0x08087D1C - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x7a - ldrb r0, [r4] - cmp r0, #1 - beq _08087D60 - cmp r0, #1 - bgt _08087D34 - cmp r0, #0 - beq _08087D3A - b _08087DB0 -_08087D34: - cmp r0, #2 - beq _08087D5A - b _08087DB0 -_08087D3A: - movs r0, #0 - bl sub_0807CC3C - cmp r0, #0 - beq _08087DB0 - movs r0, #0x5e - bl sub_0807CBD0 - cmp r0, #0 - beq _08087D54 - movs r0, #1 - strb r0, [r4] - b _08087DB0 -_08087D54: - movs r0, #2 - strb r0, [r4] - b _08087DB0 -_08087D5A: - movs r0, #0x5e - bl sub_0807CCB4 -_08087D60: - adds r1, r5, #0 - adds r1, #0x7a - movs r0, #0 - strb r0, [r1] - ldr r0, [r5, #0x54] - bl sub_08088328 - movs r0, #0 - bl sub_0807CD8C - movs r0, #0x22 - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08087DAA - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r0, #0x7d - ldrb r0, [r0] - strb r0, [r4, #0xf] - ldr r1, _08087DB4 @ =gUnk_080FC3E4 - ldrb r0, [r4, #0xf] - lsls r0, r0, #3 - adds r0, r0, r1 - ldrb r0, [r0, #7] - strb r0, [r4, #0xb] - movs r2, #0x80 - lsls r2, r2, #0xc - movs r3, #0xe0 - lsls r3, r3, #0xb - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 -_08087DAA: - ldr r0, _08087DB8 @ =0x00000111 - bl sub_08004488 -_08087DB0: - pop {r4, r5, pc} - .align 2, 0 -_08087DB4: .4byte gUnk_080FC3E4 -_08087DB8: .4byte 0x00000111 - - thumb_func_start sub_08087DBC -sub_08087DBC: @ 0x08087DBC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x7a - ldrb r0, [r2] - cmp r0, #1 - beq _08087E10 - cmp r0, #1 - bgt _08087E3C - cmp r0, #0 - bne _08087E3C - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08087E5A - movs r0, #1 - strb r0, [r2] - movs r0, #0x28 - strb r0, [r4, #0xe] - ldr r1, _08087E0C @ =gUnk_08120AA8 - ldrb r0, [r4, #0xb] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_0801D2B4 - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - movs r0, #0x88 - lsls r0, r0, #1 - bl sub_080A3268 - b _08087E5A - .align 2, 0 -_08087E0C: .4byte gUnk_08120AA8 -_08087E10: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08087E5A - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08087E5A - movs r0, #2 - strb r0, [r2] - bl sub_0807CD10 - ldrb r1, [r4, #0xf] - movs r0, #7 - bl sub_080A7138 - b _08087E5A -_08087E3C: - movs r0, #2 - bl sub_0807CC3C - cmp r0, #0 - bne _08087E5A - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #4 - bl sub_0807CD8C - bl sub_0805E780 -_08087E5A: - pop {r4, pc} - - thumb_func_start sub_08087E5C -sub_08087E5C: @ 0x08087E5C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x7a - ldrb r1, [r5] - cmp r1, #1 - beq _08087EAC - cmp r1, #1 - bgt _08087E74 - cmp r1, #0 - beq _08087E7A - b _08087F4E -_08087E74: - cmp r1, #2 - beq _08087F24 - b _08087F4E -_08087E7A: - adds r0, r4, #0 - adds r0, #0x7b - ldrb r0, [r0] - cmp r0, #4 - bne _08087EA4 - movs r0, #1 - bl sub_0807CC3C - cmp r0, #0 - beq _08087F4E - movs r0, #1 - strb r0, [r5] - adds r1, r4, #0 - adds r1, #0x81 - strb r0, [r1] - bl sub_0807CD8C - adds r0, r4, #0 - bl sub_0808826C - b _08087F1C -_08087EA4: - adds r0, r4, #0 - bl sub_080880D8 - b _08087F4E -_08087EAC: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08087EB6 - subs r0, #1 - strb r0, [r4, #0xe] -_08087EB6: - ldr r6, _08087ED4 @ =gUnk_03000FF0 - ldrh r0, [r6, #2] - ands r1, r0 - cmp r1, #0 - beq _08087ED8 - movs r0, #0x6a - bl sub_080A3268 - movs r0, #2 - strb r0, [r5] - movs r0, #0x3c - strb r0, [r4, #0xe] - bl sub_08050384 - b _08087F4E - .align 2, 0 -_08087ED4: .4byte gUnk_03000FF0 -_08087ED8: - adds r2, r4, #0 - adds r2, #0x81 - ldrb r7, [r2] - ldrh r1, [r6] - movs r0, #0x80 - lsls r0, r0, #1 - ands r0, r1 - movs r3, #1 - adds r5, r2, #0 - cmp r0, #0 - beq _08087EF0 - movs r3, #0xa -_08087EF0: - ldrh r1, [r6, #4] - ldr r0, _08087F00 @ =0xFFFFFEFF - ands r1, r0 - cmp r1, #0x40 - beq _08087F04 - cmp r1, #0x80 - beq _08087F0E - b _08087F16 - .align 2, 0 -_08087F00: .4byte 0xFFFFFEFF -_08087F04: - adds r0, r4, #0 - adds r1, r3, #0 - bl sub_08087F94 - b _08087F16 -_08087F0E: - rsbs r1, r3, #0 - adds r0, r4, #0 - bl sub_08087F94 -_08087F16: - ldrb r5, [r5] - cmp r7, r5 - beq _08087F4E -_08087F1C: - adds r0, r4, #0 - bl sub_080882A8 - b _08087F4E -_08087F24: - movs r0, #0 - strb r0, [r5] - adds r1, r4, #0 - adds r1, #0x7b - movs r0, #4 - strb r0, [r1] - movs r0, #3 - bl sub_0807CD10 - ldr r0, _08087F50 @ =0x0000431A - bl sub_08056378 - ldr r1, _08087F54 @ =gUnk_02000050 - movs r0, #1 - strb r0, [r1, #6] - movs r0, #0xc - strb r0, [r1, #7] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - str r0, [r1, #0x10] -_08087F4E: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08087F50: .4byte 0x0000431A -_08087F54: .4byte gUnk_02000050 - - thumb_func_start sub_08087F58 -sub_08087F58: @ 0x08087F58 - push {r4, r5, lr} - ldrb r1, [r0, #0xa] - cmp r1, #1 - bgt _08087F8C - cmp r1, #0 - blt _08087F8C - ldr r5, _08087F90 @ =0x00004022 - adds r4, r0, #0 - adds r4, #0x78 - ldrh r1, [r4] - subs r1, #1 - adds r0, r5, #0 - movs r2, #1 - bl sub_0800015E - ldrh r1, [r4] - adds r0, r5, #0 - movs r2, #1 - bl sub_0800015E - ldrh r1, [r4] - adds r1, #1 - adds r0, r5, #0 - movs r2, #1 - bl sub_0800015E -_08087F8C: - pop {r4, r5, pc} - .align 2, 0 -_08087F90: .4byte 0x00004022 - - thumb_func_start sub_08087F94 -sub_08087F94: @ 0x08087F94 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r1, #0 - movs r0, #0x5f - bl sub_0807CBD0 - cmp r0, #0 - bne _08088014 - adds r0, r5, #0 - adds r0, #0x83 - movs r1, #0 - ldrsb r1, [r0, r1] - mov ip, r1 - adds r3, r1, r4 - adds r7, r0, #0 - cmp r4, #0 - bge _08087FEA - adds r2, r5, #0 - adds r2, #0x82 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r3, r0 - bge _08087FD6 - movs r1, #0 - ldrsb r1, [r7, r1] - ldrb r3, [r2] - cmp r1, r0 - beq _08088014 - strb r3, [r7] - adds r1, r5, #0 - adds r1, #0x81 - movs r0, #1 - b _08087FE0 -_08087FD6: - strb r3, [r7] - adds r1, r5, #0 - adds r1, #0x81 - ldrb r0, [r1] - adds r0, r0, r4 -_08087FE0: - strb r0, [r1] - movs r0, #0x69 - bl sub_080A3268 - b _08088032 -_08087FEA: - adds r1, r5, #0 - adds r1, #0x81 - ldrb r6, [r1] - adds r2, r6, r4 - ldr r0, _0808801C @ =gUnk_02002A40 - adds r0, #0xc2 - ldrh r0, [r0] - cmp r2, r0 - ble _08088008 - cmp r0, r6 - beq _08088014 - adds r2, r0, #0 - subs r4, r2, r6 - mov r0, ip - adds r3, r0, r4 -_08088008: - cmp r3, #0x64 - ble _08088028 - movs r0, #0 - ldrsb r0, [r7, r0] - cmp r0, #0x64 - bne _08088020 -_08088014: - adds r0, r5, #0 - bl sub_08088034 - b _08088032 - .align 2, 0 -_0808801C: .4byte gUnk_02002A40 -_08088020: - movs r3, #0x64 - mov r0, ip - subs r4, r3, r0 - adds r2, r6, r4 -_08088028: - strb r3, [r7] - strb r2, [r1] - movs r0, #0x69 - bl sub_080A3268 -_08088032: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08088034 -sub_08088034: @ 0x08088034 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - cmp r0, #0 - bne _08088048 - movs r0, #0x14 - strb r0, [r1, #0xe] - movs r0, #0x6d - bl sub_080A3268 -_08088048: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808804C -sub_0808804C: @ 0x0808804C - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - ldr r0, _08088060 @ =gUnk_02002A40 - ldrb r0, [r0, #6] - cmp r0, #0 - beq _08088064 - movs r4, #9 - b _080880D0 - .align 2, 0 -_08088060: .4byte gUnk_02002A40 -_08088064: - movs r0, #6 - bl sub_0807CC30 - cmp r0, #0 - beq _08088072 - movs r4, #7 - b _080880D0 -_08088072: - movs r0, #0x80 - lsls r0, r0, #4 - movs r1, #0x77 - bl sub_0807CB10 - cmp r0, #0 - beq _08088084 - movs r4, #6 - b _080880D0 -_08088084: - movs r0, #0xc0 - lsls r0, r0, #2 - movs r1, #0x32 - bl sub_0807CB10 - cmp r0, #0 - beq _08088096 - movs r4, #5 - b _080880D0 -_08088096: - movs r0, #5 - bl sub_0807CC30 - cmp r0, #0 - beq _080880A4 - movs r4, #4 - b _080880D0 -_080880A4: - movs r0, #4 - bl sub_0807CC30 - cmp r0, #0 - beq _080880B2 - movs r4, #3 - b _080880D0 -_080880B2: - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #0x9c - bl sub_0807CB10 - cmp r0, #0 - beq _080880C4 - movs r4, #2 - b _080880D0 -_080880C4: - movs r0, #3 - bl sub_0807CC30 - cmp r0, #0 - beq _080880D0 - movs r4, #1 -_080880D0: - adds r0, r5, #0 - adds r0, #0x7c - strb r4, [r0] - pop {r4, r5, pc} - - thumb_func_start sub_080880D8 -sub_080880D8: @ 0x080880D8 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r0, #0x7b - ldrb r1, [r0] - ldr r0, _08088158 @ =gUnk_08120AAC - adds r6, r1, r0 - ldrb r4, [r6] - ldrb r0, [r6, #1] - cmp r4, r0 - bhs _0808810A - adds r5, r7, #0 - adds r5, #0x80 -_080880F0: - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_08088160 - cmp r0, #0 - beq _08088102 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] -_08088102: - adds r4, #1 - ldrb r0, [r6, #1] - cmp r4, r0 - blo _080880F0 -_0808810A: - adds r1, r7, #0 - adds r1, #0x7b - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #4 - bne _08088156 - ldr r5, _0808815C @ =gUnk_02002A40 - adds r0, r7, #0 - adds r0, #0x80 - ldrb r1, [r5, #9] - adds r4, r0, #0 - ldrb r0, [r4] - cmp r1, r0 - beq _0808813A - cmp r1, #0 - beq _08088136 - movs r0, #6 - bl sub_0807CD10 -_08088136: - ldrb r0, [r4] - strb r0, [r5, #9] -_0808813A: - movs r0, #0x5f - bl sub_0807CBD0 - cmp r0, #0 - beq _08088156 - ldr r0, _0808815C @ =gUnk_02002A40 - adds r0, #0xb0 - ldrb r1, [r4] - ldrb r0, [r0] - cmp r1, r0 - beq _08088156 - movs r0, #0x5f - bl sub_0807CD34 -_08088156: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08088158: .4byte gUnk_08120AAC -_0808815C: .4byte gUnk_02002A40 - - thumb_func_start sub_08088160 -sub_08088160: @ 0x08088160 - push {r4, lr} - adds r2, r0, #0 - lsls r1, r1, #3 - ldr r0, _08088188 @ =gUnk_080FC3E4 - adds r1, r1, r0 - movs r4, #0 - adds r0, r2, #0 - adds r0, #0x7c - ldrb r0, [r0] - ldrb r3, [r1, #6] - cmp r0, r3 - bhs _08088266 - ldrb r0, [r1, #6] - cmp r0, #0x10 - beq _0808819E - cmp r0, #0x10 - bgt _0808818C - cmp r0, #8 - beq _08088194 - b _08088268 - .align 2, 0 -_08088188: .4byte gUnk_080FC3E4 -_0808818C: - cmp r0, #0x20 - beq _080881A6 - cmp r0, #0x40 - bne _08088268 -_08088194: - ldr r0, [r1] - ldrh r1, [r1, #4] - bl sub_0807CB10 - b _08088262 -_0808819E: - ldrh r0, [r1, #4] - bl sub_0801E7F4 - b _08088262 -_080881A6: - ldrh r0, [r1, #4] - cmp r0, #5 - bhi _08088268 - lsls r0, r0, #2 - ldr r1, _080881B8 @ =_080881BC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080881B8: .4byte _080881BC -_080881BC: @ jump table - .4byte _080881D4 @ case 0 - .4byte _080881F0 @ case 1 - .4byte _080881FE @ case 2 - .4byte _0808821A @ case 3 - .4byte _08088236 @ case 4 - .4byte _08088252 @ case 5 -_080881D4: - movs r0, #0x20 - bl sub_0801E7F4 - cmp r0, #0 - bne _08088266 - movs r0, #0x10 - bl sub_0801E7F4 - cmp r0, #0 - bne _08088266 - movs r0, #0x19 -_080881EA: - bl sub_0801E7F4 - b _08088262 -_080881F0: - adds r0, r2, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #4 - bls _08088268 - movs r0, #0x28 - b _080881EA -_080881FE: - movs r0, #0x54 - bl sub_0801E7F4 - cmp r0, #0 - bne _08088266 - movs r0, #0x56 - bl sub_0801E7F4 - cmp r0, #0 - bne _08088266 - movs r0, #0x3d - bl sub_0801E7F4 - b _08088262 -_0808821A: - movs r0, #0x3b - bl sub_0801E7F4 - cmp r0, #0 - bne _08088266 - movs r0, #0x4a - bl sub_0801E7F4 - cmp r0, #0 - bne _08088266 - movs r0, #0xd - bl sub_0801E7F4 - b _08088262 -_08088236: - movs r0, #0x49 - bl sub_0801E7F4 - cmp r0, #0 - bne _08088266 - movs r0, #0x55 - bl sub_0801E7F4 - cmp r0, #0 - bne _08088266 - movs r0, #0x3c - bl sub_0801E7F4 - b _08088262 -_08088252: - adds r0, r2, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #1 - bls _08088268 - movs r0, #0x12 - bl sub_0807CC30 -_08088262: - cmp r0, #0 - beq _08088268 -_08088266: - movs r4, #1 -_08088268: - adds r0, r4, #0 - pop {r4, pc} - - thumb_func_start sub_0808826C -sub_0808826C: @ 0x0808826C - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0x64 - adds r0, #0x80 - ldrb r1, [r0] - ldr r0, _080882A4 @ =gUnk_02002A40 - adds r0, #0xb0 - ldrb r0, [r0] - subs r0, r1, r0 - muls r4, r0, r4 - adds r0, r4, #0 - bl __divsi3 - adds r4, r0, #0 - cmp r4, #0 - bne _08088298 - movs r0, #0x5f - bl sub_0807CBD0 - cmp r0, #0 - bne _08088298 - movs r4, #1 -_08088298: - adds r0, r5, #0 - adds r0, #0x83 - strb r4, [r0] - subs r0, #1 - strb r4, [r0] - pop {r4, r5, pc} - .align 2, 0 -_080882A4: .4byte gUnk_02002A40 - - thumb_func_start sub_080882A8 -sub_080882A8: @ 0x080882A8 - push {r4, r5, r6, lr} - adds r6, r0, #0 - bl sub_08050384 - adds r0, r6, #0 - adds r0, #0x81 - ldrb r0, [r0] - ldr r4, _080882F4 @ =gUnk_020227E8 - ldr r5, _080882F8 @ =0x00202020 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_08057044 - adds r0, r6, #0 - adds r0, #0x83 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r4, #8 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_08057044 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - bne _08088304 - ldr r1, _080882FC @ =gUnk_08120AE4 - ldrb r0, [r6, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldr r1, _08088300 @ =gUnk_08120AB4 - bl sub_0805F46C - b _08088314 - .align 2, 0 -_080882F4: .4byte gUnk_020227E8 -_080882F8: .4byte 0x00202020 -_080882FC: .4byte gUnk_08120AE4 -_08088300: .4byte gUnk_08120AB4 -_08088304: - ldr r1, _0808831C @ =gUnk_08120AE4 - ldrb r0, [r6, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldr r1, _08088320 @ =gUnk_08120ACC - bl sub_0805F46C -_08088314: - ldr r1, _08088324 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0xe] - pop {r4, r5, r6, pc} - .align 2, 0 -_0808831C: .4byte gUnk_08120AE4 -_08088320: .4byte gUnk_08120ACC -_08088324: .4byte gUnk_03000F50 - - thumb_func_start sub_08088328 -sub_08088328: @ 0x08088328 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - movs r4, #0x7f -_08088332: - bl sub_08000E50 - adds r5, r0, #0 - ands r5, r4 - cmp r5, #0x63 - bhi _08088332 - adds r0, r6, #0 - adds r0, #0x81 - ldrb r0, [r0] - rsbs r0, r0, #0 - bl sub_080542C0 - bl sub_08000E50 - movs r1, #0x7f - ands r1, r0 - adds r4, r1, #1 - adds r7, r4, #0 - adds r0, r6, #0 - bl sub_08088424 - adds r0, r6, #0 - adds r0, #0x83 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r5, r0 - bhs _080883A4 - movs r5, #0 - movs r0, #0x7d - adds r0, r0, r6 - mov r8, r0 -_08088372: - cmp r5, #0 - bne _080883E2 - cmp r4, #0x88 - bls _0808837C - movs r4, #1 -_0808837C: - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_08088160 - cmp r0, #0 - beq _0808839C - ldr r0, _08088398 @ =gUnk_02002B0E - adds r1, r4, #0 - bl sub_0801D5A8 - cmp r0, #0 - bne _0808839C - movs r5, #1 - b _0808839E - .align 2, 0 -_08088398: .4byte gUnk_02002B0E -_0808839C: - adds r4, #1 -_0808839E: - cmp r7, r4 - bne _08088372 - b _080883DE -_080883A4: - movs r5, #1 - movs r0, #0x7d - adds r0, r0, r6 - mov r8, r0 -_080883AC: - cmp r5, #0 - beq _08088414 - cmp r4, #0x88 - bls _080883B6 - movs r4, #1 -_080883B6: - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_08088160 - cmp r0, #0 - beq _080883D8 - ldr r0, _080883D4 @ =gUnk_02002B0E - adds r1, r4, #0 - bl sub_0801D5A8 - cmp r0, #0 - beq _080883D8 - movs r5, #0 - b _080883DA - .align 2, 0 -_080883D4: .4byte gUnk_02002B0E -_080883D8: - adds r4, #1 -_080883DA: - cmp r7, r4 - bne _080883AC -_080883DE: - cmp r5, #0 - beq _08088414 -_080883E2: - ldr r0, _08088404 @ =gUnk_02002A40 - adds r0, #0xb0 - ldrb r1, [r0] - adds r1, #1 - strb r1, [r0] - adds r0, r6, #0 - adds r0, #0x80 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - ldrb r0, [r0] - cmp r1, r0 - beq _08088408 - movs r0, #7 - bl sub_0807CD10 - b _08088414 - .align 2, 0 -_08088404: .4byte gUnk_02002A40 -_08088408: - movs r0, #0x5f - bl sub_0807CCB4 - movs r0, #8 - bl sub_0807CD10 -_08088414: - mov r0, r8 - strb r4, [r0] - ldr r0, [r6, #0x50] - adds r0, #0x7d - strb r4, [r0] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08088424 -sub_08088424: @ 0x08088424 - push {lr} - adds r1, r0, #0 - ldr r0, _08088440 @ =gUnk_02002A40 - adds r0, #0xb0 - ldrb r0, [r0] - cmp r0, #0x31 - bhi _08088444 - adds r1, #0x83 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xe - bgt _08088476 - movs r0, #0xf - b _08088474 - .align 2, 0 -_08088440: .4byte gUnk_02002A40 -_08088444: - cmp r0, #0x4f - bhi _08088456 - adds r1, #0x83 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0xb - bgt _08088476 - movs r0, #0xc - b _08088474 -_08088456: - cmp r0, #0x6d - bhi _08088468 - adds r1, #0x83 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #8 - bgt _08088476 - movs r0, #9 - b _08088474 -_08088468: - adds r1, #0x83 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #5 - bgt _08088476 - movs r0, #6 -_08088474: - strb r0, [r1] -_08088476: - pop {pc} - - thumb_func_start sub_08088478 -sub_08088478: @ 0x08088478 - push {r4, lr} - movs r4, #0 - movs r0, #8 - bl sub_0807CC3C - cmp r0, #0 - bne _080884A4 - movs r0, #7 - bl sub_0807CC3C - cmp r0, #0 - bne _0808849C - ldr r1, _08088498 @ =0x00004322 - movs r4, #1 - b _080884D2 - .align 2, 0 -_08088498: .4byte 0x00004322 -_0808849C: - ldr r1, _080884A0 @ =0x00004325 - b _080884D2 - .align 2, 0 -_080884A0: .4byte 0x00004325 -_080884A4: - ldr r1, _080884C0 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xb0 - ldrb r0, [r0] - cmp r0, #0x82 - beq _080884C8 - cmp r0, #0x88 - bne _080884D0 - adds r1, #0xb1 - movs r0, #0xff - strb r0, [r1] - ldr r1, _080884C4 @ =0x00004329 - b _080884D2 - .align 2, 0 -_080884C0: .4byte gUnk_02002A40 -_080884C4: .4byte 0x00004329 -_080884C8: - ldrb r0, [r1, #6] - ldr r1, _080884F4 @ =0x00004328 - cmp r0, #0 - beq _080884D2 -_080884D0: - ldr r1, _080884F8 @ =0x00004327 -_080884D2: - adds r0, r1, #0 - bl sub_08056378 - ldr r1, _080884FC @ =gUnk_02000050 - movs r0, #1 - strb r0, [r1, #6] - movs r0, #0xc - strb r0, [r1, #7] - cmp r4, #0 - beq _080884EA - movs r0, #5 - str r0, [r1, #0x10] -_080884EA: - ldr r1, _08088500 @ =gUnk_03001160 - movs r0, #6 - strb r0, [r1, #0x14] - pop {r4, pc} - .align 2, 0 -_080884F4: .4byte 0x00004328 -_080884F8: .4byte 0x00004327 -_080884FC: .4byte gUnk_02000050 -_08088500: .4byte gUnk_03001160 - - thumb_func_start sub_08088504 -sub_08088504: @ 0x08088504 - push {lr} - ldr r0, _08088518 @ =gUnk_02002A40 - adds r0, #0xb0 - ldrb r0, [r0] - cmp r0, #0x82 - beq _08088520 - cmp r0, #0x88 - bne _08088528 - ldr r0, _0808851C @ =0x0000432F - b _0808852A - .align 2, 0 -_08088518: .4byte gUnk_02002A40 -_0808851C: .4byte 0x0000432F -_08088520: - ldr r0, _08088524 @ =0x00004314 - b _0808852A - .align 2, 0 -_08088524: .4byte 0x00004314 -_08088528: - ldr r0, _0808853C @ =0x00004311 -_0808852A: - bl sub_08056378 - ldr r0, _08088540 @ =gUnk_02000050 - movs r1, #1 - strb r1, [r0, #6] - movs r1, #0xc - strb r1, [r0, #7] - pop {pc} - .align 2, 0 -_0808853C: .4byte 0x00004311 -_08088540: .4byte gUnk_02000050 - - thumb_func_start sub_08088544 -sub_08088544: @ 0x08088544 - push {lr} - ldr r0, _08088568 @ =gUnk_02002A40 - adds r0, #0xb0 - ldrb r0, [r0] - ldr r1, _0808856C @ =0x00004315 - cmp r0, #0x82 - beq _08088554 - subs r1, #7 -_08088554: - adds r0, r1, #0 - bl sub_08056378 - ldr r0, _08088570 @ =gUnk_02000050 - movs r1, #1 - strb r1, [r0, #6] - movs r1, #0xc - strb r1, [r0, #7] - pop {pc} - .align 2, 0 -_08088568: .4byte gUnk_02002A40 -_0808856C: .4byte 0x00004315 -_08088570: .4byte gUnk_02000050 - - thumb_func_start sub_08088574 -sub_08088574: @ 0x08088574 - push {lr} - movs r0, #9 - bl sub_0807CC3C - cmp r0, #0 - beq _08088594 - movs r0, #0x5f - bl sub_0807CBD0 - ldr r1, _08088590 @ =0x0000430C - cmp r0, #0 - beq _08088596 - adds r1, #7 - b _08088596 - .align 2, 0 -_08088590: .4byte 0x0000430C -_08088594: - ldr r1, _080885A8 @ =0x0000430B -_08088596: - adds r0, r1, #0 - bl sub_08056378 - ldr r0, _080885AC @ =gUnk_02000050 - movs r1, #1 - strb r1, [r0, #6] - movs r1, #0xc - strb r1, [r0, #7] - pop {pc} - .align 2, 0 -_080885A8: .4byte 0x0000430B -_080885AC: .4byte gUnk_02000050 - - thumb_func_start sub_080885B0 -sub_080885B0: @ 0x080885B0 - push {lr} - movs r0, #8 - bl sub_0807CC3C - cmp r0, #0 - bne _080885E8 - movs r0, #7 - bl sub_0807CC3C - cmp r0, #0 - bne _0808860A - movs r0, #5 - bl sub_080526CC - ldr r0, _080885E0 @ =0x00004326 - bl sub_08056378 - ldr r1, _080885E4 @ =gUnk_02000050 - movs r0, #1 - strb r0, [r1, #6] - movs r0, #0xc - strb r0, [r1, #7] - b _0808860A - .align 2, 0 -_080885E0: .4byte 0x00004326 -_080885E4: .4byte gUnk_02000050 -_080885E8: - ldr r1, _08088618 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xb1 - ldrb r0, [r0] - cmp r0, #0 - beq _0808860A - adds r1, #0xbb - movs r0, #1 - strb r0, [r1] - movs r0, #0x3e - movs r1, #0 - movs r2, #0 - bl sub_080A7C00 - movs r0, #0x59 - bl sub_0807CD04 -_0808860A: - movs r0, #8 - bl sub_0807CD8C - movs r0, #7 - bl sub_0807CD8C - pop {pc} - .align 2, 0 -_08088618: .4byte gUnk_02002A40 - - thumb_func_start sub_0808861C -sub_0808861C: @ 0x0808861C - push {r4, lr} - adds r4, r1, #0 - movs r0, #0xa8 - movs r1, #0x54 - movs r2, #0xc - movs r3, #8 - bl sub_0800293E - str r0, [r4, #0x14] - ldr r1, _08088650 @ =gUnk_03001160 - ldrb r0, [r1, #0x14] - cmp r0, #0 - bne _0808863E - movs r2, #0x36 - ldrsh r0, [r1, r2] - cmp r0, #0 - beq _08088642 -_0808863E: - movs r0, #0 - str r0, [r4, #0x14] -_08088642: - ldr r2, _08088654 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_08088650: .4byte gUnk_03001160 -_08088654: .4byte gUnk_02033280 - - thumb_func_start sub_08088658 -sub_08088658: @ 0x08088658 - push {r4, lr} - adds r4, r1, #0 - movs r0, #0x78 - movs r1, #0x78 - movs r2, #0x10 - movs r3, #8 - bl sub_0800293E - str r0, [r4, #0x14] - ldr r0, _08088684 @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r0, r1] - cmp r0, #0 - beq _08088678 - movs r0, #0 - str r0, [r4, #0x14] -_08088678: - ldr r2, _08088688 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_08088684: .4byte gUnk_03001160 -_08088688: .4byte gUnk_02033280 - - thumb_func_start sub_0808868C -sub_0808868C: @ 0x0808868C - push {lr} - ldr r2, _080886A0 @ =gUnk_08120B20 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080886A0: .4byte gUnk_08120B20 - - thumb_func_start sub_080886A4 -sub_080886A4: @ 0x080886A4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - movs r6, #3 - adds r0, r6, #0 - ands r0, r1 - strb r0, [r4, #0x14] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3f - movs r5, #1 - strb r5, [r0] - subs r1, #5 - movs r0, #2 - strb r0, [r1] - ldr r0, _08088700 @ =gUnk_080FD168 - str r0, [r4, #0x48] - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08088704 - strb r6, [r4, #0xc] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - b _08088716 - .align 2, 0 -_08088700: .4byte gUnk_080FD168 -_08088704: - strb r5, [r4, #0xc] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_08088716: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08088718 -sub_08088718: @ 0x08088718 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x95 - beq _08088728 - cmp r0, #0x8e - bne _0808875A -_08088728: - ldr r0, [r4, #0x4c] - ldrb r1, [r0, #0x15] - adds r1, #4 - movs r0, #0x18 - ands r1, r0 - asrs r1, r1, #3 - ldrb r2, [r4, #0x14] - movs r0, #3 - ands r0, r2 - cmp r1, r0 - bne _0808875A - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r0, _0808875C @ =0x00000111 - bl sub_08004488 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 -_0808875A: - pop {r4, pc} - .align 2, 0 -_0808875C: .4byte 0x00000111 - - thumb_func_start sub_08088760 -sub_08088760: @ 0x08088760 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808878E - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - lsls r0, r0, #1 - adds r1, r4, #0 - adds r1, #0x70 - strh r0, [r1] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 -_0808878E: - pop {r4, pc} - - thumb_func_start sub_08088790 -sub_08088790: @ 0x08088790 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080887D6 - adds r0, r4, #0 - adds r0, #0x86 - adds r2, r4, #0 - adds r2, #0x84 - ldrh r1, [r0] - adds r5, r0, #0 - ldrh r0, [r2] - cmp r1, r0 - beq _080887BC - ldrh r0, [r2] - bl sub_0807CBE4 - cmp r0, #0 - beq _080887BC - movs r0, #0 - strb r0, [r4, #0xe] - b _080887D6 -_080887BC: - adds r1, r4, #0 - adds r1, #0x70 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080887D6 - movs r0, #4 - strb r0, [r4, #0xc] - ldrh r0, [r5] - bl sub_0807CD48 -_080887D6: - pop {r4, r5, pc} - - thumb_func_start sub_080887D8 -sub_080887D8: @ 0x080887D8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08088802 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_08088802: - pop {r4, pc} - - thumb_func_start sub_08088804 -sub_08088804: @ 0x08088804 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _08088828 - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08088828 - ldrb r0, [r4, #0x14] - adds r1, r4, #0 - adds r1, #0x72 - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_08088828: - ldr r0, _0808883C @ =gUnk_08120BE0 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_0808883C: .4byte gUnk_08120BE0 - - thumb_func_start sub_08088840 -sub_08088840: @ 0x08088840 - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r2, #7 - orrs r1, r2 - strb r1, [r3] - ldr r1, _08088868 @ =gUnk_080FD1D4 - str r1, [r0, #0x48] - ldrb r1, [r0, #0x14] - adds r0, #0x72 - strb r1, [r0] - bx lr - .align 2, 0 -_08088868: .4byte gUnk_080FD1D4 - - thumb_func_start sub_0808886C -sub_0808886C: @ 0x0808886C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08088938 - adds r4, r0, #0 - adds r0, r5, #0 - bl sub_080889A8 - adds r4, r4, r0 - lsls r4, r4, #0x18 - lsrs r4, r4, #0x18 - ldrb r1, [r5, #0xa] - adds r0, r1, #2 - cmp r0, r4 - bgt _080888B8 - movs r1, #0 - movs r0, #2 - strb r0, [r5, #0xc] - strb r1, [r5, #0xf] - movs r0, #4 - strb r0, [r5, #0x14] - strh r1, [r5, #0x36] - adds r0, r5, #0 - movs r1, #4 - bl sub_08004260 - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - ldr r0, _080888B4 @ =0x0000016B - bl sub_08004488 - b _080888F2 - .align 2, 0 -_080888B4: .4byte 0x0000016B -_080888B8: - ldrb r0, [r5, #0x14] - cmp r4, r0 - bls _080888E4 - adds r0, r1, #1 - cmp r0, r4 - bne _080888D2 - movs r0, #4 - strb r0, [r5, #0xf] - adds r1, r4, #1 - adds r0, r5, #0 - bl sub_08004260 - b _080888DA -_080888D2: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08004260 -_080888DA: - movs r0, #0x86 - lsls r0, r0, #1 - bl sub_08004488 - b _080888F0 -_080888E4: - cmp r4, r0 - bhs _080888F0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08004260 -_080888F0: - strb r4, [r5, #0x14] -_080888F2: - pop {r4, r5, pc} - - thumb_func_start sub_080888F4 -sub_080888F4: @ 0x080888F4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x70 - ldrh r0, [r0] - cmp r0, #0 - beq _08088934 - adds r0, r5, #0 - bl sub_08088938 - adds r4, r0, #0 - adds r0, r5, #0 - bl sub_080889A8 - adds r4, r4, r0 - lsls r4, r4, #0x18 - lsrs r4, r4, #0x18 - ldrb r0, [r5, #0xa] - adds r0, #2 - cmp r0, r4 - ble _08088934 - movs r0, #1 - strb r0, [r5, #0xc] - strb r4, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CD48 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08004260 -_08088934: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08088938 -sub_08088938: @ 0x08088938 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - movs r5, #0 - ldrh r1, [r0, #0x2e] - subs r1, #8 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - mov ip, r1 - ldrh r1, [r0, #0x32] - subs r1, #8 - lsls r1, r1, #0x10 - lsrs r7, r1, #0x10 - movs r4, #0 - ldr r1, _080889A0 @ =gUnk_02034350 - ldr r2, _080889A4 @ =gUnk_08120BEC - mov r8, r2 - adds r3, r1, #0 - adds r3, #0xac - adds r6, r0, #0 - adds r6, #0x72 -_08088962: - ldr r2, [r3] - cmp r2, #0 - beq _08088990 - ldrh r0, [r2, #0x2e] - mov r1, ip - subs r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x10 - bhi _08088990 - ldrh r0, [r2, #0x32] - subs r0, r0, r7 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x10 - bhi _08088990 - ldrb r0, [r6] - add r0, r8 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x63 - strb r1, [r0] - adds r5, #1 -_08088990: - adds r3, #4 - adds r4, #1 - cmp r4, #7 - bls _08088962 - adds r0, r5, #0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080889A0: .4byte gUnk_02034350 -_080889A4: .4byte gUnk_08120BEC - - thumb_func_start sub_080889A8 -sub_080889A8: @ 0x080889A8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r5, #0 - bl sub_08017850 - cmp r0, #0 - beq _080889CA - ldr r1, _08088A40 @ =gUnk_03001160 - ldr r2, _08088A44 @ =gUnk_08120BEC - adds r0, r4, #0 - adds r0, #0x72 - ldrb r0, [r0] - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, #0x63 - strb r0, [r1] - movs r5, #1 -_080889CA: - ldr r0, _08088A48 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - beq _08088A3A - ldr r6, _08088A4C @ =gUnk_03004040 - ldr r1, [r6] - adds r0, r4, #0 - bl sub_080177A0 - cmp r0, #0 - beq _080889FA - ldr r1, [r6] - ldr r2, _08088A44 @ =gUnk_08120BEC - adds r0, r4, #0 - adds r0, #0x72 - ldrb r0, [r0] - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, #0x63 - strb r0, [r1] - adds r5, #1 -_080889FA: - ldr r1, [r6, #4] - adds r0, r4, #0 - bl sub_080177A0 - cmp r0, #0 - beq _08088A1A - ldr r1, [r6, #4] - ldr r2, _08088A44 @ =gUnk_08120BEC - adds r0, r4, #0 - adds r0, #0x72 - ldrb r0, [r0] - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, #0x63 - strb r0, [r1] - adds r5, #1 -_08088A1A: - ldr r1, [r6, #8] - adds r0, r4, #0 - bl sub_080177A0 - cmp r0, #0 - beq _08088A3A - ldr r1, [r6, #8] - ldr r2, _08088A44 @ =gUnk_08120BEC - adds r0, r4, #0 - adds r0, #0x72 - ldrb r0, [r0] - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, #0x63 - strb r0, [r1] - adds r5, #1 -_08088A3A: - adds r0, r5, #0 - pop {r4, r5, r6, pc} - .align 2, 0 -_08088A40: .4byte gUnk_03001160 -_08088A44: .4byte gUnk_08120BEC -_08088A48: .4byte gUnk_03003F80 -_08088A4C: .4byte gUnk_03004040 - - thumb_func_start sub_08088A50 -sub_08088A50: @ 0x08088A50 - push {lr} - ldr r2, _08088A64 @ =gUnk_08120C34 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08088A64: .4byte gUnk_08120C34 - - thumb_func_start sub_08088A68 -sub_08088A68: @ 0x08088A68 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08088AE4 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x18] - movs r2, #3 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x11] - movs r0, #0x17 - bl sub_0807CC30 - cmp r0, #0 - beq _08088AA0 - ldr r0, _08088A9C @ =gUnk_02002A40 - ldrb r0, [r0, #7] - adds r0, #1 - b _08088AA4 - .align 2, 0 -_08088A9C: .4byte gUnk_02002A40 -_08088AA0: - ldr r0, _08088AD8 @ =gUnk_02002A40 - ldrb r0, [r0, #7] -_08088AA4: - strb r0, [r4, #0x1e] - adds r0, r4, #0 - bl sub_08088BE0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _08088ADC @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r4, r3] - ldrh r2, [r2, #8] - subs r1, r1, r2 - movs r2, #0x80 - movs r3, #0x60 - bl sub_0800293E - cmp r0, #0 - beq _08088B82 - ldr r0, _08088AE0 @ =gUnk_02034350 - ldr r1, [r0, #0x68] - movs r2, #4 - orrs r1, r2 - str r1, [r0, #0x68] - b _08088B82 - .align 2, 0 -_08088AD8: .4byte gUnk_02002A40 -_08088ADC: .4byte gUnk_03000BF0 -_08088AE0: .4byte gUnk_02034350 -_08088AE4: - ldr r5, _08088B70 @ =gUnk_02034350 - ldr r1, [r5, #0x68] - movs r6, #1 - adds r0, r1, #0 - ands r0, r6 - cmp r0, #0 - beq _08088B06 - movs r0, #2 - rsbs r0, r0, #0 - ands r1, r0 - str r1, [r5, #0x68] - strb r6, [r4, #0xe] - ldr r0, _08088B74 @ =gUnk_08120C1C - str r0, [r4, #0x68] - movs r0, #0x8a - bl sub_080A3268 -_08088B06: - ldr r1, [r5, #0x68] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08088B24 - movs r0, #3 - rsbs r0, r0, #0 - ands r1, r0 - str r1, [r5, #0x68] - strb r6, [r4, #0xe] - ldr r0, _08088B78 @ =gUnk_08120C25 - str r0, [r4, #0x68] - movs r0, #0x89 - bl sub_080A3268 -_08088B24: - ldr r1, [r5, #0x68] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08088B42 - movs r0, #5 - rsbs r0, r0, #0 - ands r1, r0 - str r1, [r5, #0x68] - strb r6, [r4, #0xe] - ldr r0, _08088B7C @ =gUnk_08120C2E - str r0, [r4, #0x68] - movs r0, #0x8a - bl sub_080A3268 -_08088B42: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08088B82 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _08088B82 - ldr r1, [r4, #0x68] - ldrb r0, [r1] - adds r2, r4, #0 - adds r2, #0x63 - strb r0, [r2] - adds r1, #1 - ldrb r0, [r1] - cmp r0, #0xff - beq _08088B80 - movs r0, #8 - strb r0, [r4, #0xe] - str r1, [r4, #0x68] - b _08088B82 - .align 2, 0 -_08088B70: .4byte gUnk_02034350 -_08088B74: .4byte gUnk_08120C1C -_08088B78: .4byte gUnk_08120C25 -_08088B7C: .4byte gUnk_08120C2E -_08088B80: - strb r3, [r2] -_08088B82: - adds r5, r4, #0 - adds r5, #0x29 - ldrb r1, [r5] - movs r6, #8 - rsbs r6, r6, #0 - adds r0, r6, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5] - movs r1, #0x2e - ldrsh r0, [r4, r1] - subs r0, #0x50 - movs r2, #0x32 - ldrsh r1, [r4, r2] - subs r1, #0x50 - movs r2, #0xa0 - movs r3, #0x30 - bl sub_0806FBFC - cmp r0, #0 - beq _08088BBA - ldrb r0, [r5] - adds r1, r6, #0 - ands r1, r0 - movs r0, #5 - orrs r1, r0 - strb r1, [r5] -_08088BBA: - movs r3, #0x2e - ldrsh r0, [r4, r3] - subs r0, #0x50 - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r1, #0x30 - movs r2, #0xa0 - movs r3, #0x30 - bl sub_0806FBFC - cmp r0, #0 - beq _08088BDE - ldrb r0, [r5] - adds r1, r6, #0 - ands r1, r0 - movs r0, #5 - orrs r1, r0 - strb r1, [r5] -_08088BDE: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08088BE0 -sub_08088BE0: @ 0x08088BE0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x15 - bl sub_0807CBD0 - cmp r0, #0 - bne _08088C1C - movs r3, #0x78 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_08088C78 - adds r0, r4, #0 - movs r1, #4 - movs r2, #0x15 - movs r3, #0 - bl sub_08088C78 - adds r2, r0, #0 - cmp r2, #0 - beq _08088C1C - ldr r0, _08088C74 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - adds r1, #0x48 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - adds r0, #0xc8 - strh r0, [r2, #0x32] -_08088C1C: - movs r0, #0x16 - bl sub_0807CBD0 - cmp r0, #0 - bne _08088C58 - adds r0, r4, #0 - movs r1, #2 - movs r2, #1 - movs r3, #0x78 - bl sub_08088C78 - adds r0, r4, #0 - movs r1, #4 - movs r2, #0x16 - movs r3, #0 - bl sub_08088C78 - adds r2, r0, #0 - cmp r2, #0 - beq _08088C58 - ldr r0, _08088C74 @ =gUnk_03000BF0 - movs r3, #0xc4 - lsls r3, r3, #1 - adds r1, r3, #0 - ldrh r3, [r0, #6] - adds r1, r1, r3 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - adds r0, #0xc8 - strh r0, [r2, #0x32] -_08088C58: - movs r3, #0x78 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_08088C78 - adds r0, r4, #0 - movs r1, #1 - movs r2, #1 - movs r3, #0x78 - bl sub_08088C78 - pop {r4, pc} - .align 2, 0 -_08088C74: .4byte gUnk_03000BF0 - - thumb_func_start sub_08088C78 -sub_08088C78: @ 0x08088C78 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r3, #0 - movs r0, #0x25 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08088C96 - ldrh r0, [r4, #0x2e] - adds r0, r0, r5 - strh r0, [r1, #0x2e] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x32] - str r4, [r1, #0x50] -_08088C96: - adds r0, r1, #0 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08088C9C -sub_08088C9C: @ 0x08088C9C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08088CEC @ =gUnk_08120C48 - ldr r0, [r4, #0x50] - adds r0, #0x29 - ldrb r0, [r0] - lsls r0, r0, #0x1d - lsrs r0, r0, #0x1d - adds r0, r0, r1 - ldrb r0, [r0] - adds r3, r4, #0 - adds r3, #0x29 - movs r1, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldr r0, [r4, #0x50] - adds r0, #0x63 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r1, r4, #0 - adds r1, #0x63 - strb r0, [r1] - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08088D4C - cmp r0, #1 - bgt _08088CF0 - cmp r0, #0 - beq _08088CFA - b _08088DB0 - .align 2, 0 -_08088CEC: .4byte gUnk_08120C48 -_08088CF0: - cmp r0, #2 - beq _08088D5A - cmp r0, #3 - beq _08088D7A - b _08088DB0 -_08088CFA: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r2, [r4, #0xb] - adds r0, r2, #4 - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - lsls r2, r2, #0x18 - movs r0, #0x16 - cmp r2, #0 - bne _08088D28 - movs r0, #0x15 -_08088D28: - strb r0, [r4, #0xf] - ldrb r0, [r4, #0xf] - bl sub_0807CBD0 - cmp r0, #0 - beq _08088DB0 - ldr r1, _08088D48 @ =gUnk_08120C50 - ldrb r0, [r4, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - b _08088DAC - .align 2, 0 -_08088D48: .4byte gUnk_08120C50 -_08088D4C: - ldrb r0, [r4, #0xf] - bl sub_0807CBD0 - cmp r0, #0 - beq _08088DB0 - movs r0, #2 - b _08088DAE -_08088D5A: - ldr r2, _08088D98 @ =gUnk_02034350 - ldr r1, [r2, #0x68] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08088DB0 - movs r0, #0x21 - rsbs r0, r0, #0 - ands r1, r0 - str r1, [r2, #0x68] - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #4 - strb r0, [r4, #0xd] - movs r0, #1 - strb r0, [r4, #0xe] -_08088D7A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08088DB0 - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08088D9C - subs r0, r1, #2 - b _08088D9E - .align 2, 0 -_08088D98: .4byte gUnk_02034350 -_08088D9C: - adds r0, r1, #2 -_08088D9E: - strh r0, [r4, #0x2e] - ldrb r0, [r4, #0xd] - subs r0, #1 - strb r0, [r4, #0xd] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08088DB0 -_08088DAC: - movs r0, #4 -_08088DAE: - strb r0, [r4, #0xc] -_08088DB0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08088DB4 -sub_08088DB4: @ 0x08088DB4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08088E28 - cmp r0, #1 - bgt _08088DC8 - cmp r0, #0 - beq _08088DEC - b _08088E50 -_08088DC8: - cmp r0, #4 - bgt _08088E50 - ldr r0, _08088DE8 @ =gUnk_02034350 - ldr r0, [r0, #0x68] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _08088E6E - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08088E6E - b _08088E3E - .align 2, 0 -_08088DE8: .4byte gUnk_02034350 -_08088DEC: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, #6 - strb r0, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - ldrb r0, [r4, #0xb] - movs r1, #0x16 - cmp r0, #0 - bne _08088E1E - movs r1, #0x15 -_08088E1E: - strb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_08016A04 - b _08088E6E -_08088E28: - ldrb r0, [r4, #0xb] - bl sub_0807CBD0 - cmp r0, #0 - beq _08088E6E - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xa - strb r0, [r4, #0xe] - b _08088E6E -_08088E3E: - movs r0, #0x1e - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x1e] - adds r0, #1 - strb r0, [r4, #0x1e] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - b _08088E6E -_08088E50: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08088E6E - ldr r0, _08088E70 @ =gUnk_02034350 - ldr r1, [r0, #0x68] - movs r2, #9 - rsbs r2, r2, #0 - ands r1, r2 - str r1, [r0, #0x68] - adds r0, r4, #0 - bl sub_0805E7BC -_08088E6E: - pop {r4, pc} - .align 2, 0 -_08088E70: .4byte gUnk_02034350 - - thumb_func_start sub_08088E74 -sub_08088E74: @ 0x08088E74 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08088E94 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldr r2, _08088EB0 @ =gUnk_02034350 - ldr r0, [r2, #0x68] - movs r1, #8 - orrs r0, r1 - str r0, [r2, #0x68] -_08088E94: - adds r0, r4, #0 - bl sub_0806FB38 - cmp r0, #0 - beq _08088EB4 - ldr r0, _08088EB0 @ =gUnk_02034350 - ldr r1, [r0, #0x68] - movs r2, #0x10 - orrs r1, r2 - str r1, [r0, #0x68] - adds r0, r4, #0 - bl sub_0805E7BC - b _08088F14 - .align 2, 0 -_08088EB0: .4byte gUnk_02034350 -_08088EB4: - ldr r0, _08088F18 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08088F14 - adds r0, r4, #0 - movs r1, #0x2a - movs r2, #0 - movs r3, #0x1e - bl sub_080A2988 - adds r4, r0, #0 - cmp r4, #0 - beq _08088F14 - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x19] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r3] - ldrb r0, [r4, #0x1b] - ands r1, r0 - strb r1, [r4, #0x1b] - bl sub_08000E50 - ldr r2, _08088F1C @ =gUnk_08120C52 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] -_08088F14: - pop {r4, pc} - .align 2, 0 -_08088F18: .4byte gUnk_030010A0 -_08088F1C: .4byte gUnk_08120C52 - - thumb_func_start sub_08088F20 -sub_08088F20: @ 0x08088F20 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08088F62 - cmp r0, #1 - bgt _08088F34 - cmp r0, #0 - beq _08088F3E - b _08089020 -_08088F34: - cmp r0, #2 - beq _08088FEC - cmp r0, #3 - beq _08089004 - b _08089020 -_08088F3E: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x11] - subs r0, #0x11 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - ldrb r0, [r4, #0xb] - bl sub_0807CBD0 - cmp r0, #0 - bne _08088F5A - b _0808908E -_08088F5A: - adds r0, r4, #0 - bl sub_0805E7BC - b _0808908E -_08088F62: - ldrb r0, [r4, #0xb] - bl sub_0807CBD0 - cmp r0, #0 - bne _08088F6E - b _0808908E -_08088F6E: - movs r5, #2 - strb r5, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r1, #0x87 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_0805E4E0 - movs r0, #0x2a - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08088FBC - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2, #0x11] - ldrh r0, [r4, #0x2e] - strh r0, [r2, #0x2e] - ldrh r0, [r4, #0x32] - strh r0, [r2, #0x32] - adds r0, r2, #0 - adds r0, #0x38 - strb r5, [r0] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2] -_08088FBC: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08088FE8 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - movs r0, #0x76 - movs r2, #2 - bl sub_0807B314 - b _0808908E - .align 2, 0 -_08088FE8: .4byte gUnk_03000BF0 -_08088FEC: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808908E - adds r0, r4, #0 - bl sub_08089094 - movs r0, #3 - strb r0, [r4, #0xc] - b _0808908E -_08089004: - ldr r0, _0808901C @ =gUnk_02034350 - ldr r0, [r0, #0x68] - movs r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0808908E - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - b _0808908E - .align 2, 0 -_0808901C: .4byte gUnk_02034350 -_08089020: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x5a - bne _0808905C - movs r0, #0x15 - movs r1, #2 - bl sub_0807CC60 - cmp r0, #0 - beq _08089048 - ldr r0, _08089044 @ =gUnk_02034350 - ldr r1, [r0, #0x68] - movs r2, #2 - b _0808904E - .align 2, 0 -_08089044: .4byte gUnk_02034350 -_08089048: - ldr r0, _08089090 @ =gUnk_02034350 - ldr r1, [r0, #0x68] - movs r2, #1 -_0808904E: - orrs r1, r2 - str r1, [r0, #0x68] - adds r2, r0, #0 - ldr r0, [r2, #0x68] - movs r1, #0x20 - orrs r0, r1 - str r0, [r2, #0x68] -_0808905C: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0808908E - ldr r2, _08089090 @ =gUnk_02034350 - ldr r0, [r2, #0x68] - movs r1, #0x11 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r2, #0x68] - movs r0, #0x15 - movs r1, #2 - bl sub_0807CC60 - cmp r0, #0 - beq _08089088 - adds r0, r4, #0 - movs r1, #0x3c - bl sub_0805E4E0 - movs r0, #0x72 - bl sub_080A3268 -_08089088: - adds r0, r4, #0 - bl sub_0805E7BC -_0808908E: - pop {r4, r5, pc} - .align 2, 0 -_08089090: .4byte gUnk_02034350 - - thumb_func_start sub_08089094 -sub_08089094: @ 0x08089094 - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r1, _080890C4 @ =gUnk_03000BF0 - ldrh r1, [r1, #6] - subs r0, r0, r1 - cmp r0, #0xff - bgt _080890CC - ldr r4, _080890C8 @ =gUnk_08120C56 - movs r2, #8 - rsbs r2, r2, #0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080890EC - adds r4, #4 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #4 - bl sub_080890EC - b _080890E6 - .align 2, 0 -_080890C4: .4byte gUnk_03000BF0 -_080890C8: .4byte gUnk_08120C56 -_080890CC: - ldr r4, _080890E8 @ =gUnk_08120C5E - movs r2, #8 - rsbs r2, r2, #0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080890EC - adds r4, #4 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #4 - bl sub_080890EC -_080890E6: - pop {r4, r5, pc} - .align 2, 0 -_080890E8: .4byte gUnk_08120C5E - - thumb_func_start sub_080890EC -sub_080890EC: @ 0x080890EC - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r7, r1, #0 - adds r6, r2, #0 - movs r0, #0x25 - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08089132 - movs r1, #3 - bl sub_0805E3A0 - ldrh r0, [r5, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x32] - adds r0, r0, r6 - strh r0, [r4, #0x32] - str r5, [r4, #0x50] - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0 - ldrsh r0, [r7, r2] - adds r1, r1, r0 - movs r3, #0x32 - ldrsh r2, [r4, r3] - movs r3, #2 - ldrsh r0, [r7, r3] - adds r2, r2, r0 - adds r0, r4, #0 - movs r3, #0x5a - bl sub_0806FB00 -_08089132: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08089134 -sub_08089134: @ 0x08089134 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _0808919C - movs r2, #1 - movs r3, #1 - strb r3, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xa] - strb r0, [r5, #0x1e] - movs r0, #0x10 - strb r0, [r5, #0xe] - strb r3, [r5, #0xf] - ldrb r0, [r5, #0xa] - lsls r3, r0, #1 - adds r3, r3, r0 - ldr r0, _080891D4 @ =gUnk_08120C80 - adds r3, r3, r0 - ldrb r1, [r3] - lsls r1, r1, #6 - ldrb r4, [r5, #0x19] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r4 - orrs r0, r1 - strb r0, [r5, #0x19] - ldrb r0, [r3, #1] - movs r1, #0x29 - adds r1, r1, r5 - mov ip, r1 - movs r1, #7 - ands r1, r0 - mov r0, ip - ldrb r4, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r4 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldrb r0, [r3, #2] - lsls r0, r0, #6 - ldrb r1, [r5, #0x1b] - ands r2, r1 - orrs r2, r0 - strb r2, [r5, #0x1b] -_0808919C: - ldrb r0, [r5, #0xa] - cmp r0, #4 - bne _080891D0 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _080891D0 - movs r0, #0x10 - strb r0, [r5, #0xe] - ldr r2, _080891D8 @ =gUnk_08120C92 - ldrb r0, [r5, #0xf] - adds r1, r0, #1 - strb r1, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r5, #0x1e] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #3 - bne _080891D0 - strb r3, [r5, #0xf] -_080891D0: - pop {r4, r5, pc} - .align 2, 0 -_080891D4: .4byte gUnk_08120C80 -_080891D8: .4byte gUnk_08120C92 - - thumb_func_start sub_080891DC -sub_080891DC: @ 0x080891DC - push {lr} - ldr r2, _080891F0 @ =gUnk_08120C98 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080891F0: .4byte gUnk_08120C98 - - thumb_func_start sub_080891F4 -sub_080891F4: @ 0x080891F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0808965C - cmp r0, #0 - beq _08089236 - movs r3, #0 - movs r2, #1 - strb r2, [r4, #0xc] - movs r0, #0x80 - strh r0, [r4, #0x24] - ldrb r1, [r4, #0x11] - subs r0, #0x90 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - ldr r0, _08089238 @ =gUnk_080FD1F4 - str r0, [r4, #0x48] - strb r2, [r4, #0x16] - adds r0, r4, #0 - adds r0, #0x86 - strh r3, [r0] - adds r0, r4, #0 - bl sub_08089454 - adds r0, r4, #0 - bl sub_080894C8 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08089236: - pop {r4, pc} - .align 2, 0 -_08089238: .4byte gUnk_080FD1F4 - - thumb_func_start sub_0808923C -sub_0808923C: @ 0x0808923C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0800442E - cmp r0, #0 - bne _080892C0 - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - ldr r0, _08089278 @ =0x0000400B - cmp r5, r0 - beq _080892BA - adds r0, r5, #0 - bl sub_0808968C - cmp r0, #1 - beq _0808927C - cmp r0, #1 - blo _08089294 - cmp r0, #2 - beq _080892B2 - b _080892C0 - .align 2, 0 -_08089278: .4byte 0x0000400B -_0808927C: - movs r1, #3 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r5, #0 - subs r0, #0xc - ands r0, r1 - lsls r0, r0, #3 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08089538 - b _080892C0 -_08089294: - movs r0, #0xf - movs r1, #4 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _080892AA - adds r0, r4, #0 - bl sub_0806FA24 -_080892AA: - adds r0, r4, #0 - bl sub_080894FC - b _080892C0 -_080892B2: - adds r0, r4, #0 - adds r0, #0x80 - strh r5, [r0] - b _080892C0 -_080892BA: - adds r0, r4, #0 - bl sub_08078930 -_080892C0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080892C4 -sub_080892C4: @ 0x080892C4 - push {lr} - adds r2, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - cmp r0, #0 - beq _080892D8 - adds r0, r2, #0 - bl sub_080895C0 - b _080892F6 -_080892D8: - ldr r0, _080892F8 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _080892E4 - movs r0, #6 - strb r0, [r2, #0xd] -_080892E4: - ldr r0, _080892FC @ =gUnk_08120CAC - ldrb r1, [r2, #0xd] - subs r1, #5 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_080892F6: - pop {pc} - .align 2, 0 -_080892F8: .4byte gUnk_03003F80 -_080892FC: .4byte gUnk_08120CAC - - thumb_func_start sub_08089300 -sub_08089300: @ 0x08089300 - push {r4, r5, lr} - adds r5, r0, #0 - adds r1, r5, #0 - adds r1, #0x83 - ldrb r0, [r1] - cmp r0, #0 - bne _0808932C - movs r0, #1 - strb r0, [r1] - ldr r1, _0808935C @ =gUnk_03001160 - ldrb r0, [r1, #0x14] - ldr r2, _08089360 @ =gUnk_08120CB4 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r5, #0 - bl sub_0806FA48 -_0808932C: - adds r0, r5, #0 - adds r0, #0x84 - ldrh r0, [r0] - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - ldr r0, _08089364 @ =0x0000400B - cmp r4, r0 - beq _080893A0 - adds r0, r4, #0 - bl sub_0808968C - cmp r0, #1 - beq _08089368 - cmp r0, #1 - blo _0808937C - cmp r0, #2 - beq _0808939A - b _080893A0 - .align 2, 0 -_0808935C: .4byte gUnk_03001160 -_08089360: .4byte gUnk_08120CB4 -_08089364: .4byte 0x0000400B -_08089368: - adds r0, r4, #0 - subs r0, #0xc - movs r1, #3 - ands r0, r1 - lsls r0, r0, #3 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_08089538 - b _080893A0 -_0808937C: - movs r0, #0xf - movs r1, #4 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08089392 - adds r0, r5, #0 - bl sub_0806FA24 -_08089392: - adds r0, r5, #0 - bl sub_080894FC - b _080893D6 -_0808939A: - adds r0, r5, #0 - adds r0, #0x80 - strh r4, [r0] -_080893A0: - bl sub_080896B0 - cmp r0, #0 - beq _080893D6 - ldr r2, _080893D8 @ =gUnk_03003F80 - movs r3, #0 - movs r0, #0x10 - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #0x20 - strb r0, [r1] - ldr r0, [r2, #0x30] - movs r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r0, _080893DC @ =gUnk_03001160 - strh r3, [r0, #0x2c] - strh r3, [r0, #0x30] - ldrb r0, [r0, #0x14] - movs r1, #4 - eors r0, r1 - lsls r0, r0, #2 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_08089538 -_080893D6: - pop {r4, r5, pc} - .align 2, 0 -_080893D8: .4byte gUnk_03003F80 -_080893DC: .4byte gUnk_03001160 - - thumb_func_start sub_080893E0 -sub_080893E0: @ 0x080893E0 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - adds r0, #0x83 - strb r2, [r0] - bx lr - - thumb_func_start sub_080893EC -sub_080893EC: @ 0x080893EC - push {r4, lr} - adds r4, r0, #0 - bl sub_080895C0 - cmp r0, #0 - beq _080893FC - movs r0, #1 - strb r0, [r4, #0xc] -_080893FC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08089400 -sub_08089400: @ 0x08089400 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08089424 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - b _0808944E -_08089424: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _08089450 @ =0x0000400B - adds r1, r4, #0 - adds r1, #0x84 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - adds r0, r4, #0 - bl sub_080894C8 -_0808944E: - pop {r4, pc} - .align 2, 0 -_08089450: .4byte 0x0000400B - - thumb_func_start sub_08089454 -sub_08089454: @ 0x08089454 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldr r2, _080894C0 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r5, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r6, r5, #0 - adds r6, #0x84 - strh r1, [r6] - ldrh r0, [r6] - adds r4, r5, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080001DA - adds r1, r5, #0 - adds r1, #0x80 - strh r0, [r1] - ldr r5, _080894C4 @ =0x0000400B - ldrh r1, [r6] - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrb r0, [r4] - cmp r0, #2 - bne _080894BC - ldrh r0, [r6] - movs r1, #1 - bl sub_080002B0 - movs r1, #0xc4 - lsls r1, r1, #2 - cmp r0, r1 - bne _080894BC - ldrh r1, [r6] - adds r0, r5, #0 - movs r2, #1 - bl sub_0800015E -_080894BC: - pop {r4, r5, r6, pc} - .align 2, 0 -_080894C0: .4byte gUnk_03000BF0 -_080894C4: .4byte 0x0000400B - - thumb_func_start sub_080894C8 -sub_080894C8: @ 0x080894C8 - push {r4, lr} - adds r3, r0, #0 - movs r2, #0 - ldr r1, _080894E0 @ =gUnk_02034350 - adds r4, r1, #0 - adds r4, #0xac - ldr r0, [r4] - mov ip, r1 - cmp r0, #0 - bne _080894E4 - str r3, [r4] - b _080894FA - .align 2, 0 -_080894E0: .4byte gUnk_02034350 -_080894E4: - adds r2, #1 - cmp r2, #7 - bhi _080894FA - lsls r0, r2, #2 - mov r1, ip - adds r1, #0xac - adds r1, r0, r1 - ldr r0, [r1] - cmp r0, #0 - bne _080894E4 - str r3, [r1] -_080894FA: - pop {r4, pc} - - thumb_func_start sub_080894FC -sub_080894FC: @ 0x080894FC - push {r4, lr} - adds r3, r0, #0 - movs r2, #0 - ldr r1, _08089514 @ =gUnk_02034350 - adds r4, r1, #0 - adds r4, #0xac - ldr r0, [r4] - mov ip, r1 - cmp r3, r0 - bne _08089518 - str r2, [r4] - b _08089530 - .align 2, 0 -_08089514: .4byte gUnk_02034350 -_08089518: - adds r2, #1 - cmp r2, #7 - bhi _08089530 - lsls r0, r2, #2 - mov r1, ip - adds r1, #0xac - adds r1, r0, r1 - ldr r0, [r1] - cmp r3, r0 - bne _08089518 - movs r0, #0 - str r0, [r1] -_08089530: - adds r0, r3, #0 - bl sub_0805E7BC - pop {r4, pc} - - thumb_func_start sub_08089538 -sub_08089538: @ 0x08089538 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r1, r5, #0 - adds r1, #0x86 - movs r0, #0x20 - strh r0, [r1] - adds r0, #0xef - bl sub_08004488 - adds r0, r5, #0 - adds r0, #0x80 - ldrh r0, [r0] - adds r6, r5, #0 - adds r6, #0x84 - ldrh r1, [r6] - adds r4, r5, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - ldrb r0, [r4] - cmp r0, #2 - bne _08089580 - ldrh r0, [r6] - movs r1, #1 - bl sub_080002B0 - ldr r1, _080895B8 @ =0x0000400B - cmp r0, r1 - bne _08089580 - movs r0, #0xc4 - lsls r0, r0, #2 - ldrh r1, [r6] - movs r2, #1 - bl sub_08000152 -_08089580: - adds r2, r5, #0 - adds r2, #0x84 - ldr r1, _080895BC @ =gUnk_080B4488 - ldrb r0, [r5, #0x15] - lsrs r0, r0, #3 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldrh r2, [r2] - adds r0, r0, r2 - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x79 - beq _080895AC - cmp r0, #0x77 - bne _080895B4 -_080895AC: - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #0xfe - strb r0, [r1] -_080895B4: - pop {r4, r5, r6, pc} - .align 2, 0 -_080895B8: .4byte 0x0000400B -_080895BC: .4byte gUnk_080B4488 - - thumb_func_start sub_080895C0 -sub_080895C0: @ 0x080895C0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r1, r4, #0 - adds r1, #0x86 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0808964C - adds r0, r4, #0 - bl sub_0800442E - cmp r0, #0 - bne _0808964C - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080002D0 - cmp r0, #0 - bne _080895FE - adds r0, r4, #0 - bl sub_08089454 - movs r0, #1 - b _08089654 -_080895FE: - movs r0, #0xf - movs r1, #4 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08089614 - adds r0, r4, #0 - bl sub_0806FA24 -_08089614: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r2, _08089658 @ =gUnk_08120CBC - ldrb r1, [r4, #0x15] - lsrs r1, r1, #2 - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r0, [r0] - ldrh r3, [r4, #0x2e] - adds r0, r0, r3 - strh r0, [r4, #0x2e] - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r1] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_08089454 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] -_0808964C: - adds r0, r4, #0 - bl sub_0800445C - movs r0, #0 -_08089654: - pop {r4, pc} - .align 2, 0 -_08089658: .4byte gUnk_08120CBC - - thumb_func_start sub_0808965C -sub_0808965C: @ 0x0808965C - push {lr} - adds r2, r0, #0 - ldr r3, _08089678 @ =gUnk_03000BF0 - ldrb r0, [r3, #4] - cmp r0, #0x3f - bls _08089680 - ldr r1, _0808967C @ =gUnk_08120CCC - subs r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r2, #0 - b _08089684 - .align 2, 0 -_08089678: .4byte gUnk_03000BF0 -_0808967C: .4byte gUnk_08120CCC -_08089680: - adds r0, r2, #0 - movs r1, #0xe9 -_08089684: - bl sub_080ADF80 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808968C -sub_0808968C: @ 0x0808968C - push {lr} - adds r2, r0, #0 - ldr r1, _08089694 @ =gUnk_08120D6C - b _080896A4 - .align 2, 0 -_08089694: .4byte gUnk_08120D6C -_08089698: - ldrh r0, [r1] - cmp r0, r2 - bne _080896A2 - ldrh r0, [r1, #2] - b _080896AC -_080896A2: - adds r1, #4 -_080896A4: - ldrh r0, [r1] - cmp r0, #0 - bne _08089698 - movs r0, #0 -_080896AC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080896B0 -sub_080896B0: @ 0x080896B0 - push {r4, r5, r6, r7, lr} - ldr r0, _08089750 @ =gUnk_03003F80 - ldrb r1, [r0, #5] - movs r0, #0x1f - ands r0, r1 - cmp r0, #0x12 - bne _08089768 - ldr r6, _08089754 @ =gUnk_03001160 - adds r0, r6, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08089768 - ldrb r3, [r6, #0x14] - movs r2, #6 - ands r2, r3 - lsls r2, r2, #1 - ldr r0, _08089758 @ =gUnk_080B4468 - adds r2, r2, r0 - ldr r0, _0808975C @ =gUnk_080B4488 - lsrs r3, r3, #1 - lsls r3, r3, #1 - adds r3, r3, r0 - movs r0, #0x2e - ldrsh r1, [r6, r0] - movs r4, #0 - ldrsh r0, [r2, r4] - adds r1, r1, r0 - ldr r5, _08089760 @ =gUnk_03000BF0 - ldrh r0, [r5, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r7, #0x32 - ldrsh r0, [r6, r7] - movs r7, #2 - ldrsh r2, [r2, r7] - adds r0, r0, r2 - ldrh r2, [r5, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r1, r0 - movs r0, #0 - ldrsh r7, [r3, r0] - subs r1, r1, r7 - lsls r4, r1, #0x10 - lsrs r0, r4, #0x10 - adds r5, r6, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080002C8 - adds r1, r0, #0 - subs r0, #0x26 - cmp r0, #1 - bls _08089768 - cmp r1, #0x29 - beq _08089768 - ldrb r0, [r5] - bl sub_0808094C - asrs r1, r4, #0x10 - ldr r2, _08089764 @ =0x00002004 - adds r0, r0, r2 - adds r2, r0, r1 - ldrb r2, [r2] - subs r1, r1, r7 - adds r0, r0, r1 - ldrb r0, [r0] - cmp r2, #0 - bne _08089768 - cmp r0, #0 - bne _08089768 - movs r0, #1 - b _0808976A - .align 2, 0 -_08089750: .4byte gUnk_03003F80 -_08089754: .4byte gUnk_03001160 -_08089758: .4byte gUnk_080B4468 -_0808975C: .4byte gUnk_080B4488 -_08089760: .4byte gUnk_03000BF0 -_08089764: .4byte 0x00002004 -_08089768: - movs r0, #0 -_0808976A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0808976C -sub_0808976C: @ 0x0808976C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080897D0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xb] - strb r0, [r4, #0x1e] - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _080897AE - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #6 - orrs r1, r0 - strb r1, [r2] - b _080897BA -_080897AE: - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] -_080897BA: - ldrh r0, [r4, #0x2e] - adds r1, r4, #0 - adds r1, #0x68 - strh r0, [r1] - ldrh r0, [r4, #0x32] - adds r1, #2 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 -_080897D0: - ldrb r1, [r4, #0x10] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - bne _08089840 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08089844 @ =gUnk_03000BF0 - movs r3, #0xa - ldrsh r0, [r2, r3] - subs r5, r1, r0 - adds r3, r5, #0 - subs r3, #0x78 - movs r6, #0x32 - ldrsh r1, [r4, r6] - movs r6, #0xc - ldrsh r0, [r2, r6] - subs r1, r1, r0 - adds r2, r1, #0 - subs r2, #0x50 - adds r0, r3, #0 - cmp r0, #0 - bge _08089802 - adds r0, r5, #0 - subs r0, #0x75 -_08089802: - asrs r3, r0, #2 - adds r0, r2, #0 - cmp r0, #0 - bge _0808980E - adds r0, r1, #0 - subs r0, #0x4d -_0808980E: - asrs r2, r0, #2 - movs r0, #0x10 - rsbs r0, r0, #0 - cmp r3, r0 - bge _0808981A - adds r3, r0, #0 -_0808981A: - cmp r3, #0x10 - ble _08089820 - movs r3, #0x10 -_08089820: - cmp r2, r0 - bge _08089826 - adds r2, r0, #0 -_08089826: - cmp r2, #0x10 - ble _0808982C - movs r2, #0x10 -_0808982C: - adds r0, r4, #0 - adds r0, #0x68 - ldrh r0, [r0] - adds r0, r0, r3 - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x6a - ldrh r0, [r0] - adds r0, r0, r2 - strh r0, [r4, #0x32] -_08089840: - pop {r4, r5, r6, pc} - .align 2, 0 -_08089844: .4byte gUnk_03000BF0 - - thumb_func_start sub_08089848 -sub_08089848: @ 0x08089848 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08089870 @ =gUnk_08120D90 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004276 - pop {r4, pc} - .align 2, 0 -_08089870: .4byte gUnk_08120D90 - - thumb_func_start sub_08089874 -sub_08089874: @ 0x08089874 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08089940 - adds r0, r4, #0 - adds r0, #0x38 - movs r2, #3 - strb r2, [r0] - ldrb r1, [r4, #0xb] - adds r5, r0, #0 - cmp r1, #0 - bne _08089900 - ldrb r0, [r4, #0xa] - cmp r0, #0x80 - bne _080898B4 - strb r2, [r4, #0xc] - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08089AE0 - b _08089940 -_080898B4: - str r1, [r4, #0x50] - adds r0, r4, #0 - movs r1, #0x29 - movs r2, #0 - movs r3, #0xff - bl sub_080A2988 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080898FA -_080898C8: - ldrb r3, [r4, #0xa] - adds r0, r4, #0 - movs r1, #0x29 - movs r2, #0 - bl sub_080A2988 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _080898EE - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _080898EA - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] -_080898EA: - ldr r0, [r4, #0x54] - str r0, [r4, #0x50] -_080898EE: - ldrb r0, [r4, #0xa] - subs r0, #1 - strb r0, [r4, #0xa] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080898C8 -_080898FA: - bl sub_0805E780 - b _08089940 -_08089900: - strb r3, [r4, #0xc] - ldr r0, [r4, #0x50] - cmp r0, #0 - bne _08089912 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _0808991A -_08089912: - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0808991A: - ldrb r0, [r4, #0xb] - cmp r0, #0xff - bne _08089934 - movs r0, #1 - strb r0, [r5] - adds r0, r4, #0 - bl sub_08016A30 - adds r0, r4, #0 - movs r1, #0x15 - bl sub_0801D2B4 - b _08089940 -_08089934: - ldrb r1, [r4, #0xb] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - rsbs r0, r0, #0 - strh r0, [r4, #0x36] -_08089940: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08089944 -sub_08089944: @ 0x08089944 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r3, [r4, #0xb] - cmp r3, #0xff - bne _08089964 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - b _08089A76 -_08089964: - ldrb r1, [r4, #0x1b] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r2, r0 - strb r2, [r4, #0x19] - cmp r3, #1 - beq _08089984 - ldr r0, [r4, #0x54] - ldrb r0, [r0, #0xc] - cmp r0, #2 - bne _08089A76 -_08089984: - ldr r0, _08089998 @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r2, [r0, r1] - movs r1, #0x24 - rsbs r1, r1, #0 - adds r6, r0, #0 - cmp r2, r1 - bge _0808999C - movs r0, #1 - b _0808999E - .align 2, 0 -_08089998: .4byte gUnk_03001160 -_0808999C: - movs r0, #0 -_0808999E: - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xb] - subs r0, #1 - lsls r1, r0, #3 - adds r1, r1, r0 - lsls r1, r1, #2 - ldrh r0, [r4, #0x32] - subs r0, r0, r1 - strh r0, [r4, #0x32] - adds r5, r6, #0 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0xf - movs r3, #0xf - bl sub_080041A0 - cmp r0, #0 - beq _08089A62 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08089A62 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0xb] - cmp r0, #1 - beq _080899EC - ldr r1, [r4, #0x54] - movs r0, #1 - strb r0, [r1, #0xc] -_080899EC: - ldr r1, _08089A78 @ =gUnk_03003F80 - movs r0, #1 - strb r0, [r1, #0x14] - ldrh r0, [r5, #0x32] - subs r0, #0x24 - strh r0, [r5, #0x32] - ldrh r0, [r5, #0x36] - adds r0, #0x24 - strh r0, [r5, #0x36] - adds r0, r5, #0 - bl sub_0807AA80 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08089A62 - adds r0, r5, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08089A20 - ldrh r0, [r1, #0x2e] - adds r0, #8 - strh r0, [r1, #0x2e] -_08089A20: - adds r0, r5, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08089A36 - ldrh r0, [r1, #0x2e] - subs r0, #8 - strh r0, [r1, #0x2e] -_08089A36: - adds r0, r5, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08089A4C - ldrh r0, [r1, #0x32] - adds r0, #8 - strh r0, [r1, #0x32] -_08089A4C: - adds r0, r6, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08089A62 - ldrh r0, [r1, #0x32] - subs r0, #8 - strh r0, [r1, #0x32] -_08089A62: - ldrb r0, [r4, #0xb] - subs r0, #1 - lsls r1, r0, #3 - adds r1, r1, r0 - lsls r1, r1, #2 - ldrh r0, [r4, #0x32] - adds r1, r1, r0 - strh r1, [r4, #0x32] - ldrb r0, [r4, #0xe] - strb r0, [r4, #0xf] -_08089A76: - pop {r4, r5, r6, pc} - .align 2, 0 -_08089A78: .4byte gUnk_03003F80 - - thumb_func_start sub_08089A7C -sub_08089A7C: @ 0x08089A7C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - lsls r1, r0, #3 - adds r1, r1, r0 - lsls r1, r1, #2 - ldrh r0, [r4, #0x32] - subs r0, r0, r1 - strh r0, [r4, #0x32] - ldr r5, _08089AB0 @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0xf - movs r3, #0xf - bl sub_080041A0 - cmp r0, #0 - beq _08089AB8 - ldr r2, _08089AB4 @ =gUnk_03003F80 - movs r0, #1 - strb r0, [r2, #0x14] - ldr r0, [r2, #0x30] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #0x30] - b _08089AD0 - .align 2, 0 -_08089AB0: .4byte gUnk_03001160 -_08089AB4: .4byte gUnk_03003F80 -_08089AB8: - movs r2, #1 - strb r2, [r4, #0xc] - ldrh r1, [r4, #0x36] - ldrh r3, [r5, #0x36] - adds r0, r1, r3 - strh r0, [r5, #0x36] - ldrh r0, [r5, #0x32] - subs r0, r0, r1 - strh r0, [r5, #0x32] - adds r0, r5, #0 - adds r0, #0x38 - strb r2, [r0] -_08089AD0: - ldrb r1, [r4, #0xb] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - pop {r4, r5, pc} - - thumb_func_start sub_08089AE0 -sub_08089AE0: @ 0x08089AE0 - push {lr} - ldr r1, _08089AF8 @ =gUnk_03001160 - movs r2, #0xf - movs r3, #0xf - bl sub_080041A0 - cmp r0, #0 - beq _08089AF6 - ldr r1, _08089AFC @ =gUnk_03003F80 - movs r0, #1 - strb r0, [r1, #0x14] -_08089AF6: - pop {pc} - .align 2, 0 -_08089AF8: .4byte gUnk_03001160 -_08089AFC: .4byte gUnk_03003F80 - - thumb_func_start sub_08089B00 -sub_08089B00: @ 0x08089B00 - push {lr} - ldr r2, _08089B14 @ =gUnk_08120DD0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08089B14: .4byte gUnk_08120DD0 - - thumb_func_start sub_08089B18 -sub_08089B18: @ 0x08089B18 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r2, #1 - movs r6, #1 - strb r6, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r5, #4 - rsbs r5, r5, #0 - adds r0, r5, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08089B38 - strb r0, [r4, #0xe] -_08089B38: - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _08089B66 - cmp r0, #2 - bgt _08089B50 - cmp r0, #1 - beq _08089B5A - b _08089B96 -_08089B50: - cmp r0, #3 - beq _08089B72 - cmp r0, #4 - beq _08089B7C - b _08089B96 -_08089B5A: - ldrh r0, [r4, #0x32] - subs r0, #8 - strh r0, [r4, #0x32] - movs r0, #0x28 - strb r0, [r4, #0xe] - b _08089B96 -_08089B66: - movs r0, #0xf - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08004168 - b _08089B96 -_08089B72: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - b _08089B96 -_08089B7C: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _08089B96 - ldrb r1, [r4, #0x18] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r4, #0x18] - strb r6, [r4, #0xd] - b _08089B9E -_08089B96: - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_08004488 -_08089B9E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08089BA0 -sub_08089BA0: @ 0x08089BA0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08004274 - ldrb r0, [r5, #0xa] - cmp r0, #4 - bhi _08089BD0 - lsls r0, r0, #2 - ldr r1, _08089BB8 @ =_08089BBC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08089BB8: .4byte _08089BBC -_08089BBC: @ jump table - .4byte _08089BD0 @ case 0 - .4byte _08089BD6 @ case 1 - .4byte _08089BD6 @ case 2 - .4byte _08089C4C @ case 3 - .4byte _08089C72 @ case 4 -_08089BD0: - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _08089CBA -_08089BD6: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08089CBA - ldrb r0, [r5, #0xa] - cmp r0, #2 - bne _08089C42 - ldr r0, [r5, #0x54] - ldrh r0, [r0, #6] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08089C48 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B7D8 - adds r0, r5, #0 - movs r1, #0 - movs r2, #0x10 - bl sub_0807AB44 - subs r4, #0x4f - adds r0, r5, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_0807AB44 - adds r0, r5, #0 - movs r1, #0x10 - movs r2, #0 - bl sub_0807AB44 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0807AB44 -_08089C42: - bl sub_0805E780 - b _08089CBA - .align 2, 0 -_08089C48: .4byte gUnk_03000BF0 -_08089C4C: - ldr r0, [r5, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08089C58 - bl sub_0805E780 -_08089C58: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08089C68 - bl sub_0805E780 -_08089C68: - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FA24 - b _08089CBA -_08089C72: - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - adds r1, r0, #0 - ldrb r0, [r5, #0xd] - cmp r0, #0 - bne _08089C96 - cmp r1, #0 - bne _08089CBA - movs r0, #1 - strb r0, [r5, #0xd] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r5, #0x18] - b _08089CBA -_08089C96: - cmp r1, #0 - beq _08089CBA - movs r0, #0 - strb r0, [r5, #0xd] - ldrb r1, [r5, #0x18] - subs r0, #4 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_08004488 -_08089CBA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08089CBC -sub_08089CBC: @ 0x08089CBC - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xc] - cmp r1, #0 - bne _08089CDC - movs r0, #1 - strb r0, [r4, #0xc] - str r1, [r4, #0x34] - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - movs r1, #9 - bl sub_08004260 -_08089CDC: - ldr r1, [r4, #0x50] - ldr r0, [r1, #0x34] - cmp r0, #0 - bne _08089CEA - bl sub_0805E780 - b _08089D02 -_08089CEA: - movs r2, #0x36 - ldrsh r0, [r1, r2] - movs r2, #0x90 - lsls r2, r2, #1 - subs r2, r2, r0 - adds r0, r1, #0 - adds r0, #0x7e - ldrh r3, [r0] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805EC9C -_08089D02: - pop {r4, pc} - - thumb_func_start sub_08089D04 -sub_08089D04: @ 0x08089D04 - push {lr} - ldr r2, _08089D18 @ =gUnk_08120DF4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08089D18: .4byte gUnk_08120DF4 - - thumb_func_start sub_08089D1C -sub_08089D1C: @ 0x08089D1C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0x19] - movs r4, #0x3f - adds r0, r4, #0 - ands r0, r1 - movs r6, #0x80 - orrs r0, r6 - strb r0, [r5, #0x19] - ldrb r1, [r5, #0x1b] - adds r0, r4, #0 - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r5, #0x1b] - adds r0, r5, #0 - movs r1, #4 - bl sub_0805E3A0 - ldrb r0, [r5, #0xa] - cmp r0, #7 - bne _08089D90 - ldrb r1, [r5, #0x10] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08089D54 - b _08089F06 -_08089D54: - ldrb r0, [r5, #0xb] - cmp r0, #0 - bne _08089D74 - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _08089D74 - bl sub_0807CBD0 - cmp r0, #0 - bne _08089D6A - b _08089F06 -_08089D6A: - ldrb r1, [r5, #0x1b] - adds r0, r4, #0 - ands r0, r1 - orrs r0, r6 - strb r0, [r5, #0x1b] -_08089D74: - ldr r4, _08089D8C @ =gUnk_08120E3C - ldrb r0, [r5, #0xb] - lsls r0, r0, #2 - adds r0, r0, r4 - ldrb r1, [r0] - adds r0, r5, #0 - bl sub_08004260 - ldrb r0, [r5, #0xb] - lsls r0, r0, #2 - adds r0, r0, r4 - b _08089DCE - .align 2, 0 -_08089D8C: .4byte gUnk_08120E3C -_08089D90: - cmp r0, #0 - beq _08089DAC - ldr r0, _08089DA8 @ =gUnk_08120E14 - ldrb r1, [r5, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r5, #0 - bl sub_08004260 - b _08089DC6 - .align 2, 0 -_08089DA8: .4byte gUnk_08120E14 -_08089DAC: - adds r0, r5, #0 - movs r1, #1 - movs r2, #2 - bl sub_080AE008 - ldr r0, _08089E08 @ =gUnk_08120E14 - ldrb r1, [r5, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r5, #0 - bl sub_080042AC -_08089DC6: - ldr r1, _08089E08 @ =gUnk_08120E14 - ldrb r0, [r5, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 -_08089DCE: - ldrb r0, [r0, #1] - adds r3, r5, #0 - adds r3, #0x29 - movs r1, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xa] - cmp r0, #1 - bge _08089DFC - b _08089F00 -_08089DFC: - cmp r0, #6 - ble _08089E0C - cmp r0, #7 - beq _08089E1C - b _08089F00 - .align 2, 0 -_08089E08: .4byte gUnk_08120E14 -_08089E0C: - adds r0, r5, #0 - adds r0, #0x60 - movs r2, #0 - movs r1, #0xe0 - lsls r1, r1, #1 - strh r1, [r0] - strb r2, [r5, #0xe] - b _08089F00 -_08089E1C: - ldrb r1, [r5, #0xb] - cmp r1, #3 - bgt _08089E2C - cmp r1, #2 - bge _08089EEC - cmp r1, #0 - beq _08089E32 - b _08089F00 -_08089E2C: - cmp r1, #4 - beq _08089EF8 - b _08089F00 -_08089E32: - movs r0, #0x10 - str r0, [r5, #0x6c] - strb r1, [r5, #0xe] -_08089E38: - movs r0, #0x2c - movs r1, #7 - movs r2, #1 - bl sub_080A2960 - adds r1, r0, #0 - str r1, [r5, #0x54] - cmp r1, #0 - beq _08089EC8 - ldrh r0, [r5, #0x2e] - strh r0, [r1, #0x2e] - ldr r2, [r5, #0x54] - ldr r1, [r5, #0x6c] - ldrh r0, [r5, #0x32] - subs r0, r0, r1 - strh r0, [r2, #0x32] - movs r0, #3 - strb r0, [r5, #0xf] -_08089E5C: - ldrb r0, [r5, #0xe] - lsls r0, r0, #2 - ldr r1, _08089EE4 @ =gUnk_08120DFC - adds r4, r0, r1 - ldrb r2, [r4] - subs r2, #2 - movs r0, #0x2c - movs r1, #7 - bl sub_080A2960 - adds r1, r0, #0 - str r1, [r5, #0x54] - cmp r1, #0 - beq _08089EAA - movs r0, #1 - ldrsb r0, [r4, r0] - ldrh r2, [r5, #0x2e] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - ldr r2, [r5, #0x54] - ldr r1, [r5, #0x6c] - ldrh r0, [r5, #0x32] - subs r0, r0, r1 - movs r1, #2 - ldrsb r1, [r4, r1] - subs r0, r0, r1 - strh r0, [r2, #0x32] - ldr r3, [r5, #0x54] - ldrb r2, [r4, #3] - movs r0, #1 - ands r2, r0 - lsls r2, r2, #6 - ldrb r0, [r3, #0x18] - movs r4, #0x41 - rsbs r4, r4, #0 - adds r1, r4, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #0x18] -_08089EAA: - ldrb r0, [r5, #0xe] - adds r2, r0, #1 - strb r2, [r5, #0xe] - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _08089E5C - lsls r0, r2, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #5 - bls _08089EC8 - strb r1, [r5, #0xe] -_08089EC8: - ldr r0, [r5, #0x6c] - adds r0, #0x38 - str r0, [r5, #0x6c] - ldrh r1, [r5, #0x32] - subs r1, r1, r0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - ldr r0, _08089EE8 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - cmp r1, r0 - bge _08089E38 - movs r0, #1 - strb r0, [r5, #0xe] - b _08089F00 - .align 2, 0 -_08089EE4: .4byte gUnk_08120DFC -_08089EE8: .4byte gUnk_03000BF0 -_08089EEC: - ldrb r0, [r5, #0x19] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r5, #0x19] -_08089EF8: - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] -_08089F00: - adds r0, r5, #0 - bl sub_08089F08 -_08089F06: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08089F08 -sub_08089F08: @ 0x08089F08 - push {lr} - ldr r2, _08089F1C @ =gUnk_08120E50 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08089F1C: .4byte gUnk_08120E50 - - thumb_func_start sub_08089F20 -sub_08089F20: @ 0x08089F20 - push {lr} - ldr r2, _08089F34 @ =gUnk_08120E78 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08089F34: .4byte gUnk_08120E78 - - thumb_func_start sub_08089F38 -sub_08089F38: @ 0x08089F38 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08089F6C - ldrb r0, [r4, #0xe] - cmp r0, #1 - bhi _08089F5A - adds r0, #1 - strb r0, [r4, #0xe] - b _08089F6C -_08089F5A: - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - movs r0, #0x10 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] -_08089F6C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08089F70 -sub_08089F70: @ 0x08089F70 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08089F8E - movs r0, #0x10 - strb r0, [r4, #0xe] - movs r0, #0xcc - lsls r0, r0, #1 - bl sub_080A3268 -_08089F8E: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08089FEC - movs r0, #0x2c - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _08089FBE - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x2e] - ldr r1, [r4, #0x54] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x32] -_08089FBE: - movs r0, #0x2c - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _08089FDC - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x2e] - ldr r1, [r4, #0x54] - ldrh r0, [r4, #0x32] - subs r0, #0x10 - strh r0, [r1, #0x32] -_08089FDC: - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - strb r1, [r4, #0x18] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] -_08089FEC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08089FF0 -sub_08089FF0: @ 0x08089FF0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0808A00E - movs r0, #0x10 - strb r0, [r1, #0xe] - movs r0, #0xcc - lsls r0, r0, #1 - bl sub_080A3268 -_0808A00E: - pop {pc} - - thumb_func_start sub_0808A010 -sub_0808A010: @ 0x0808A010 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808A07E - ldrb r0, [r4, #0xe] - lsls r0, r0, #2 - ldr r1, _0808A0BC @ =gUnk_08120DFC - adds r5, r0, r1 - ldrb r1, [r5] - movs r0, #0x2c - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _0808A06C - movs r0, #1 - ldrsb r0, [r5, r0] - ldrh r2, [r4, #0x2e] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - ldr r2, [r4, #0x54] - movs r1, #2 - ldrsb r1, [r5, r1] - ldrh r0, [r4, #0x32] - subs r0, r0, r1 - strh r0, [r2, #0x32] - ldr r3, [r4, #0x54] - ldrb r1, [r5, #3] - movs r0, #1 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r3, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] -_0808A06C: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #5 - bls _0808A07E - movs r0, #0 - strb r0, [r4, #0xe] -_0808A07E: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808A0BA - movs r0, #0x2c - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _0808A0A8 - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x2e] - ldr r1, [r4, #0x54] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x32] -_0808A0A8: - ldrh r0, [r4, #0x32] - subs r0, #0x38 - strh r0, [r4, #0x32] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _0808A0BA - adds r0, r4, #0 - bl sub_0805E7BC -_0808A0BA: - pop {r4, r5, pc} - .align 2, 0 -_0808A0BC: .4byte gUnk_08120DFC - - thumb_func_start sub_0808A0C0 -sub_0808A0C0: @ 0x0808A0C0 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0808A0D6 - adds r0, r2, #0 - bl sub_08004274 -_0808A0D6: - pop {pc} - - thumb_func_start nullsub_517 -nullsub_517: @ 0x0808A0D8 - bx lr - .align 2, 0 - - thumb_func_start sub_0808A0DC -sub_0808A0DC: @ 0x0808A0DC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldrb r0, [r5, #0xb] - cmp r0, #1 - bne _0808A0EC - b _0808A202 -_0808A0EC: - cmp r0, #1 - bgt _0808A0F6 - cmp r0, #0 - beq _0808A120 - b _0808A202 -_0808A0F6: - cmp r0, #4 - ble _0808A0FC - b _0808A202 -_0808A0FC: - ldr r0, _0808A118 @ =gUnk_03003F80 - ldrb r0, [r0, #0x12] - cmp r0, #0x1e - bne _0808A1DA - ldr r1, _0808A11C @ =gUnk_03001160 - adds r0, r5, #0 - movs r2, #0 - movs r3, #8 - bl sub_080041A0 - cmp r0, #0 - beq _0808A1DC - b _0808A1B0 - .align 2, 0 -_0808A118: .4byte gUnk_03003F80 -_0808A11C: .4byte gUnk_03001160 -_0808A120: - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _0808A202 - ldr r4, _0808A1A8 @ =gUnk_03000BF0 - ldrh r0, [r4, #8] - str r0, [r5, #0x6c] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldrh r2, [r4, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - ldrh r2, [r4, #8] - subs r0, r0, r2 - lsrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - adds r0, #0x70 - strh r1, [r0] - adds r6, r4, #0 - mov r8, r3 - adds r4, r0, #0 - ldr r7, _0808A1AC @ =0x00004017 -_0808A154: - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldrh r0, [r6, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - mov r2, r8 - ands r1, r2 - ldrh r2, [r6, #8] - ldr r0, [r5, #0x6c] - subs r0, r0, r2 - lsrs r0, r0, #4 - mov r2, r8 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4] - ldrh r1, [r4] - adds r0, r7, #0 - movs r2, #2 - bl sub_0800015E - ldrh r1, [r4] - adds r0, r7, #0 - movs r2, #1 - bl sub_0800015E - ldr r0, [r5, #0x6c] - adds r2, r0, #0 - adds r2, #0x10 - str r2, [r5, #0x6c] - ldrh r0, [r6, #8] - ldrh r1, [r6, #0x20] - adds r0, r0, r1 - cmp r2, r0 - bhs _0808A1A2 - movs r1, #0x32 - ldrsh r0, [r5, r1] - cmp r2, r0 - bls _0808A154 -_0808A1A2: - movs r0, #0 - strb r0, [r5, #0xe] - b _0808A202 - .align 2, 0 -_0808A1A8: .4byte gUnk_03000BF0 -_0808A1AC: .4byte 0x00004017 -_0808A1B0: - adds r3, r5, #0 - adds r3, #0x58 - ldrb r2, [r3] - ldrb r1, [r5, #0xb] - subs r1, #1 - lsls r0, r1, #1 - adds r0, r0, r1 - adds r0, #1 - cmp r2, r0 - bne _0808A1DE - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _0808A1DE - movs r0, #1 - strb r0, [r5, #0xe] - ldrb r1, [r3] - adds r1, #1 - adds r0, r5, #0 - bl sub_08004260 - b _0808A1DE -_0808A1DA: - movs r0, #0 -_0808A1DC: - strb r0, [r5, #0xe] -_0808A1DE: - adds r0, r5, #0 - bl sub_08004274 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808A202 - ldrb r0, [r5, #0xb] - subs r0, #1 - lsls r1, r0, #1 - adds r1, r1, r0 - adds r1, #1 - adds r0, r5, #0 - bl sub_08004260 -_0808A202: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0808A208 -sub_0808A208: @ 0x0808A208 - push {lr} - ldr r2, _0808A21C @ =gUnk_08120E84 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808A21C: .4byte gUnk_08120E84 - - thumb_func_start sub_0808A220 -sub_0808A220: @ 0x0808A220 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x1b] - movs r6, #0x3f - adds r0, r6, #0 - ands r0, r1 - movs r5, #0x80 - orrs r0, r5 - strb r0, [r4, #0x1b] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0808A2E4 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r7, #0x32 - ldrsh r0, [r4, r7] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r2, r4, #0 - adds r2, #0x70 - strh r1, [r2] - ldr r0, _0808A2E8 @ =0x00004017 - ldrh r1, [r2] - movs r2, #1 - bl sub_0800015E - movs r7, #1 - strb r7, [r4, #0xd] - adds r0, r4, #0 - movs r1, #0x15 - movs r2, #0 - movs r3, #0 - bl sub_080A2988 - adds r3, r0, #0 - cmp r3, #0 - beq _0808A2D4 - ldrh r0, [r4, #0x32] - adds r0, #0x38 - strh r0, [r3, #0x32] - ldrh r0, [r4, #0x12] - strh r0, [r3, #0x12] - adds r0, r4, #0 - adds r0, #0x60 - ldrh r1, [r0] - adds r0, r3, #0 - adds r0, #0x60 - strh r1, [r0] - ldrb r1, [r4, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - ldrb r2, [r3, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x1a] - adds r1, r3, #0 - adds r1, #0x58 - movs r0, #2 - strb r0, [r1] - movs r0, #0x80 - strb r0, [r3, #0xe] - strb r7, [r3, #0xa] - ldrb r1, [r3, #0x19] - adds r0, r6, #0 - ands r0, r1 - orrs r0, r5 - strb r0, [r3, #0x19] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r3, #0x1b] - adds r0, r6, #0 - ands r0, r1 - orrs r0, r5 - strb r0, [r3, #0x1b] -_0808A2D4: - adds r0, r4, #0 - movs r1, #0x2c - movs r2, #9 - movs r3, #0 - bl sub_080A2988 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0808A2E4: .4byte gUnk_03000BF0 -_0808A2E8: .4byte 0x00004017 - - thumb_func_start nullsub_518 -nullsub_518: @ 0x0808A2EC - bx lr - .align 2, 0 - - thumb_func_start sub_0808A2F0 -sub_0808A2F0: @ 0x0808A2F0 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xd] - cmp r0, #0 - bne _0808A316 - movs r0, #1 - strb r0, [r5, #0xd] - ldrh r0, [r5, #0x32] - adds r0, #0x28 - strh r0, [r5, #0x32] - movs r2, #0x18 - rsbs r2, r2, #0 - adds r0, r5, #0 - movs r1, #0 - bl sub_0800029C - adds r1, r5, #0 - adds r1, #0x72 - strh r0, [r1] -_0808A316: - ldr r3, _0808A38C @ =gUnk_03001160 - ldrb r1, [r3, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r5, #0x1b] - movs r7, #0x3f - adds r0, r7, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x1b] - ldrb r1, [r3, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r5, #0x19] - adds r0, r7, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x19] - ldr r0, _0808A390 @ =gUnk_03003F80 - ldrb r0, [r0, #0x12] - cmp r0, #0x1e - bne _0808A39C - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - movs r2, #0x18 - rsbs r2, r2, #0 - adds r0, r5, #0 - movs r1, #0 - bl sub_0800029C - ldr r3, _0808A394 @ =0x00004014 - cmp r0, r3 - beq _0808A3EC - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldr r2, _0808A398 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r7 - movs r4, #0x32 - ldrsh r0, [r5, r4] - ldrh r2, [r2, #8] - adds r2, #0x18 - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r7 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r3, #0 - movs r2, #1 - bl sub_0800015E - b _0808A3EC - .align 2, 0 -_0808A38C: .4byte gUnk_03001160 -_0808A390: .4byte gUnk_03003F80 -_0808A394: .4byte 0x00004014 -_0808A398: .4byte gUnk_03000BF0 -_0808A39C: - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - adds r6, r5, #0 - adds r6, #0x72 - ldrh r4, [r6] - movs r2, #0x18 - rsbs r2, r2, #0 - adds r0, r5, #0 - movs r1, #0 - bl sub_0800029C - cmp r4, r0 - beq _0808A3EC - ldrh r0, [r6] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0808A3F0 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r7 - movs r4, #0x32 - ldrsh r2, [r5, r4] - ldrh r3, [r3, #8] - adds r3, #0x18 - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r7 - lsls r2, r2, #6 - orrs r1, r2 - movs r2, #1 - bl sub_0800015E -_0808A3EC: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0808A3F0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0808A3F4 -sub_0808A3F4: @ 0x0808A3F4 - push {lr} - ldr r2, _0808A408 @ =gUnk_08121060 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808A408: .4byte gUnk_08121060 - - thumb_func_start sub_0808A40C -sub_0808A40C: @ 0x0808A40C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0808A41E - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x28 - strb r0, [r4, #0xe] -_0808A41E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808A466 - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - movs r1, #0x40 - subs r1, r1, r0 - strb r1, [r4, #0xe] - movs r0, #0x2d - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _0808A466 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - bl sub_08000E50 - ldr r2, _0808A468 @ =gUnk_08121068 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r1, [r5, #0x2e] - adds r0, r0, r1 - strh r0, [r5, #0x2e] -_0808A466: - pop {r4, r5, pc} - .align 2, 0 -_0808A468: .4byte gUnk_08121068 - - thumb_func_start sub_0808A46C -sub_0808A46C: @ 0x0808A46C - push {lr} - ldr r2, _0808A480 @ =gUnk_08121070 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808A480: .4byte gUnk_08121070 - - thumb_func_start sub_0808A484 -sub_0808A484: @ 0x0808A484 - push {r4, lr} - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - movs r1, #0x40 - strh r1, [r0, #0x24] - movs r1, #6 - strb r1, [r0, #0x15] - ldrb r3, [r0, #0x19] - movs r2, #0x3f - adds r1, r2, #0 - ands r1, r3 - movs r4, #0x40 - orrs r1, r4 - strb r1, [r0, #0x19] - movs r1, #0x29 - adds r1, r1, r0 - mov ip, r1 - ldrb r3, [r1] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r3 - mov r3, ip - strb r1, [r3] - ldrb r1, [r0, #0x1b] - ands r2, r1 - orrs r2, r4 - strb r2, [r0, #0x1b] - movs r1, #0x28 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808A4D0 -sub_0808A4D0: @ 0x0808A4D0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808A4F2 - adds r0, r4, #0 - bl sub_0805E7BC -_0808A4F2: - pop {r4, pc} - - thumb_func_start sub_0808A4F4 -sub_0808A4F4: @ 0x0808A4F4 - push {lr} - ldr r2, _0808A508 @ =gUnk_08121078 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808A508: .4byte gUnk_08121078 - - thumb_func_start sub_0808A50C -sub_0808A50C: @ 0x0808A50C - push {lr} - ldrb r2, [r0, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - ldrb r1, [r0, #0xc] - adds r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x19] - movs r1, #0x3f - ands r1, r2 - movs r2, #0x80 - orrs r1, r2 - strb r1, [r0, #0x19] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #4 - orrs r1, r2 - movs r2, #0x39 - rsbs r2, r2, #0 - ands r1, r2 - movs r2, #0x18 - orrs r1, r2 - strb r1, [r3] - bl sub_0808A644 - pop {pc} - - thumb_func_start sub_0808A550 -sub_0808A550: @ 0x0808A550 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - adds r1, r0, #0 - ldr r0, _0808A58C @ =0x0000401F - cmp r1, r0 - bhi _0808A5CC - subs r0, #3 - cmp r1, r0 - blo _0808A5CC - adds r0, r1, #0 - subs r0, #0x1c - lsls r1, r0, #1 - strb r1, [r4, #0x14] - lsls r1, r0, #3 - strb r1, [r4, #0x15] - lsls r0, r0, #0x19 - lsrs r0, r0, #0x18 - cmp r0, #2 - bne _0808A590 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - b _0808A598 - .align 2, 0 -_0808A58C: .4byte 0x0000401F -_0808A590: - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 -_0808A598: - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x74 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 - ldr r0, _0808A5C8 @ =0x0000010F - bl sub_08004488 - b _0808A5DE - .align 2, 0 -_0808A5C8: .4byte 0x0000010F -_0808A5CC: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - beq _0808A5DE - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0808A5DE: - pop {r4, pc} - - thumb_func_start sub_0808A5E0 -sub_0808A5E0: @ 0x0808A5E0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0800445C - ldr r2, _0808A618 @ =gUnk_08121088 - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #0xf - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08004274 - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808A616 - movs r0, #0 - strb r0, [r4, #0xc] -_0808A616: - pop {r4, r5, pc} - .align 2, 0 -_0808A618: .4byte gUnk_08121088 - - thumb_func_start sub_0808A61C -sub_0808A61C: @ 0x0808A61C - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0808A634 - adds r0, r2, #0 - bl sub_08004274 - b _0808A640 -_0808A634: - adds r0, r2, #0 - adds r0, #0x29 - ldrb r1, [r0] - movs r2, #7 - orrs r1, r2 - strb r1, [r0] -_0808A640: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808A644 -sub_0808A644: @ 0x0808A644 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0808A6D0 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x74 - strh r1, [r5] - ldrh r0, [r5] - adds r6, r4, #0 - adds r6, #0x38 - ldrb r1, [r6] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x70 - strh r0, [r1] - ldrh r0, [r5] - ldrb r1, [r6] - bl sub_080002E0 - adds r1, r4, #0 - adds r1, #0x72 - strb r0, [r1] - ldrh r0, [r5] - ldrb r1, [r6] - bl sub_080002C8 - cmp r0, #0x19 - beq _0808A69E - cmp r0, #0xf0 - bne _0808A6E2 -_0808A69E: - ldr r0, _0808A6D4 @ =0x00004015 - ldrh r1, [r5] - ldrb r2, [r6] - bl sub_0800015E - movs r0, #3 - strb r0, [r4, #0xc] - adds r5, r4, #0 - adds r5, #0x86 - ldrh r0, [r5] - bl sub_0807CBE4 - cmp r0, #0 - bne _0808A6D8 - ldrh r0, [r5] - bl sub_0807CCC8 - movs r0, #0xcd - bl sub_080A3268 - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 - b _0808A6EC - .align 2, 0 -_0808A6D0: .4byte gUnk_03000BF0 -_0808A6D4: .4byte 0x00004015 -_0808A6D8: - adds r0, r4, #0 - movs r1, #6 - bl sub_08004260 - b _0808A6EC -_0808A6E2: - ldr r0, _0808A6F0 @ =0x0000401B - ldrh r1, [r5] - ldrb r2, [r6] - bl sub_0800015E -_0808A6EC: - pop {r4, r5, r6, pc} - .align 2, 0 -_0808A6F0: .4byte 0x0000401B - - thumb_func_start sub_0808A6F4 -sub_0808A6F4: @ 0x0808A6F4 - push {lr} - adds r2, r0, #0 - adds r0, #0x3d - movs r1, #0 - ldrsb r1, [r0, r1] - cmp r1, #0 - bne _0808A706 - adds r0, #0x33 - strh r1, [r0] -_0808A706: - ldr r0, _0808A718 @ =gUnk_08121178 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808A718: .4byte gUnk_08121178 - - thumb_func_start sub_0808A71C -sub_0808A71C: @ 0x0808A71C - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #1 - strb r5, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #3 - movs r0, #0x8f - strb r0, [r1] - subs r1, #4 - movs r0, #0xa - strb r0, [r1] - ldr r0, _0808A75C @ =gUnk_08121180 - str r0, [r4, #0x48] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0808A764 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808A760 - strb r5, [r4, #0xa] - b _0808A76E - .align 2, 0 -_0808A75C: .4byte gUnk_08121180 -_0808A760: - strb r0, [r4, #0xa] - b _0808A76E -_0808A764: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 -_0808A76E: - adds r0, r4, #0 - bl sub_0808A7D8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808A778 -sub_0808A778: @ 0x0808A778 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808A7D0 - adds r1, r5, #0 - adds r1, #0x70 - ldrh r0, [r1] - cmp r0, #0 - bne _0808A7D0 - movs r0, #1 - strh r0, [r1] - ldrb r0, [r5, #0xa] - movs r1, #1 - eors r0, r1 - strb r0, [r5, #0xa] - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0xe8 - strb r0, [r1] - adds r0, r5, #0 - bl sub_0808A7D8 - adds r4, r5, #0 - adds r4, #0x86 - ldrh r0, [r4] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808A7C2 - ldrh r0, [r4] - bl sub_0807CD48 - b _0808A7C8 -_0808A7C2: - ldrh r0, [r4] - bl sub_0807CCC8 -_0808A7C8: - ldr r1, _0808A7D4 @ =0x00000117 - adds r0, r5, #0 - bl sub_0800449C -_0808A7D0: - pop {r4, r5, pc} - .align 2, 0 -_0808A7D4: .4byte 0x00000117 - - thumb_func_start sub_0808A7D8 -sub_0808A7D8: @ 0x0808A7D8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #0 - beq _0808A818 - movs r0, #0xde - lsls r0, r0, #2 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0808A814 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B7D8 - b _0808A844 - .align 2, 0 -_0808A814: .4byte gUnk_03000BF0 -_0808A818: - ldr r0, _0808A848 @ =0x00000377 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0808A84C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B7D8 -_0808A844: - pop {r4, r5, r6, pc} - .align 2, 0 -_0808A848: .4byte 0x00000377 -_0808A84C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0808A850 -sub_0808A850: @ 0x0808A850 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0808A86C @ =gUnk_08121188 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08080CB4 - pop {r4, pc} - .align 2, 0 -_0808A86C: .4byte gUnk_08121188 - - thumb_func_start sub_0808A870 -sub_0808A870: @ 0x0808A870 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _0808A8BE - cmp r0, #1 - bgt _0808A884 - cmp r0, #0 - beq _0808A896 - b _0808A8C4 -_0808A884: - cmp r0, #3 - bgt _0808A8C4 - adds r0, r5, #0 - bl sub_0808A968 - adds r0, r5, #0 - bl sub_0808A8E0 - b _0808A8C4 -_0808A896: - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_0808094C - adds r4, r0, #0 - adds r0, r5, #0 - bl sub_0806F798 - lsls r0, r0, #1 - adds r0, #4 - adds r4, r4, r0 - str r4, [r5, #0x6c] - ldrh r1, [r4] - adds r0, r5, #0 - adds r0, #0x68 - strh r1, [r0] - movs r0, #1 - strb r0, [r5, #0xc] - b _0808A8C4 -_0808A8BE: - adds r0, r5, #0 - bl sub_0808A968 -_0808A8C4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808A8C8 -sub_0808A8C8: @ 0x0808A8C8 - push {lr} - adds r2, r0, #0 - adds r0, #0x68 - ldr r1, [r2, #0x6c] - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - beq _0808A8DE - adds r0, r2, #0 - bl sub_0808A968 -_0808A8DE: - pop {pc} - - thumb_func_start sub_0808A8E0 -sub_0808A8E0: @ 0x0808A8E0 - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xa] - cmp r2, #0 - beq _0808A8F0 - cmp r2, #1 - beq _0808A930 - b _0808A954 -_0808A8F0: - ldr r0, [r4, #0x70] - cmp r0, #0 - beq _0808A930 - ldr r3, [r4, #0x20] - cmp r3, #0 - bge _0808A926 - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #8 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0808A90C - str r2, [r4, #0x70] - b _0808A926 -_0808A90C: - ldr r0, _0808A918 @ =0xFFFFC000 - cmp r3, r0 - bge _0808A920 - ldr r0, _0808A91C @ =0xFFFFFC00 - b _0808A924 - .align 2, 0 -_0808A918: .4byte 0xFFFFC000 -_0808A91C: .4byte 0xFFFFFC00 -_0808A920: - movs r0, #0x80 - lsls r0, r0, #3 -_0808A924: - str r0, [r4, #0x70] -_0808A926: - ldr r1, [r4, #0x70] - adds r0, r4, #0 - bl sub_08003FC4 - b _0808A962 -_0808A930: - ldr r2, _0808A964 @ =gUnk_08121194 - ldrb r0, [r4, #0xf] - adds r1, r0, #1 - strb r1, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1b - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08017850 - cmp r0, #0 - beq _0808A962 -_0808A954: - ldrb r1, [r4, #0xb] - movs r0, #0x5c - movs r2, #0 - bl sub_080A7C00 - bl sub_0805E780 -_0808A962: - pop {r4, pc} - .align 2, 0 -_0808A964: .4byte gUnk_08121194 - - thumb_func_start sub_0808A968 -sub_0808A968: @ 0x0808A968 - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x22 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xa0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r2, #0x13 - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0808A9C0 @ =gUnk_08121C58 - str r0, [r4, #0x48] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - movs r0, #0xa0 - lsls r0, r0, #6 - str r0, [r4, #0x70] - pop {r4, pc} - .align 2, 0 -_0808A9C0: .4byte gUnk_08121C58 - - thumb_func_start sub_0808A9C4 -sub_0808A9C4: @ 0x0808A9C4 - push {lr} - ldr r2, _0808A9D8 @ =gUnk_0812119C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808A9D8: .4byte gUnk_0812119C - - thumb_func_start sub_0808A9DC -sub_0808A9DC: @ 0x0808A9DC - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r1, [r0, #0xa] - strb r1, [r0, #0x1e] - ldrb r1, [r0, #0x19] - movs r2, #0xc0 - orrs r1, r2 - strb r1, [r0, #0x19] - adds r0, #0x29 - ldrb r1, [r0] - movs r2, #7 - orrs r1, r2 - strb r1, [r0] - bx lr - - thumb_func_start nullsub_519 -nullsub_519: @ 0x0808A9F8 - bx lr - .align 2, 0 - - thumb_func_start sub_0808A9FC -sub_0808A9FC: @ 0x0808A9FC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0808AA18 @ =gUnk_081211A4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r4, #0x41 - movs r0, #0 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_0808AA18: .4byte gUnk_081211A4 - - thumb_func_start sub_0808AA1C -sub_0808AA1C: @ 0x0808AA1C - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - movs r4, #0 - movs r6, #1 - strb r6, [r5, #0xc] - bl sub_08052660 - cmp r0, #0 - bne _0808AA36 - adds r0, r5, #0 - movs r1, #0 - bl sub_0801D2B4 -_0808AA36: - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _0808AACC - cmp r0, #1 - bgt _0808AA46 - cmp r0, #0 - beq _0808AA4C - b _0808AB5E -_0808AA46: - cmp r0, #2 - beq _0808AB20 - b _0808AB5E -_0808AA4C: - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0808AAC0 @ =gUnk_080FD224 - str r0, [r5, #0x48] - strb r6, [r5, #0x16] - ldr r0, _0808AAC4 @ =0x00004022 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0808AAC8 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r7, #0x32 - ldrsh r2, [r5, r7] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - adds r0, r5, #0 - adds r0, #0x45 - strb r6, [r0] - adds r1, r5, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #3 - movs r0, #0x6e - strb r0, [r1] - subs r1, #4 - movs r0, #0xe - strb r0, [r1] - strb r6, [r5, #0x1c] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #4 - strb r0, [r1] - b _0808AB5E - .align 2, 0 -_0808AAC0: .4byte gUnk_080FD224 -_0808AAC4: .4byte 0x00004022 -_0808AAC8: .4byte gUnk_03000BF0 -_0808AACC: - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _0808AB10 - ldr r0, _0808AB1C @ =gUnk_080FD224 - str r0, [r5, #0x48] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r0, r5, #0 - adds r0, #0x45 - strb r6, [r0] - adds r1, r5, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #3 - movs r0, #0x6e - strb r0, [r1] - subs r1, #4 - movs r0, #4 - strb r0, [r1] - strb r6, [r5, #0x1c] - movs r0, #3 - strb r0, [r5, #0xc] -_0808AB10: - ldrb r1, [r5, #0x14] - adds r1, #9 - adds r0, r5, #0 - bl sub_08004260 - b _0808AB5E - .align 2, 0 -_0808AB1C: .4byte gUnk_080FD224 -_0808AB20: - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r5, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r5, #0x19] - ldrb r1, [r5, #0x14] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _0808AB52 - movs r0, #0x80 - lsls r0, r0, #2 - str r0, [r5, #0x74] - movs r0, #0x80 - lsls r0, r0, #1 - str r0, [r5, #0x78] - b _0808AB5E -_0808AB52: - movs r0, #0x80 - lsls r0, r0, #2 - str r0, [r5, #0x78] - movs r0, #0x80 - lsls r0, r0, #1 - str r0, [r5, #0x74] -_0808AB5E: - adds r0, r5, #0 - bl sub_0808AB68 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0808AB68 -sub_0808AB68: @ 0x0808AB68 - push {lr} - ldr r2, _0808AB7C @ =gUnk_081211B4 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808AB7C: .4byte gUnk_081211B4 - - thumb_func_start sub_0808AB80 -sub_0808AB80: @ 0x0808AB80 - push {lr} - ldr r2, _0808AB94 @ =gUnk_081211C0 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808AB94: .4byte gUnk_081211C0 - - thumb_func_start sub_0808AB98 -sub_0808AB98: @ 0x0808AB98 - push {lr} - adds r3, r0, #0 - ldr r2, [r3, #0x50] - ldrh r1, [r2, #0xc] - ldr r0, _0808ABB0 @ =0x00000201 - cmp r1, r0 - bne _0808ABB4 - movs r0, #0 - str r0, [r2, #0x54] - bl sub_0805E780 - b _0808ABC2 - .align 2, 0 -_0808ABB0: .4byte 0x00000201 -_0808ABB4: - ldrb r0, [r2, #0xc] - cmp r0, #2 - bne _0808ABC2 - adds r0, r3, #0 - movs r1, #0 - bl sub_0808B168 -_0808ABC2: - pop {pc} - - thumb_func_start sub_0808ABC4 -sub_0808ABC4: @ 0x0808ABC4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrh r1, [r0, #0xc] - ldr r0, _0808AC38 @ =0x00000201 - cmp r1, r0 - bne _0808ABD6 - bl sub_0805E780 -_0808ABD6: - ldr r0, [r4, #0x54] - ldr r1, [r4, #0x50] - bl sub_0808B1F0 - adds r2, r0, #0 - cmp r2, #7 - bhi _0808ABE6 - movs r2, #0 -_0808ABE6: - ldrb r3, [r4, #0x14] - lsls r1, r3, #2 - ldr r0, _0808AC3C @ =gUnk_081211CC - adds r5, r1, r0 - cmp r2, #0x1f - bhi _0808AC5A - cmp r2, #0 - beq _0808ABF8 - subs r2, #6 -_0808ABF8: - ldrh r0, [r5] - str r0, [r4, #0x70] - ldr r1, [r4, #0x50] - movs r0, #2 - ldrsb r0, [r5, r0] - ldrh r3, [r1, #0x2e] - adds r0, r0, r3 - strh r0, [r4, #0x2e] - movs r0, #3 - ldrsb r0, [r5, r0] - ldrh r1, [r1, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldrb r1, [r4, #0x14] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808AC40 - lsls r1, r2, #4 - movs r0, #0x80 - lsls r0, r0, #2 - subs r0, r0, r1 - str r0, [r4, #0x74] - lsls r0, r2, #3 - movs r1, #0x90 - lsls r1, r1, #1 - adds r0, r0, r1 - str r0, [r4, #0x78] - movs r0, #0xf - strb r0, [r4, #0x1e] - b _0808ACDE - .align 2, 0 -_0808AC38: .4byte 0x00000201 -_0808AC3C: .4byte gUnk_081211CC -_0808AC40: - lsls r1, r2, #4 - movs r0, #0x80 - lsls r0, r0, #2 - subs r0, r0, r1 - str r0, [r4, #0x78] - lsls r0, r2, #3 - movs r3, #0x90 - lsls r3, r3, #1 - adds r0, r0, r3 - str r0, [r4, #0x74] - movs r0, #0x14 - strb r0, [r4, #0x1e] - b _0808ACDE -_0808AC5A: - movs r0, #1 - ands r3, r0 - cmp r3, #0 - beq _0808AC9E - adds r1, r2, #0 - subs r1, #0x20 - lsls r1, r1, #2 - adds r0, #0xff - subs r0, r0, r1 - str r0, [r4, #0x74] - lsls r0, r2, #3 - movs r1, #0xa0 - lsls r1, r1, #1 - adds r0, r0, r1 - str r0, [r4, #0x78] - movs r0, #0x10 - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0808AC92 - ldr r0, [r4, #0x50] - lsrs r1, r2, #1 - ldrh r0, [r0, #0x2e] - subs r0, r0, r1 - strh r0, [r4, #0x2e] - b _0808ACDE -_0808AC92: - ldr r1, [r4, #0x50] - lsrs r0, r2, #1 - ldrh r1, [r1, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - b _0808ACDE -_0808AC9E: - adds r1, r2, #0 - subs r1, #0x20 - lsls r1, r1, #2 - movs r0, #0x80 - lsls r0, r0, #1 - subs r0, r0, r1 - str r0, [r4, #0x78] - lsls r0, r2, #3 - movs r3, #0xa0 - lsls r3, r3, #1 - adds r0, r0, r3 - str r0, [r4, #0x74] - movs r0, #0x15 - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0808ACCE - ldr r0, [r4, #0x50] - lsrs r1, r2, #1 - ldrh r0, [r0, #0x32] - adds r1, r1, r0 - b _0808ACD6 -_0808ACCE: - ldr r0, [r4, #0x50] - lsrs r2, r2, #1 - ldrh r1, [r0, #0x32] - subs r1, r1, r2 -_0808ACD6: - movs r0, #3 - ldrsb r0, [r5, r0] - adds r0, r0, r1 - strh r0, [r4, #0x32] -_0808ACDE: - ldr r1, [r4, #0x74] - ldr r2, [r4, #0x78] - ldr r3, [r4, #0x70] - adds r0, r4, #0 - bl sub_0805EC9C - pop {r4, r5, pc} - - thumb_func_start sub_0808ACEC -sub_0808ACEC: @ 0x0808ACEC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - beq _0808AD00 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0808AD00: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - subs r0, #4 - cmp r0, #0x12 - bhi _0808AD92 - lsls r0, r0, #2 - ldr r1, _0808AD1C @ =_0808AD20 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808AD1C: .4byte _0808AD20 -_0808AD20: @ jump table - .4byte _0808AD6C @ case 0 - .4byte _0808AD6C @ case 1 - .4byte _0808AD6C @ case 2 - .4byte _0808AD92 @ case 3 - .4byte _0808AD6C @ case 4 - .4byte _0808AD6C @ case 5 - .4byte _0808AD6C @ case 6 - .4byte _0808AD6C @ case 7 - .4byte _0808AD6C @ case 8 - .4byte _0808AD6C @ case 9 - .4byte _0808AD92 @ case 10 - .4byte _0808AD92 @ case 11 - .4byte _0808AD6C @ case 12 - .4byte _0808AD6C @ case 13 - .4byte _0808AD6C @ case 14 - .4byte _0808AD88 @ case 15 - .4byte _0808AD6C @ case 16 - .4byte _0808AD92 @ case 17 - .4byte _0808AD6C @ case 18 -_0808AD6C: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - bl sub_0806F5A4 - strb r0, [r4, #0x14] - movs r0, #2 - strb r0, [r4, #0xd] - strb r0, [r4, #0xe] - b _0808AD9E -_0808AD88: - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - b _0808AD9E -_0808AD92: - movs r0, #0 - strb r0, [r4, #0xf] - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_08078930 -_0808AD9E: - pop {r4, pc} - - thumb_func_start sub_0808ADA0 -sub_0808ADA0: @ 0x0808ADA0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x54] - bl sub_0808B1F0 - cmp r0, #7 - bls _0808ADB4 - ldr r1, [r4, #0x54] - cmp r1, #0 - bne _0808ADE2 -_0808ADB4: - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r2, #2 - movs r0, #2 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0x14] - eors r0, r2 - strb r0, [r4, #0x14] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - b _0808ADEE -_0808ADE2: - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r1, #0x24] - ldr r0, [r4, #0x54] - bl sub_0806F69C -_0808ADEE: - pop {r4, pc} - - thumb_func_start sub_0808ADF0 -sub_0808ADF0: @ 0x0808ADF0 - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0x14] - adds r1, r2, #0 - adds r1, #0xd - adds r0, #0x58 - ldrb r0, [r0] - cmp r1, r0 - bne _0808AE26 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808AE1E - movs r0, #0 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - b _0808AE80 -_0808AE1E: - adds r0, r4, #0 - bl sub_08004274 - b _0808AE80 -_0808AE26: - adds r1, r2, #1 - cmp r1, r0 - beq _0808AE54 - adds r0, r4, #0 - bl sub_08004260 - ldrb r0, [r4, #0x14] - cmp r0, #3 - bne _0808AE42 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _0808AE48 -_0808AE42: - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 -_0808AE48: - strb r0, [r4, #0x18] - movs r0, #0x97 - lsls r0, r0, #1 - bl sub_080A3268 - b _0808AE80 -_0808AE54: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808AE80 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0808AE80 - ldrb r1, [r4, #0x14] - adds r1, #0xd - adds r0, r4, #0 - bl sub_08004260 -_0808AE80: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808AE84 -sub_0808AE84: @ 0x0808AE84 - push {lr} - adds r2, r0, #0 - ldr r0, _0808AEA8 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _0808AE94 - movs r0, #6 - strb r0, [r2, #0xd] -_0808AE94: - ldr r0, _0808AEAC @ =gUnk_081211DC - ldrb r1, [r2, #0xd] - subs r1, #5 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808AEA8: .4byte gUnk_03003F80 -_0808AEAC: .4byte gUnk_081211DC - - thumb_func_start sub_0808AEB0 -sub_0808AEB0: @ 0x0808AEB0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0808AF68 - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0808B1F0 - adds r6, r0, #0 - ldr r5, _0808AF10 @ =gUnk_03003F80 - adds r2, r5, #0 - adds r2, #0x90 - ldr r1, _0808AF14 @ =gUnk_081211E4 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r2] - ldrh r0, [r0] - ands r0, r1 - cmp r0, #0 - beq _0808AF20 - adds r0, r4, #0 - bl sub_08004274 - cmp r6, #0x3f - bhi _0808AF08 - ldr r0, _0808AF18 @ =gUnk_03001160 - ldrb r2, [r4, #0x15] - movs r1, #0x40 - bl sub_080044AE - ldr r0, [r4, #0x7c] - subs r0, #1 - str r0, [r4, #0x7c] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _0808AF08 - movs r0, #4 - str r0, [r4, #0x7c] - ldr r0, _0808AF1C @ =0x0000012F - bl sub_080A3268 -_0808AF08: - movs r0, #1 - strb r0, [r4, #0xf] - b _0808AFD0 - .align 2, 0 -_0808AF10: .4byte gUnk_03003F80 -_0808AF14: .4byte gUnk_081211E4 -_0808AF18: .4byte gUnk_03001160 -_0808AF1C: .4byte 0x0000012F -_0808AF20: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0808AFD0 - ldr r2, _0808AF64 @ =gUnk_03001160 - ldrb r0, [r2, #0xc] - cmp r0, #1 - bne _0808AFD0 - adds r0, r5, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _0808AFD0 - movs r0, #0x1b - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x38 - strb r6, [r0] - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - adds r1, r5, #0 - adds r1, #0x39 - strb r0, [r1] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0808B1F0 - adds r1, r5, #0 - adds r1, #0x3a - strb r0, [r1] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - b _0808AFD0 - .align 2, 0 -_0808AF64: .4byte gUnk_03001160 -_0808AF68: - movs r6, #1 - strb r6, [r4, #0xe] - str r6, [r4, #0x7c] - ldr r5, _0808AFC8 @ =gUnk_03001160 - ldrb r0, [r5, #0x14] - lsrs r0, r0, #1 - movs r1, #2 - eors r0, r1 - strb r0, [r4, #0x14] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r5, #0x18] - movs r1, #0x40 - ands r1, r0 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x14] - adds r1, #5 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #0 - bl sub_0808B21C - cmp r0, #0 - beq _0808AFB6 - ldr r0, [r4, #0x54] - movs r1, #0 - bl sub_0808B168 -_0808AFB6: - ldrb r1, [r4, #0x14] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _0808AFCC - ldrh r0, [r4, #0x32] - strh r0, [r5, #0x32] - b _0808AFD0 - .align 2, 0 -_0808AFC8: .4byte gUnk_03001160 -_0808AFCC: - ldrh r0, [r4, #0x2e] - strh r0, [r5, #0x2e] -_0808AFD0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808AFD4 -sub_0808AFD4: @ 0x0808AFD4 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - strb r1, [r0, #0xd] - ldr r2, [r0, #0x54] - ldrb r0, [r0, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r2, #0x15] - movs r0, #0x98 - lsls r0, r0, #1 - bl sub_080A3268 - pop {pc} - - thumb_func_start sub_0808AFF0 -sub_0808AFF0: @ 0x0808AFF0 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _0808B054 @ =gUnk_081211EC - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r0, _0808B058 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _0808B01E - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _0808B050 -_0808B01E: - ldrb r5, [r4, #0xa] - cmp r5, #1 - bne _0808B050 - ldr r0, [r4, #0x50] - strb r5, [r0, #0xc] - ldr r0, [r4, #0x50] - strb r5, [r0, #0xd] - ldr r2, [r4, #0x50] - ldrb r0, [r2, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r4, #0x15] - ldrb r3, [r2, #0x10] - movs r1, #0x7f - adds r0, r1, #0 - ands r0, r3 - strb r0, [r2, #0x10] - ldrb r0, [r4, #0x10] - ands r1, r0 - strb r1, [r4, #0x10] - strb r5, [r4, #0xc] - movs r0, #0x98 - lsls r0, r0, #1 - bl sub_080A3268 -_0808B050: - pop {r4, r5, pc} - .align 2, 0 -_0808B054: .4byte gUnk_081211EC -_0808B058: .4byte gUnk_03003F80 - - thumb_func_start sub_0808B05C -sub_0808B05C: @ 0x0808B05C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0808B0AE - ldr r2, _0808B0B8 @ =gUnk_03001160 - ldrb r0, [r2, #0x14] - lsrs r0, r0, #1 - movs r1, #2 - eors r0, r1 - strb r0, [r4, #0x14] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - ldrb r0, [r2, #0x18] - movs r1, #0x40 - ands r1, r0 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x14] - adds r1, #5 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #1 - bl sub_0808B21C - cmp r0, #0 - beq _0808B0AE - ldr r0, [r4, #0x54] - movs r1, #1 - bl sub_0808B168 -_0808B0AE: - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - pop {r4, pc} - .align 2, 0 -_0808B0B8: .4byte gUnk_03001160 - - thumb_func_start sub_0808B0BC -sub_0808B0BC: @ 0x0808B0BC - push {r4, r5, r6, r7, lr} - sub sp, #0x88 - adds r5, r0, #0 - ldr r1, [r5, #0x50] - bl sub_0808B1F0 - adds r7, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #0 - beq _0808B0D6 - cmp r0, #1 - beq _0808B0DE - b _0808B162 -_0808B0D6: - adds r0, r5, #0 - bl sub_08004274 - b _0808B162 -_0808B0DE: - ldr r6, _0808B148 @ =gUnk_03001160 - ldrb r0, [r6, #0x14] - movs r1, #0xe - ands r1, r0 - ldr r0, _0808B14C @ =gUnk_08126EE4 - adds r1, r1, r0 - mov r2, sp - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r3, [r6, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r6, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - mov r0, sp - adds r1, r5, #0 - movs r2, #7 - movs r3, #7 - bl sub_0800419C - cmp r0, #0 - beq _0808B154 - ldrb r0, [r6, #0xc] - cmp r0, #1 - bne _0808B162 - ldr r4, _0808B150 @ =gUnk_03003F80 - adds r0, r4, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _0808B162 - movs r0, #0x1b - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x38 - strb r7, [r0] - ldrb r0, [r5, #0x15] - movs r1, #0x10 - eors r0, r1 - adds r1, r4, #0 - adds r1, #0x39 - strb r0, [r1] - ldr r0, [r5, #0x50] - adds r1, r6, #0 - bl sub_0808B1F0 - adds r1, r4, #0 - adds r1, #0x3a - strb r0, [r1] - b _0808B162 - .align 2, 0 -_0808B148: .4byte gUnk_03001160 -_0808B14C: .4byte gUnk_08126EE4 -_0808B150: .4byte gUnk_03003F80 -_0808B154: - movs r0, #0x40 - strh r0, [r5, #0x24] - cmp r7, #0x3f - bhi _0808B162 - adds r0, r5, #0 - bl sub_0806F69C -_0808B162: - add sp, #0x88 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0808B168 -sub_0808B168: @ 0x0808B168 - push {r4, r5, lr} - adds r3, r0, #0 - cmp r1, #0 - beq _0808B188 - ldrb r0, [r3, #0x14] - movs r1, #2 - eors r1, r0 - lsls r1, r1, #1 - ldr r0, _0808B184 @ =gUnk_081211F4 - adds r2, r1, r0 - adds r1, r2, #1 - ldr r4, [r3, #0x50] - adds r5, r4, #0 - b _0808B1CE - .align 2, 0 -_0808B184: .4byte gUnk_081211F4 -_0808B188: - ldrb r1, [r3, #0x14] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808B1B8 - ldr r5, _0808B1AC @ =gUnk_03001160 - ldr r4, [r3, #0x50] - ldrb r1, [r3, #0x14] - lsls r2, r1, #1 - ldr r0, _0808B1B0 @ =gUnk_081211FC - adds r2, r2, r0 - movs r0, #2 - eors r1, r0 - lsls r1, r1, #1 - ldr r0, _0808B1B4 @ =gUnk_081211F5 - adds r1, r1, r0 - b _0808B1CE - .align 2, 0 -_0808B1AC: .4byte gUnk_03001160 -_0808B1B0: .4byte gUnk_081211FC -_0808B1B4: .4byte gUnk_081211F5 -_0808B1B8: - ldr r5, [r3, #0x50] - ldr r4, _0808B1E4 @ =gUnk_03001160 - movs r0, #2 - eors r0, r1 - lsls r0, r0, #1 - ldr r1, _0808B1E8 @ =gUnk_081211F4 - adds r2, r0, r1 - ldrb r0, [r3, #0x14] - lsls r0, r0, #1 - ldr r1, _0808B1EC @ =gUnk_081211FD - adds r1, r0, r1 -_0808B1CE: - movs r0, #0 - ldrsb r0, [r2, r0] - ldrh r5, [r5, #0x2e] - adds r0, r0, r5 - strh r0, [r3, #0x2e] - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r4, [r4, #0x32] - adds r0, r0, r4 - strh r0, [r3, #0x32] - pop {r4, r5, pc} - .align 2, 0 -_0808B1E4: .4byte gUnk_03001160 -_0808B1E8: .4byte gUnk_081211F4 -_0808B1EC: .4byte gUnk_081211FD - - thumb_func_start sub_0808B1F0 -sub_0808B1F0: @ 0x0808B1F0 - push {lr} - adds r2, r0, #0 - adds r3, r1, #0 - ldrb r1, [r2, #0x14] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808B20A - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r2, #0x2e - ldrsh r0, [r3, r2] - b _0808B212 -_0808B20A: - movs r0, #0x32 - ldrsh r1, [r2, r0] - movs r2, #0x32 - ldrsh r0, [r3, r2] -_0808B212: - subs r0, r1, r0 - cmp r0, #0 - bge _0808B21A - rsbs r0, r0, #0 -_0808B21A: - pop {pc} - - thumb_func_start sub_0808B21C -sub_0808B21C: @ 0x0808B21C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #6 - orrs r1, r0 - strb r1, [r2] - adds r0, r4, #0 - movs r1, #0x32 - movs r2, #1 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _0808B26E - ldrb r0, [r4, #0x14] - strb r0, [r1, #0x14] - ldr r1, [r4, #0x54] - ldrb r0, [r4, #0x15] - strb r0, [r1, #0x15] - ldr r3, [r4, #0x54] - ldrb r0, [r4, #0x18] - movs r1, #0x40 - ands r1, r0 - ldrb r2, [r3, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] - ldr r0, [r4, #0x54] - str r4, [r0, #0x50] - ldr r0, [r4, #0x54] - strb r5, [r0, #0xb] -_0808B26E: - adds r0, r4, #0 - movs r1, #0x32 - movs r2, #2 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - str r1, [r4, #0x50] - cmp r1, #0 - bne _0808B286 - movs r0, #0 - b _0808B292 -_0808B286: - ldrb r0, [r4, #0x14] - strb r0, [r1, #0x14] - ldr r1, [r4, #0x50] - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] - movs r0, #1 -_0808B292: - pop {r4, r5, pc} - - thumb_func_start sub_0808B294 -sub_0808B294: @ 0x0808B294 - push {lr} - ldr r2, _0808B2A8 @ =gUnk_08121300 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808B2A8: .4byte gUnk_08121300 - - thumb_func_start sub_0808B2AC -sub_0808B2AC: @ 0x0808B2AC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0808B2C4 - adds r0, r4, #0 - bl sub_0808B41C - adds r0, r4, #0 - bl sub_0808B3AC - b _0808B2CA -_0808B2C4: - adds r0, r4, #0 - bl sub_0808B42C -_0808B2CA: - pop {r4, pc} - - thumb_func_start sub_0808B2CC -sub_0808B2CC: @ 0x0808B2CC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0808B2E6 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808B31C - b _0808B2F4 -_0808B2E6: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _0808B31C -_0808B2F4: - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x70 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldr r0, _0808B320 @ =0x000001A5 - bl sub_08004488 -_0808B31C: - pop {r4, pc} - .align 2, 0 -_0808B320: .4byte 0x000001A5 - - thumb_func_start sub_0808B324 -sub_0808B324: @ 0x0808B324 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808B340 - adds r0, r4, #0 - bl sub_0808B42C -_0808B340: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808B344 -sub_0808B344: @ 0x0808B344 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0808B35E - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _0808B384 - b _0808B36C -_0808B35E: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808B384 -_0808B36C: - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0808B3AC - ldr r0, _0808B388 @ =0x000001A5 - bl sub_08004488 -_0808B384: - pop {r4, pc} - .align 2, 0 -_0808B388: .4byte 0x000001A5 - - thumb_func_start sub_0808B38C -sub_0808B38C: @ 0x0808B38C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808B3A8 - adds r0, r4, #0 - bl sub_0808B41C -_0808B3A8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808B3AC -sub_0808B3AC: @ 0x0808B3AC - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, _0808B414 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r4, r6, #0 - adds r4, #0x70 - strh r1, [r4] - ldrh r0, [r4] - adds r5, r6, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x72 - strh r0, [r1] - ldrh r0, [r4] - ldrb r1, [r5] - bl sub_080002E0 - adds r1, r6, #0 - adds r1, #0x74 - strb r0, [r1] - ldr r0, _0808B418 @ =0x0000400B - ldrh r1, [r4] - ldrb r2, [r5] - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_0808B414: .4byte gUnk_03000BF0 -_0808B418: .4byte 0x0000400B - - thumb_func_start sub_0808B41C -sub_0808B41C: @ 0x0808B41C - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808B42C -sub_0808B42C: @ 0x0808B42C - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r2, #7 - orrs r1, r2 - strb r1, [r3] - movs r1, #1 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808B448 -sub_0808B448: @ 0x0808B448 - push {lr} - adds r2, r0, #0 - adds r0, #0x70 - ldrb r0, [r0] - cmp r0, #0 - bne _0808B46C - ldr r0, _0808B468 @ =gUnk_08121368 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _0808B472 - .align 2, 0 -_0808B468: .4byte gUnk_08121368 -_0808B46C: - adds r0, r2, #0 - bl sub_0808B73C -_0808B472: - pop {pc} - - thumb_func_start sub_0808B474 -sub_0808B474: @ 0x0808B474 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xf] - ldr r1, _0808B4D8 @ =gUnk_08121380 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - movs r0, #0xf - ands r1, r0 - ldrb r3, [r4, #0x1a] - movs r2, #0x10 - rsbs r2, r2, #0 - adds r0, r2, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4, #0x1a] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r3] - ldr r0, _0808B4DC @ =gUnk_080FD168 - str r0, [r4, #0x48] - ldrb r0, [r4, #0x11] - ands r2, r0 - movs r0, #3 - orrs r2, r0 - strb r2, [r4, #0x11] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808B4E0 - adds r0, r4, #0 - bl sub_0808B830 - b _0808B4F8 - .align 2, 0 -_0808B4D8: .4byte gUnk_08121380 -_0808B4DC: .4byte gUnk_080FD168 -_0808B4E0: - bl sub_08052660 - cmp r0, #0 - beq _0808B4F8 - ldrb r0, [r4, #0xa] - bl sub_0807CAEC - cmp r0, #0 - beq _0808B4F8 - adds r0, r4, #0 - bl sub_0808B830 -_0808B4F8: - adds r0, r4, #0 - bl sub_0808B7C8 - cmp r0, #0 - beq _0808B528 - movs r2, #4 - strb r2, [r4, #0xc] - movs r0, #0x60 - strb r0, [r4, #0xf] - ldr r1, _0808B52C @ =gUnk_03001160 - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x2e] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x32] - strb r2, [r1, #0x14] - movs r0, #0x89 - lsls r0, r0, #1 - bl sub_08004488 - ldrb r1, [r4, #0xf] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_0805E4E0 -_0808B528: - pop {r4, pc} - .align 2, 0 -_0808B52C: .4byte gUnk_03001160 - - thumb_func_start sub_0808B530 -sub_0808B530: @ 0x0808B530 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808B562 - adds r0, r4, #0 - bl sub_0808B830 - bl sub_08052660 - cmp r0, #0 - beq _0808B554 - ldrb r0, [r4, #0xa] - bl sub_0807CAC8 -_0808B554: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xf] - adds r0, #0xd6 - bl sub_08004488 -_0808B562: - pop {r4, pc} - - thumb_func_start sub_0808B564 -sub_0808B564: @ 0x0808B564 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xf] - subs r1, r0, #1 - strb r1, [r3, #0xf] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0808B57A - movs r0, #3 - strb r0, [r3, #0xc] - b _0808B58E -_0808B57A: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x19 - movs r1, #1 - bics r1, r0 - ldrb r2, [r3, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] -_0808B58E: - pop {pc} - - thumb_func_start sub_0808B590 -sub_0808B590: @ 0x0808B590 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0808B7C8 - cmp r0, #0 - beq _0808B5E4 - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0808B5E6 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0x60 - strb r0, [r4, #0xf] - bl sub_08077B20 - ldr r1, _0808B5DC @ =gUnk_03001160 - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x2e] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x32] - movs r0, #4 - strb r0, [r1, #0x14] - ldrb r2, [r1, #0x10] - movs r0, #0x7f - ands r0, r2 - strb r0, [r1, #0x10] - ldrb r1, [r4, #0xf] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_0805E4E0 - ldr r0, _0808B5E0 @ =0x00000113 - bl sub_080A3268 - b _0808B5E6 - .align 2, 0 -_0808B5DC: .4byte gUnk_03001160 -_0808B5E0: .4byte 0x00000113 -_0808B5E4: - strb r0, [r4, #0xe] -_0808B5E6: - pop {r4, pc} - - thumb_func_start sub_0808B5E8 -sub_0808B5E8: @ 0x0808B5E8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r1, r0, #1 - strb r1, [r4, #0xf] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _0808B610 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xe] - ldr r1, _0808B60C @ =gUnk_03001160 - movs r0, #4 - strb r0, [r1, #0x14] - movs r0, #0x10 - strb r0, [r1, #0x15] - b _0808B67E - .align 2, 0 -_0808B60C: .4byte gUnk_03001160 -_0808B610: - movs r5, #0 - movs r0, #0x60 - ands r0, r1 - cmp r0, #0x20 - beq _0808B644 - cmp r0, #0x20 - bgt _0808B624 - cmp r0, #0 - beq _0808B64E - b _0808B66E -_0808B624: - cmp r0, #0x40 - bne _0808B66E - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x58 - bne _0808B638 - movs r0, #0x8a - lsls r0, r0, #1 - bl sub_080A3268 -_0808B638: - ldrb r1, [r4, #0xf] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0808B66E - b _0808B672 -_0808B644: - movs r0, #3 - ands r1, r0 - cmp r1, #0 - bne _0808B66E - b _0808B672 -_0808B64E: - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _0808B66E - ldr r0, _0808B668 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - cmp r0, #4 - bne _0808B66C - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x18 - bls _0808B66E - b _0808B672 - .align 2, 0 -_0808B668: .4byte gUnk_03001160 -_0808B66C: - movs r5, #1 -_0808B66E: - cmp r5, #0 - beq _0808B67E -_0808B672: - ldr r0, _0808B680 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - adds r1, #2 - movs r2, #6 - ands r1, r2 - strb r1, [r0, #0x14] -_0808B67E: - pop {r4, r5, pc} - .align 2, 0 -_0808B680: .4byte gUnk_03001160 - - thumb_func_start sub_0808B684 -sub_0808B684: @ 0x0808B684 - push {lr} - mov ip, r0 - ldrb r0, [r0, #0xf] - subs r1, r0, #1 - mov r0, ip - strb r1, [r0, #0xf] - lsls r0, r1, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - bne _0808B6E8 - ldr r3, _0808B6E4 @ =gUnk_030010A0 - movs r0, #1 - strb r0, [r3, #8] - strb r2, [r3, #9] - mov r0, ip - adds r0, #0x7c - ldrb r0, [r0] - strb r0, [r3, #0xc] - mov r0, ip - adds r0, #0x7d - ldrb r0, [r0] - strb r0, [r3, #0xd] - mov r0, ip - adds r0, #0x84 - ldrh r1, [r0] - movs r0, #0x3f - ands r0, r1 - lsls r0, r0, #4 - adds r0, #8 - movs r2, #0 - strh r0, [r3, #0x10] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r1 - lsrs r0, r0, #2 - adds r0, #8 - strh r0, [r3, #0x12] - strb r2, [r3, #0x14] - movs r0, #4 - strb r0, [r3, #0xe] - strb r2, [r3, #0xf] - mov r1, ip - ldrb r0, [r1, #0xa] - cmp r0, #2 - bne _0808B736 - strb r0, [r3, #9] - b _0808B736 - .align 2, 0 -_0808B6E4: .4byte gUnk_030010A0 -_0808B6E8: - movs r0, #0x60 - ands r0, r1 - cmp r0, #0x20 - beq _0808B702 - cmp r0, #0x20 - bgt _0808B6FA - cmp r0, #0 - beq _0808B706 - b _0808B724 -_0808B6FA: - cmp r0, #0x40 - bne _0808B724 - movs r0, #7 - b _0808B710 -_0808B702: - movs r0, #3 - b _0808B710 -_0808B706: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x10 - bls _0808B718 - movs r0, #1 -_0808B710: - ands r1, r0 - cmp r1, #0 - bne _0808B724 - b _0808B72A -_0808B718: - ldr r2, _0808B738 @ =gUnk_03001160 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] -_0808B724: - movs r0, #0 - cmp r0, #0 - beq _0808B736 -_0808B72A: - ldr r0, _0808B738 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - adds r1, #2 - movs r2, #6 - ands r1, r2 - strb r1, [r0, #0x14] -_0808B736: - pop {pc} - .align 2, 0 -_0808B738: .4byte gUnk_03001160 - - thumb_func_start sub_0808B73C -sub_0808B73C: @ 0x0808B73C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0808B766 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, [r4, #0x50] - ldrb r1, [r0, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0808B766: - ldr r5, _0808B78C @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - movs r3, #0x28 - bl sub_0806FCB8 - cmp r0, #0 - beq _0808B790 - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - b _0808B7C0 - .align 2, 0 -_0808B78C: .4byte gUnk_03001160 -_0808B790: - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - movs r3, #0x2e - bl sub_0806FCB8 - cmp r0, #0 - beq _0808B7B6 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - b _0808B7BE -_0808B7B6: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 -_0808B7BE: - strb r0, [r4, #0x18] -_0808B7C0: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, r5, pc} - - thumb_func_start sub_0808B7C8 -sub_0808B7C8: @ 0x0808B7C8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r2, _0808B824 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0808B82C - adds r0, r2, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x12 - beq _0808B82C - ldr r4, _0808B828 @ =gUnk_03001160 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _0808B82C - bl sub_08079F8C - cmp r0, #0 - beq _0808B82C - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #5 - movs r3, #5 - bl sub_080041A0 - cmp r0, #0 - beq _0808B82C - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0808B82C - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _0808B81E - ldrb r0, [r4, #0xc] - cmp r0, #0x1b - bne _0808B81E - bl sub_080791D0 -_0808B81E: - movs r0, #1 - b _0808B82E - .align 2, 0 -_0808B824: .4byte gUnk_03003F80 -_0808B828: .4byte gUnk_03001160 -_0808B82C: - movs r0, #0 -_0808B82E: - pop {r4, r5, pc} - - thumb_func_start sub_0808B830 -sub_0808B830: @ 0x0808B830 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x34 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0808B86A - adds r1, r2, #0 - adds r1, #0x70 - movs r0, #1 - strb r0, [r1] - str r4, [r2, #0x50] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0806FA24 -_0808B86A: - pop {r4, pc} - - thumb_func_start sub_0808B86C -sub_0808B86C: @ 0x0808B86C - push {lr} - ldr r2, _0808B880 @ =gUnk_081213C4 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808B880: .4byte gUnk_081213C4 - - thumb_func_start sub_0808B884 -sub_0808B884: @ 0x0808B884 - push {lr} - ldr r2, _0808B898 @ =gUnk_081213D0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808B898: .4byte gUnk_081213D0 - - thumb_func_start sub_0808B89C -sub_0808B89C: @ 0x0808B89C - push {r4, lr} - adds r4, r0, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r0, [r4, #0xb] - adds r1, r4, #0 - adds r1, #0x38 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - movs r0, #0xb4 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808B8D4 -sub_0808B8D4: @ 0x0808B8D4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808B904 - movs r0, #0xb4 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xb] - adds r0, #1 - strb r0, [r4, #0xb] - ldrb r0, [r4, #0xb] - movs r1, #3 - bl __modsi3 - strb r0, [r4, #0xb] - ldrb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_08004260 -_0808B904: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808B908 -sub_0808B908: @ 0x0808B908 - push {lr} - bl sub_08004274 - pop {pc} - - thumb_func_start sub_0808B910 -sub_0808B910: @ 0x0808B910 - push {lr} - ldr r2, _0808B92C @ =gUnk_081213DC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldr r2, _0808B930 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x1a] - pop {pc} - .align 2, 0 -_0808B92C: .4byte gUnk_081213DC -_0808B930: .4byte gUnk_03003F80 - - thumb_func_start sub_0808B934 -sub_0808B934: @ 0x0808B934 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - movs r7, #0 - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - strb r7, [r4, #0x1e] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x70 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0808B9B8 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x76 - strh r1, [r5] - ldrh r0, [r5] - adds r6, r4, #0 - adds r6, #0x38 - ldrb r1, [r6] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x74 - strh r0, [r1] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0808B9C0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xf] - ldr r0, _0808B9BC @ =0x00004022 - ldrh r1, [r5] - ldrb r2, [r6] - bl sub_0800015E - b _0808B9D2 - .align 2, 0 -_0808B9B8: .4byte gUnk_03000BF0 -_0808B9BC: .4byte 0x00004022 -_0808B9C0: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r7, [r4, #0xe] -_0808B9D2: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0808B9D4 -sub_0808B9D4: @ 0x0808B9D4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - bl sub_0807CC3C - cmp r0, #0 - beq _0808BA0A - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #7 - strb r0, [r4, #0xe] - strb r1, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x76 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldr r0, _0808BA0C @ =0x0000010B - bl sub_08004488 -_0808BA0A: - pop {r4, pc} - .align 2, 0 -_0808BA0C: .4byte 0x0000010B - - thumb_func_start sub_0808BA10 -sub_0808BA10: @ 0x0808BA10 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808BA44 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0xc - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - strh r0, [r4, #0x32] -_0808BA44: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808BA48 -sub_0808BA48: @ 0x0808BA48 - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_08083734 - cmp r0, #0 - beq _0808BA68 - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x76 - ldrh r2, [r0] - adds r0, r4, #0 - movs r1, #2 - bl sub_080836DC -_0808BA68: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808BA6C -sub_0808BA6C: @ 0x0808BA6C - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808BAA4 - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_08083814 - ldr r0, _0808BAA8 @ =0x0000010B - bl sub_08004488 - ldr r0, _0808BAAC @ =0x00004022 - adds r1, r4, #0 - adds r1, #0x76 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0808BAA4: - pop {r4, pc} - .align 2, 0 -_0808BAA8: .4byte 0x0000010B -_0808BAAC: .4byte 0x00004022 - - thumb_func_start nullsub_520 -nullsub_520: @ 0x0808BAB0 - bx lr - .align 2, 0 - - thumb_func_start sub_0808BAB4 -sub_0808BAB4: @ 0x0808BAB4 - push {lr} - ldr r2, _0808BAC8 @ =gUnk_081213F4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808BAC8: .4byte gUnk_081213F4 - - thumb_func_start sub_0808BACC -sub_0808BACC: @ 0x0808BACC - push {r4, lr} - adds r2, r0, #0 - movs r4, #1 - strb r4, [r2, #0xc] - movs r3, #0x10 - strb r3, [r2, #0xe] - ldrh r0, [r2, #0x36] - subs r0, #0x10 - strh r0, [r2, #0x36] - ldrb r0, [r2, #0xb] - cmp r0, #0 - bne _0808BAEA - movs r0, #2 - strb r0, [r2, #0x1e] - b _0808BAFC -_0808BAEA: - movs r0, #0 - strb r0, [r2, #0x1e] - ldr r0, [r2, #0x50] - ldrh r1, [r0, #0x2e] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _0808BAFC - strb r4, [r2, #0x1e] -_0808BAFC: - adds r0, r2, #0 - bl sub_080A29BC - pop {r4, pc} - - thumb_func_start sub_0808BB04 -sub_0808BB04: @ 0x0808BB04 - push {lr} - ldrb r1, [r0, #0xe] - subs r1, #1 - strb r1, [r0, #0xe] - lsls r1, r1, #0x18 - cmp r1, #0 - bne _0808BB16 - bl sub_0805E780 -_0808BB16: - pop {pc} - - thumb_func_start sub_0808BB18 -sub_0808BB18: @ 0x0808BB18 - push {lr} - ldr r2, _0808BB2C @ =gUnk_08121440 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808BB2C: .4byte gUnk_08121440 - - thumb_func_start sub_0808BB30 -sub_0808BB30: @ 0x0808BB30 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x17 - bl sub_0807CC30 - adds r1, r0, #0 - cmp r1, #0 - beq _0808BB4C - movs r0, #0x4a - bl sub_0801D7EC - bl sub_0805E780 - b _0808BBD4 -_0808BB4C: - movs r3, #1 - strb r3, [r4, #0xc] - ldrb r0, [r4, #0x10] - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x10] - movs r0, #0x78 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - ldrb r1, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldrb r1, [r4, #0x1b] - movs r0, #0x3f - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x1b] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x3f - strb r3, [r0] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - subs r1, #5 - movs r0, #4 - strb r0, [r1] - ldr r0, _0808BBD8 @ =gUnk_080FD150 - str r0, [r4, #0x48] - movs r0, #2 - strb r0, [r4, #0x1e] - ldr r0, _0808BBDC @ =gUnk_03001160 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r4, #0 - bl sub_0808BDB0 - ldr r0, [r4, #0x50] - ldr r1, [r0, #0x20] - movs r2, #0xb8 - lsls r2, r2, #1 - adds r0, r2, #0 - subs r0, r0, r1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_0808BBE0 -_0808BBD4: - pop {r4, pc} - .align 2, 0 -_0808BBD8: .4byte gUnk_080FD150 -_0808BBDC: .4byte gUnk_03001160 - - thumb_func_start sub_0808BBE0 -sub_0808BBE0: @ 0x0808BBE0 - push {lr} - adds r3, r0, #0 - movs r1, #0x32 - ldrsh r0, [r3, r1] - ldr r1, _0808BC20 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r1, [r1, r2] - subs r1, r0, r1 - cmp r1, #0x9f - bhi _0808BC2C - adds r0, r1, #0 - cmp r1, #0 - bge _0808BBFC - adds r0, #0xf -_0808BBFC: - asrs r1, r0, #4 - ldr r0, _0808BC24 @ =gUnk_08121474 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, r3, #0 - adds r2, #0x63 - strb r0, [r2] - lsls r0, r1, #2 - ldr r1, _0808BC28 @ =gUnk_0812144C - adds r0, r0, r1 - ldrh r1, [r0] - ldrh r2, [r0, #2] - adds r0, r3, #0 - movs r3, #0 - bl sub_0805EC9C - b _0808BC38 - .align 2, 0 -_0808BC20: .4byte gUnk_03000BF0 -_0808BC24: .4byte gUnk_08121474 -_0808BC28: .4byte gUnk_0812144C -_0808BC2C: - adds r2, r3, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] -_0808BC38: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808BC3C -sub_0808BC3C: @ 0x0808BC3C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r2, _0808BC98 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - adds r0, #0x78 - movs r4, #0 - strh r0, [r5, #0x2e] - ldr r0, [r5, #0x50] - ldr r1, [r0, #0x20] - ldr r0, _0808BC9C @ =0xFFFFFE90 - adds r1, r1, r0 - ldrh r0, [r2, #8] - subs r0, r0, r1 - strh r0, [r5, #0x32] - adds r0, r5, #0 - bl sub_0808BBE0 - adds r0, r5, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x93 - bne _0808BCE4 - ldrb r0, [r5, #0xe] - subs r2, r0, #1 - strb r2, [r5, #0xe] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - lsls r0, r2, #0x18 - cmp r0, #0 - bne _0808BCA0 - movs r0, #0x17 - bl sub_0807CD04 - movs r0, #2 - strb r0, [r5, #0xc] - movs r0, #0x80 - strb r0, [r5, #0xf] - adds r0, r5, #0 - adds r0, #0x63 - strb r4, [r0] - b _0808BCFE - .align 2, 0 -_0808BC98: .4byte gUnk_03000BF0 -_0808BC9C: .4byte 0xFFFFFE90 -_0808BCA0: - movs r6, #1 - ands r2, r6 - cmp r2, #0 - beq _0808BCCA - bl sub_08000E50 - movs r4, #3 - ands r0, r4 - ldr r1, _0808BCDC @ =0x0000FFFE - adds r0, r0, r1 - ldrh r1, [r5, #0x2e] - adds r0, r0, r1 - strh r0, [r5, #0x2e] - bl sub_08000E50 - ands r0, r4 - ldr r1, _0808BCE0 @ =0x0000FFFF - adds r0, r0, r1 - ldrh r1, [r5, #0x32] - adds r0, r0, r1 - strh r0, [r5, #0x32] -_0808BCCA: - ldrb r0, [r5, #0xf] - cmp r0, #1 - beq _0808BCFE - strb r6, [r5, #0xf] - movs r0, #0x4a - bl sub_0801D7EC - b _0808BCFE - .align 2, 0 -_0808BCDC: .4byte 0x0000FFFE -_0808BCE0: .4byte 0x0000FFFF -_0808BCE4: - movs r0, #0x78 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x18] - subs r0, #0x7c - ands r0, r1 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xf] - cmp r0, #0 - beq _0808BCFE - strb r4, [r5, #0xf] - movs r0, #0x49 - bl sub_0801D7EC -_0808BCFE: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0808BD00 -sub_0808BD00: @ 0x0808BD00 - push {lr} - movs r0, #0x17 - bl sub_0807CD04 - movs r0, #0x72 - bl sub_080A3268 - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_0808BD14 -sub_0808BD14: @ 0x0808BD14 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xf] - cmp r0, #0 - beq _0808BD34 - subs r0, #8 - strb r0, [r5, #0xf] - ldrb r0, [r5, #0xf] - movs r2, #0x80 - lsls r2, r2, #2 - subs r2, r2, r0 - adds r0, r5, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C -_0808BD34: - adds r0, r5, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x93 - bne _0808BD74 - ldr r4, _0808BD70 @ =gUnk_03001160 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080045C4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F69C - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0x32 - ldrsh r2, [r4, r0] - subs r2, #6 - adds r0, r5, #0 - movs r3, #0x1c - bl sub_0806FCB8 - cmp r0, #0 - beq _0808BDAE - adds r0, r5, #0 - bl sub_0808BD00 - b _0808BDAE - .align 2, 0 -_0808BD70: .4byte gUnk_03001160 -_0808BD74: - ldrb r1, [r5, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808BD8A - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - movs r0, #0x1e - strb r0, [r5, #0xe] - b _0808BDAE -_0808BD8A: - ldrb r2, [r5, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808BDAE - adds r0, r5, #0 - bl sub_0808BD00 -_0808BDAE: - pop {r4, r5, pc} - - thumb_func_start sub_0808BDB0 -sub_0808BDB0: @ 0x0808BDB0 - push {r4, r5, r6, lr} - adds r3, r0, #0 - ldr r4, _0808BDD4 @ =gUnk_03003DA0 - ldr r2, [r4, #4] - movs r0, #0 - str r0, [r3, #0x50] - cmp r2, r4 - beq _0808BDE6 - ldr r6, _0808BDD8 @ =0x0000FFFF - ldr r5, _0808BDDC @ =0x00000C09 -_0808BDC4: - ldrh r1, [r2, #8] - adds r0, r6, #0 - ands r0, r1 - cmp r0, r5 - bne _0808BDE0 - str r2, [r3, #0x50] - b _0808BDE6 - .align 2, 0 -_0808BDD4: .4byte gUnk_03003DA0 -_0808BDD8: .4byte 0x0000FFFF -_0808BDDC: .4byte 0x00000C09 -_0808BDE0: - ldr r2, [r2, #4] - cmp r2, r4 - bne _0808BDC4 -_0808BDE6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0808BDE8 -sub_0808BDE8: @ 0x0808BDE8 - push {lr} - ldr r2, _0808BDFC @ =gUnk_08121480 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808BDFC: .4byte gUnk_08121480 - - thumb_func_start sub_0808BE00 -sub_0808BE00: @ 0x0808BE00 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_0808094C - adds r4, r0, #0 - adds r0, r5, #0 - bl sub_0806F798 - lsls r0, r0, #1 - adds r0, #4 - adds r4, r4, r0 - str r4, [r5, #0x78] - ldrh r1, [r4] - adds r0, r5, #0 - adds r0, #0x70 - strh r1, [r0] - movs r0, #1 - strb r0, [r5, #0xc] - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808BE2C -sub_0808BE2C: @ 0x0808BE2C - push {r4, lr} - adds r2, r0, #0 - ldr r0, _0808BE78 @ =gUnk_02002A40 - ldr r1, _0808BE7C @ =0x0000024E - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, #0 - beq _0808BE74 - adds r0, r2, #0 - adds r0, #0x70 - ldr r1, [r2, #0x78] - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - beq _0808BE74 - adds r0, r2, #0 - movs r1, #0x58 - movs r2, #0 - bl sub_080A2A20 - adds r1, r0, #0 - cmp r1, #0 - beq _0808BE6C - ldr r0, _0808BE80 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsls r0, r0, #2 - strb r0, [r1, #0x15] - movs r0, #0x80 - strh r0, [r1, #0x24] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r1, #0x20] -_0808BE6C: - movs r0, #1 - strb r0, [r4] - bl sub_0805E780 -_0808BE74: - pop {r4, pc} - .align 2, 0 -_0808BE78: .4byte gUnk_02002A40 -_0808BE7C: .4byte 0x0000024E -_0808BE80: .4byte gUnk_03001160 - - thumb_func_start sub_0808BE84 -sub_0808BE84: @ 0x0808BE84 - push {lr} - ldr r2, _0808BE98 @ =gUnk_08121488 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808BE98: .4byte gUnk_08121488 - - thumb_func_start sub_0808BE9C -sub_0808BE9C: @ 0x0808BE9C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - movs r2, #0 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x3f - movs r5, #1 - strb r5, [r0] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #0x47 - strb r0, [r1] - adds r1, #4 - movs r0, #0x44 - strb r0, [r1] - subs r1, #5 - movs r0, #0x80 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x68 - strb r2, [r0] - ldrb r0, [r4, #0xa] - bl sub_0807CBD0 - cmp r0, #0 - beq _0808BEEE - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - bne _0808BEF8 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - b _0808BF10 -_0808BEEE: - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - bne _0808BF04 -_0808BEF8: - strb r5, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _0808BF10 -_0808BF04: - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC -_0808BF10: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808BF14 -sub_0808BF14: @ 0x0808BF14 - push {r4, lr} - adds r4, r0, #0 - bl sub_0808C128 - cmp r0, #0 - beq _0808BF4C - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0808C13C - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - bne _0808BF3E - ldrb r0, [r4, #0xa] - bl sub_0807CCB4 - b _0808BF44 -_0808BF3E: - ldrb r0, [r4, #0xa] - bl sub_0807CD34 -_0808BF44: - adds r0, r4, #0 - movs r1, #0 - bl sub_0808C148 -_0808BF4C: - adds r0, r4, #0 - movs r1, #0 - bl sub_0808C01C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808BF58 -sub_0808BF58: @ 0x0808BF58 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - ldrb r0, [r4, #0xd] - cmp r0, #1 - beq _0808BF94 - cmp r0, #1 - bgt _0808BF74 - cmp r0, #0 - beq _0808BF7A - b _0808BFD6 -_0808BF74: - cmp r0, #2 - beq _0808BFB0 - b _0808BFD6 -_0808BF7A: - ldr r1, [r4, #0x20] - ldr r0, _0808BF90 @ =0x00017FFF - cmp r1, r0 - bgt _0808BFD6 - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - b _0808BFD6 - .align 2, 0 -_0808BF90: .4byte 0x00017FFF -_0808BF94: - adds r0, r4, #0 - bl sub_080042B8 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0808BFD6 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #8 - str r0, [r4, #0x20] - b _0808BFD6 -_0808BFB0: - adds r0, r4, #0 - bl sub_080042B8 - movs r0, #0x36 - ldrsh r1, [r4, r0] - cmp r1, #0 - bne _0808BFD6 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xf] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - adds r0, r4, #0 - movs r1, #1 - bl sub_0808C148 -_0808BFD6: - pop {r4, pc} - - thumb_func_start sub_0808BFD8 -sub_0808BFD8: @ 0x0808BFD8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0808C128 - cmp r0, #0 - beq _0808C010 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0808C13C - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - bne _0808C002 - ldrb r0, [r4, #0xa] - bl sub_0807CD34 - b _0808C008 -_0808C002: - ldrb r0, [r4, #0xa] - bl sub_0807CCB4 -_0808C008: - adds r0, r4, #0 - movs r1, #0 - bl sub_0808C148 -_0808C010: - adds r0, r4, #0 - movs r1, #1 - bl sub_0808C01C - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808C01C -sub_0808C01C: @ 0x0808C01C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - subs r0, #0x18 - movs r2, #0x32 - ldrsh r1, [r4, r2] - subs r1, #0x18 - movs r2, #0x30 - movs r3, #0x30 - bl sub_0806FBFC - cmp r0, #0 - beq _0808C0A6 - ldr r2, _0808C06C @ =gUnk_02033A90 - ldrh r0, [r4, #0x2e] - strh r0, [r2, #0x12] - ldrh r0, [r4, #0x32] - strh r0, [r2, #0x14] - movs r6, #2 - strb r6, [r2, #0x16] - movs r0, #4 - cmp r5, #0 - beq _0808C050 - movs r0, #2 -_0808C050: - strb r0, [r2, #0x17] - cmp r5, #1 - bne _0808C0A6 - ldr r3, _0808C070 @ =gUnk_03003F80 - ldr r0, [r3, #0x30] - movs r1, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0808C074 - ldrb r0, [r3, #2] - cmp r0, #0 - bne _0808C074 - strb r6, [r2, #0x18] - b _0808C082 - .align 2, 0 -_0808C06C: .4byte gUnk_02033A90 -_0808C070: .4byte gUnk_03003F80 -_0808C074: - bl sub_08057810 - cmp r0, #0 - beq _0808C082 - ldr r1, _0808C0A8 @ =gUnk_02033A90 - movs r0, #3 - strb r0, [r1, #0x18] -_0808C082: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_080577AC - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0808C0A6 - movs r0, #1 - strb r0, [r4, #0xf] - movs r0, #0xa9 - lsls r0, r0, #1 - bl sub_080A3268 -_0808C0A6: - pop {r4, r5, r6, pc} - .align 2, 0 -_0808C0A8: .4byte gUnk_02033A90 - - thumb_func_start sub_0808C0AC -sub_0808C0AC: @ 0x0808C0AC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - ldrb r0, [r4, #0xd] - cmp r0, #1 - beq _0808C0E8 - cmp r0, #1 - bgt _0808C0C8 - cmp r0, #0 - beq _0808C0CE - b _0808C126 -_0808C0C8: - cmp r0, #2 - beq _0808C104 - b _0808C126 -_0808C0CE: - ldr r1, [r4, #0x20] - ldr r0, _0808C0E4 @ =0x00017FFF - cmp r1, r0 - bgt _0808C126 - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - movs r1, #3 - bl sub_080042AC - b _0808C126 - .align 2, 0 -_0808C0E4: .4byte 0x00017FFF -_0808C0E8: - adds r0, r4, #0 - bl sub_080042B8 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0808C126 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #8 - str r0, [r4, #0x20] - b _0808C126 -_0808C104: - adds r0, r4, #0 - bl sub_080042B8 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0808C126 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - adds r0, r4, #0 - movs r1, #1 - bl sub_0808C148 -_0808C126: - pop {r4, pc} - - thumb_func_start sub_0808C128 -sub_0808C128: @ 0x0808C128 - push {lr} - movs r1, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9d - bne _0808C136 - movs r1, #1 -_0808C136: - adds r0, r1, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808C13C -sub_0808C13C: @ 0x0808C13C - movs r1, #0 - strb r1, [r0, #0xd] - movs r1, #0xa0 - lsls r1, r1, #0xa - str r1, [r0, #0x20] - bx lr - - thumb_func_start sub_0808C148 -sub_0808C148: @ 0x0808C148 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r2, #0x2e - ldrsh r0, [r6, r2] - ldr r4, _0808C1A4 @ =gUnk_03000BF0 - ldrh r2, [r4, #6] - subs r0, r0, r2 - asrs r5, r0, #4 - movs r3, #0x3f - ands r5, r3 - movs r2, #0x32 - ldrsh r0, [r6, r2] - ldrh r2, [r4, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r5, r0 - cmp r1, #0 - bne _0808C1B8 - ldr r0, _0808C1A8 @ =0x00004092 - subs r1, r5, #1 - adds r4, r6, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _0808C1AC @ =0x00004093 - ldrb r2, [r4] - adds r1, r5, #0 - bl sub_0800015E - ldr r0, _0808C1B0 @ =0x00004094 - adds r1, r5, #0 - adds r1, #0x3f - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _0808C1B4 @ =0x00004095 - adds r1, r5, #0 - adds r1, #0x40 - ldrb r2, [r4] - bl sub_0800015E - b _0808C1E0 - .align 2, 0 -_0808C1A4: .4byte gUnk_03000BF0 -_0808C1A8: .4byte 0x00004092 -_0808C1AC: .4byte 0x00004093 -_0808C1B0: .4byte 0x00004094 -_0808C1B4: .4byte 0x00004095 -_0808C1B8: - subs r0, r5, #1 - adds r4, r6, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_0807BA8C - ldrb r1, [r4] - adds r0, r5, #0 - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x3f - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x40 - ldrb r1, [r4] - bl sub_0807BA8C -_0808C1E0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808C1E4 -sub_0808C1E4: @ 0x0808C1E4 - push {lr} - ldr r2, _0808C1F8 @ =gUnk_081214D8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808C1F8: .4byte gUnk_081214D8 - - thumb_func_start sub_0808C1FC -sub_0808C1FC: @ 0x0808C1FC - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x84 - ldrh r1, [r2] - ldr r0, _0808C2B0 @ =0x0000FFFF - cmp r1, r0 - beq _0808C21A - adds r0, r1, #0 - bl sub_0807CBE4 - cmp r0, #0 - beq _0808C21A - bl sub_0805E780 -_0808C21A: - adds r1, r4, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _0808C230 - bl sub_0807CBE4 - cmp r0, #0 - beq _0808C230 - bl sub_0805E780 -_0808C230: - ldrb r0, [r4, #0xa] - lsrs r0, r0, #2 - strb r0, [r4, #0xb] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x70 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - ldr r0, _0808C2B4 @ =gUnk_080FD180 - str r0, [r4, #0x48] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0xa] - movs r0, #3 - ands r0, r1 - adds r5, r4, #0 - adds r5, #0x76 - strh r0, [r5] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0808C2B8 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r6, #0x32 - ldrsh r0, [r4, r6] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldrb r0, [r4, #0xa] - movs r1, #0x1f - ands r1, r0 - adds r0, r4, #0 - bl sub_08004260 - ldrb r0, [r4, #0xb] - cmp r0, #1 - beq _0808C2F8 - cmp r0, #1 - bgt _0808C2BC - cmp r0, #0 - beq _0808C2C2 - b _0808C31C - .align 2, 0 -_0808C2B0: .4byte 0x0000FFFF -_0808C2B4: .4byte gUnk_080FD180 -_0808C2B8: .4byte gUnk_03000BF0 -_0808C2BC: - cmp r0, #2 - beq _0808C306 - b _0808C31C -_0808C2C2: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0808C500 - adds r0, r4, #0 - bl sub_08078800 - ldr r1, _0808C2F4 @ =gUnk_0811F740 - ldrh r0, [r5] - adds r0, r0, r1 - ldrb r2, [r0] - adds r0, r4, #0 - movs r1, #0 - movs r3, #0 - bl sub_08078850 - b _0808C31C - .align 2, 0 -_0808C2F4: .4byte gUnk_0811F740 -_0808C2F8: - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #8 - ands r0, r1 - strb r0, [r4, #0x18] - b _0808C31C -_0808C306: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0808C500 -_0808C31C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808C320 -sub_0808C320: @ 0x0808C320 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0808C344 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_080788E0 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 -_0808C344: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808C348 -sub_0808C348: @ 0x0808C348 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0808C37C - ldr r0, _0808C374 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0808C36A - ldr r0, _0808C378 @ =0x00000185 - bl sub_080A3268 -_0808C36A: - adds r0, r4, #0 - bl sub_08004274 - b _0808C382 - .align 2, 0 -_0808C374: .4byte gUnk_030010A0 -_0808C378: .4byte 0x00000185 -_0808C37C: - adds r0, r4, #0 - bl sub_0808C4BC -_0808C382: - pop {r4, pc} - - thumb_func_start sub_0808C384 -sub_0808C384: @ 0x0808C384 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808C3B4 - ldrb r0, [r4, #0xa] - cmp r0, #3 - bhi _0808C3B0 - movs r0, #0x40 - movs r1, #0 - movs r2, #1 - bl sub_08078AC0 - ldr r1, _0808C3B8 @ =gUnk_03001160 - ldrb r0, [r4, #0xa] - lsls r0, r0, #3 - strb r0, [r1, #0x15] -_0808C3B0: - bl sub_0805E780 -_0808C3B4: - pop {r4, pc} - .align 2, 0 -_0808C3B8: .4byte gUnk_03001160 - - thumb_func_start sub_0808C3BC -sub_0808C3BC: @ 0x0808C3BC - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x76 - ldrh r1, [r5] - bl sub_08083734 - cmp r0, #0 - beq _0808C40E - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #0xc - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x10 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r5] - lsls r0, r0, #3 - movs r1, #0x10 - eors r0, r1 - strb r0, [r4, #0x15] - ldrh r1, [r5] - lsls r1, r1, #1 - ldr r0, _0808C410 @ =gUnk_081214F4 - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r2, [r4, #0x2e] - adds r0, r0, r2 - strh r0, [r4, #0x2e] - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_0808C500 -_0808C40E: - pop {r4, r5, pc} - .align 2, 0 -_0808C410: .4byte gUnk_081214F4 - - thumb_func_start sub_0808C414 -sub_0808C414: @ 0x0808C414 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0808C49A - movs r0, #6 - strb r0, [r4, #0xc] - strh r1, [r4, #0x36] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x76 - ldrh r0, [r0] - lsls r0, r0, #2 - ldr r1, _0808C49C @ =gUnk_081214FC - adds r5, r0, r1 - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0808C470 - movs r0, #0 - ldrsb r0, [r5, r0] - ldrh r2, [r1, #0x2e] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - movs r0, #1 - ldrsb r0, [r5, r0] - ldrh r2, [r1, #0x32] - adds r0, r0, r2 - strh r0, [r1, #0x32] -_0808C470: - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0808C494 - movs r0, #2 - ldrsb r0, [r5, r0] - ldrh r2, [r1, #0x2e] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - movs r0, #3 - ldrsb r0, [r5, r0] - ldrh r2, [r1, #0x32] - adds r0, r0, r2 - strh r0, [r1, #0x32] -_0808C494: - ldr r0, _0808C4A0 @ =0x0000010B - bl sub_08004488 -_0808C49A: - pop {r4, r5, pc} - .align 2, 0 -_0808C49C: .4byte gUnk_081214FC -_0808C4A0: .4byte 0x0000010B - - thumb_func_start sub_0808C4A4 -sub_0808C4A4: @ 0x0808C4A4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808C4B8 - movs r0, #2 - strb r0, [r4, #0xc] -_0808C4B8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808C4BC -sub_0808C4BC: @ 0x0808C4BC - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - movs r1, #0xc - strb r1, [r0, #0xe] - adds r2, r0, #0 - adds r2, #0x76 - ldrh r1, [r2] - lsls r1, r1, #3 - strb r1, [r0, #0x15] - ldrh r2, [r2] - lsls r2, r2, #1 - ldr r1, _0808C4F8 @ =gUnk_0812150C - adds r2, r2, r1 - movs r1, #0 - ldrsb r1, [r2, r1] - ldrh r3, [r0, #0x2e] - adds r1, r1, r3 - strh r1, [r0, #0x2e] - movs r1, #1 - ldrsb r1, [r2, r1] - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] - bl sub_0808C5D0 - ldr r0, _0808C4FC @ =0x0000010B - bl sub_080A3268 - pop {pc} - .align 2, 0 -_0808C4F8: .4byte gUnk_0812150C -_0808C4FC: .4byte 0x0000010B - - thumb_func_start sub_0808C500 -sub_0808C500: @ 0x0808C500 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x76 - ldrh r0, [r0] - cmp r0, #0 - beq _0808C510 - cmp r0, #2 - bne _0808C570 -_0808C510: - adds r6, r4, #0 - adds r6, #0x74 - ldrh r0, [r6] - subs r0, #1 - adds r5, r4, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - ldrh r0, [r6] - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - ldrh r0, [r6] - adds r0, #1 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x7c - strh r0, [r1] - ldr r4, _0808C56C @ =0x00004022 - ldrh r1, [r6] - subs r1, #1 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - adds r1, #1 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - b _0808C5CA - .align 2, 0 -_0808C56C: .4byte 0x00004022 -_0808C570: - adds r6, r4, #0 - adds r6, #0x74 - ldrh r0, [r6] - subs r0, #0x40 - adds r5, r4, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - ldrh r0, [r6] - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - ldrh r0, [r6] - adds r0, #0x40 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x7c - strh r0, [r1] - ldr r4, _0808C5CC @ =0x00004022 - ldrh r1, [r6] - subs r1, #0x40 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - adds r1, #0x40 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E -_0808C5CA: - pop {r4, r5, r6, pc} - .align 2, 0 -_0808C5CC: .4byte 0x00004022 - - thumb_func_start sub_0808C5D0 -sub_0808C5D0: @ 0x0808C5D0 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r0, #0x76 - ldrh r0, [r0] - cmp r0, #0 - beq _0808C5E0 - cmp r0, #2 - bne _0808C618 -_0808C5E0: - adds r0, r6, #0 - adds r0, #0x78 - ldrh r0, [r0] - adds r5, r6, #0 - adds r5, #0x74 - ldrh r1, [r5] - subs r1, #1 - adds r4, r6, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - adds r0, r6, #0 - adds r0, #0x7a - ldrh r0, [r0] - ldrh r1, [r5] - ldrb r2, [r4] - bl sub_0800015E - adds r0, r6, #0 - adds r0, #0x7c - ldrh r0, [r0] - ldrh r1, [r5] - adds r1, #1 - ldrb r2, [r4] - bl sub_0800015E - b _0808C64E -_0808C618: - adds r0, r6, #0 - adds r0, #0x78 - ldrh r0, [r0] - adds r5, r6, #0 - adds r5, #0x74 - ldrh r1, [r5] - subs r1, #0x40 - adds r4, r6, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - adds r0, r6, #0 - adds r0, #0x7a - ldrh r0, [r0] - ldrh r1, [r5] - ldrb r2, [r4] - bl sub_0800015E - adds r0, r6, #0 - adds r0, #0x7c - ldrh r0, [r0] - ldrh r1, [r5] - adds r1, #0x40 - ldrb r2, [r4] - bl sub_0800015E -_0808C64E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0808C650 -sub_0808C650: @ 0x0808C650 - push {r4, lr} - adds r4, r0, #0 - adds r2, r1, #0 - movs r0, #0x3a - movs r1, #0 - bl sub_080A2960 - cmp r0, #0 - beq _0808C670 - str r4, [r0, #0x50] - ldr r1, _0808C66C @ =gUnk_02036BB8 - movs r0, #0 - b _0808C674 - .align 2, 0 -_0808C66C: .4byte gUnk_02036BB8 -_0808C670: - ldr r1, _0808C678 @ =gUnk_02036BB8 - movs r0, #1 -_0808C674: - str r0, [r1] - pop {r4, pc} - .align 2, 0 -_0808C678: .4byte gUnk_02036BB8 - - thumb_func_start sub_0808C67C -sub_0808C67C: @ 0x0808C67C - ldr r0, _0808C684 @ =gUnk_02036BB8 - ldr r0, [r0] - bx lr - .align 2, 0 -_0808C684: .4byte gUnk_02036BB8 - - thumb_func_start sub_0808C688 -sub_0808C688: @ 0x0808C688 - push {lr} - bl sub_0801E104 - ldr r1, _0808C698 @ =gUnk_02036BB8 - movs r0, #1 - str r0, [r1] - pop {pc} - .align 2, 0 -_0808C698: .4byte gUnk_02036BB8 - - thumb_func_start sub_0808C69C -sub_0808C69C: @ 0x0808C69C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _0808C6BC - ldr r0, _0808C6B8 @ =gUnk_08121638 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _0808C6CC - .align 2, 0 -_0808C6B8: .4byte gUnk_08121638 -_0808C6BC: - ldr r0, _0808C6D0 @ =gUnk_08121640 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_0808C6CC: - pop {pc} - .align 2, 0 -_0808C6D0: .4byte gUnk_08121640 - - thumb_func_start sub_0808C6D4 -sub_0808C6D4: @ 0x0808C6D4 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xb] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0808C744 @ =gUnk_081215E8 - adds r4, r0, r1 - ldrh r0, [r4, #4] - adds r1, r5, #0 - adds r1, #0x86 - strh r0, [r1] - ldrh r0, [r4, #6] - subs r1, #1 - strb r0, [r1] - ldrh r1, [r4, #8] - adds r0, r5, #0 - adds r0, #0x84 - strb r1, [r0] - ldrh r0, [r4, #0xa] - adds r1, r5, #0 - adds r1, #0x83 - strb r0, [r1] - ldrh r0, [r4, #0xc] - subs r1, #1 - strb r0, [r1] - ldrh r0, [r4, #0xe] - subs r1, #1 - strb r0, [r1] - ldr r0, _0808C748 @ =gUnk_03000F50 - adds r0, #0x60 - ldrh r1, [r0] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r1 - ldrh r1, [r4, #0x10] - orrs r0, r1 - ldrh r1, [r4, #0x12] - bl sub_0801E1B8 - movs r0, #1 - strb r0, [r5, #0xc] - adds r0, r5, #0 - bl sub_0808C74C - ldrh r2, [r4] - movs r0, #0x3a - movs r1, #1 - bl sub_080A2960 - cmp r0, #0 - beq _0808C742 - ldrh r1, [r4, #2] - adds r0, #0x6a - strh r1, [r0] -_0808C742: - pop {r4, r5, pc} - .align 2, 0 -_0808C744: .4byte gUnk_081215E8 -_0808C748: .4byte gUnk_03000F50 - - thumb_func_start sub_0808C74C -sub_0808C74C: @ 0x0808C74C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x50] - cmp r3, #0 - beq _0808C76C - ldr r2, _0808C768 @ =gUnk_03000BF0 - ldrh r0, [r3, #0x2e] - ldrh r1, [r2, #0xa] - subs r0, r0, r1 - strh r0, [r4, #0x2e] - ldrh r0, [r3, #0x32] - ldrh r1, [r2, #0xc] - subs r0, r0, r1 - b _0808C772 - .align 2, 0 -_0808C768: .4byte gUnk_03000BF0 -_0808C76C: - movs r0, #0x78 - strh r0, [r4, #0x2e] - movs r0, #0x50 -_0808C772: - strh r0, [r4, #0x32] - adds r5, r4, #0 - adds r5, #0x86 - movs r1, #0 - ldrsh r0, [r5, r1] - cmp r0, #0 - bge _0808C79C - movs r2, #0x2e - ldrsh r0, [r4, r2] - movs r3, #0x32 - ldrsh r1, [r4, r3] - movs r2, #0 - movs r3, #0 - bl sub_0801E49C - ldr r1, _0808C83C @ =gUnk_02036BB8 - movs r0, #1 - str r0, [r1] - adds r0, r4, #0 - bl sub_0808C840 -_0808C79C: - movs r6, #0 - ldrsh r0, [r5, r6] - movs r2, #0xfa - lsls r2, r2, #1 - cmp r0, r2 - ble _0808C7C2 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r3, #0x32 - ldrsh r1, [r4, r3] - movs r3, #0 - bl sub_0801E49C - ldr r1, _0808C83C @ =gUnk_02036BB8 - movs r0, #1 - str r0, [r1] - adds r0, r4, #0 - bl sub_0808C840 -_0808C7C2: - adds r1, r4, #0 - adds r1, #0x85 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r6, [r5] - adds r0, r0, r6 - strh r0, [r5] - adds r0, r4, #0 - adds r0, #0x84 - ldrb r0, [r0] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x10 - ble _0808C7E8 - movs r0, #0x10 - strb r0, [r1] -_0808C7E8: - movs r0, #0 - ldrsb r0, [r1, r0] - movs r2, #0x10 - rsbs r2, r2, #0 - cmp r0, r2 - bge _0808C7F6 - strb r2, [r1] -_0808C7F6: - adds r3, r4, #0 - adds r3, #0x83 - adds r1, r4, #0 - adds r1, #0x82 - ldrb r0, [r1] - ldrb r6, [r3] - adds r0, r0, r6 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - ldrb r6, [r1] - adds r0, r0, r6 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x10 - ble _0808C81E - movs r0, #0x10 - strb r0, [r1] -_0808C81E: - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, r2 - bge _0808C828 - strb r2, [r1] -_0808C828: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - movs r4, #0 - ldrsh r2, [r5, r4] - ldrb r3, [r3] - bl sub_0801E49C - pop {r4, r5, r6, pc} - .align 2, 0 -_0808C83C: .4byte gUnk_02036BB8 - - thumb_func_start sub_0808C840 -sub_0808C840: @ 0x0808C840 - push {lr} - ldr r0, _0808C854 @ =gUnk_03000F50 - adds r0, #0x66 - movs r1, #0 - strh r1, [r0] - bl sub_0801E104 - bl sub_0805E780 - pop {pc} - .align 2, 0 -_0808C854: .4byte gUnk_03000F50 - - thumb_func_start sub_0808C858 -sub_0808C858: @ 0x0808C858 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0xb] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0808C878 - ldr r1, _0808C870 @ =gUnk_03000F50 - adds r3, r1, #0 - adds r3, #0x66 - ldr r0, _0808C874 @ =0x00003FBF - b _0808C880 - .align 2, 0 -_0808C870: .4byte gUnk_03000F50 -_0808C874: .4byte 0x00003FBF -_0808C878: - ldr r1, _0808C898 @ =gUnk_03000F50 - adds r3, r1, #0 - adds r3, #0x66 - ldr r0, _0808C89C @ =0x00003FFF -_0808C880: - strh r0, [r3] - adds r3, r1, #0 - ldrb r1, [r2, #0xb] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808C8A0 - adds r1, r3, #0 - adds r1, #0x6a - movs r0, #0 - b _0808C8A6 - .align 2, 0 -_0808C898: .4byte gUnk_03000F50 -_0808C89C: .4byte 0x00003FFF -_0808C8A0: - adds r1, r3, #0 - adds r1, #0x6a - movs r0, #0x10 -_0808C8A6: - strh r0, [r1] - movs r0, #1 - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x68 - adds r0, #0xff - strh r0, [r1] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808C8B8 -sub_0808C8B8: @ 0x0808C8B8 - push {lr} - adds r3, r0, #0 - adds r2, r3, #0 - adds r2, #0x68 - adds r1, r3, #0 - adds r1, #0x6a - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r0, r1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _0808C8D6 - movs r0, #0 - strh r0, [r2] -_0808C8D6: - ldrb r1, [r3, #0xb] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808C8F8 - ldr r0, _0808C8F4 @ =gUnk_03000F50 - ldrh r1, [r2] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x10 - subs r2, r2, r1 - adds r0, #0x6a - strh r2, [r0] - b _0808C904 - .align 2, 0 -_0808C8F4: .4byte gUnk_03000F50 -_0808C8F8: - ldr r1, _0808C918 @ =gUnk_03000F50 - ldrh r0, [r2] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - adds r1, #0x6a - strh r0, [r1] -_0808C904: - adds r0, r3, #0 - adds r0, #0x68 - movs r1, #0 - ldrsh r0, [r0, r1] - cmp r0, #0 - bne _0808C914 - bl sub_0805E780 -_0808C914: - pop {pc} - .align 2, 0 -_0808C918: .4byte gUnk_03000F50 - - thumb_func_start sub_0808C91C -sub_0808C91C: @ 0x0808C91C - push {lr} - ldr r2, _0808C930 @ =gUnk_08121668 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808C930: .4byte gUnk_08121668 - - thumb_func_start sub_0808C934 -sub_0808C934: @ 0x0808C934 - push {lr} - ldr r2, _0808C948 @ =gUnk_08121670 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808C948: .4byte gUnk_08121670 - - thumb_func_start sub_0808C94C -sub_0808C94C: @ 0x0808C94C - push {lr} - ldr r2, _0808C960 @ =gUnk_08121678 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808C960: .4byte gUnk_08121678 - - thumb_func_start sub_0808C964 -sub_0808C964: @ 0x0808C964 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - strb r1, [r4, #0x1e] - ldrb r0, [r4, #9] - cmp r0, #0x76 - bne _0808C982 - ldr r0, _0808CA08 @ =gUnk_02032EC0 - adds r0, #0x20 - ldrb r0, [r0] - cmp r0, #2 - beq _0808C982 - adds r0, r1, #0 - subs r0, #9 - strb r0, [r4, #0xa] -_0808C982: - ldrb r0, [r4, #0xa] - cmp r0, #4 - bls _0808C996 - ldr r0, _0808CA0C @ =gUnk_02033A90 - ldrb r0, [r0, #0x16] - ldrb r1, [r4, #0xb] - cmp r0, r1 - beq _0808C996 - bl sub_0805E780 -_0808C996: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - ldrb r0, [r4, #0xb] - adds r3, r4, #0 - adds r3, #0x29 - movs r1, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r4, #9] - cmp r0, #0x75 - beq _0808CA04 - ldrb r2, [r4, #0xa] - subs r0, r2, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #2 - bhi _0808CA04 - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - lsls r0, r2, #0x18 - lsrs r0, r0, #0x18 - movs r2, #0x80 - lsls r2, r2, #1 - cmp r0, #1 - bne _0808C9FA - movs r2, #0xe0 -_0808C9FA: - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C -_0808CA04: - pop {r4, pc} - .align 2, 0 -_0808CA08: .4byte gUnk_02032EC0 -_0808CA0C: .4byte gUnk_02033A90 - - thumb_func_start sub_0808CA10 -sub_0808CA10: @ 0x0808CA10 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _0808CA40 - cmp r0, #2 - bgt _0808CA24 - cmp r0, #1 - beq _0808CA2A - b _0808CA78 -_0808CA24: - cmp r0, #3 - beq _0808CA60 - b _0808CA78 -_0808CA2A: - ldr r2, _0808CA3C @ =gUnk_02018EB0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - beq _0808CA78 - movs r0, #0 - movs r1, #0x20 - strb r1, [r4, #0xe] - strb r0, [r2, #0x18] - b _0808CA50 - .align 2, 0 -_0808CA3C: .4byte gUnk_02018EB0 -_0808CA40: - ldr r2, _0808CA5C @ =gUnk_02018EB0 - ldrb r0, [r2, #0x19] - cmp r0, #0 - beq _0808CA78 - movs r0, #0 - movs r1, #0x20 - strb r1, [r4, #0xe] - strb r0, [r2, #0x19] -_0808CA50: - movs r0, #0x97 - lsls r0, r0, #1 - bl sub_080A3268 - b _0808CA78 - .align 2, 0 -_0808CA5C: .4byte gUnk_02018EB0 -_0808CA60: - ldr r2, _0808CABC @ =gUnk_02018EB0 - ldrb r0, [r2, #0x1a] - cmp r0, #0 - beq _0808CA78 - movs r0, #0 - movs r1, #0x20 - strb r1, [r4, #0xe] - strb r0, [r2, #0x1a] - movs r0, #0x97 - lsls r0, r0, #1 - bl sub_080A3268 -_0808CA78: - ldrb r0, [r4, #9] - cmp r0, #0x75 - beq _0808CAE0 - ldrb r1, [r4, #0xa] - subs r0, r1, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r5, r1, #0 - cmp r0, #2 - bhi _0808CAE0 - ldrb r1, [r4, #0xe] - cmp r1, #0 - beq _0808CAE0 - subs r1, #1 - strb r1, [r4, #0xe] - ldrb r0, [r4, #0xf] - adds r2, r0, #1 - strb r2, [r4, #0xf] - lsls r1, r1, #0x18 - cmp r1, #0 - beq _0808CAC4 - ldr r0, _0808CAC0 @ =gUnk_08121648 - movs r1, #0xe - ands r1, r2 - lsls r2, r1, #1 - adds r2, r2, r0 - movs r6, #0 - ldrsh r3, [r2, r6] - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r0 - movs r0, #0 - ldrsh r2, [r1, r0] - b _0808CACA - .align 2, 0 -_0808CABC: .4byte gUnk_02018EB0 -_0808CAC0: .4byte gUnk_08121648 -_0808CAC4: - movs r2, #0x80 - lsls r2, r2, #1 - adds r3, r2, #0 -_0808CACA: - lsls r0, r5, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bne _0808CAD6 - subs r3, #0x20 - subs r2, #0x20 -_0808CAD6: - adds r0, r4, #0 - adds r1, r3, #0 - movs r3, #0 - bl sub_0805EC9C -_0808CAE0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808CAE4 -sub_0808CAE4: @ 0x0808CAE4 - push {lr} - ldr r2, _0808CAF8 @ =gUnk_08121680 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808CAF8: .4byte gUnk_08121680 - - thumb_func_start sub_0808CAFC -sub_0808CAFC: @ 0x0808CAFC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0808CB18 @ =gUnk_08121688 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0808CB9C - pop {r4, pc} - .align 2, 0 -_0808CB18: .4byte gUnk_08121688 - - thumb_func_start sub_0808CB1C -sub_0808CB1C: @ 0x0808CB1C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0808CB70 - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xa7 - strh r0, [r4, #0x12] - movs r0, #0xd - strb r0, [r4, #0x1e] - adds r0, r4, #0 - adds r0, #0x60 - strh r2, [r0] - ldrb r1, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x19] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r3] - ldrb r0, [r4, #0x1b] - ands r1, r0 - movs r0, #0x80 - orrs r1, r0 - strb r1, [r4, #0x1b] -_0808CB70: - ldr r0, [r4, #0x50] - ldr r1, [r0, #0x2c] - str r1, [r4, #0x2c] - ldr r1, [r0, #0x30] - str r1, [r4, #0x30] - movs r5, #0 - str r5, [r4, #0x34] - adds r1, r4, #0 - bl sub_0806FAD8 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0808CB98 - adds r0, r4, #0 - adds r0, #0x60 - movs r1, #0 - strh r5, [r0] - strb r1, [r4, #0xd] - movs r0, #4 - strb r0, [r4, #0x1e] -_0808CB98: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808CB9C -sub_0808CB9C: @ 0x0808CB9C - push {r4, r5, lr} - adds r3, r0, #0 - adds r0, #0x68 - ldrh r1, [r0] - ldrb r4, [r0] - lsrs r5, r1, #8 - movs r2, #0 - ldrb r0, [r3, #0x14] - cmp r0, #4 - bls _0808CBB2 - movs r2, #1 -_0808CBB2: - lsls r2, r2, #6 - ldrb r1, [r3, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #0x18] - cmp r4, #0xb7 - bhi _0808CBCA - ldrb r0, [r3, #0x14] - lsrs r0, r0, #1 - adds r4, r4, r0 -_0808CBCA: - ldrh r0, [r3, #0x12] - cmp r5, r0 - bne _0808CBDA - adds r0, r3, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r4, r0 - beq _0808CBE4 -_0808CBDA: - strh r5, [r3, #0x12] - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_080042AC -_0808CBE4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808CBE8 -sub_0808CBE8: @ 0x0808CBE8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r3, #4 - strb r3, [r4, #0x14] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x19] - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - ldrb r2, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - mov r2, ip - strb r0, [r2] - ldrb r0, [r4, #0x1b] - ands r1, r0 - movs r0, #0x80 - orrs r1, r0 - strb r1, [r4, #0x1b] - adds r1, r4, #0 - adds r1, #0x68 - movs r0, #0x8a - lsls r0, r0, #1 - strh r0, [r1] - subs r1, #0x10 - movs r0, #0xff - strb r0, [r1] - ldr r0, _0808CC80 @ =0x0000FF50 - strh r0, [r4, #0x36] - adds r0, r4, #0 - adds r0, #0x6a - strh r3, [r0] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - movs r1, #4 - movs r2, #4 - movs r3, #0 - bl sub_0805EC9C - ldr r0, _0808CC84 @ =gUnk_02018EB0 - str r4, [r0, #0x14] - movs r0, #0 - bl sub_0807A094 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0801D2B4 - movs r0, #0x3c - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - cmp r0, #0 - beq _0808CC7C - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_0808CC7C: - pop {r4, pc} - .align 2, 0 -_0808CC80: .4byte 0x0000FF50 -_0808CC84: .4byte gUnk_02018EB0 - - thumb_func_start sub_0808CC88 -sub_0808CC88: @ 0x0808CC88 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x6a - ldrh r1, [r4] - ldr r0, _0808CCB8 @ =0x000003FF - cmp r1, r0 - bhi _0808CCB4 - adds r0, r1, #4 - strh r0, [r4] - ldrh r2, [r4] - adds r0, r5, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - ldrh r1, [r4] - adds r0, r5, #0 - movs r2, #8 - movs r3, #2 - bl sub_0806FCF4 -_0808CCB4: - pop {r4, r5, pc} - .align 2, 0 -_0808CCB8: .4byte 0x000003FF - - thumb_func_start sub_0808CCBC -sub_0808CCBC: @ 0x0808CCBC - push {r4, lr} - adds r4, r0, #0 - bl sub_0808CC88 - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0808CCFA - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x14 - strb r0, [r4, #0x15] - adds r0, #0xec - strh r0, [r4, #0x24] - movs r0, #0xc0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x54] - movs r1, #1 - strb r1, [r0, #0xd] - ldr r0, _0808CCFC @ =gUnk_02018EB0 - strb r1, [r0, #0x18] -_0808CCFA: - pop {r4, pc} - .align 2, 0 -_0808CCFC: .4byte gUnk_02018EB0 - - thumb_func_start sub_0808CD00 -sub_0808CD00: @ 0x0808CD00 - push {r4, lr} - adds r4, r0, #0 - bl sub_0808CC88 - adds r0, r4, #0 - bl sub_080042B8 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _0808CD24 - adds r0, r4, #0 - bl sub_0806F69C - b _0808CD3E -_0808CD24: - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xa - strb r0, [r4, #0x15] - movs r0, #0xc0 - strh r0, [r4, #0x24] - movs r0, #0xa0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldr r1, _0808CD40 @ =gUnk_02018EB0 - movs r0, #1 - strb r0, [r1, #0x19] -_0808CD3E: - pop {r4, pc} - .align 2, 0 -_0808CD40: .4byte gUnk_02018EB0 - - thumb_func_start sub_0808CD44 -sub_0808CD44: @ 0x0808CD44 - push {r4, lr} - adds r4, r0, #0 - bl sub_0808CC88 - adds r0, r4, #0 - bl sub_080042B8 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _0808CD68 - adds r0, r4, #0 - bl sub_0806F69C - b _0808CD82 -_0808CD68: - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x11 - strb r0, [r4, #0x15] - adds r0, #0xef - strh r0, [r4, #0x24] - movs r0, #0x90 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldr r1, _0808CD84 @ =gUnk_02018EB0 - movs r0, #1 - strb r0, [r1, #0x1a] -_0808CD82: - pop {r4, pc} - .align 2, 0 -_0808CD84: .4byte gUnk_02018EB0 - - thumb_func_start sub_0808CD88 -sub_0808CD88: @ 0x0808CD88 - push {r4, lr} - adds r4, r0, #0 - bl sub_0808CC88 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _0808CDB8 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0x2e - ldrsh r0, [r4, r1] - cmp r0, #0x7f - bgt _0808CDD6 - movs r0, #0x80 - strh r0, [r4, #0x2e] - b _0808CDD6 -_0808CDB8: - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x68 - ldr r0, _0808CDD8 @ =0x00000C04 - strh r0, [r1] - ldr r0, [r4, #0x54] - bl sub_0805E7BC - adds r0, r4, #0 - bl sub_0805EC60 -_0808CDD6: - pop {r4, pc} - .align 2, 0 -_0808CDD8: .4byte 0x00000C04 - - thumb_func_start sub_0808CDDC -sub_0808CDDC: @ 0x0808CDDC - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808CDF6 - ldrb r0, [r1, #0xc] - adds r0, #1 - strb r0, [r1, #0xc] - movs r0, #0x10 - strb r0, [r1, #0xe] -_0808CDF6: - pop {pc} - - thumb_func_start sub_0808CDF8 -sub_0808CDF8: @ 0x0808CDF8 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808CE2C - ldr r0, _0808CE30 @ =gUnk_02033A90 - ldrb r1, [r0, #0x16] - ldrb r0, [r3, #0xc] - adds r0, #1 - adds r0, r0, r1 - strb r0, [r3, #0xc] - ldr r2, _0808CE34 @ =gUnk_081216B4 - lsls r1, r1, #1 - adds r0, r1, r2 - ldrb r0, [r0] - strb r0, [r3, #0x14] - adds r1, #1 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r3, #0x15] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r3, #0x24] -_0808CE2C: - pop {pc} - .align 2, 0 -_0808CE30: .4byte gUnk_02033A90 -_0808CE34: .4byte gUnk_081216B4 - - thumb_func_start sub_0808CE38 -sub_0808CE38: @ 0x0808CE38 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0x32 - ldrsh r0, [r4, r1] - cmp r0, #0xc7 - bgt _0808CE52 - movs r0, #0x18 - strb r0, [r4, #0x15] -_0808CE52: - movs r1, #0x2e - ldrsh r0, [r4, r1] - cmp r0, #0x2f - bgt _0808CE60 - ldr r1, _0808CE64 @ =gUnk_02018EB0 - movs r0, #1 - strb r0, [r1, #0x1b] -_0808CE60: - pop {r4, pc} - .align 2, 0 -_0808CE64: .4byte gUnk_02018EB0 - - thumb_func_start sub_0808CE68 -sub_0808CE68: @ 0x0808CE68 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0x32 - ldrsh r0, [r4, r1] - cmp r0, #0xc7 - bgt _0808CE82 - movs r0, #8 - strb r0, [r4, #0x15] -_0808CE82: - movs r1, #0x2e - ldrsh r0, [r4, r1] - cmp r0, #0xd0 - ble _0808CE90 - ldr r1, _0808CE94 @ =gUnk_02018EB0 - movs r0, #1 - strb r0, [r1, #0x1b] -_0808CE90: - pop {r4, pc} - .align 2, 0 -_0808CE94: .4byte gUnk_02018EB0 - - thumb_func_start sub_0808CE98 -sub_0808CE98: @ 0x0808CE98 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F69C - movs r0, #0x32 - ldrsh r1, [r4, r0] - movs r0, #0x90 - lsls r0, r0, #1 - cmp r1, r0 - ble _0808CEB8 - ldr r1, _0808CEBC @ =gUnk_02018EB0 - movs r0, #1 - strb r0, [r1, #0x1b] -_0808CEB8: - pop {r4, pc} - .align 2, 0 -_0808CEBC: .4byte gUnk_02018EB0 - - thumb_func_start sub_0808CEC0 -sub_0808CEC0: @ 0x0808CEC0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0x32 - ldrsh r0, [r4, r1] - cmp r0, #0xc7 - bgt _0808CEDA - movs r0, #0x18 - strb r0, [r4, #0x15] -_0808CEDA: - movs r1, #0x2e - ldrsh r0, [r4, r1] - cmp r0, #0xf - bgt _0808CEE8 - ldr r1, _0808CEEC @ =gUnk_02018EB0 - movs r0, #1 - strb r0, [r1, #0x1b] -_0808CEE8: - pop {r4, pc} - .align 2, 0 -_0808CEEC: .4byte gUnk_02018EB0 - - thumb_func_start sub_0808CEF0 -sub_0808CEF0: @ 0x0808CEF0 - push {lr} - ldr r2, _0808CF04 @ =gUnk_081216BC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808CF04: .4byte gUnk_081216BC - - thumb_func_start sub_0808CF08 -sub_0808CF08: @ 0x0808CF08 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0808CF50 @ =gUnk_02033A90 - ldr r3, _0808CF54 @ =gUnk_03000BF0 - ldrh r0, [r2, #0x12] - ldrh r1, [r3, #0xa] - subs r0, r0, r1 - strh r0, [r4, #0x2e] - ldrh r0, [r2, #0x14] - ldrh r1, [r3, #0xc] - subs r0, r0, r1 - strh r0, [r4, #0x32] - adds r5, r4, #0 - adds r5, #0x68 - movs r0, #0x80 - strh r0, [r5] - ldrb r1, [r4, #0x11] - subs r0, #0x90 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4, #0x11] - ldr r0, _0808CF58 @ =0x00001F17 - movs r1, #0 - bl sub_0801E1B8 - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r5] - bl sub_0801E1EC - pop {r4, r5, pc} - .align 2, 0 -_0808CF50: .4byte gUnk_02033A90 -_0808CF54: .4byte gUnk_03000BF0 -_0808CF58: .4byte 0x00001F17 - - thumb_func_start sub_0808CF5C -sub_0808CF5C: @ 0x0808CF5C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x68 - ldrh r0, [r2] - subs r0, #2 - strh r0, [r2] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x14 - bls _0808CF82 - movs r1, #0x2e - ldrsh r0, [r5, r1] - movs r3, #0x32 - ldrsh r1, [r5, r3] - ldrh r2, [r2] - bl sub_0801E1EC - b _0808D01E -_0808CF82: - ldr r0, _0808D020 @ =gUnk_03000F50 - adds r0, #0x62 - movs r1, #0x10 - strh r1, [r0] - bl sub_0808D030 - movs r0, #0 - bl sub_0801CFA8 - bl sub_080ADD30 - ldr r0, _0808D024 @ =gUnk_02024490 - movs r6, #1 - strb r6, [r0] - ldrb r0, [r5, #0xa] - lsls r4, r0, #1 - adds r4, r4, r0 - lsls r4, r4, #1 - ldr r0, _0808D028 @ =gUnk_081216C8 - adds r4, r4, r0 - ldrh r1, [r4] - adds r0, r5, #0 - bl sub_080ADF80 - ldrh r1, [r4, #2] - adds r0, r5, #0 - bl sub_0801D040 - ldrh r0, [r4, #4] - strh r0, [r5, #0x12] - ldrb r0, [r5, #0xa] - cmp r0, #2 - bne _0808CFC6 - strb r0, [r5, #0x1e] -_0808CFC6: - movs r2, #2 - movs r0, #2 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #6 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r2, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r5, #0x19] - ands r1, r0 - strb r1, [r5, #0x19] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - movs r0, #0x1e - strb r0, [r5, #0xe] - movs r0, #0xff - strb r0, [r5, #0xf] - ldrb r0, [r5, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r5, #0x19] - movs r2, #0x80 - lsls r2, r2, #1 - adds r0, r5, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - ldr r0, _0808D02C @ =gUnk_02033A90 - strh r6, [r0, #0x10] - movs r0, #5 - movs r1, #8 - bl sub_08050054 -_0808D01E: - pop {r4, r5, r6, pc} - .align 2, 0 -_0808D020: .4byte gUnk_03000F50 -_0808D024: .4byte gUnk_02024490 -_0808D028: .4byte gUnk_081216C8 -_0808D02C: .4byte gUnk_02033A90 - - thumb_func_start sub_0808D030 -sub_0808D030: @ 0x0808D030 - push {r4, r5, lr} - ldr r4, _0808D058 @ =gUnk_03000020 - movs r5, #0x80 - adds r0, r4, #0 - subs r0, #0x20 - ldr r1, _0808D05C @ =0x00000B74 - bl sub_0801D630 - movs r1, #0xa8 - lsls r1, r1, #2 - adds r0, r1, #0 -_0808D046: - strh r0, [r4] - adds r4, #8 - subs r5, #1 - cmp r5, #0 - bne _0808D046 - ldr r1, _0808D060 @ =gUnk_03000000 - movs r0, #1 - strb r0, [r1] - pop {r4, r5, pc} - .align 2, 0 -_0808D058: .4byte gUnk_03000020 -_0808D05C: .4byte 0x00000B74 -_0808D060: .4byte gUnk_03000000 - - thumb_func_start sub_0808D064 -sub_0808D064: @ 0x0808D064 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - adds r1, r0, #0 - adds r1, #0xff - strb r1, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _0808D0B4 - adds r0, r4, #0 - adds r0, #0x68 - ldrh r3, [r0] - adds r1, r3, #0 - adds r2, r0, #0 - cmp r1, #0 - beq _0808D08C - subs r0, r3, #2 - strh r0, [r2] - b _0808D08E -_0808D08C: - strh r1, [r2] -_0808D08E: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r3, #0x32 - ldrsh r1, [r4, r3] - ldrh r2, [r2] - bl sub_0801E1EC - ldrb r0, [r4, #0xf] - cmp r0, #0x80 - bls _0808D0A6 - subs r0, #8 - strb r0, [r4, #0xf] -_0808D0A6: - ldrb r2, [r4, #0xf] - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - b _0808D0C2 -_0808D0B4: - ldr r1, _0808D0C4 @ =gUnk_02033A90 - ldrb r0, [r1, #0xe] - adds r0, #1 - strb r0, [r1, #0xe] - strh r2, [r1, #0x10] - bl sub_0805E780 -_0808D0C2: - pop {r4, pc} - .align 2, 0 -_0808D0C4: .4byte gUnk_02033A90 - - thumb_func_start sub_0808D0C8 -sub_0808D0C8: @ 0x0808D0C8 - push {lr} - ldr r2, _0808D0DC @ =gUnk_081216DC - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808D0DC: .4byte gUnk_081216DC - - thumb_func_start sub_0808D0E0 -sub_0808D0E0: @ 0x0808D0E0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r6, [r5, #0xc] - cmp r6, #1 - beq _0808D12C - cmp r6, #1 - bgt _0808D0F4 - cmp r6, #0 - beq _0808D0FA - b _0808D192 -_0808D0F4: - cmp r6, #2 - beq _0808D150 - b _0808D192 -_0808D0FA: - movs r4, #1 - strb r4, [r5, #0xc] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - movs r1, #0x40 - subs r1, r1, r0 - strb r1, [r5, #0xe] - strb r6, [r5, #0x1e] - strb r6, [r5, #0x14] - ldrb r0, [r5, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r5, #0x19] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x38 - strb r4, [r0] - b _0808D192 -_0808D12C: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808D192 - movs r0, #8 - strb r0, [r5, #0xe] - movs r0, #4 - strb r0, [r5, #0xf] - movs r0, #2 - strb r0, [r5, #0xc] - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0x14] - b _0808D192 -_0808D150: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808D192 - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - ands r0, r1 - cmp r0, #0 - bne _0808D180 - strb r0, [r5, #0x1e] - movs r0, #1 - strb r0, [r5, #0xc] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - movs r1, #0x40 - subs r1, r1, r0 - strb r1, [r5, #0xe] - b _0808D192 -_0808D180: - movs r0, #8 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x14] - ldrb r0, [r5, #0x1e] - movs r2, #0 - cmp r0, r1 - beq _0808D190 - adds r2, r1, #0 -_0808D190: - strb r2, [r5, #0x1e] -_0808D192: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0808D194 -sub_0808D194: @ 0x0808D194 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xc] - cmp r1, #1 - beq _0808D234 - cmp r1, #1 - bgt _0808D1A8 - cmp r1, #0 - beq _0808D1AE - b _0808D234 -_0808D1A8: - cmp r1, #2 - beq _0808D1FC - b _0808D234 -_0808D1AE: - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #8 - strb r0, [r5, #0xe] - strb r1, [r5, #0xf] - strb r1, [r5, #0x1e] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0808D1F4 @ =0x00004069 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0808D1F8 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - subs r1, #0x40 - movs r2, #1 - bl sub_0800015E - b _0808D234 - .align 2, 0 -_0808D1F4: .4byte 0x00004069 -_0808D1F8: .4byte gUnk_03000BF0 -_0808D1FC: - ldr r0, _0808D274 @ =gUnk_030010A0 - ldr r3, [r0] - movs r0, #3 - ands r3, r0 - cmp r3, #0 - bne _0808D234 - ldr r4, _0808D278 @ =gUnk_03000F50 - ldrb r2, [r5, #0xd] - lsls r1, r2, #8 - movs r0, #0x10 - subs r0, r0, r2 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - ldrb r0, [r5, #0xd] - adds r0, #1 - strb r0, [r5, #0xd] - lsls r1, r1, #0x10 - movs r0, #0x80 - lsls r0, r0, #0x15 - cmp r1, r0 - bne _0808D234 - adds r0, r4, #0 - adds r0, #0x66 - strh r3, [r0] - bl sub_0805E780 -_0808D234: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808D272 - movs r0, #8 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0xa] - cmp r0, #9 - bne _0808D24E - movs r0, #2 - strb r0, [r5, #0xe] -_0808D24E: - ldr r4, _0808D27C @ =gUnk_08121704 - ldrb r0, [r5, #0xf] - adds r1, r0, #1 - strb r1, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r4 - ldrh r1, [r0] - adds r0, r5, #0 - bl sub_0801D2B4 - ldrb r0, [r5, #0xf] - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0 - bne _0808D272 - strb r0, [r5, #0xf] -_0808D272: - pop {r4, r5, r6, pc} - .align 2, 0 -_0808D274: .4byte gUnk_030010A0 -_0808D278: .4byte gUnk_03000F50 -_0808D27C: .4byte gUnk_08121704 - - thumb_func_start sub_0808D280 -sub_0808D280: @ 0x0808D280 - push {r4, lr} - sub sp, #4 - movs r4, #0 - str r4, [sp] - movs r0, #6 - movs r1, #0x3e - movs r2, #6 - movs r3, #9 - bl sub_0805EB2C - adds r2, r0, #0 - cmp r2, #0 - beq _0808D2C4 - movs r0, #2 - strb r0, [r2, #0xc] - strb r4, [r2, #0xd] - ldrb r1, [r2, #0x19] - subs r0, #0xf - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #0x19] - ldr r1, _0808D2C8 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xc8 - lsls r0, r0, #3 - strh r0, [r2] - adds r1, #0x68 - movs r0, #0x10 - strh r0, [r1] - movs r0, #0xf6 - bl sub_080A3268 -_0808D2C4: - add sp, #4 - pop {r4, pc} - .align 2, 0 -_0808D2C8: .4byte gUnk_03000F50 - - thumb_func_start sub_0808D2CC -sub_0808D2CC: @ 0x0808D2CC - push {lr} - sub sp, #4 - movs r0, #0 - str r0, [sp] - movs r0, #6 - movs r1, #0x3e - movs r2, #6 - movs r3, #1 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _0808D2F2 - movs r0, #9 - strb r0, [r1, #0xa] - adds r0, r1, #0 - movs r1, #2 - bl sub_0805E3A0 -_0808D2F2: - add sp, #4 - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_521 -nullsub_521: @ 0x0808D2F8 - bx lr - .align 2, 0 - - thumb_func_start sub_0808D2FC -sub_0808D2FC: @ 0x0808D2FC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0808D31C - strb r0, [r4, #0xc] - strb r0, [r4, #0x1e] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0807DD64 -_0808D31C: - movs r0, #0x2e - ldrsh r5, [r4, r0] - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - ldr r0, _0808D354 @ =gUnk_03000BF0 - ldrh r0, [r0, #0x16] - cmp r0, #0 - beq _0808D350 - movs r1, #0x2e - ldrsh r0, [r4, r1] - cmp r5, r0 - beq _0808D350 - ldr r0, _0808D358 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _0808D350 - ldr r0, _0808D35C @ =0x0000010F - bl sub_080A3268 -_0808D350: - pop {r4, r5, pc} - .align 2, 0 -_0808D354: .4byte gUnk_03000BF0 -_0808D358: .4byte gUnk_030010A0 -_0808D35C: .4byte 0x0000010F - - thumb_func_start sub_0808D360 -sub_0808D360: @ 0x0808D360 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0808D382 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0x1e] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0807DD64 -_0808D382: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808D394 -sub_0808D394: @ 0x0808D394 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _0808D3C4 - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #8 - strb r0, [r5, #0xe] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0808D3FC @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xc8 - lsls r0, r0, #3 - strh r0, [r2] - adds r1, #0x68 - ldr r0, _0808D400 @ =0x00001003 - strh r0, [r1] -_0808D3C4: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808D3F8 - movs r0, #2 - strb r0, [r5, #0xe] - ldr r4, _0808D404 @ =gUnk_08121720 - ldrb r0, [r5, #0xf] - adds r1, r0, #1 - strb r1, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r4 - ldrh r1, [r0] - adds r0, r5, #0 - bl sub_0801D28C - ldrb r0, [r5, #0xf] - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0 - bne _0808D3F8 - strb r0, [r5, #0xf] -_0808D3F8: - pop {r4, r5, pc} - .align 2, 0 -_0808D3FC: .4byte gUnk_03000F50 -_0808D400: .4byte 0x00001003 -_0808D404: .4byte gUnk_08121720 - - thumb_func_start sub_0808D408 -sub_0808D408: @ 0x0808D408 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xc] - cmp r0, #0 - bne _0808D458 - movs r1, #1 - strb r1, [r3, #0xc] - ldrb r0, [r3, #0x19] - movs r2, #0xc0 - orrs r0, r2 - strb r0, [r3, #0x19] - movs r0, #0x29 - adds r0, r0, r3 - mov ip, r0 - ldrb r0, [r0] - movs r2, #7 - orrs r0, r2 - mov r2, ip - strb r0, [r2] - ldrb r2, [r3, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r2 - movs r2, #4 - orrs r0, r2 - strb r0, [r3, #0x19] - ldrb r0, [r3, #0xb] - strb r0, [r3, #0x1e] - ldrb r0, [r3, #0xb] - subs r1, r1, r0 - lsls r1, r1, #9 - movs r0, #0x80 - lsls r0, r0, #1 - adds r1, r1, r0 - movs r2, #0xc0 - rsbs r2, r2, #0 - adds r0, r3, #0 - movs r3, #0 - bl sub_0805EC9C -_0808D458: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808D45C -sub_0808D45C: @ 0x0808D45C - push {lr} - ldr r2, _0808D470 @ =gUnk_0812172C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808D470: .4byte gUnk_0812172C - - thumb_func_start sub_0808D474 -sub_0808D474: @ 0x0808D474 - push {r4, r5, lr} - adds r5, r0, #0 - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r5, #0xb] - strb r0, [r5, #0x1e] - movs r1, #2 - strb r1, [r5, #0xc] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808D4D4 - movs r0, #0x7c - bl sub_0807CBD0 - adds r1, r0, #0 - cmp r1, #0 - bne _0808D4D4 - movs r0, #1 - strb r0, [r5, #0xc] - strb r1, [r5, #0xe] - ldrb r1, [r5, #0x19] - subs r0, #0xe - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r5, #0x19] - ldr r1, _0808D4CC @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xc8 - lsls r0, r0, #3 - strh r0, [r2] - adds r1, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - ldr r0, _0808D4D0 @ =0x00000179 - bl sub_080A3268 - b _0808D50E - .align 2, 0 -_0808D4CC: .4byte gUnk_03000F50 -_0808D4D0: .4byte 0x00000179 -_0808D4D4: - movs r0, #8 - strb r0, [r5, #0xe] - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r3, _0808D510 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r2, #0x3f - ands r4, r2 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _0808D500 - subs r4, #0x40 -_0808D500: - ldr r0, _0808D514 @ =0x00004069 - adds r1, r5, #0 - adds r1, #0x38 - ldrb r2, [r1] - adds r1, r4, #0 - bl sub_0800015E -_0808D50E: - pop {r4, r5, pc} - .align 2, 0 -_0808D510: .4byte gUnk_03000BF0 -_0808D514: .4byte 0x00004069 - - thumb_func_start sub_0808D518 -sub_0808D518: @ 0x0808D518 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r0, _0808D58C @ =gUnk_030010A0 - ldr r2, [r0] - movs r0, #3 - ands r2, r0 - cmp r2, #0 - bne _0808D58A - ldr r3, _0808D590 @ =gUnk_03000F50 - ldrb r0, [r5, #0xe] - movs r1, #0x10 - subs r1, r1, r0 - lsls r1, r1, #8 - orrs r1, r0 - adds r0, r3, #0 - adds r0, #0x68 - strh r1, [r0] - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - cmp r1, #0x10 - bne _0808D58A - movs r0, #2 - strb r0, [r5, #0xc] - movs r0, #8 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x19] - subs r0, #0x15 - ands r0, r1 - strb r0, [r5, #0x19] - adds r0, r3, #0 - adds r0, #0x66 - strh r2, [r0] - ldr r0, _0808D594 @ =0x00004069 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0808D598 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0808D58A: - pop {r4, r5, r6, pc} - .align 2, 0 -_0808D58C: .4byte gUnk_030010A0 -_0808D590: .4byte gUnk_03000F50 -_0808D594: .4byte 0x00004069 -_0808D598: .4byte gUnk_03000BF0 - - thumb_func_start sub_0808D59C -sub_0808D59C: @ 0x0808D59C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808D5D4 - movs r0, #8 - strb r0, [r5, #0xe] - ldr r4, _0808D5D8 @ =gUnk_08121738 - ldrb r0, [r5, #0xf] - adds r1, r0, #1 - strb r1, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r4 - ldrh r1, [r0] - adds r0, r5, #0 - bl sub_0801D2B4 - ldrb r0, [r5, #0xf] - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - cmp r0, #0 - bne _0808D5D4 - strb r0, [r5, #0xf] -_0808D5D4: - pop {r4, r5, pc} - .align 2, 0 -_0808D5D8: .4byte gUnk_08121738 - - thumb_func_start sub_0808D5DC -sub_0808D5DC: @ 0x0808D5DC - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xc] - cmp r0, #0 - bne _0808D614 - movs r2, #1 - movs r0, #1 - strb r0, [r3, #0xc] - ldrb r1, [r3, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #0x18] - ldrb r0, [r3, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r3, #0x19] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r3, #0xa] - strb r0, [r3, #0x1e] - adds r0, r3, #0 - bl sub_0808D618 -_0808D614: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808D618 -sub_0808D618: @ 0x0808D618 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - ldr r7, _0808D664 @ =gUnk_08121750 - cmp r0, #0 - beq _0808D626 - ldr r7, _0808D668 @ =gUnk_0812176A -_0808D626: - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _0808D66C @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - movs r6, #0 - adds r4, r7, #0 -_0808D64A: - movs r0, #0 - ldrsh r1, [r4, r0] - adds r1, r5, r1 - ldr r0, _0808D670 @ =0x00004074 - movs r2, #1 - bl sub_0800015E - adds r4, #2 - adds r6, #1 - cmp r6, #0xc - bls _0808D64A - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0808D664: .4byte gUnk_08121750 -_0808D668: .4byte gUnk_0812176A -_0808D66C: .4byte gUnk_03000BF0 -_0808D670: .4byte 0x00004074 - - thumb_func_start sub_0808D674 -sub_0808D674: @ 0x0808D674 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808D750 - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x1f - bhi _0808D750 - lsls r0, r0, #2 - ldr r1, _0808D698 @ =_0808D69C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808D698: .4byte _0808D69C -_0808D69C: @ jump table - .4byte _0808D740 @ case 0 - .4byte _0808D740 @ case 1 - .4byte _0808D750 @ case 2 - .4byte _0808D750 @ case 3 - .4byte _0808D740 @ case 4 - .4byte _0808D740 @ case 5 - .4byte _0808D740 @ case 6 - .4byte _0808D750 @ case 7 - .4byte _0808D740 @ case 8 - .4byte _0808D740 @ case 9 - .4byte _0808D740 @ case 10 - .4byte _0808D740 @ case 11 - .4byte _0808D740 @ case 12 - .4byte _0808D750 @ case 13 - .4byte _0808D750 @ case 14 - .4byte _0808D750 @ case 15 - .4byte _0808D750 @ case 16 - .4byte _0808D750 @ case 17 - .4byte _0808D750 @ case 18 - .4byte _0808D748 @ case 19 - .4byte _0808D71C @ case 20 - .4byte _0808D750 @ case 21 - .4byte _0808D750 @ case 22 - .4byte _0808D750 @ case 23 - .4byte _0808D750 @ case 24 - .4byte _0808D750 @ case 25 - .4byte _0808D750 @ case 26 - .4byte _0808D750 @ case 27 - .4byte _0808D750 @ case 28 - .4byte _0808D750 @ case 29 - .4byte _0808D740 @ case 30 - .4byte _0808D73C @ case 31 -_0808D71C: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r4, #0x4c] - str r0, [r4, #0x54] - b _0808D750 -_0808D73C: - bl sub_0805E780 -_0808D740: - adds r0, r4, #0 - bl sub_0808DAD0 - b _0808D750 -_0808D748: - adds r0, r4, #0 - bl sub_0808D76C - b _0808D766 -_0808D750: - ldr r0, _0808D768 @ =gUnk_08121784 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08080CB4 -_0808D766: - pop {r4, pc} - .align 2, 0 -_0808D768: .4byte gUnk_08121784 - - thumb_func_start sub_0808D76C -sub_0808D76C: @ 0x0808D76C - push {lr} - ldr r2, _0808D780 @ =gUnk_08121798 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808D780: .4byte gUnk_08121798 - - thumb_func_start sub_0808D784 -sub_0808D784: @ 0x0808D784 - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xd] - strb r1, [r0, #0x1d] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - bx lr - - thumb_func_start sub_0808D798 -sub_0808D798: @ 0x0808D798 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_0808D7A0 -sub_0808D7A0: @ 0x0808D7A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0808D7B2 - adds r0, r4, #0 - bl sub_0808DB2C -_0808D7B2: - pop {r4, pc} - - thumb_func_start sub_0808D7B4 -sub_0808D7B4: @ 0x0808D7B4 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3c - movs r2, #0x17 - strb r2, [r0] - adds r1, #8 - movs r0, #0x49 - strb r0, [r1] - subs r1, #1 - movs r0, #7 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3b - strb r2, [r0] - adds r1, #6 - movs r0, #0xff - strb r0, [r1] - ldr r0, _0808D818 @ =gUnk_080FD1A8 - str r0, [r4, #0x48] - movs r0, #1 - strb r0, [r4, #0x1c] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - movs r0, #0x9b - lsls r0, r0, #1 - bl sub_08004488 - ldrb r0, [r4, #0xb] - cmp r0, #2 - beq _0808D834 - cmp r0, #2 - bgt _0808D81C - cmp r0, #0 - beq _0808D822 - b _0808D82E - .align 2, 0 -_0808D818: .4byte gUnk_080FD1A8 -_0808D81C: - cmp r0, #3 - beq _0808D83C - b _0808D82E -_0808D822: - movs r0, #0xf0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - ldrh r0, [r4, #0x36] - adds r0, #8 - strh r0, [r4, #0x36] -_0808D82E: - movs r0, #1 - strb r0, [r4, #0xc] - b _0808D842 -_0808D834: - adds r0, r4, #0 - bl sub_0808DAD0 - b _0808D842 -_0808D83C: - adds r0, r4, #0 - bl sub_0808DB2C -_0808D842: - pop {r4, pc} - - thumb_func_start sub_0808D844 -sub_0808D844: @ 0x0808D844 - push {lr} - adds r3, r0, #0 - ldr r0, [r3, #0x34] - ldr r1, _0808D870 @ =0xFFFF2000 - adds r0, r0, r1 - str r0, [r3, #0x34] - adds r0, r3, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - beq _0808D88A - ldrb r0, [r3, #0xe] - cmp r0, #0 - beq _0808D874 - adds r2, r3, #0 - adds r2, #0x78 - ldrh r1, [r2] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #1 - strh r0, [r2] - b _0808D87E - .align 2, 0 -_0808D870: .4byte 0xFFFF2000 -_0808D874: - adds r1, r3, #0 - adds r1, #0x78 - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r1] -_0808D87E: - movs r0, #2 - strb r0, [r3, #0xc] - movs r0, #1 - strb r0, [r3, #0xf] - movs r0, #0x80 - strh r0, [r3, #0x24] -_0808D88A: - pop {pc} - - thumb_func_start sub_0808D88C -sub_0808D88C: @ 0x0808D88C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808D910 - bl sub_08000E50 - adds r5, r0, #0 - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x20 - strb r0, [r4, #0xf] - ldr r2, _0808D8D0 @ =gUnk_081217A4 - lsrs r0, r5, #8 - movs r1, #1 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0808DAA0 - cmp r0, #0 - beq _0808D8D4 - movs r0, #0x1f - ands r5, r0 - strb r5, [r4, #0x15] - b _0808D8EE - .align 2, 0 -_0808D8D0: .4byte gUnk_081217A4 -_0808D8D4: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r4, #0 - adds r2, #0x74 - ldrh r2, [r2] - adds r3, r4, #0 - adds r3, #0x76 - ldrh r3, [r3] - bl sub_080045D4 - strb r0, [r4, #0x15] -_0808D8EE: - ldrb r1, [r4, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _0808D910 - movs r0, #0x10 - eors r1, r0 - lsrs r1, r1, #4 - movs r0, #1 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_0808D910: - adds r0, r4, #0 - bl sub_080AEFB4 - bl sub_0805E40C - cmp r0, #0 - bne _0808D954 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0808D954 - adds r5, r4, #0 - adds r5, #0x78 - ldrh r0, [r5] - subs r0, #1 - strh r0, [r5] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0808D93C - adds r0, r4, #0 - movs r1, #0 - bl sub_08081404 -_0808D93C: - ldrh r0, [r5] - cmp r0, #0x77 - bhi _0808D954 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_0808D954: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808D958 -sub_0808D958: @ 0x0808D958 - push {r4, lr} - adds r4, r0, #0 - ldr r2, [r4, #0x54] - ldrh r1, [r2, #8] - movs r0, #0xc2 - lsls r0, r0, #2 - cmp r1, r0 - beq _0808D972 - adds r0, r4, #0 - movs r1, #0 - bl sub_08081404 - b _0808D992 -_0808D972: - adds r0, r2, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - ldr r1, _0808D994 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080177A0 - cmp r0, #0 - beq _0808D992 - adds r0, r4, #0 - bl sub_0808DB2C -_0808D992: - pop {r4, pc} - .align 2, 0 -_0808D994: .4byte gUnk_03001160 - - thumb_func_start sub_0808D998 -sub_0808D998: @ 0x0808D998 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, [r5, #0x54] - ldr r2, _0808DA28 @ =gUnk_080C9160 - ldrb r0, [r5, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - movs r3, #0 - ldrsh r1, [r0, r3] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - cmp r0, #0 - bge _0808D9B8 - ldr r1, _0808DA2C @ =0x0000FFFF - adds r0, r0, r1 -_0808D9B8: - asrs r0, r0, #0x10 - ldrh r3, [r6, #0x2e] - adds r0, r0, r3 - strh r0, [r5, #0x2e] - ldrb r0, [r5, #0xe] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #8 - cmp r0, #0 - bge _0808D9DA - ldr r3, _0808DA2C @ =0x0000FFFF - adds r0, r0, r3 -_0808D9DA: - asrs r1, r0, #0x10 - ldrh r0, [r6, #0x32] - subs r0, r0, r1 - strh r0, [r5, #0x32] - ldrb r3, [r5, #0xe] - adds r0, r3, #0 - adds r0, #8 - strb r0, [r5, #0xe] - ldrh r0, [r6, #0x36] - strh r0, [r5, #0x36] - ldrb r2, [r6, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r4, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r4 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r6, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x19] - subs r3, #0x39 - lsls r3, r3, #0x18 - lsrs r3, r3, #0x18 - cmp r3, #0x7e - bhi _0808DA30 - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #3 - b _0808DA3E - .align 2, 0 -_0808DA28: .4byte gUnk_080C9160 -_0808DA2C: .4byte 0x0000FFFF -_0808DA30: - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #5 -_0808DA3E: - orrs r1, r0 - strb r1, [r2] - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - adds r4, r5, #0 - adds r4, #0x63 - cmp r0, #0 - bne _0808DA70 - movs r0, #6 - strb r0, [r5, #0xf] - ldrb r0, [r4] - subs r0, #1 - strb r0, [r4] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #0x16 - rsbs r1, r1, #0 - cmp r0, r1 - bge _0808DA70 - adds r0, r5, #0 - movs r1, #1 - bl sub_08081404 -_0808DA70: - movs r1, #0 - ldrsb r1, [r4, r1] - movs r0, #0x11 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0808DA8E - ldrb r2, [r5, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] -_0808DA8E: - adds r1, r5, #0 - adds r1, #0x87 - ldrb r0, [r1] - cmp r0, #0xa - bls _0808DA9C - movs r0, #0xa - strb r0, [r1] -_0808DA9C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808DAA0 -sub_0808DAA0: @ 0x0808DAA0 - push {lr} - adds r2, r0, #0 - movs r1, #0x2e - ldrsh r0, [r2, r1] - adds r1, r2, #0 - adds r1, #0x74 - ldrh r1, [r1] - subs r0, r0, r1 - adds r0, #0x30 - cmp r0, #0x60 - bhi _0808DACC - movs r1, #0x32 - ldrsh r0, [r2, r1] - adds r1, r2, #0 - adds r1, #0x76 - ldrh r1, [r1] - subs r0, r0, r1 - adds r0, #0x30 - cmp r0, #0x60 - bhi _0808DACC - movs r0, #1 - b _0808DACE -_0808DACC: - movs r0, #0 -_0808DACE: - pop {pc} - - thumb_func_start sub_0808DAD0 -sub_0808DAD0: @ 0x0808DAD0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0808DAE0 - bl sub_0805E780 -_0808DAE0: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x80 - strb r0, [r4, #0xe] - movs r0, #6 - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xfb - strb r0, [r1] - ldr r0, _0808DB28 @ =gUnk_03001160 - str r0, [r4, #0x54] - adds r1, r4, #0 - bl sub_0806FA24 - pop {r4, pc} - .align 2, 0 -_0808DB28: .4byte gUnk_03001160 - - thumb_func_start sub_0808DB2C -sub_0808DB2C: @ 0x0808DB2C - push {lr} - adds r1, r0, #0 - movs r2, #0 - movs r0, #2 - strb r0, [r1, #0xc] - strb r2, [r1, #0xd] - ldrb r2, [r1, #0x10] - movs r0, #0x80 - orrs r0, r2 - strb r0, [r1, #0x10] - adds r2, r1, #0 - adds r2, #0x3b - movs r0, #1 - strb r0, [r2] - ldr r0, _0808DB50 @ =gUnk_03001160 - bl sub_0806FA24 - pop {pc} - .align 2, 0 -_0808DB50: .4byte gUnk_03001160 - - thumb_func_start sub_0808DB54 -sub_0808DB54: @ 0x0808DB54 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - ldrb r0, [r7, #0xc] - cmp r0, #1 - beq _0808DBE8 - cmp r0, #1 - bgt _0808DB6C - cmp r0, #0 - beq _0808DB72 - b _0808DC46 -_0808DB6C: - cmp r0, #2 - beq _0808DC2C - b _0808DC46 -_0808DB72: - ldrb r0, [r7, #0xe] - movs r1, #3 - cmp r0, #0 - beq _0808DB7C - movs r1, #1 -_0808DB7C: - strb r1, [r7, #0xc] - adds r1, r7, #0 - adds r1, #0x63 - ldrb r0, [r1] - adds r0, #8 - strb r0, [r1] - adds r0, r7, #0 - movs r1, #0xa - bl sub_08004260 - ldrb r0, [r7, #0xc] - cmp r0, #1 - bne _0808DB9A - ldr r0, _0808DBDC @ =0x0000FF80 - strh r0, [r7, #0x36] -_0808DB9A: - ldrb r0, [r7, #0xb] - cmp r0, #0 - beq _0808DBA2 - b _0808DD72 -_0808DBA2: - ldrh r1, [r7, #0x32] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - adds r0, #0xc - strh r0, [r7, #0x32] - ldr r0, _0808DBE0 @ =0x00004023 - movs r2, #0x2e - ldrsh r1, [r7, r2] - ldr r3, _0808DBE4 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r5, #0x32 - ldrsh r2, [r7, r5] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r7, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - b _0808DD72 - .align 2, 0 -_0808DBDC: .4byte 0x0000FF80 -_0808DBE0: .4byte 0x00004023 -_0808DBE4: .4byte gUnk_03000BF0 -_0808DBE8: - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r7, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _0808DBF8 - b _0808DD72 -_0808DBF8: - adds r0, r7, #0 - movs r1, #0x46 - movs r2, #0x40 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0808DC0E - ldrh r0, [r1, #0x32] - adds r0, #8 - strh r0, [r1, #0x32] -_0808DC0E: - movs r0, #0x1e - movs r1, #0 - bl sub_08080964 - ldr r0, _0808DC28 @ =0x0000010B - bl sub_080A3268 - movs r0, #2 - strb r0, [r7, #0xc] - movs r0, #0x3c - strb r0, [r7, #0xe] - b _0808DD72 - .align 2, 0 -_0808DC28: .4byte 0x0000010B -_0808DC2C: - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0808DC3A - b _0808DD72 -_0808DC3A: - movs r0, #3 - strb r0, [r7, #0xc] - movs r0, #0x73 - bl sub_080A3268 - b _0808DD72 -_0808DC46: - ldrb r0, [r7, #0xb] - cmp r0, #0 - beq _0808DC4E - b _0808DD72 -_0808DC4E: - ldr r0, _0808DCC8 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r0, [r7, r3] - cmp r1, r0 - bge _0808DCDC - ldr r0, _0808DCCC @ =gUnk_03003F80 - ldrb r0, [r0, #0x12] - cmp r0, #0x1e - bne _0808DC66 - b _0808DD72 -_0808DC66: - adds r0, r7, #0 - bl sub_080002A0 - ldr r1, _0808DCD0 @ =0x00004017 - cmp r0, r1 - beq _0808DC74 - b _0808DD72 -_0808DC74: - ldr r0, _0808DCD4 @ =0x00004023 - movs r5, #0x2e - ldrsh r1, [r7, r5] - ldr r4, _0808DCD8 @ =gUnk_03000BF0 - ldrh r2, [r4, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r5, #0x3f - ands r1, r5 - movs r3, #0x32 - ldrsh r2, [r7, r3] - ldrh r3, [r4, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r5 - lsls r2, r2, #6 - orrs r1, r2 - adds r6, r7, #0 - adds r6, #0x38 - ldrb r2, [r6] - bl sub_0800015E - movs r1, #0x2e - ldrsh r0, [r7, r1] - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r5 - movs r2, #0x32 - ldrsh r1, [r7, r2] - ldrh r2, [r4, #8] - adds r2, #0x10 - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r5 - lsls r1, r1, #6 - orrs r0, r1 - ldrb r1, [r6] - bl sub_0807BA8C - b _0808DD72 - .align 2, 0 -_0808DCC8: .4byte gUnk_03001160 -_0808DCCC: .4byte gUnk_03003F80 -_0808DCD0: .4byte 0x00004017 -_0808DCD4: .4byte 0x00004023 -_0808DCD8: .4byte gUnk_03000BF0 -_0808DCDC: - adds r0, r7, #0 - bl sub_080002A0 - ldr r3, _0808DD44 @ =0x00004017 - mov r8, r3 - cmp r0, r8 - beq _0808DD72 - movs r5, #0x2e - ldrsh r1, [r7, r5] - ldr r5, _0808DD48 @ =gUnk_03000BF0 - ldrh r0, [r5, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r6, #0x3f - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r7, r2] - ldrh r2, [r5, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - adds r4, r7, #0 - adds r4, #0x38 - ldrb r2, [r4] - mov r0, r8 - bl sub_0800015E - ldrb r0, [r7, #0xa] - cmp r0, #0 - bne _0808DD4C - movs r3, #0x2e - ldrsh r1, [r7, r3] - ldrh r0, [r5, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r7, r2] - ldrh r2, [r5, #8] - adds r2, #0x10 - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r1, r0 - ldrb r2, [r4] - mov r0, r8 - bl sub_0800015E - b _0808DD72 - .align 2, 0 -_0808DD44: .4byte 0x00004017 -_0808DD48: .4byte gUnk_03000BF0 -_0808DD4C: - ldr r0, _0808DD78 @ =0x00004014 - movs r3, #0x2e - ldrsh r1, [r7, r3] - ldrh r2, [r5, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - movs r3, #0x32 - ldrsh r2, [r7, r3] - ldrh r3, [r5, #8] - adds r3, #0x10 - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r4] - bl sub_0800015E -_0808DD72: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0808DD78: .4byte 0x00004014 - - thumb_func_start sub_0808DD7C -sub_0808DD7C: @ 0x0808DD7C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - beq _0808DD9C - ldr r0, _0808DD98 @ =gUnk_081217B0 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _0808DDAC - .align 2, 0 -_0808DD98: .4byte gUnk_081217B0 -_0808DD9C: - ldr r0, _0808DDB0 @ =gUnk_081217A8 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_0808DDAC: - pop {pc} - .align 2, 0 -_0808DDB0: .4byte gUnk_081217A8 - - thumb_func_start sub_0808DDB4 -sub_0808DDB4: @ 0x0808DDB4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0808DDDC - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x6c - movs r0, #0xf0 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0808DDE8 -_0808DDDC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808DDE0 -sub_0808DDE0: @ 0x0808DDE0 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_0808DDE8 -sub_0808DDE8: @ 0x0808DDE8 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x6c - ldrh r0, [r4] - subs r0, #1 - strh r0, [r4] - bl sub_0807953C - cmp r0, #0 - beq _0808DE04 - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] -_0808DE04: - ldrb r0, [r5, #0xf] - cmp r0, #0x1e - bhi _0808DE1C - ldr r0, _0808DE8C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - ldr r1, _0808DE90 @ =0x00001810 - ands r0, r1 - cmp r0, #0 - bne _0808DE1C - ldrh r0, [r4] - cmp r0, #0 - bne _0808DE2A -_0808DE1C: - ldr r0, _0808DE8C @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - ldr r2, _0808DE94 @ =0xFFFFFBFF - ands r1, r2 - str r1, [r0, #0x30] - bl sub_0805E780 -_0808DE2A: - ldr r3, _0808DE98 @ =gUnk_03001160 - ldr r1, _0808DE9C @ =gUnk_081217B8 - ldrb r0, [r3, #0x14] - lsrs r0, r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r3, #0x2e] - adds r0, r0, r1 - strh r0, [r5, #0x2e] - ldrh r0, [r3, #0x32] - subs r0, #6 - strh r0, [r5, #0x32] - ldr r0, [r3, #0x34] - str r0, [r5, #0x34] - adds r0, r3, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - ldrb r2, [r3, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r4, [r5, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r4 - orrs r0, r2 - strb r0, [r5, #0x19] - ldrb r0, [r3, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x1b] - ldr r0, _0808DE8C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #3 - ands r0, r1 - cmp r0, #0 - beq _0808DEA0 - adds r0, r5, #0 - bl sub_08004274 - b _0808DEA4 - .align 2, 0 -_0808DE8C: .4byte gUnk_03003F80 -_0808DE90: .4byte 0x00001810 -_0808DE94: .4byte 0xFFFFFBFF -_0808DE98: .4byte gUnk_03001160 -_0808DE9C: .4byte gUnk_081217B8 -_0808DEA0: - bl sub_0805E780 -_0808DEA4: - ldr r1, _0808DEC0 @ =gUnk_03001160 - ldrb r0, [r1, #0x14] - lsrs r0, r0, #1 - cmp r0, #2 - bne _0808DEC4 - adds r0, r1, #0 - movs r1, #3 - adds r2, r5, #0 - bl sub_0806FEBC - ldrh r0, [r5, #0x32] - subs r0, #5 - strh r0, [r5, #0x32] - b _0808DECE - .align 2, 0 -_0808DEC0: .4byte gUnk_03001160 -_0808DEC4: - adds r0, r1, #0 - movs r1, #0 - adds r2, r5, #0 - bl sub_0806FEBC -_0808DECE: - pop {r4, r5, pc} - - thumb_func_start sub_0808DED0 -sub_0808DED0: @ 0x0808DED0 - push {lr} - ldr r2, _0808DEE4 @ =gUnk_081217BC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808DEE4: .4byte gUnk_081217BC - - thumb_func_start sub_0808DEE8 -sub_0808DEE8: @ 0x0808DEE8 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r5, #0x10] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldr r3, _0808DF74 @ =gUnk_03001160 - ldrb r1, [r3, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r5, #0x1b] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x1b] - ldrb r0, [r3, #0x14] - lsrs r0, r0, #1 - strb r0, [r5, #0x14] - adds r0, #1 - movs r1, #3 - ands r0, r1 - lsls r0, r0, #3 - strb r0, [r5, #0x15] - movs r3, #6 - movs r0, #6 - strb r0, [r5, #0xf] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r1, r5, #0 - adds r1, #0x60 - movs r0, #0x3c - strh r0, [r1] - ldrb r1, [r5, #0x1a] - movs r2, #0x10 - rsbs r2, r2, #0 - adds r0, r2, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r5, #0x1a] - adds r0, r5, #0 - adds r0, #0x72 - strh r4, [r0] - subs r0, #6 - strh r4, [r0] - ldrb r0, [r5, #0x11] - ands r2, r0 - orrs r2, r3 - strb r2, [r5, #0x11] - adds r0, r5, #0 - movs r1, #7 - bl sub_08004260 - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _0808DF78 - movs r0, #0x28 - strb r0, [r5, #0xe] - b _0808DFAA - .align 2, 0 -_0808DF74: .4byte gUnk_03001160 -_0808DF78: - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - ldr r0, _0808DF9C @ =gUnk_03003F80 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0808DFA0 - movs r0, #0x28 - b _0808DFA2 - .align 2, 0 -_0808DF9C: .4byte gUnk_03003F80 -_0808DFA0: - movs r0, #0x50 -_0808DFA2: - strb r0, [r5, #0xe] - adds r0, r5, #0 - bl sub_0808DFAC -_0808DFAA: - pop {r4, r5, pc} - - thumb_func_start sub_0808DFAC -sub_0808DFAC: @ 0x0808DFAC - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0808E00E - ldr r1, _0808DFF0 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - beq _0808DFCC - ldrb r1, [r1, #4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808DFD0 -_0808DFCC: - bl sub_0805E780 -_0808DFD0: - ldr r0, _0808DFF0 @ =gUnk_03003F80 - adds r2, r0, #0 - adds r2, #0x21 - ldrb r0, [r2] - cmp r0, #0x4f - bls _0808DFF8 - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - ldrb r6, [r2] - ldr r7, _0808DFF4 @ =gUnk_081217D8 - b _0808E038 - .align 2, 0 -_0808DFF0: .4byte gUnk_03003F80 -_0808DFF4: .4byte gUnk_081217D8 -_0808DFF8: - cmp r0, #0 - beq _0808E008 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _0808E1BA -_0808E008: - bl sub_0805E780 - b _0808E038 -_0808E00E: - ldr r5, _0808E02C @ =gUnk_03003F80 - ldrb r0, [r5, #4] - cmp r0, #0 - bne _0808E01A - bl sub_0805E780 -_0808E01A: - ldrb r1, [r5, #0x1b] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808E034 - ldrb r6, [r5, #0x1b] - ldr r7, _0808E030 @ =gUnk_081217D0 - b _0808E038 - .align 2, 0 -_0808E02C: .4byte gUnk_03003F80 -_0808E030: .4byte gUnk_081217D0 -_0808E034: - bl sub_0805E780 -_0808E038: - cmp r6, #0 - bne _0808E03E - b _0808E1B6 -_0808E03E: - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0808E084 - subs r0, #1 - strb r0, [r4, #0xe] - movs r2, #3 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0808E068 - ldr r0, _0808E080 @ =gUnk_03003F80 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #2 - ands r0, r1 - cmp r0, #0 - bne _0808E068 - movs r2, #7 -_0808E068: - ldrb r0, [r4, #0xe] - ands r0, r2 - adds r5, r4, #0 - adds r5, #0x6c - adds r6, r4, #0 - adds r6, #0x38 - cmp r0, #0 - bne _0808E0E4 - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] - b _0808E0E4 - .align 2, 0 -_0808E080: .4byte gUnk_03003F80 -_0808E084: - adds r5, r4, #0 - adds r5, #0x72 - ldrh r0, [r5] - cmp r0, #0 - beq _0808E0BC - ldr r0, _0808E0B8 @ =gUnk_030010A0 - ldr r1, [r0] - movs r0, #0x1f - ands r1, r0 - subs r5, #6 - adds r6, r4, #0 - adds r6, #0x38 - cmp r1, #0 - bne _0808E0E4 - adds r0, r4, #0 - movs r1, #7 - movs r2, #0 - bl sub_080A29AC - cmp r0, #0 - beq _0808E0E4 - ldrb r1, [r6] - adds r0, #0x38 - strb r1, [r0] - b _0808E0E4 - .align 2, 0 -_0808E0B8: .4byte gUnk_030010A0 -_0808E0BC: - ldr r0, _0808E140 @ =0x00000115 - bl sub_08004488 - adds r0, r4, #0 - movs r1, #0x12 - movs r2, #0 - bl sub_080A29AC - adds r6, r4, #0 - adds r6, #0x38 - cmp r0, #0 - beq _0808E0DA - ldrb r1, [r6] - adds r0, #0x38 - strb r1, [r0] -_0808E0DA: - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] - adds r5, r4, #0 - adds r5, #0x6c -_0808E0E4: - ldr r2, _0808E144 @ =gUnk_03001160 - ldrb r1, [r2, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r3, [r4, #0x19] - movs r0, #0x3f - ands r0, r3 - orrs r0, r1 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - adds r0, r7, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - adds r0, r0, r7 - ldrb r0, [r0, #1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldrh r0, [r2, #0x36] - strh r0, [r4, #0x36] - adds r2, #0x38 - ldrb r0, [r2] - strb r0, [r6] - ldrb r0, [r4, #0x14] - cmp r0, #1 - beq _0808E148 - cmp r0, #1 - ble _0808E136 - cmp r0, #2 - beq _0808E150 - cmp r0, #3 - beq _0808E15A -_0808E136: - ldrh r0, [r4, #0x32] - ldrh r1, [r5] - subs r0, r0, r1 - strh r0, [r4, #0x32] - b _0808E162 - .align 2, 0 -_0808E140: .4byte 0x00000115 -_0808E144: .4byte gUnk_03001160 -_0808E148: - ldrh r0, [r5] - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - b _0808E160 -_0808E150: - ldrh r0, [r5] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - b _0808E162 -_0808E15A: - ldrh r0, [r4, #0x2e] - ldrh r1, [r5] - subs r0, r0, r1 -_0808E160: - strh r0, [r4, #0x2e] -_0808E162: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808E17A - movs r0, #6 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r4, #0x15] -_0808E17A: - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0808E1BA - ldr r0, _0808E1AC @ =gUnk_03003F80 - ldrb r1, [r0, #0x1b] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0808E1BA - ldrb r0, [r4, #0x10] - movs r1, #0xdf - ands r1, r0 - strb r1, [r4, #0x10] - movs r0, #6 - bl sub_0807CA84 - cmp r0, #1 - bne _0808E1B0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - b _0808E1BA - .align 2, 0 -_0808E1AC: .4byte gUnk_03003F80 -_0808E1B0: - bl sub_0805E780 - b _0808E1BA -_0808E1B6: - bl sub_0805E780 -_0808E1BA: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0808E1BC -sub_0808E1BC: @ 0x0808E1BC - push {r4, lr} - adds r4, r0, #0 - bl sub_08079BD8 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r2, #0 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r0, _0808E204 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x60 - strh r2, [r0] - ldrb r1, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r4, #0x1a] - movs r0, #0xaf - strh r0, [r4, #0x12] - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 -_0808E204: .4byte gUnk_03001160 - - thumb_func_start sub_0808E208 -sub_0808E208: @ 0x0808E208 - push {r4, lr} - adds r4, r0, #0 - bl sub_08079BD8 - adds r0, r4, #0 - bl sub_08004274 - ldr r0, _0808E240 @ =gUnk_03003F80 - ldrb r0, [r0, #0x1b] - cmp r0, #0 - beq _0808E248 - ldr r0, _0808E244 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0808E24C - ldrb r2, [r4, #0x1a] - lsls r1, r2, #0x1c - lsrs r1, r1, #0x1c - movs r0, #4 - eors r1, r0 - subs r0, #0x14 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - b _0808E24C - .align 2, 0 -_0808E240: .4byte gUnk_03003F80 -_0808E244: .4byte gUnk_030010A0 -_0808E248: - bl sub_0805E780 -_0808E24C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808E260 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_0808E260: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808E264 -sub_0808E264: @ 0x0808E264 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808E27C - bl sub_0805E780 -_0808E27C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808E280 -sub_0808E280: @ 0x0808E280 - push {lr} - ldr r2, _0808E294 @ =gUnk_08121B8C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808E294: .4byte gUnk_08121B8C - - thumb_func_start sub_0808E298 -sub_0808E298: @ 0x0808E298 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x38 - movs r1, #2 - strb r1, [r0] - movs r0, #1 - strb r0, [r4, #0xc] - movs r5, #0 - movs r6, #0 - adds r0, r4, #0 - bl sub_080002A0 - adds r1, r0, #0 - movs r0, #0xd1 - lsls r0, r0, #2 - cmp r1, r0 - beq _0808E2DA - cmp r1, r0 - bhi _0808E2C6 - subs r0, #1 - cmp r1, r0 - beq _0808E2D8 - b _0808E2E2 -_0808E2C6: - ldr r0, _0808E2D4 @ =0x00000345 - cmp r1, r0 - beq _0808E2DE - adds r0, #1 - cmp r1, r0 - beq _0808E2E6 - b _0808E2E2 - .align 2, 0 -_0808E2D4: .4byte 0x00000345 -_0808E2D8: - movs r5, #0x10 -_0808E2DA: - movs r6, #0x10 - b _0808E2E6 -_0808E2DE: - movs r5, #0x10 - b _0808E2E6 -_0808E2E2: - bl sub_0805E780 -_0808E2E6: - ldrh r0, [r4, #0x2e] - adds r0, r0, r5 - movs r2, #0x10 - rsbs r2, r2, #0 - adds r1, r2, #0 - ands r0, r1 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - adds r0, r0, r6 - ands r0, r1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldr r1, _0808E314 @ =0x00000347 - adds r0, r4, #0 - bl sub_0808E354 - adds r0, r4, #0 - bl sub_0808E318 - pop {r4, r5, r6, pc} - .align 2, 0 -_0808E314: .4byte 0x00000347 - - thumb_func_start sub_0808E318 -sub_0808E318: @ 0x0808E318 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808E340 - ldr r1, _0808E33C @ =0x00000343 - adds r0, r4, #0 - bl sub_0808E354 - bl sub_0805E780 - b _0808E34E - .align 2, 0 -_0808E33C: .4byte 0x00000343 -_0808E340: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808E34E - ldr r0, _0808E350 @ =0x0000018B - bl sub_08004488 -_0808E34E: - pop {r4, pc} - .align 2, 0 -_0808E350: .4byte 0x0000018B - - thumb_func_start sub_0808E354 -sub_0808E354: @ 0x0808E354 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - adds r6, r0, #0 - lsls r1, r1, #0x10 - mov r8, r1 - mov r0, r8 - lsrs r0, r0, #0x10 - mov r8, r0 - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldr r5, _0808E410 @ =gUnk_03000BF0 - ldrh r0, [r5, #6] - adds r0, #0x10 - subs r1, r1, r0 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r3, #0x32 - ldrsh r0, [r6, r3] - ldrh r2, [r5, #8] - adds r2, #0x10 - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r1, r0 - mov r0, r8 - movs r2, #2 - bl sub_0807B7D8 - mov r0, r8 - adds r0, #1 - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldrh r2, [r5, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r4 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r5, #8] - adds r3, #0x10 - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - movs r2, #2 - bl sub_0807B7D8 - mov r0, r8 - adds r0, #2 - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldrh r2, [r5, #6] - adds r2, #0x10 - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r4 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - movs r2, #2 - bl sub_0807B7D8 - movs r0, #3 - add r8, r0 - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldrh r0, [r5, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r4 - movs r3, #0x32 - ldrsh r0, [r6, r3] - ldrh r2, [r5, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r1, r0 - mov r0, r8 - movs r2, #2 - bl sub_0807B7D8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_0808E410: .4byte gUnk_03000BF0 - - thumb_func_start sub_0808E414 -sub_0808E414: @ 0x0808E414 - push {lr} - ldr r2, _0808E428 @ =gUnk_08121BD8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808E428: .4byte gUnk_08121BD8 - - thumb_func_start sub_0808E42C -sub_0808E42C: @ 0x0808E42C - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x11] - subs r1, #0x11 - ands r1, r2 - movs r2, #6 - orrs r1, r2 - strb r1, [r0, #0x11] - ldrb r1, [r0, #0xa] - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808E448 -sub_0808E448: @ 0x0808E448 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x10 - bl sub_0805436C - cmp r0, #1 - bls _0808E45A - bl sub_0805E780 -_0808E45A: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - beq _0808E472 - cmp r0, #0x80 - bne _0808E486 - bl sub_0805E780 -_0808E472: - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - b _0808E494 -_0808E486: - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] -_0808E494: - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0808E4A2 - ldr r0, [r4, #0x34] - ldr r1, _0808E4A4 @ =0xFFFF8000 - adds r0, r0, r1 - str r0, [r4, #0x34] -_0808E4A2: - pop {r4, pc} - .align 2, 0 -_0808E4A4: .4byte 0xFFFF8000 - - thumb_func_start sub_0808E4A8 -sub_0808E4A8: @ 0x0808E4A8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xa] - lsls r1, r2, #1 - ldr r0, _0808E540 @ =gUnk_08121C40 - adds r3, r1, r0 - ldrb r6, [r4, #0xc] - cmp r6, #0 - bne _0808E54C - movs r5, #1 - strb r5, [r4, #0xc] - movs r2, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0808E4C8 - movs r2, #1 -_0808E4C8: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xa] - strb r0, [r4, #0x1e] - adds r0, r4, #0 - adds r0, #0x38 - strb r5, [r0] - ldrb r1, [r3] - lsls r1, r1, #6 - ldrb r2, [r4, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - ldrb r0, [r3, #1] - adds r3, r4, #0 - adds r3, #0x29 - movs r1, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x76 - strh r6, [r0] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0808E544 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - adds r0, r4, #0 - bl sub_0808E55C - ldr r1, _0808E548 @ =sub_0808E55C - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 - b _0808E55A - .align 2, 0 -_0808E540: .4byte gUnk_08121C40 -_0808E544: .4byte gUnk_03000BF0 -_0808E548: .4byte sub_0808E55C -_0808E54C: - movs r0, #1 - ands r2, r0 - cmp r2, #0 - bne _0808E55A - adds r0, r4, #0 - bl sub_0808E670 -_0808E55A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0808E55C -sub_0808E55C: @ 0x0808E55C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov r8, r0 - ldrb r0, [r0, #0xa] - cmp r0, #1 - beq _0808E614 - cmp r0, #1 - bgt _0808E576 - cmp r0, #0 - beq _0808E57A - b _0808E63A -_0808E576: - cmp r0, #2 - bne _0808E63A -_0808E57A: - mov r0, r8 - adds r0, #0x74 - ldrh r6, [r0] - ldr r0, _0808E5FC @ =0xFFFFFEFF - adds r7, r6, r0 - ldr r4, _0808E600 @ =0x0000408F - mov r5, r8 - adds r5, #0x38 - ldrb r2, [r5] - adds r0, r4, #0 - adds r1, r7, #0 - bl sub_0800015E - ldr r2, _0808E604 @ =0xFFFFFF00 - adds r1, r6, r2 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldr r0, _0808E608 @ =0x0000406C - ldr r2, _0808E60C @ =0xFFFFFEFE - adds r1, r6, r2 - ldrb r2, [r5] - bl sub_0800015E - ldr r0, _0808E610 @ =0x0000406D - adds r1, r6, #0 - subs r1, #0xff - ldrb r2, [r5] - bl sub_0800015E - mov r1, r8 - ldrb r0, [r1, #0xa] - movs r2, #6 - mov sb, r2 - cmp r0, #0 - beq _0808E63A - movs r0, #4 - mov sb, r0 - subs r4, #0x1d - adds r1, r6, #0 - adds r1, #0x3f - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x40 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x7f - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x80 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - b _0808E63A - .align 2, 0 -_0808E5FC: .4byte 0xFFFFFEFF -_0808E600: .4byte 0x0000408F -_0808E604: .4byte 0xFFFFFF00 -_0808E608: .4byte 0x0000406C -_0808E60C: .4byte 0xFFFFFEFE -_0808E610: .4byte 0x0000406D -_0808E614: - mov r0, r8 - adds r0, #0x74 - ldrh r6, [r0] - subs r7, r6, #1 - ldr r5, _0808E66C @ =0x0000408E - mov r4, r8 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r5, #0 - adds r1, r7, #0 - bl sub_0800015E - ldrb r2, [r4] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0800015E - movs r1, #2 - mov sb, r1 -_0808E63A: - movs r5, #0 - cmp r5, sb - bhs _0808E662 - ldr r6, _0808E66C @ =0x0000408E - mov r4, r8 - adds r4, #0x38 -_0808E646: - adds r7, #0x40 - ldrb r2, [r4] - adds r0, r6, #0 - adds r1, r7, #0 - bl sub_0800015E - adds r1, r7, #1 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - adds r5, #1 - cmp r5, sb - blo _0808E646 -_0808E662: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0808E66C: .4byte 0x0000408E - - thumb_func_start sub_0808E670 -sub_0808E670: @ 0x0808E670 - push {lr} - adds r0, #0x74 - ldrh r0, [r0] - ldr r1, _0808E684 @ =0xFFFFFEFF - adds r0, r0, r1 - movs r1, #1 - bl sub_080002B0 - pop {pc} - .align 2, 0 -_0808E684: .4byte 0xFFFFFEFF - - thumb_func_start sub_0808E688 -sub_0808E688: @ 0x0808E688 - push {lr} - ldr r2, _0808E69C @ =gUnk_08121C48 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808E69C: .4byte gUnk_08121C48 - - thumb_func_start sub_0808E6A0 -sub_0808E6A0: @ 0x0808E6A0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x84 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808E6B4 - bl sub_0805E780 -_0808E6B4: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x62 - strb r0, [r4, #0xa] - ldrb r1, [r4, #0x18] - subs r0, #0x66 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, _0808E6E0 @ =gUnk_08121C58 - str r0, [r4, #0x48] - adds r1, r4, #0 - adds r1, #0x38 - movs r2, #3 - movs r0, #3 - strb r0, [r1] - ldrb r1, [r4, #0x11] - subs r0, #0x13 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x11] - pop {r4, pc} - .align 2, 0 -_0808E6E0: .4byte gUnk_08121C58 - - thumb_func_start sub_0808E6E4 -sub_0808E6E4: @ 0x0808E6E4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0808E712 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - bl sub_0808E714 -_0808E712: - pop {r4, pc} - - thumb_func_start sub_0808E714 -sub_0808E714: @ 0x0808E714 - push {r4, lr} - adds r4, r0, #0 - ldrb r3, [r4, #0xf] - lsls r0, r3, #3 - movs r1, #0x80 - lsls r1, r1, #3 - subs r2, r1, r0 - movs r0, #0x80 - lsls r0, r0, #1 - cmp r2, r0 - ble _0808E73A - adds r0, r3, #1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - b _0808E756 -_0808E73A: - movs r0, #3 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0805EC60 - ldr r0, _0808E760 @ =0x00000141 - bl sub_080A3268 -_0808E756: - adds r0, r4, #0 - bl sub_08080CB4 - pop {r4, pc} - .align 2, 0 -_0808E760: .4byte 0x00000141 - - thumb_func_start sub_0808E764 -sub_0808E764: @ 0x0808E764 - push {r4, lr} - adds r4, r0, #0 - bl sub_08080CB4 - ldr r0, _0808E79C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0808E79A - adds r0, r4, #0 - bl sub_08017850 - cmp r0, #0 - beq _0808E79A - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - bl sub_0807CCC8 - movs r0, #0x62 - movs r1, #0 - movs r2, #0 - bl sub_080A7C00 - bl sub_0805E780 -_0808E79A: - pop {r4, pc} - .align 2, 0 -_0808E79C: .4byte gUnk_03003F80 - - thumb_func_start sub_0808E7A0 -sub_0808E7A0: @ 0x0808E7A0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0808E7B2 - adds r0, r4, #0 - bl sub_0808EFF0 -_0808E7B2: - ldr r1, _0808E7D4 @ =gUnk_08121C64 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x3f - bhi _0808E7D2 - adds r0, r4, #0 - bl sub_080042B8 -_0808E7D2: - pop {r4, pc} - .align 2, 0 -_0808E7D4: .4byte gUnk_08121C64 - - thumb_func_start sub_0808E7D8 -sub_0808E7D8: @ 0x0808E7D8 - push {lr} - ldr r2, _0808E7EC @ =gUnk_08121CCC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808E7EC: .4byte gUnk_08121CCC - - thumb_func_start sub_0808E7F0 -sub_0808E7F0: @ 0x0808E7F0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - movs r2, #2 - bl sub_080AE008 - ldrb r0, [r4, #0x1a] - movs r1, #0xf - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xff - strb r0, [r4, #0xb] - movs r0, #1 - strb r0, [r4, #0xc] - pop {r4, pc} - - thumb_func_start sub_0808E818 -sub_0808E818: @ 0x0808E818 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_0808E950 - cmp r0, #0 - bne _0808E840 - movs r1, #1 - rsbs r1, r1, #0 - strb r1, [r4, #0xb] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _0808E94E -_0808E840: - ldr r0, _0808E8C0 @ =gUnk_02019EE0 - ldrb r1, [r0, #6] - ldrb r0, [r4, #0xb] - adds r6, r4, #0 - adds r6, #0x68 - adds r5, r4, #0 - adds r5, #0x70 - cmp r0, r1 - beq _0808E894 - strb r1, [r4, #0xb] - movs r0, #0x14 - bl sub_0807CC30 - movs r2, #0x80 - lsls r2, r2, #1 - adds r1, r2, #0 - cmp r0, #0 - bne _0808E86A - movs r0, #0x80 - lsls r0, r0, #3 - adds r1, r0, #0 -_0808E86A: - strh r1, [r6] - movs r0, #4 - strb r0, [r5] - movs r0, #2 - strb r0, [r4, #0x14] - movs r0, #1 - bl sub_0807A094 - ldr r1, _0808E8C4 @ =gUnk_08133368 - subs r0, #0x16 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldr r1, _0808E8C8 @ =0x00FFFFFF - ands r0, r1 - ldr r1, _0808E8CC @ =gUnk_085A2E80 - adds r0, r0, r1 - movs r1, #0x1f - movs r2, #1 - bl sub_0801D754 -_0808E894: - ldr r0, _0808E8D0 @ =gUnk_02032EC0 - ldrb r2, [r0, #2] - cmp r2, #0 - bne _0808E904 - ldr r3, _0808E8D4 @ =gUnk_03000FF0 - ldrh r1, [r3] - movs r0, #0x80 - lsls r0, r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0808E904 - ldrh r1, [r3, #2] - cmp r1, #0x20 - beq _0808E8F2 - cmp r1, #0x20 - bgt _0808E8D8 - cmp r1, #2 - beq _0808E8F8 - cmp r1, #0x10 - beq _0808E8E6 - b _0808E904 - .align 2, 0 -_0808E8C0: .4byte gUnk_02019EE0 -_0808E8C4: .4byte gUnk_08133368 -_0808E8C8: .4byte 0x00FFFFFF -_0808E8CC: .4byte gUnk_085A2E80 -_0808E8D0: .4byte gUnk_02032EC0 -_0808E8D4: .4byte gUnk_03000FF0 -_0808E8D8: - cmp r1, #0x40 - beq _0808E8E2 - cmp r1, #0x80 - beq _0808E8EC - b _0808E904 -_0808E8E2: - strb r2, [r4, #0x14] - b _0808E904 -_0808E8E6: - movs r0, #1 - strb r0, [r4, #0x14] - b _0808E904 -_0808E8EC: - movs r0, #2 - strb r0, [r4, #0x14] - b _0808E904 -_0808E8F2: - movs r0, #3 - strb r0, [r4, #0x14] - b _0808E904 -_0808E8F8: - ldrb r0, [r5] - movs r1, #0 - cmp r0, #0 - bne _0808E902 - movs r1, #4 -_0808E902: - strb r1, [r5] -_0808E904: - movs r2, #0 - ldrb r0, [r4, #0x14] - cmp r0, #3 - bne _0808E90E - movs r2, #1 -_0808E90E: - lsls r2, r2, #6 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrh r0, [r6] - ldrb r1, [r5] - adds r0, r0, r1 - ldrb r2, [r4, #0x14] - adds r1, r0, r2 - adds r2, r4, #0 - adds r2, #0x6a - ldrh r0, [r2] - cmp r0, r1 - beq _0808E940 - strh r1, [r2] - lsrs r0, r1, #8 - strh r0, [r4, #0x12] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r0, r4, #0 - bl sub_080042AC -_0808E940: - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #2 - orrs r1, r0 - strb r1, [r4, #0x18] -_0808E94E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0808E950 -sub_0808E950: @ 0x0808E950 - push {lr} - movs r2, #0 - ldr r0, _0808E980 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #0 - beq _0808E968 - cmp r0, #0 - blt _0808E97C - cmp r0, #7 - bgt _0808E97C - cmp r0, #4 - blt _0808E97C -_0808E968: - ldr r0, _0808E984 @ =gUnk_02019EE0 - adds r1, r0, #0 - adds r1, #8 - ldrb r0, [r0, #6] - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #1 - bne _0808E97C - movs r2, #1 -_0808E97C: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0808E980: .4byte gUnk_02032EC0 -_0808E984: .4byte gUnk_02019EE0 - - thumb_func_start sub_0808E988 -sub_0808E988: @ 0x0808E988 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _0808E9AA - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0xa1 - lsls r0, r0, #1 - strh r0, [r5, #0x12] - movs r0, #0xff - strb r0, [r5, #0xb] - adds r0, r5, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 -_0808E9AA: - bl sub_0808E950 - cmp r0, #0 - beq _0808E9E8 - movs r4, #6 - b _0808E9BC -_0808E9B6: - subs r4, #1 - cmp r4, #0 - beq _0808E9E8 -_0808E9BC: - adds r0, r4, #0 - bl sub_0807CA84 - cmp r0, #0 - beq _0808E9B6 - cmp r4, #0 - beq _0808E9E8 - ldrb r0, [r5, #0xb] - cmp r0, r4 - beq _0808E9D8 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080042AC -_0808E9D8: - ldrb r0, [r5, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #2 - orrs r1, r0 - strb r1, [r5, #0x18] - b _0808E9F2 -_0808E9E8: - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r5, #0x18] -_0808E9F2: - pop {r4, r5, pc} - - thumb_func_start sub_0808E9F4 -sub_0808E9F4: @ 0x0808E9F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0808E950 - cmp r0, #0 - beq _0808EA1C - ldr r0, _0808EA18 @ =gUnk_02002A40 - ldrb r0, [r0, #6] - cmp r0, #0 - beq _0808EA1C - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #2 - orrs r1, r0 - strb r1, [r4, #0x18] - b _0808EA26 - .align 2, 0 -_0808EA18: .4byte gUnk_02002A40 -_0808EA1C: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_0808EA26: - pop {r4, pc} - - thumb_func_start sub_0808EA28 -sub_0808EA28: @ 0x0808EA28 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _0808EA56 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #1 - bls _0808EA4C - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #2 - orrs r1, r0 - strb r1, [r4, #0x18] - b _0808EA56 -_0808EA4C: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_0808EA56: - ldr r2, _0808EA68 @ =gUnk_02019EE0 - ldrb r1, [r4, #0xa] - ldrb r0, [r2, #6] - cmp r1, r0 - bne _0808EA6C - movs r3, #0xc - movs r2, #1 - b _0808EA88 - .align 2, 0 -_0808EA68: .4byte gUnk_02019EE0 -_0808EA6C: - ldr r0, _0808EA80 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #5 - bne _0808EA84 - ldrb r2, [r2, #7] - cmp r1, r2 - bne _0808EA84 - movs r3, #0xd - b _0808EA86 - .align 2, 0 -_0808EA80: .4byte gUnk_02032EC0 -_0808EA84: - movs r3, #0xe -_0808EA86: - movs r2, #2 -_0808EA88: - ldrb r1, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r4, #0x1a] - lsls r2, r2, #6 - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x19] - adds r0, r4, #0 - bl sub_0808EABC - adds r0, r4, #0 - bl sub_0808EF6C - ldr r2, _0808EAB8 @ =gUnk_02019EE0 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - pop {r4, pc} - .align 2, 0 -_0808EAB8: .4byte gUnk_02019EE0 - - thumb_func_start sub_0808EABC -sub_0808EABC: @ 0x0808EABC - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0x48 - rsbs r4, r4, #0 - ldrb r1, [r5, #0xa] - lsls r0, r1, #5 - adds r2, r0, #0 - adds r2, #0x28 - movs r3, #0 - ldr r0, _0808EAEC @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - cmp r0, r1 - bne _0808EAD8 - movs r3, #1 -_0808EAD8: - ldr r0, _0808EAF0 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #7 - bhi _0808EB60 - lsls r0, r0, #2 - ldr r1, _0808EAF4 @ =_0808EAF8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808EAEC: .4byte gUnk_02019EE0 -_0808EAF0: .4byte gUnk_02032EC0 -_0808EAF4: .4byte _0808EAF8 -_0808EAF8: @ jump table - .4byte _0808EB18 @ case 0 - .4byte _0808EB60 @ case 1 - .4byte _0808EB56 @ case 2 - .4byte _0808EB1C @ case 3 - .4byte _0808EB1C @ case 4 - .4byte _0808EB26 @ case 5 - .4byte _0808EB1C @ case 6 - .4byte _0808EB1C @ case 7 -_0808EB18: - movs r4, #0x18 - b _0808EB68 -_0808EB1C: - cmp r3, #0 - beq _0808EB68 - movs r4, #0x2a - movs r2, #0x38 - b _0808EB68 -_0808EB26: - ldr r3, _0808EB3C @ =gUnk_02000080 - adds r0, r3, #0 - adds r0, #0x10 - ldrb r1, [r5, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - cmp r1, #0 - bne _0808EB40 - movs r4, #0x2a - movs r2, #0x28 - b _0808EB68 - .align 2, 0 -_0808EB3C: .4byte gUnk_02000080 -_0808EB40: - cmp r1, #0 - blt _0808EB68 - cmp r1, #2 - bgt _0808EB68 - movs r4, #0x14 - movs r2, #0x90 - ldrb r0, [r3, #0x16] - subs r0, r0, r1 - lsls r0, r0, #5 - subs r2, r2, r0 - b _0808EB68 -_0808EB56: - cmp r3, #0 - beq _0808EB68 - movs r4, #0x1a - movs r2, #0x2a - b _0808EB68 -_0808EB60: - cmp r3, #0 - beq _0808EB68 - movs r4, #8 - movs r2, #0x23 -_0808EB68: - adds r0, r5, #0 - adds r0, #0x68 - strh r4, [r0] - adds r0, #2 - strh r2, [r0] - pop {r4, r5, pc} - - thumb_func_start sub_0808EB74 -sub_0808EB74: @ 0x0808EB74 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0808EBA8 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_0808EC80 - adds r3, r0, #0 - cmp r3, #0 - beq _0808EBAC - ldr r0, [r3, #0x2c] - str r0, [r4, #0x2c] - ldr r0, [r3, #0x30] - str r0, [r4, #0x30] - ldrb r1, [r3, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_0806FAD8 - b _0808EBB4 - .align 2, 0 -_0808EBA8: .4byte gUnk_02019EE0 -_0808EBAC: - movs r0, #0xf0 - lsls r0, r0, #8 - strh r0, [r4, #0x2e] - strh r0, [r4, #0x32] -_0808EBB4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808EBB8 -sub_0808EBB8: @ 0x0808EBB8 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldr r0, _0808EBD0 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - subs r0, #2 - cmp r0, #5 - bhi _0808EC1C - lsls r0, r0, #2 - ldr r1, _0808EBD4 @ =_0808EBD8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808EBD0: .4byte gUnk_02032EC0 -_0808EBD4: .4byte _0808EBD8 -_0808EBD8: @ jump table - .4byte _0808EC18 @ case 0 - .4byte _0808EC1C @ case 1 - .4byte _0808EBF0 @ case 2 - .4byte _0808EBFC @ case 3 - .4byte _0808EC00 @ case 4 - .4byte _0808EC14 @ case 5 -_0808EBF0: - ldr r0, _0808EBF8 @ =gUnk_02000080 - ldrb r0, [r0, #1] - adds r1, r0, #4 - b _0808EC1E - .align 2, 0 -_0808EBF8: .4byte gUnk_02000080 -_0808EBFC: - movs r1, #2 - b _0808EC1E -_0808EC00: - ldr r0, _0808EC10 @ =gUnk_02000080 - ldrb r0, [r0, #1] - movs r1, #6 - cmp r0, #0 - bne _0808EC1E - movs r1, #7 - b _0808EC1E - .align 2, 0 -_0808EC10: .4byte gUnk_02000080 -_0808EC14: - movs r1, #4 - b _0808EC1E -_0808EC18: - movs r1, #1 - b _0808EC1E -_0808EC1C: - movs r1, #0 -_0808EC1E: - movs r5, #0xf0 - lsls r5, r5, #8 - adds r6, r5, #0 - cmp r1, #1 - beq _0808EC32 - cmp r1, #1 - blo _0808EC76 - cmp r1, #2 - beq _0808EC42 - b _0808EC4C -_0808EC32: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - lsls r0, r0, #4 - adds r5, r0, #0 - adds r5, #0x18 - movs r6, #0x70 - b _0808EC76 -_0808EC42: - ldr r0, _0808EC7C @ =gUnk_02019EE0 - ldrb r1, [r0, #7] - cmp r1, #4 - bne _0808EC4C - movs r1, #7 -_0808EC4C: - adds r0, r1, #0 - bl sub_0808EC80 - adds r4, r0, #0 - cmp r4, #0 - beq _0808EC76 - adds r1, r7, #0 - bl sub_0806FAD8 - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r7, #0x19] - movs r1, #0x3f - ands r1, r2 - orrs r1, r0 - strb r1, [r7, #0x19] - movs r0, #0x2e - ldrsh r6, [r4, r0] - movs r0, #0x32 - ldrsh r5, [r4, r0] -_0808EC76: - strh r6, [r7, #0x2e] - strh r5, [r7, #0x32] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0808EC7C: .4byte gUnk_02019EE0 - - thumb_func_start sub_0808EC80 -sub_0808EC80: @ 0x0808EC80 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r3, _0808ECA4 @ =gUnk_03003DA0 - ldr r2, [r3, #4] - cmp r2, r3 - beq _0808ECB6 - ldr r6, _0808ECA8 @ =0x0000FFFF - ldr r5, _0808ECAC @ =0x00004806 -_0808EC90: - ldrh r1, [r2, #8] - adds r0, r6, #0 - ands r0, r1 - cmp r0, r5 - bne _0808ECB0 - ldrb r0, [r2, #0xa] - cmp r4, r0 - bne _0808ECB0 - adds r0, r2, #0 - b _0808ECB8 - .align 2, 0 -_0808ECA4: .4byte gUnk_03003DA0 -_0808ECA8: .4byte 0x0000FFFF -_0808ECAC: .4byte 0x00004806 -_0808ECB0: - ldr r2, [r2, #4] - cmp r2, r3 - bne _0808EC90 -_0808ECB6: - movs r0, #0 -_0808ECB8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808ECBC -sub_0808ECBC: @ 0x0808ECBC - push {r4, lr} - adds r3, r0, #0 - ldr r0, _0808ECD8 @ =gUnk_02000080 - ldrb r4, [r0, #1] - ldr r0, _0808ECDC @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #5 - beq _0808ECEE - cmp r0, #5 - bgt _0808ECE0 - cmp r0, #4 - beq _0808ECEA - b _0808ED04 - .align 2, 0 -_0808ECD8: .4byte gUnk_02000080 -_0808ECDC: .4byte gUnk_02032EC0 -_0808ECE0: - cmp r0, #6 - beq _0808ECFC - cmp r0, #7 - beq _0808ED00 - b _0808ED04 -_0808ECEA: - movs r0, #1 - b _0808ED06 -_0808ECEE: - ldr r0, _0808ECF8 @ =gUnk_02019EE0 - ldrb r4, [r0, #7] - movs r0, #2 - b _0808ED06 - .align 2, 0 -_0808ECF8: .4byte gUnk_02019EE0 -_0808ECFC: - movs r0, #3 - b _0808ED06 -_0808ED00: - movs r0, #4 - b _0808ED06 -_0808ED04: - movs r0, #0 -_0808ED06: - ldrb r2, [r3, #0xa] - subs r2, #4 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - lsls r0, r2, #1 - adds r0, r0, r2 - ldr r2, _0808ED3C @ =gUnk_08121CD4 - adds r0, r0, r2 - adds r1, r1, r0 - ldrb r2, [r1, #1] - adds r0, r3, #0 - adds r0, #0x68 - strh r2, [r0] - ldrb r0, [r1, #2] - adds r2, r3, #0 - adds r2, #0x6a - strh r0, [r2] - ldrb r0, [r1] - cmp r0, r4 - bne _0808ED40 - ldrb r0, [r3, #0x1a] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #0xd - b _0808ED4A - .align 2, 0 -_0808ED3C: .4byte gUnk_08121CD4 -_0808ED40: - ldrb r0, [r3, #0x1a] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #0xe -_0808ED4A: - orrs r1, r0 - strb r1, [r3, #0x1a] - adds r0, r3, #0 - bl sub_0808EF6C - ldr r2, _0808ED60 @ =gUnk_02019EE0 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - pop {r4, pc} - .align 2, 0 -_0808ED60: .4byte gUnk_02019EE0 - - thumb_func_start sub_0808ED64 -sub_0808ED64: @ 0x0808ED64 - push {lr} - adds r2, r0, #0 - movs r3, #0xff - ldr r0, _0808ED90 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #1 - bne _0808ED8A - ldr r1, _0808ED94 @ =gUnk_02000080 - ldrb r0, [r1, #0x11] - cmp r0, #5 - beq _0808ED8A - ldrb r0, [r1, #0x10] - lsls r0, r0, #4 - adds r0, #0x1c - strh r0, [r2, #0x2e] - ldrb r0, [r1, #0x11] - lsls r0, r0, #4 - adds r3, r0, #0 - adds r3, #0x3a -_0808ED8A: - strh r3, [r2, #0x32] - pop {pc} - .align 2, 0 -_0808ED90: .4byte gUnk_02032EC0 -_0808ED94: .4byte gUnk_02000080 - - thumb_func_start sub_0808ED98 -sub_0808ED98: @ 0x0808ED98 - push {lr} - adds r3, r0, #0 - ldr r0, _0808EDB4 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #1 - beq _0808EDB8 - adds r1, r3, #0 - adds r1, #0x68 - movs r0, #0x1b - strh r0, [r1] - movs r1, #0xa - rsbs r1, r1, #0 - b _0808EDCE - .align 2, 0 -_0808EDB4: .4byte gUnk_02032EC0 -_0808EDB8: - ldr r0, _0808EDF8 @ =gUnk_02000080 - ldrb r0, [r0, #0x13] - cmp r0, #5 - bls _0808EDC2 - movs r0, #5 -_0808EDC2: - lsls r0, r0, #3 - adds r0, #0x1b - adds r1, r3, #0 - adds r1, #0x68 - strh r0, [r1] - movs r1, #0x18 -_0808EDCE: - strh r1, [r3, #0x32] - adds r0, r3, #0 - adds r0, #0x6a - strh r1, [r0] - ldrb r0, [r3, #0xf] - adds r0, #1 - strb r0, [r3, #0xf] - ldr r2, _0808EDFC @ =gUnk_08121D10 - ldrb r0, [r3, #0xf] - lsrs r0, r0, #2 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, r3, #0 - adds r1, #0x63 - strb r0, [r1] - adds r0, r3, #0 - bl sub_0808EF6C - pop {pc} - .align 2, 0 -_0808EDF8: .4byte gUnk_02000080 -_0808EDFC: .4byte gUnk_08121D10 - - thumb_func_start sub_0808EE00 -sub_0808EE00: @ 0x0808EE00 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - rsbs r2, r0, #0 - orrs r2, r0 - lsrs r2, r2, #0x1f - ldrb r0, [r4, #0xa] - adds r5, r0, #0 - subs r5, #0xa - ldr r1, _0808EE48 @ =gUnk_08121D38 - lsls r0, r2, #3 - adds r0, r5, r0 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0x1e] - ldr r3, _0808EE4C @ =gUnk_08121D18 - lsls r0, r5, #1 - lsls r1, r2, #4 - adds r0, r0, r1 - adds r0, r0, r3 - ldrh r1, [r0] - strh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - subs r5, r5, r2 - ldr r0, _0808EE50 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #1 - beq _0808EE54 - movs r5, #0x80 - movs r1, #0xb0 - b _0808EE56 - .align 2, 0 -_0808EE48: .4byte gUnk_08121D38 -_0808EE4C: .4byte gUnk_08121D18 -_0808EE50: .4byte gUnk_02032EC0 -_0808EE54: - movs r1, #0x8c -_0808EE56: - adds r0, r4, #0 - adds r0, #0x6a - strh r1, [r0] - ldr r1, _0808EE8C @ =gUnk_02000080 - ldrb r0, [r1, #0x11] - movs r2, #9 - cmp r0, #5 - bne _0808EE6E - ldrb r1, [r1, #0x12] - cmp r5, r1 - bne _0808EE6E - movs r2, #0xb -_0808EE6E: - ldrb r1, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x1a] - adds r0, r4, #0 - bl sub_0808EF6C - ldr r2, _0808EE90 @ =gUnk_02019EE0 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - pop {r4, r5, pc} - .align 2, 0 -_0808EE8C: .4byte gUnk_02000080 -_0808EE90: .4byte gUnk_02019EE0 - - thumb_func_start nullsub_522 -nullsub_522: @ 0x0808EE94 - bx lr - .align 2, 0 - - thumb_func_start sub_0808EE98 -sub_0808EE98: @ 0x0808EE98 - push {lr} - adds r3, r0, #0 - ldr r0, _0808EEBC @ =gUnk_02032EC0 - ldrb r1, [r0, #2] - strb r1, [r3, #0xe] - ldr r2, _0808EEC0 @ =gUnk_08121D48 - ldrb r0, [r3, #0xe] - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r3, #0x1e] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #2 - beq _0808EEC4 - adds r1, r3, #0 - adds r1, #0x68 - movs r0, #0x60 - b _0808EECA - .align 2, 0 -_0808EEBC: .4byte gUnk_02032EC0 -_0808EEC0: .4byte gUnk_08121D48 -_0808EEC4: - adds r1, r3, #0 - adds r1, #0x68 - ldr r0, _0808EED4 @ =0x0000FFA0 -_0808EECA: - strh r0, [r1] - adds r0, r3, #0 - bl sub_0808EF6C - pop {pc} - .align 2, 0 -_0808EED4: .4byte 0x0000FFA0 - - thumb_func_start sub_0808EED8 -sub_0808EED8: @ 0x0808EED8 - push {lr} - adds r2, r0, #0 - ldr r0, _0808EEF0 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #3 - beq _0808EEF4 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - b _0808EF1E - .align 2, 0 -_0808EEF0: .4byte gUnk_02032EC0 -_0808EEF4: - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #0x18] - ldrb r1, [r2, #0xa] - subs r1, #0x13 - ldr r0, _0808EF20 @ =gUnk_02000080 - ldrb r0, [r0, #1] - movs r3, #3 - cmp r0, r1 - bne _0808EF12 - movs r3, #4 -_0808EF12: - ldrb r1, [r2, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, #0x1a] -_0808EF1E: - pop {pc} - .align 2, 0 -_0808EF20: .4byte gUnk_02000080 - - thumb_func_start sub_0808EF24 -sub_0808EF24: @ 0x0808EF24 - push {lr} - adds r2, r0, #0 - ldr r0, _0808EF3C @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #3 - beq _0808EF40 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - b _0808EF68 - .align 2, 0 -_0808EF3C: .4byte gUnk_02032EC0 -_0808EF40: - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #0x18] - ldrb r0, [r2, #0xa] - cmp r0, #0x15 - bne _0808EF5C - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r1, [r0, #5] - b _0808EF62 -_0808EF5C: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r1, [r0, #6] -_0808EF62: - ldrb r0, [r2, #0x1f] - adds r0, r0, r1 - strb r0, [r2, #0x1e] -_0808EF68: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808EF6C -sub_0808EF6C: @ 0x0808EF6C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r0, #0x68 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r2, #0x2e - ldrsh r0, [r5, r2] - subs r6, r1, r0 - adds r0, r6, #0 - cmp r6, #0 - bge _0808EF84 - rsbs r0, r6, #0 -_0808EF84: - cmp r0, #1 - bhi _0808EF8E - lsls r0, r1, #0x10 - str r0, [r5, #0x2c] - movs r6, #0 -_0808EF8E: - adds r0, r5, #0 - adds r0, #0x6a - movs r2, #0 - ldrsh r1, [r0, r2] - movs r2, #0x32 - ldrsh r0, [r5, r2] - subs r4, r1, r0 - adds r0, r4, #0 - cmp r4, #0 - bge _0808EFA4 - rsbs r0, r4, #0 -_0808EFA4: - cmp r0, #1 - bhi _0808EFAE - lsls r0, r1, #0x10 - str r0, [r5, #0x30] - movs r4, #0 -_0808EFAE: - adds r0, r6, #0 - orrs r0, r4 - cmp r0, #0 - bne _0808EFBA - movs r0, #0 - b _0808EFEC -_0808EFBA: - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_080041EC - adds r1, r0, #0 - adds r0, #0x80 - lsls r1, r1, #4 - adds r1, r0, r1 - adds r0, r5, #0 - adds r0, #0x6c - ldrh r0, [r0] - cmp r0, r1 - bge _0808EFD6 - adds r1, r0, #0 -_0808EFD6: - strh r1, [r5, #0x24] - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_080045DA - lsrs r0, r0, #3 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F69C - movs r0, #1 -_0808EFEC: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808EFF0 -sub_0808EFF0: @ 0x0808EFF0 - push {r4, r5, lr} - mov ip, r0 - ldrb r1, [r0, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x18] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r1, #0x24] - adds r1, #0x45 - movs r0, #1 - strb r0, [r1] - movs r0, #0xff - mov r3, ip - strb r0, [r3, #0x1e] - adds r1, #0x13 - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - ldrb r4, [r3, #0xa] - lsls r4, r4, #3 - ldr r0, _0808F094 @ =gUnk_08121D54 - adds r4, r4, r0 - ldrh r0, [r4, #2] - strh r0, [r3, #0x2e] - ldrh r1, [r4, #2] - mov r0, ip - adds r0, #0x68 - strh r1, [r0] - ldrh r0, [r4, #4] - strh r0, [r3, #0x32] - ldrh r0, [r4, #4] - mov r1, ip - adds r1, #0x6a - strh r0, [r1] - ldrb r1, [r4, #6] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x17 - ldrb r3, [r3, #0x19] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r3 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x19] - ldrb r1, [r4, #6] - lsls r1, r1, #0x1a - mov r5, ip - adds r5, #0x29 - lsrs r1, r1, #0x1d - ldrb r3, [r5] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r5] - ldrb r0, [r4, #6] - lsrs r0, r0, #6 - lsls r0, r0, #6 - mov r3, ip - ldrb r1, [r3, #0x1b] - ands r2, r1 - orrs r2, r0 - strb r2, [r3, #0x1b] - ldrh r1, [r4] - mov r0, ip - adds r0, #0x6c - strh r1, [r0] - ldrb r1, [r4, #7] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808F098 - movs r0, #0x7f - ands r1, r0 - strb r1, [r3, #0x1e] - strb r1, [r3, #0x1f] - b _0808F09E - .align 2, 0 -_0808F094: .4byte gUnk_08121D54 -_0808F098: - mov r0, ip - bl sub_080042AC -_0808F09E: - pop {r4, r5, pc} - - thumb_func_start sub_0808F0A0 -sub_0808F0A0: @ 0x0808F0A0 - push {lr} - ldr r2, _0808F0B4 @ =gUnk_08121E5C - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808F0B4: .4byte gUnk_08121E5C - - thumb_func_start sub_0808F0B8 -sub_0808F0B8: @ 0x0808F0B8 - push {lr} - ldr r2, _0808F0CC @ =gUnk_08121E88 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808F0CC: .4byte gUnk_08121E88 - - thumb_func_start sub_0808F0D0 -sub_0808F0D0: @ 0x0808F0D0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r1, #0x49 - movs r2, #2 - movs r3, #0 - bl sub_080A2988 - str r0, [r5, #0x54] - cmp r0, #0 - bne _0808F0E8 - bl sub_0805E780 -_0808F0E8: - movs r6, #1 - strb r6, [r5, #0xc] - ldr r0, _0808F148 @ =0x0000FF40 - strh r0, [r5, #0x36] - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #0x3f - ands r4, r0 - bl sub_08000E50 - ands r0, r6 - cmp r0, #0 - beq _0808F106 - rsbs r4, r4, #0 -_0808F106: - ldr r0, [r5, #0x50] - ldrh r0, [r0, #0x2e] - adds r0, r0, r4 - strh r0, [r5, #0x2e] - bl sub_08000E50 - adds r4, r0, #0 - movs r0, #0x1f - ands r4, r0 - bl sub_08000E50 - ands r0, r6 - cmp r0, #0 - beq _0808F124 - rsbs r4, r4, #0 -_0808F124: - ldr r0, [r5, #0x50] - ldrh r0, [r0, #0x32] - adds r0, r0, r4 - strh r0, [r5, #0x32] - movs r0, #0x90 - lsls r0, r0, #2 - str r0, [r5, #0x74] - movs r0, #0xa0 - lsls r0, r0, #1 - str r0, [r5, #0x78] - adds r0, r5, #0 - movs r1, #3 - bl sub_08004260 - adds r0, r5, #0 - bl sub_0808F14C - pop {r4, r5, r6, pc} - .align 2, 0 -_0808F148: .4byte 0x0000FF40 - - thumb_func_start sub_0808F14C -sub_0808F14C: @ 0x0808F14C - push {r4, lr} - adds r4, r0, #0 - bl sub_0808F2B0 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0808F16E - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x84 - bl sub_080A3268 -_0808F16E: - pop {r4, pc} - - thumb_func_start sub_0808F170 -sub_0808F170: @ 0x0808F170 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x74] - subs r0, #0x20 - str r0, [r4, #0x74] - ldr r1, [r4, #0x78] - adds r1, #0x20 - str r1, [r4, #0x78] - adds r0, r4, #0 - movs r2, #8 - movs r3, #2 - bl sub_0806FCF4 - ldr r1, [r4, #0x78] - ldr r0, _0808F1A0 @ =0x000001FF - cmp r1, r0 - bls _0808F198 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_0808F198: - adds r0, r4, #0 - bl sub_0808F2B0 - pop {r4, pc} - .align 2, 0 -_0808F1A0: .4byte 0x000001FF - - thumb_func_start sub_0808F1A4 -sub_0808F1A4: @ 0x0808F1A4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x78] - adds r1, #0x10 - str r1, [r4, #0x78] - ldr r0, [r4, #0x74] - adds r0, #0x10 - str r0, [r4, #0x74] - adds r0, r4, #0 - movs r2, #8 - movs r3, #2 - bl sub_0806FCF4 - ldr r1, [r4, #0x78] - ldr r0, _0808F1D4 @ =0x000003FF - cmp r1, r0 - bls _0808F1D8 - ldr r1, [r4, #0x54] - movs r0, #0xff - strb r0, [r1, #0xc] - bl sub_0805E780 - b _0808F1DE - .align 2, 0 -_0808F1D4: .4byte 0x000003FF -_0808F1D8: - adds r0, r4, #0 - bl sub_0808F2B0 -_0808F1DE: - pop {r4, pc} - - thumb_func_start sub_0808F1E0 -sub_0808F1E0: @ 0x0808F1E0 - push {lr} - ldr r2, _0808F1F4 @ =gUnk_08121E98 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808F1F4: .4byte gUnk_08121E98 - - thumb_func_start sub_0808F1F8 -sub_0808F1F8: @ 0x0808F1F8 - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0x19] - movs r0, #3 - orrs r2, r0 - strb r2, [r4, #0x19] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldr r3, [r4, #0x50] - ldrb r1, [r3, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - movs r0, #0x3f - ands r2, r0 - orrs r2, r1 - strb r2, [r4, #0x19] - ldrb r1, [r3, #0x1b] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x1b] - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1b] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0808F244 - pop {r4, pc} - - thumb_func_start sub_0808F244 -sub_0808F244: @ 0x0808F244 - push {r4, lr} - adds r4, r0, #0 - ldr r3, [r4, #0x50] - ldrb r1, [r3, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrh r0, [r3, #0x32] - adds r0, #3 - movs r2, #0 - strh r0, [r4, #0x32] - ldr r1, [r4, #0x54] - adds r0, r1, #0 - adds r0, #0x62 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r1, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - str r2, [r4, #0x34] - movs r0, #0x36 - ldrsh r1, [r3, r0] - movs r0, #0x80 - subs r0, r0, r1 - str r0, [r4, #0x74] - movs r0, #0x36 - ldrsh r1, [r3, r0] - movs r0, #0x80 - lsls r0, r0, #1 - subs r0, r0, r1 - str r0, [r4, #0x78] - adds r3, #0x7f - ldrb r0, [r3] - str r0, [r4, #0x70] - adds r0, r4, #0 - bl sub_0808F2B0 - ldr r0, [r4, #0x50] - adds r0, #0x6d - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0808F2AC - bl sub_0805E780 -_0808F2AC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808F2B0 -sub_0808F2B0: @ 0x0808F2B0 - push {lr} - ldr r1, [r0, #0x74] - ldr r2, [r0, #0x78] - ldr r3, [r0, #0x70] - bl sub_0805EC9C - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808F2C0 -sub_0808F2C0: @ 0x0808F2C0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - adds r6, r0, #0 - cmp r6, #0 - bne _0808F322 - adds r0, #1 - strb r0, [r5, #0xc] - ldr r4, [r5, #0x50] - ldrb r2, [r4, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r5, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, #0x19] - ldrb r0, [r4, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x1b] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - str r6, [r5, #0x34] - ldr r1, [r5, #0x50] - ldrh r0, [r1, #0x32] - adds r0, #3 - strh r0, [r5, #0x32] - ldrh r0, [r1, #0x2e] - strh r0, [r5, #0x2e] - adds r0, r5, #0 - movs r1, #3 - bl sub_08004260 -_0808F322: - ldr r2, [r5, #0x50] - movs r1, #0x36 - ldrsh r0, [r2, r1] - cmp r0, #0 - bne _0808F334 - ldr r0, [r2, #0x74] - str r0, [r5, #0x74] - ldr r0, [r2, #0x78] - b _0808F34C -_0808F334: - movs r0, #0x36 - ldrsh r1, [r2, r0] - movs r0, #0x80 - lsls r0, r0, #2 - subs r0, r0, r1 - str r0, [r5, #0x74] - movs r0, #0x36 - ldrsh r1, [r2, r0] - lsls r1, r1, #1 - movs r0, #0xc0 - lsls r0, r0, #2 - subs r0, r0, r1 -_0808F34C: - str r0, [r5, #0x78] - movs r0, #0 - str r0, [r5, #0x70] - adds r0, r5, #0 - bl sub_0808F2B0 - ldr r1, [r5, #0x78] - adds r0, r5, #0 - movs r2, #8 - movs r3, #2 - bl sub_0806FCF4 - ldrb r0, [r5, #0xc] - cmp r0, #0xff - bne _0808F36E - bl sub_0805E780 -_0808F36E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0808F370 -sub_0808F370: @ 0x0808F370 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xc] - cmp r1, #0 - bne _0808F388 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xd] - cmp r0, #1 - bne _0808F3DA - strb r0, [r4, #0xc] - str r1, [r4, #0x70] - b _0808F3CC -_0808F388: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xd] - subs r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #4 - bhi _0808F3D4 - ldr r0, [r4, #0x70] - cmp r0, #0 - bne _0808F3C4 - ldr r0, [r4, #0x74] - subs r0, #1 - str r0, [r4, #0x74] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _0808F3DA - bl sub_08000E50 - ldr r2, _0808F3C0 @ =gUnk_08121EA0 - movs r1, #1 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r1] - str r0, [r4, #0x70] - b _0808F3DA - .align 2, 0 -_0808F3C0: .4byte gUnk_08121EA0 -_0808F3C4: - subs r0, #1 - str r0, [r4, #0x70] - cmp r0, #0 - bne _0808F3DA -_0808F3CC: - adds r0, r4, #0 - bl sub_0808F5EC - b _0808F3DA -_0808F3D4: - movs r0, #0 - strb r0, [r4, #0xc] - str r0, [r4, #0x74] -_0808F3DA: - pop {r4, pc} - - thumb_func_start sub_0808F3DC -sub_0808F3DC: @ 0x0808F3DC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0808F438 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0xa] - adds r1, #1 - adds r0, r4, #0 - bl sub_08004260 - ldrb r0, [r4, #0xa] - cmp r0, #8 - beq _0808F41A - cmp r0, #7 - bne _0808F42E - ldr r0, [r4, #0x54] - adds r1, r4, #0 - bl sub_0806FAD8 - b _0808F494 -_0808F41A: - ldr r0, [r4, #0x54] - adds r0, #0x3f - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x3f - strb r0, [r1] - ldr r0, [r4, #0x54] - adds r0, #0x3f - movs r1, #0x7e - strb r1, [r0] -_0808F42E: - ldr r0, [r4, #0x54] - adds r1, r4, #0 - bl sub_0806FAB0 - b _0808F494 -_0808F438: - ldr r0, [r4, #0x50] - ldr r0, [r0, #0x74] - cmp r0, #0 - bne _0808F456 - ldrb r0, [r4, #0xa] - cmp r0, #8 - bne _0808F452 - ldr r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x3f - ldrb r1, [r1] - adds r0, #0x3f - strb r1, [r0] -_0808F452: - bl sub_0805E780 -_0808F456: - ldrb r0, [r4, #0xa] - cmp r0, #5 - bne _0808F486 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0808F486 - ldr r0, [r4, #0x54] - movs r1, #0x49 - movs r2, #8 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _0808F486 - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - ldr r0, [r4, #0x50] - ldr r0, [r0, #0x50] - str r0, [r1, #0x54] -_0808F486: - adds r0, r4, #0 - bl sub_08004274 - ldr r0, [r4, #0x54] - adds r1, r4, #0 - bl sub_0806FA6C -_0808F494: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808F498 -sub_0808F498: @ 0x0808F498 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - beq _0808F4EC - adds r0, r5, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0808F4C2 - ldr r0, _0808F4E4 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _0808F4BE - movs r0, #0xef - bl sub_080A3268 -_0808F4BE: - bl sub_0805E780 -_0808F4C2: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0808F4D4 - bl sub_0805E780 -_0808F4D4: - ldr r0, _0808F4E8 @ =gUnk_03003F80 - ldrb r0, [r0, #0x1c] - cmp r0, #1 - beq _0808F550 - bl sub_0805E780 - b _0808F550 - .align 2, 0 -_0808F4E4: .4byte gUnk_030010A0 -_0808F4E8: .4byte gUnk_03003F80 -_0808F4EC: - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0x40 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0xb] - movs r6, #0x2b - cmp r0, #0 - beq _0808F4FE - movs r6, #0x2c -_0808F4FE: - ldr r0, [r5, #0x50] - ldr r0, [r0, #0x48] - ldrb r1, [r0, #6] - ldrh r0, [r5, #0x2e] - subs r0, r0, r1 - strh r0, [r5, #0x2e] - bl sub_08000E50 - ldr r4, [r5, #0x50] - ldr r1, [r4, #0x48] - ldrb r1, [r1, #6] - lsls r1, r1, #1 - bl __modsi3 - ldrh r1, [r5, #0x2e] - adds r1, r1, r0 - strh r1, [r5, #0x2e] - ldr r0, [r4, #0x48] - ldrb r1, [r0, #7] - ldrh r0, [r5, #0x32] - subs r0, r0, r1 - strh r0, [r5, #0x32] - bl sub_08000E50 - ldr r1, [r5, #0x50] - ldr r1, [r1, #0x48] - ldrb r1, [r1, #7] - lsls r1, r1, #1 - bl __modsi3 - ldrh r1, [r5, #0x32] - adds r1, r1, r0 - strh r1, [r5, #0x32] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0801D2B4 - adds r0, r5, #0 - movs r1, #4 - bl sub_08004260 -_0808F550: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808F554 -sub_0808F554: @ 0x0808F554 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FA6C - adds r1, r5, #0 - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #0x18 - strb r0, [r1] - ldr r0, [r5, #0x50] - adds r1, r0, #0 - adds r1, #0x62 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0808F588 - adds r2, r5, #0 - adds r2, #0x62 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - ldrb r1, [r2] - adds r0, r0, r1 - strb r0, [r2] -_0808F588: - ldrb r0, [r5, #0xc] - cmp r0, #0 - beq _0808F5AC - adds r1, r5, #0 - adds r1, #0x84 - ldr r0, [r1] - cmp r0, #0 - beq _0808F5A4 - subs r0, #1 - str r0, [r1] - cmp r0, #0 - bne _0808F5A4 - bl sub_0805E780 -_0808F5A4: - adds r0, r5, #0 - bl sub_08004274 - b _0808F5E8 -_0808F5AC: - movs r0, #1 - strb r0, [r5, #0xc] - ldr r4, [r5, #0x50] - ldrb r2, [r4, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r5, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, #0x19] - ldrb r0, [r4, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x1b] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - adds r0, r5, #0 - movs r1, #3 - bl sub_08004260 -_0808F5E8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0808F5EC -sub_0808F5EC: @ 0x0808F5EC - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - movs r1, #0x49 - movs r2, #5 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _0808F608 - str r4, [r1, #0x50] - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] -_0808F608: - ldr r0, [r4, #0x54] - movs r1, #0x49 - movs r2, #6 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _0808F620 - str r4, [r1, #0x50] - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] -_0808F620: - ldr r0, [r4, #0x54] - movs r1, #0x49 - movs r2, #7 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _0808F638 - str r4, [r1, #0x50] - ldr r0, [r4, #0x54] - str r0, [r1, #0x54] -_0808F638: - movs r0, #0x96 - lsls r0, r0, #2 - str r0, [r4, #0x74] - pop {r4, pc} - - thumb_func_start sub_0808F640 -sub_0808F640: @ 0x0808F640 - push {lr} - ldr r2, _0808F654 @ =gUnk_08121EA4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808F654: .4byte gUnk_08121EA4 - - thumb_func_start sub_0808F658 -sub_0808F658: @ 0x0808F658 - push {r4, r5, lr} - adds r5, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r5, #0x1b] - ldrb r0, [r5, #0x19] - orrs r0, r1 - strb r0, [r5, #0x19] - ldrb r0, [r5, #0xa] - adds r3, r5, #0 - adds r3, #0x29 - movs r1, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r5, #0xa] - strb r0, [r5, #0x1e] - movs r0, #8 - strb r0, [r5, #0x15] - ldr r1, _0808F6D8 @ =gUnk_08121EB0 - ldrb r0, [r5, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - movs r4, #0 - strh r0, [r5, #0x24] - ldr r3, _0808F6DC @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - adds r2, r1, #0 - subs r2, #0x60 - adds r0, r5, #0 - adds r0, #0x78 - strh r2, [r0] - ldrh r0, [r3, #0x1e] - adds r1, r1, r0 - adds r1, #0x60 - adds r0, r5, #0 - adds r0, #0x7a - strh r1, [r0] - strb r4, [r5, #0x14] - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - lsls r0, r0, #4 - ldrh r1, [r5, #0x2e] - adds r0, r0, r1 - strh r0, [r5, #0x2e] - strb r4, [r5, #0xe] - strb r4, [r5, #0xd] - pop {r4, r5, pc} - .align 2, 0 -_0808F6D8: .4byte gUnk_08121EB0 -_0808F6DC: .4byte gUnk_03000BF0 - - thumb_func_start sub_0808F6E0 -sub_0808F6E0: @ 0x0808F6E0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - adds r0, #0x78 - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r1, r0 - blt _0808F704 - adds r0, r4, #0 - adds r0, #0x7a - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r1, r0 - ble _0808F708 -_0808F704: - movs r0, #2 - strb r0, [r4, #0xc] -_0808F708: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808F70C -sub_0808F70C: @ 0x0808F70C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _0808F75C - movs r0, #1 - strb r0, [r4, #0xd] - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - lsls r0, r0, #3 - adds r0, #0x1f - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0808F738 - adds r0, r4, #0 - adds r0, #0x7a - b _0808F73C -_0808F738: - adds r0, r4, #0 - adds r0, #0x78 -_0808F73C: - ldrh r0, [r0] - strh r0, [r4, #0x2e] - ldrb r0, [r4, #0xa] - cmp r0, #2 - bne _0808F75C - bl sub_08000E50 - ldr r3, _0808F778 @ =gUnk_08121EB3 - ldrb r1, [r4, #0xb] - lsls r1, r1, #1 - movs r2, #1 - ands r2, r0 - adds r1, r1, r2 - adds r1, r1, r3 - ldrb r0, [r1] - strh r0, [r4, #0x32] -_0808F75C: - ldrb r1, [r4, #0xd] - cmp r1, #1 - bne _0808F774 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0808F774 - strb r1, [r4, #0xc] - strb r0, [r4, #0xd] -_0808F774: - pop {r4, pc} - .align 2, 0 -_0808F778: .4byte gUnk_08121EB3 - - thumb_func_start sub_0808F77C -sub_0808F77C: @ 0x0808F77C - push {lr} - ldr r2, _0808F790 @ =gUnk_08121EB8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808F790: .4byte gUnk_08121EB8 - - thumb_func_start sub_0808F794 -sub_0808F794: @ 0x0808F794 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x3c - strb r1, [r0, #0xe] - movs r1, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808F7A8 -sub_0808F7A8: @ 0x0808F7A8 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808F7D0 - movs r0, #0x78 - strb r0, [r2, #0xe] - ldrb r0, [r2, #0xc] - adds r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] -_0808F7D0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808F7D4 -sub_0808F7D4: @ 0x0808F7D4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808F80A - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_0808F80A: - pop {r4, pc} - - thumb_func_start sub_0808F80C -sub_0808F80C: @ 0x0808F80C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0808F850 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0x15] - movs r2, #0 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldrb r1, [r4, #0x1b] - movs r0, #0x3f - ands r0, r1 - strb r0, [r4, #0x1b] - strb r2, [r4, #0xe] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - ldr r0, _0808F854 @ =0x0000012B - bl sub_080A3268 -_0808F850: - pop {r4, pc} - .align 2, 0 -_0808F854: .4byte 0x0000012B - - thumb_func_start sub_0808F858 -sub_0808F858: @ 0x0808F858 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0808F884 - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0808F88A - adds r0, r4, #0 - bl sub_08004274 - b _0808F88A -_0808F884: - adds r0, r4, #0 - bl sub_08004274 -_0808F88A: - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldr r1, _0808F8C4 @ =gUnk_03000BF0 - ldrh r2, [r1, #8] - subs r0, r0, r2 - movs r1, #0x8c - lsls r1, r1, #2 - cmp r0, r1 - bgt _0808F8C8 - adds r0, r2, r1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808F8EA - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _0808F8EA - .align 2, 0 -_0808F8C4: .4byte gUnk_03000BF0 -_0808F8C8: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808F8EA - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 - ldr r0, _0808F8EC @ =0x0000012B - bl sub_080A3268 -_0808F8EA: - pop {r4, pc} - .align 2, 0 -_0808F8EC: .4byte 0x0000012B - - thumb_func_start sub_0808F8F0 -sub_0808F8F0: @ 0x0808F8F0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808F912 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 -_0808F912: - pop {r4, pc} - - thumb_func_start sub_0808F914 -sub_0808F914: @ 0x0808F914 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808F93C - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0808F93C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808F940 -sub_0808F940: @ 0x0808F940 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808F960 - ldr r1, _0808F964 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - bl sub_0805E780 -_0808F960: - pop {r4, pc} - .align 2, 0 -_0808F964: .4byte gUnk_02000080 - - thumb_func_start sub_0808F968 -sub_0808F968: @ 0x0808F968 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0808F98C @ =gUnk_08121ED8 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _0808F988 - adds r0, r4, #0 - bl sub_08090514 -_0808F988: - pop {r4, pc} - .align 2, 0 -_0808F98C: .4byte gUnk_08121ED8 - - thumb_func_start sub_0808F990 -sub_0808F990: @ 0x0808F990 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r2, #1 - strb r2, [r4, #0xc] - movs r3, #0 - movs r0, #0x80 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0xe] - strb r0, [r4, #0xf] - strb r3, [r4, #0xe] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - adds r0, r4, #0 - adds r0, #0x81 - strb r3, [r0] - adds r0, #2 - strb r3, [r0] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _0808F9E8 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x80 - strb r3, [r0] - b _0808FA1C -_0808F9E8: - adds r0, r4, #0 - adds r0, #0x80 - strb r2, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _0808FA0A - cmp r0, #4 - bne _0808FA1C -_0808FA0A: - ldrh r0, [r4, #0x32] - adds r0, #2 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xfe - strb r0, [r1] - strb r3, [r4, #0xd] - strb r3, [r4, #0x1e] -_0808FA1C: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0808FAC4 - movs r6, #0 - cmp r0, #0x80 - beq _0808FA84 - ldrh r1, [r4, #0xa] - ldr r0, _0808FA38 @ =0x00000101 - cmp r1, r0 - bne _0808FA3C - movs r0, #0xf - ldrsb r0, [r4, r0] - ldrh r1, [r4, #0x32] - b _0808FA42 - .align 2, 0 -_0808FA38: .4byte 0x00000101 -_0808FA3C: - movs r0, #0xf - ldrsb r0, [r4, r0] - ldrh r1, [r4, #0x2e] -_0808FA42: - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x7e - strh r0, [r1] - adds r5, r1, #0 - ldr r3, [r4, #0x50] - cmp r3, #0 - bne _0808FA5E - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - b _0808FA7C -_0808FA5E: - adds r2, r4, #0 - adds r2, #0x82 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808FA76 - ldrb r0, [r3, #0xc] - cmp r0, #2 - bne _0808FAA2 - adds r6, #1 - b _0808FAA2 -_0808FA76: - ldrb r0, [r2] - bl sub_0807CBD0 -_0808FA7C: - cmp r0, #0 - beq _0808FAA2 - adds r6, #1 - b _0808FAA2 -_0808FA84: - movs r6, #1 - ldrh r1, [r4, #0xa] - ldr r0, _0808FA94 @ =0x00000101 - cmp r1, r0 - bne _0808FA98 - ldrh r1, [r4, #0x32] - b _0808FA9A - .align 2, 0 -_0808FA94: .4byte 0x00000101 -_0808FA98: - ldrh r1, [r4, #0x2e] -_0808FA9A: - adds r0, r4, #0 - adds r0, #0x7e - strh r1, [r0] - adds r5, r0, #0 -_0808FAA2: - cmp r6, #0 - beq _0808FAC4 - adds r1, r4, #0 - adds r1, #0x81 - movs r0, #1 - strb r0, [r1] - ldrh r1, [r4, #0xa] - ldr r0, _0808FABC @ =0x00000101 - cmp r1, r0 - bne _0808FAC0 - ldrh r0, [r5] - strh r0, [r4, #0x32] - b _0808FAC4 - .align 2, 0 -_0808FABC: .4byte 0x00000101 -_0808FAC0: - ldrh r0, [r5] - strh r0, [r4, #0x2e] -_0808FAC4: - adds r0, r4, #0 - bl sub_0808FF50 - pop {r4, r5, r6, pc} - - thumb_func_start sub_0808FACC -sub_0808FACC: @ 0x0808FACC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0 - bne _0808FAF2 - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _0808FAEA - adds r0, r4, #0 - bl sub_0808FBFC - b _0808FB0A -_0808FAEA: - adds r0, r4, #0 - bl sub_0808FB68 - b _0808FB0A -_0808FAF2: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0808FB0A - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808FB0A - movs r0, #0x86 - lsls r0, r0, #1 - bl sub_08004488 -_0808FB0A: - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _0808FB14 - cmp r0, #4 - bne _0808FB64 -_0808FB14: - ldrb r1, [r4, #0xd] - cmp r1, #1 - beq _0808FB3E - cmp r1, #1 - bgt _0808FB24 - cmp r1, #0 - beq _0808FB2A - b _0808FB64 -_0808FB24: - cmp r1, #2 - beq _0808FB5E - b _0808FB64 -_0808FB2A: - adds r0, r4, #0 - bl sub_0808FECC - cmp r0, #0 - beq _0808FB64 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xc - strb r0, [r4, #0xe] - b _0808FB64 -_0808FB3E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808FB64 - strb r1, [r4, #0x1e] - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x80 - bl sub_08004488 - adds r0, r4, #0 - bl sub_0808FF20 - b _0808FB64 -_0808FB5E: - adds r0, r4, #0 - bl nullsub_1 -_0808FB64: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808FB68 -sub_0808FB68: @ 0x0808FB68 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x70 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - adds r1, r0, #0 - ldr r0, _0808FBAC @ =0x00004031 - cmp r1, r0 - bhi _0808FBB0 - subs r0, #1 - cmp r1, r0 - blo _0808FBB0 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r1, #0 - subs r0, #0x30 - movs r1, #1 - ands r0, r1 - lsls r0, r0, #4 - movs r1, #8 - orrs r0, r1 - strb r0, [r4, #0x15] - movs r0, #1 - bl sub_08078A90 - adds r0, r4, #0 - movs r1, #0 - bl sub_0808FD44 - b _0808FBF6 - .align 2, 0 -_0808FBAC: .4byte 0x00004031 -_0808FBB0: - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - adds r1, r0, #0 - ldr r0, _0808FBF8 @ =0x00004031 - cmp r1, r0 - bhi _0808FBF0 - subs r0, #1 - cmp r1, r0 - blo _0808FBF0 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r1, #0 - subs r0, #0x30 - movs r1, #1 - ands r0, r1 - lsls r0, r0, #4 - movs r1, #8 - orrs r0, r1 - strb r0, [r4, #0x15] - movs r0, #1 - bl sub_08078A90 - adds r0, r4, #0 - movs r1, #1 - bl sub_0808FD44 -_0808FBF0: - adds r0, r4, #0 - bl sub_0808FDE8 -_0808FBF6: - pop {r4, pc} - .align 2, 0 -_0808FBF8: .4byte 0x00004031 - - thumb_func_start sub_0808FBFC -sub_0808FBFC: @ 0x0808FBFC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7c - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - adds r1, r0, #0 - ldr r0, _0808FC38 @ =0x0000404A - cmp r1, r0 - beq _0808FC34 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r1, #0 - subs r0, #0x4b - movs r1, #3 - ands r0, r1 - lsls r0, r0, #3 - strb r0, [r4, #0x15] - movs r0, #1 - bl sub_08078A90 - adds r0, r4, #0 - movs r1, #0 - bl sub_0808FD44 -_0808FC34: - pop {r4, pc} - .align 2, 0 -_0808FC38: .4byte 0x0000404A - - thumb_func_start sub_0808FC3C -sub_0808FC3C: @ 0x0808FC3C - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r0, r4, #0 - bl sub_0808FC5C - cmp r0, #0 - beq _0808FC58 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0 - bl sub_08078A90 -_0808FC58: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808FC5C -sub_0808FC5C: @ 0x0808FC5C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0808FD40 - ldrb r1, [r4, #0xa] - cmp r1, #2 - beq _0808FC7C - cmp r1, #4 - bne _0808FC84 -_0808FC7C: - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xfe - b _0808FC88 -_0808FC84: - adds r1, r4, #0 - adds r1, #0x63 -_0808FC88: - strb r0, [r1] - adds r0, r4, #0 - bl sub_080002D0 - cmp r0, #0 - bne _0808FD40 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0808FD30 - movs r2, #0 - ldrh r1, [r4, #0xa] - ldr r0, _0808FCB4 @ =0x00000101 - cmp r1, r0 - bne _0808FCB8 - movs r1, #0x32 - ldrsh r0, [r4, r1] - adds r1, r4, #0 - adds r1, #0x7e - ldrh r1, [r1] - cmp r0, r1 - bne _0808FCC8 - b _0808FCCC - .align 2, 0 -_0808FCB4: .4byte 0x00000101 -_0808FCB8: - movs r1, #0x2e - ldrsh r0, [r4, r1] - adds r1, r4, #0 - adds r1, #0x7e - ldrh r1, [r1] - cmp r0, r1 - bne _0808FCC8 - movs r2, #1 -_0808FCC8: - cmp r2, #0 - beq _0808FD30 -_0808FCCC: - adds r0, r4, #0 - adds r0, #0x81 - movs r5, #1 - strb r5, [r0] - ldr r3, [r4, #0x50] - cmp r3, #0 - bne _0808FCE4 - adds r0, #5 - ldrh r0, [r0] - bl sub_0807CCC8 - b _0808FD0C -_0808FCE4: - adds r2, r4, #0 - adds r2, #0x82 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808FD06 - adds r0, r3, #0 - adds r0, #0x28 - subs r2, #8 - adds r1, r5, #0 - ldrh r2, [r2] - lsls r1, r2 - ldrb r2, [r0] - orrs r1, r2 - strb r1, [r0] - b _0808FD0C -_0808FD06: - ldrb r0, [r2] - bl sub_0807CCB4 -_0808FD0C: - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - bne _0808FD1A - movs r0, #4 - b _0808FD1C -_0808FD1A: - movs r0, #0x18 -_0808FD1C: - strb r0, [r4, #0xe] - ldr r0, _0808FD3C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0808FD30 - ldrb r0, [r4, #0xe] - adds r0, #0x10 - strb r0, [r4, #0xe] -_0808FD30: - adds r0, r4, #0 - bl sub_0808FF50 - movs r0, #1 - b _0808FD42 - .align 2, 0 -_0808FD3C: .4byte gUnk_03003F80 -_0808FD40: - movs r0, #0 -_0808FD42: - pop {r4, r5, pc} - - thumb_func_start sub_0808FD44 -sub_0808FD44: @ 0x0808FD44 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #1 - bne _0808FD8E - adds r0, r4, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #0 - beq _0808FD62 - adds r0, r4, #0 - bl sub_08090498 -_0808FD62: - cmp r5, #0 - beq _0808FD6C - adds r0, r4, #0 - adds r0, #0x72 - b _0808FD70 -_0808FD6C: - adds r0, r4, #0 - adds r0, #0x70 -_0808FD70: - ldrh r5, [r0] - ldr r0, _0808FD84 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808FD88 - movs r0, #0x40 - strh r0, [r4, #0x24] - b _0808FDB2 - .align 2, 0 -_0808FD84: .4byte gUnk_03003F80 -_0808FD88: - strh r1, [r4, #0x24] - movs r0, #0x10 - b _0808FDB4 -_0808FD8E: - adds r0, r4, #0 - adds r0, #0x7c - ldrh r5, [r0] - ldr r0, _0808FDAC @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808FDB0 - movs r1, #0x40 - movs r0, #0x40 - strh r0, [r4, #0x24] - strb r1, [r4, #0xe] - b _0808FDB6 - .align 2, 0 -_0808FDAC: .4byte gUnk_03003F80 -_0808FDB0: - strh r1, [r4, #0x24] -_0808FDB2: - movs r0, #0x20 -_0808FDB4: - strb r0, [r4, #0xe] -_0808FDB6: - ldr r0, _0808FDE0 @ =0x0000010F - bl sub_08004488 - adds r0, r4, #0 - bl sub_08090254 - ldr r1, _0808FDE4 @ =gUnk_080B4488 - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r0, r5, r0 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080001DA - pop {r4, r5, pc} - .align 2, 0 -_0808FDE0: .4byte 0x0000010F -_0808FDE4: .4byte gUnk_080B4488 - - thumb_func_start sub_0808FDE8 -sub_0808FDE8: @ 0x0808FDE8 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r0, #0x70 - ldrh r5, [r0] - subs r0, r5, #1 - movs r1, #1 - bl sub_080002E0 - adds r4, r0, #0 - adds r0, r5, #0 - movs r1, #1 - bl sub_080001DA - ldr r6, _0808FE28 @ =0x0000402E - cmp r0, r6 - bne _0808FE30 - movs r0, #0xf0 - ands r0, r4 - cmp r0, #0 - beq _0808FE14 - cmp r0, #0x50 - bne _0808FE1C -_0808FE14: - movs r0, #5 - ands r0, r4 - cmp r0, #0 - bne _0808FE58 -_0808FE1C: - ldr r0, _0808FE2C @ =0x0000402C - adds r1, r5, #0 - movs r2, #1 - bl sub_0800015E - b _0808FE58 - .align 2, 0 -_0808FE28: .4byte 0x0000402E -_0808FE2C: .4byte 0x0000402C -_0808FE30: - adds r0, r5, #0 - movs r1, #1 - bl sub_080002E0 - cmp r0, #5 - bne _0808FE58 - movs r1, #0xf0 - ands r1, r4 - cmp r1, #0 - beq _0808FE48 - cmp r1, #0x50 - bne _0808FE58 -_0808FE48: - ands r4, r0 - cmp r4, #0 - beq _0808FE58 - adds r0, r6, #0 - adds r1, r5, #0 - movs r2, #1 - bl sub_0800015E -_0808FE58: - adds r0, r7, #0 - adds r0, #0x72 - ldrh r5, [r0] - adds r0, r5, #1 - movs r1, #1 - bl sub_080002E0 - adds r4, r0, #0 - adds r0, r5, #0 - movs r1, #1 - bl sub_080001DA - ldr r6, _0808FE98 @ =0x0000402F - cmp r0, r6 - bne _0808FEA0 - movs r0, #0xf0 - ands r0, r4 - cmp r0, #0 - beq _0808FE82 - cmp r0, #0x50 - bne _0808FE8A -_0808FE82: - movs r0, #0xa - ands r0, r4 - cmp r0, #0 - bne _0808FEC8 -_0808FE8A: - ldr r0, _0808FE9C @ =0x0000402D - adds r1, r5, #0 - movs r2, #1 - bl sub_0800015E - b _0808FEC8 - .align 2, 0 -_0808FE98: .4byte 0x0000402F -_0808FE9C: .4byte 0x0000402D -_0808FEA0: - adds r0, r5, #0 - movs r1, #1 - bl sub_080002E0 - cmp r0, #0xa - bne _0808FEC8 - movs r1, #0xf0 - ands r1, r4 - cmp r1, #0 - beq _0808FEB8 - cmp r1, #0x50 - bne _0808FEC8 -_0808FEB8: - ands r4, r0 - cmp r4, #0 - beq _0808FEC8 - adds r0, r6, #0 - adds r1, r5, #0 - movs r2, #1 - bl sub_0800015E -_0808FEC8: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0808FECC -sub_0808FECC: @ 0x0808FECC - push {r4, r5, lr} - adds r2, r0, #0 - movs r4, #1 - ldr r0, _0808FF18 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0808FF10 - ldr r3, _0808FF1C @ =gUnk_03001160 - ldrb r0, [r3, #0xc] - cmp r0, #6 - bne _0808FF10 - ldrb r0, [r3, #0x14] - cmp r0, #0 - bne _0808FF10 - movs r1, #0x32 - ldrsh r0, [r3, r1] - movs r5, #0x32 - ldrsh r1, [r2, r5] - subs r0, r0, r1 - cmp r0, #0x13 - bgt _0808FF10 - movs r0, #0x2e - ldrsh r2, [r2, r0] - adds r0, r2, #0 - adds r0, #0xc - movs r5, #0x2e - ldrsh r1, [r3, r5] - cmp r0, r1 - ble _0808FF10 - subs r0, #0x18 - cmp r0, r1 - blt _0808FF12 -_0808FF10: - movs r4, #0 -_0808FF12: - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 -_0808FF18: .4byte gUnk_03003F80 -_0808FF1C: .4byte gUnk_03001160 - - thumb_func_start sub_0808FF20 -sub_0808FF20: @ 0x0808FF20 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xb] - cmp r1, #0 - beq _0808FF4A - cmp r1, #0 - blt _0808FF4A - cmp r1, #2 - bgt _0808FF4A - subs r1, #1 - movs r0, #0x63 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0808FF4A - str r4, [r1, #0x50] - adds r0, r4, #0 - bl sub_0806FA24 -_0808FF4A: - pop {r4, pc} - - thumb_func_start nullsub_1 -nullsub_1: @ 0x0808FF4C - bx lr - .align 2, 0 - - thumb_func_start sub_0808FF50 -sub_0808FF50: @ 0x0808FF50 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, _0808FF98 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r2, r6, #0 - adds r2, #0x7c - strh r1, [r2] - ldrh r0, [r6, #0x2e] - movs r1, #0xf - ands r1, r0 - ldrh r7, [r2] - adds r0, r6, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #0 - beq _0808FF9C - cmp r0, #1 - beq _0808FFC0 - b _0809008A - .align 2, 0 -_0808FF98: .4byte gUnk_03000BF0 -_0808FF9C: - adds r0, r6, #0 - adds r0, #0x70 - strh r7, [r0] - ldrh r0, [r0] - movs r1, #1 - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x74 - strh r0, [r1] - ldr r0, _0808FFBC @ =0x0000404A - adds r1, r7, #0 - movs r2, #1 - bl sub_0800015E - b _0809008A - .align 2, 0 -_0808FFBC: .4byte 0x0000404A -_0808FFC0: - movs r0, #8 - ands r1, r0 - cmp r1, #0 - beq _0809002C - adds r0, r6, #0 - adds r0, #0x70 - strh r7, [r0] - ldrh r0, [r0] - movs r1, #1 - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x74 - strh r0, [r1] - ldr r4, _08090028 @ =gUnk_08121EE4 - movs r0, #0x81 - adds r0, r0, r6 - mov r8, r0 - ldrb r0, [r0] - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - adds r1, r7, #0 - movs r2, #1 - bl sub_0800015E - adds r0, r7, #1 - adds r5, r6, #0 - adds r5, #0x72 - strh r0, [r5] - ldrh r0, [r5] - movs r1, #1 - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x76 - strh r0, [r1] - mov r1, r8 - ldrb r0, [r1] - adds r0, #4 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r1, [r0] - ldrh r2, [r5] - adds r0, r6, #0 - bl sub_08090094 - adds r0, r6, #0 - movs r1, #1 - bl sub_0809028C - b _0809008A - .align 2, 0 -_08090028: .4byte gUnk_08121EE4 -_0809002C: - adds r0, r6, #0 - adds r0, #0x72 - strh r7, [r0] - ldrh r0, [r0] - movs r1, #1 - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r5, _08090090 @ =gUnk_08121EE4 - movs r4, #0x81 - adds r4, r4, r6 - mov r8, r4 - ldrb r0, [r4] - lsls r0, r0, #1 - adds r0, r0, r5 - ldrh r0, [r0] - adds r1, r7, #0 - movs r2, #1 - bl sub_0800015E - subs r0, r7, #1 - adds r4, r6, #0 - adds r4, #0x70 - strh r0, [r4] - ldrh r0, [r4] - movs r1, #1 - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x74 - strh r0, [r1] - mov r1, r8 - ldrb r0, [r1] - adds r0, #2 - lsls r0, r0, #1 - adds r0, r0, r5 - ldrh r1, [r0] - ldrh r2, [r4] - adds r0, r6, #0 - bl sub_08090094 - adds r0, r6, #0 - movs r1, #0 - bl sub_0809028C -_0809008A: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08090090: .4byte gUnk_08121EE4 - - thumb_func_start sub_08090094 -sub_08090094: @ 0x08090094 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r5, r1, #0 - adds r7, r2, #0 - adds r0, r7, #0 - movs r1, #1 - bl sub_080002E0 - adds r4, r0, #0 - adds r0, r7, #0 - movs r1, #1 - bl sub_080001DA - adds r3, r0, #0 - movs r0, #0x80 - lsls r0, r0, #7 - ands r0, r3 - cmp r0, #0 - bne _0809012C - adds r3, r5, #0 - ldr r1, _080900D0 @ =0xFFFFBFDC - adds r0, r3, r1 - cmp r0, #0xb - bhi _0809011A - lsls r0, r0, #2 - ldr r1, _080900D4 @ =_080900D8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080900D0: .4byte 0xFFFFBFDC -_080900D4: .4byte _080900D8 -_080900D8: @ jump table - .4byte _08090114 @ case 0 - .4byte _08090108 @ case 1 - .4byte _0809011A @ case 2 - .4byte _0809011A @ case 3 - .4byte _0809011A @ case 4 - .4byte _0809011A @ case 5 - .4byte _0809011A @ case 6 - .4byte _0809011A @ case 7 - .4byte _08090114 @ case 8 - .4byte _0809010E @ case 9 - .4byte _08090114 @ case 10 - .4byte _0809010E @ case 11 -_08090108: - cmp r4, #5 - bne _0809011A - b _08090118 -_0809010E: - cmp r4, #5 - bne _0809011A - b _08090118 -_08090114: - cmp r4, #0xa - bne _0809011A -_08090118: - ldr r3, _08090128 @ =0x00004022 -_0809011A: - adds r0, r3, #0 - adds r1, r7, #0 - movs r2, #1 - bl sub_0800015E - b _08090242 - .align 2, 0 -_08090128: .4byte 0x00004022 -_0809012C: - ldr r1, _08090140 @ =0xFFFFBFDE - adds r0, r3, r1 - cmp r0, #0xd - bls _08090136 - b _08090242 -_08090136: - lsls r0, r0, #2 - ldr r1, _08090144 @ =_08090148 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08090140: .4byte 0xFFFFBFDE -_08090144: .4byte _08090148 -_08090148: @ jump table - .4byte _08090242 @ case 0 - .4byte _08090242 @ case 1 - .4byte _080901EC @ case 2 - .4byte _08090180 @ case 3 - .4byte _08090242 @ case 4 - .4byte _08090242 @ case 5 - .4byte _08090242 @ case 6 - .4byte _08090242 @ case 7 - .4byte _08090242 @ case 8 - .4byte _08090242 @ case 9 - .4byte _08090210 @ case 10 - .4byte _080901B4 @ case 11 - .4byte _08090210 @ case 12 - .4byte _080901B4 @ case 13 -_08090180: - ldr r0, _080901A8 @ =0x00004024 - cmp r5, r0 - bne _08090194 - ldr r3, _080901AC @ =0x00004022 - adds r2, r6, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] -_08090194: - ldr r0, _080901B0 @ =0x0000402C - cmp r5, r0 - bne _08090238 - ldr r3, _080901AC @ =0x00004022 - adds r2, r6, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x10 - b _08090234 - .align 2, 0 -_080901A8: .4byte 0x00004024 -_080901AC: .4byte 0x00004022 -_080901B0: .4byte 0x0000402C -_080901B4: - ldr r0, _080901DC @ =0x0000402C - cmp r5, r0 - bne _080901C8 - ldr r3, _080901E0 @ =0x0000402B - adds r2, r6, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] -_080901C8: - ldr r0, _080901E4 @ =0x00004024 - cmp r5, r0 - bne _08090238 - ldr r3, _080901E8 @ =0x00004022 - adds r2, r6, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x10 - b _08090234 - .align 2, 0 -_080901DC: .4byte 0x0000402C -_080901E0: .4byte 0x0000402B -_080901E4: .4byte 0x00004024 -_080901E8: .4byte 0x00004022 -_080901EC: - ldr r0, _08090204 @ =0x00004025 - cmp r5, r0 - bne _08090200 - ldr r3, _08090208 @ =0x00004022 - adds r2, r6, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r2] -_08090200: - ldr r0, _0809020C @ =0x0000402D - b _08090226 - .align 2, 0 -_08090204: .4byte 0x00004025 -_08090208: .4byte 0x00004022 -_0809020C: .4byte 0x0000402D -_08090210: - ldr r0, _08090244 @ =0x0000402D - cmp r5, r0 - bne _08090224 - ldr r3, _08090248 @ =0x0000402B - adds r2, r6, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r2] -_08090224: - ldr r0, _0809024C @ =0x00004025 -_08090226: - cmp r5, r0 - bne _08090238 - ldr r3, _08090250 @ =0x00004022 - adds r2, r6, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x20 -_08090234: - orrs r0, r1 - strb r0, [r2] -_08090238: - adds r0, r3, #0 - adds r1, r7, #0 - movs r2, #1 - bl sub_0800015E -_08090242: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08090244: .4byte 0x0000402D -_08090248: .4byte 0x0000402B -_0809024C: .4byte 0x00004025 -_08090250: .4byte 0x00004022 - - thumb_func_start sub_08090254 -sub_08090254: @ 0x08090254 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x70 - ldrh r1, [r1] - adds r5, r4, #0 - adds r5, #0x38 - ldrb r2, [r5] - bl sub_0807B9B8 - adds r0, r4, #0 - adds r0, #0x80 - ldrb r0, [r0] - cmp r0, #1 - bne _08090288 - adds r0, r4, #0 - adds r0, #0x76 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x72 - ldrh r1, [r1] - ldrb r2, [r5] - bl sub_0807B9B8 -_08090288: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0809028C -sub_0809028C: @ 0x0809028C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - adds r4, r6, #0 - adds r4, #0x83 - ldrb r0, [r4] - movs r2, #0x30 - ands r2, r0 - movs r0, #0 - mov sb, r0 - strb r2, [r4] - adds r0, r6, #0 - adds r0, #0x70 - ldrh r5, [r0] - adds r7, r5, #0 - subs r7, #0x80 - adds r0, #2 - ldrh r3, [r0] - movs r0, #0x80 - rsbs r0, r0, #0 - adds r0, r0, r3 - mov r8, r0 - cmp r1, #1 - bne _0809039A - movs r0, #0x20 - ands r0, r2 - cmp r0, #0 - beq _080902D4 - adds r1, r3, #0 - subs r1, #0x7f - movs r0, #0 - bl sub_08090480 - b _080902FE -_080902D4: - mov r0, r8 - movs r1, #2 - bl sub_080002B0 - adds r1, r0, #0 - ldr r0, _080902EC @ =0x00000301 - cmp r1, r0 - beq _080902F0 - adds r0, #7 - cmp r1, r0 - beq _080902F6 - b _080902FE - .align 2, 0 -_080902EC: .4byte 0x00000301 -_080902F0: - ldrb r0, [r4] - movs r1, #8 - b _080902FA -_080902F6: - ldrb r0, [r4] - movs r1, #2 -_080902FA: - orrs r0, r1 - strb r0, [r4] -_080902FE: - adds r2, r6, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x2a - ands r0, r1 - adds r4, r2, #0 - cmp r0, #0 - beq _0809031E - movs r0, #0 - adds r1, r7, #0 - bl sub_08090480 - movs r0, #0 - mov r1, r8 - bl sub_08090480 -_0809031E: - ldrb r1, [r4] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0809034E - subs r4, r7, #1 - adds r0, r4, #0 - movs r1, #1 - bl sub_080002B0 - movs r1, #0xc0 - lsls r1, r1, #2 - cmp r0, r1 - bne _0809033C - b _08090478 -_0809033C: - movs r0, #0 - adds r1, r4, #0 - bl sub_08090480 - subs r1, r7, #2 - movs r0, #2 - bl sub_08090480 - b _08090478 -_0809034E: - subs r0, r7, #1 - movs r1, #2 - bl sub_080002B0 - adds r1, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #2 - cmp r1, r0 - beq _08090368 - adds r0, #8 - cmp r1, r0 - beq _0809036E - b _08090376 -_08090368: - ldrb r1, [r4] - movs r0, #4 - b _08090372 -_0809036E: - ldrb r1, [r4] - movs r0, #1 -_08090372: - orrs r0, r1 - strb r0, [r4] -_08090376: - ldrb r1, [r4] - movs r0, #0x15 - ands r0, r1 - cmp r0, #0 - beq _08090478 - movs r0, #0x2a - ands r0, r1 - cmp r0, #0 - bne _08090478 - movs r0, #0 - adds r1, r7, #0 - bl sub_08090480 - movs r0, #1 - mov r1, r8 - bl sub_08090480 - b _08090478 -_0809039A: - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - beq _080903AE - adds r1, r5, #0 - subs r1, #0x81 - movs r0, #0 - bl sub_08090480 - b _080903DA -_080903AE: - adds r0, r7, #0 - movs r1, #2 - bl sub_080002B0 - adds r1, r0, #0 - ldr r0, _080903C8 @ =0x00000302 - cmp r1, r0 - beq _080903CC - adds r0, #4 - cmp r1, r0 - beq _080903D2 - b _080903DA - .align 2, 0 -_080903C8: .4byte 0x00000302 -_080903CC: - ldrb r0, [r4] - movs r1, #4 - b _080903D6 -_080903D2: - ldrb r0, [r4] - movs r1, #1 -_080903D6: - orrs r0, r1 - strb r0, [r4] -_080903DA: - adds r2, r6, #0 - adds r2, #0x83 - ldrb r1, [r2] - movs r0, #0x15 - ands r0, r1 - adds r4, r2, #0 - cmp r0, #0 - beq _080903FA - movs r0, #0 - adds r1, r7, #0 - bl sub_08090480 - movs r0, #0 - mov r1, r8 - bl sub_08090480 -_080903FA: - ldrb r1, [r4] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0809042C - mov r4, r8 - adds r4, #1 - adds r0, r4, #0 - movs r1, #1 - bl sub_080002B0 - movs r1, #0xc0 - lsls r1, r1, #2 - cmp r0, r1 - beq _08090478 - movs r0, #0 - adds r1, r4, #0 - bl sub_08090480 - mov r1, r8 - adds r1, #2 - movs r0, #1 - bl sub_08090480 - b _08090478 -_0809042C: - mov r0, r8 - adds r0, #1 - movs r1, #2 - bl sub_080002B0 - adds r1, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #2 - cmp r1, r0 - beq _08090448 - adds r0, #6 - cmp r1, r0 - beq _0809044E - b _08090456 -_08090448: - ldrb r1, [r4] - movs r0, #8 - b _08090452 -_0809044E: - ldrb r1, [r4] - movs r0, #2 -_08090452: - orrs r0, r1 - strb r0, [r4] -_08090456: - ldrb r1, [r4] - movs r0, #0x2a - ands r0, r1 - cmp r0, #0 - beq _08090478 - movs r0, #0x15 - ands r0, r1 - cmp r0, #0 - bne _08090478 - movs r0, #2 - adds r1, r7, #0 - bl sub_08090480 - movs r0, #0 - mov r1, r8 - bl sub_08090480 -_08090478: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08090480 -sub_08090480: @ 0x08090480 - push {lr} - ldr r2, _08090494 @ =gUnk_08121EF0 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - movs r2, #1 - bl sub_0800015E - pop {pc} - .align 2, 0 -_08090494: .4byte gUnk_08121EF0 - - thumb_func_start sub_08090498 -sub_08090498: @ 0x08090498 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x70 - ldrh r0, [r0] - adds r4, r0, #0 - subs r4, #0x80 - adds r0, r4, #0 - movs r1, #1 - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x83 - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080904D2 - adds r0, r4, #0 - movs r1, #2 - bl sub_080002B0 - ldr r1, _08090510 @ =0x00000306 - cmp r0, r1 - bne _080904D2 - movs r0, #0x62 - adds r1, r4, #0 - movs r2, #1 - bl sub_08000148 -_080904D2: - adds r0, r5, #0 - adds r0, #0x72 - ldrh r0, [r0] - adds r4, r0, #0 - subs r4, #0x80 - adds r0, r4, #0 - movs r1, #1 - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x83 - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0809050C - adds r0, r4, #0 - movs r1, #2 - bl sub_080002B0 - movs r1, #0xc2 - lsls r1, r1, #2 - cmp r0, r1 - bne _0809050C - movs r0, #0x63 - adds r1, r4, #0 - movs r2, #1 - bl sub_08000148 -_0809050C: - pop {r4, r5, pc} - .align 2, 0 -_08090510: .4byte 0x00000306 - - thumb_func_start sub_08090514 -sub_08090514: @ 0x08090514 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x50] - cmp r0, #0 - beq _0809059E - ldrb r0, [r0, #0xd] - cmp r0, #1 - beq _08090552 - cmp r0, #1 - bgt _0809052E - cmp r0, #0 - beq _08090538 - b _0809059E -_0809052E: - cmp r0, #2 - beq _08090568 - cmp r0, #3 - beq _08090582 - b _0809059E -_08090538: - ldrb r1, [r2, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0x19] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - b _0809059A -_08090552: - ldrb r0, [r2, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r2, #0x19] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - b _0809059A -_08090568: - ldrb r1, [r2, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0x19] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - b _0809059A -_08090582: - ldrb r1, [r2, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0x19] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 -_0809059A: - orrs r0, r1 - strb r0, [r2] -_0809059E: - pop {pc} - - thumb_func_start sub_080905A0 -sub_080905A0: @ 0x080905A0 - push {lr} - ldr r2, _080905B4 @ =gUnk_08122218 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080905B4: .4byte gUnk_08122218 - - thumb_func_start sub_080905B8 -sub_080905B8: @ 0x080905B8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - movs r0, #1 - mov sb, r0 - mov r1, sb - strb r1, [r7, #0xc] - movs r5, #0x2e - ldrsh r2, [r7, r5] - ldr r6, _08090618 @ =gUnk_03000BF0 - ldrh r0, [r6, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r4, #0x3f - ands r2, r4 - movs r1, #0x32 - ldrsh r0, [r7, r1] - ldrh r1, [r6, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r2, r0 - adds r5, r7, #0 - adds r5, #0x78 - movs r0, #0 - mov r8, r0 - strh r2, [r5] - adds r0, r7, #0 - bl sub_08090DC4 - adds r0, r7, #0 - adds r0, #0x82 - ldrh r0, [r0] - ldr r1, _0809061C @ =0x00007FFF - ands r1, r0 - cmp r1, #0x80 - beq _08090680 - cmp r1, #0x80 - bgt _08090620 - cmp r1, #0x20 - beq _080906E6 - cmp r1, #0x40 - beq _08090650 - b _080906E0 - .align 2, 0 -_08090618: .4byte gUnk_03000BF0 -_0809061C: .4byte 0x00007FFF -_08090620: - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - beq _080906E6 - cmp r1, r0 - bgt _08090636 - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _08090640 - b _080906E0 -_08090636: - movs r0, #0x80 - lsls r0, r0, #3 - cmp r1, r0 - beq _080906C4 - b _080906E0 -_08090640: - adds r1, r7, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r7, #0 - bl sub_08016A04 - b _080906E6 -_08090650: - ldrh r1, [r7, #0x32] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strh r0, [r7, #0x32] - ldr r4, _0809067C @ =0x00004017 - ldrh r1, [r5] - subs r1, #0x80 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldrh r1, [r5] - subs r1, #0x40 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - b _080906E6 - .align 2, 0 -_0809067C: .4byte 0x00004017 -_08090680: - mov r1, r8 - strb r1, [r7, #0x1e] - ldrh r1, [r7, #0x32] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strh r0, [r7, #0x32] - movs r2, #0x2e - ldrsh r1, [r7, r2] - ldrh r0, [r6, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r4 - movs r2, #0x32 - ldrsh r0, [r7, r2] - ldrh r2, [r6, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r5] - ldr r0, _080906C0 @ =0x00004026 - ldrh r1, [r5] - adds r2, r7, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - b _080906E6 - .align 2, 0 -_080906C0: .4byte 0x00004026 -_080906C4: - adds r0, r7, #0 - bl sub_08090E64 - ldrb r0, [r7, #0xb] - cmp r0, #0 - beq _080906E0 - adds r0, r7, #0 - adds r0, #0x62 - mov r5, sb - strb r5, [r0] - adds r1, r7, #0 - adds r1, #0x80 - movs r0, #0x30 - strb r0, [r1] -_080906E0: - adds r0, r7, #0 - bl sub_08090B6C -_080906E6: - adds r0, r7, #0 - adds r0, #0x81 - ldrb r1, [r0] - cmp r1, #0x10 - beq _0809075C - movs r0, #0x70 - ands r0, r1 - adds r4, r7, #0 - adds r4, #0x78 - cmp r0, #0x20 - beq _0809072E - cmp r0, #0x30 - bne _0809073A - ldrh r0, [r4] - subs r0, #0x40 - strh r0, [r4] - adds r0, r7, #0 - bl sub_08090B6C - movs r0, #0x2e - ldrsh r1, [r7, r0] - ldr r2, _08090778 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r7, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4] -_0809072E: - ldrh r0, [r4] - adds r0, #0x40 - strh r0, [r4] - adds r0, r7, #0 - bl sub_08090B6C -_0809073A: - movs r0, #0x2e - ldrsh r1, [r7, r0] - ldr r2, _08090778 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r7, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4] -_0809075C: - adds r0, r7, #0 - adds r0, #0x82 - ldrh r0, [r0] - ldr r1, _0809077C @ =0x00007FFF - ands r1, r0 - cmp r1, #2 - beq _08090780 - cmp r1, #4 - bne _080907C8 - adds r0, r7, #0 - movs r1, #0x7e - bl sub_0801D2B4 - b _080907C8 - .align 2, 0 -_08090778: .4byte gUnk_03000BF0 -_0809077C: .4byte 0x00007FFF -_08090780: - adds r0, r7, #0 - adds r0, #0x78 - ldrh r0, [r0] - adds r4, r0, #0 - subs r4, #0x81 - ldrb r0, [r7, #0xa] - movs r1, #2 - mov r8, r1 - cmp r0, #0x1a - beq _08090798 - movs r2, #3 - mov r8, r2 -_08090798: - movs r5, #0 - cmp r5, r8 - bhs _080907C8 - ldr r6, _080907DC @ =0x00004026 -_080907A0: - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #2 - bl sub_0800015E - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r1, r4, #0 - adds r1, #0x40 - movs r0, #0 - movs r2, #1 - bl sub_080001D0 - adds r5, #1 - adds r4, #1 - cmp r5, r8 - blo _080907A0 -_080907C8: - ldrb r0, [r7, #0xa] - subs r0, #1 - cmp r0, #0x3b - bls _080907D2 - b _080909DC -_080907D2: - lsls r0, r0, #2 - ldr r1, _080907E0 @ =_080907E4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080907DC: .4byte 0x00004026 -_080907E0: .4byte _080907E4 -_080907E4: @ jump table - .4byte _080908D4 @ case 0 - .4byte _080909DC @ case 1 - .4byte _080909DC @ case 2 - .4byte _080909DC @ case 3 - .4byte _080909DC @ case 4 - .4byte _080909DC @ case 5 - .4byte _080909DC @ case 6 - .4byte _080909DC @ case 7 - .4byte _080908F0 @ case 8 - .4byte _080909DC @ case 9 - .4byte _080909DC @ case 10 - .4byte _080909DC @ case 11 - .4byte _080909DC @ case 12 - .4byte _080909DC @ case 13 - .4byte _080909DC @ case 14 - .4byte _080909DC @ case 15 - .4byte _080909DC @ case 16 - .4byte _080909DC @ case 17 - .4byte _080909DC @ case 18 - .4byte _080909DC @ case 19 - .4byte _080909DC @ case 20 - .4byte _080909DC @ case 21 - .4byte _080909DC @ case 22 - .4byte _080909DC @ case 23 - .4byte _080909DC @ case 24 - .4byte _080909DC @ case 25 - .4byte _080909DC @ case 26 - .4byte _080909DC @ case 27 - .4byte _080909DC @ case 28 - .4byte _08090920 @ case 29 - .4byte _08090938 @ case 30 - .4byte _080909DC @ case 31 - .4byte _080909DC @ case 32 - .4byte _080909DC @ case 33 - .4byte _080909DC @ case 34 - .4byte _080909DC @ case 35 - .4byte _080909DC @ case 36 - .4byte _080909DC @ case 37 - .4byte _080909DC @ case 38 - .4byte _08090984 @ case 39 - .4byte _080909DC @ case 40 - .4byte _080909DC @ case 41 - .4byte _080909DC @ case 42 - .4byte _080909DC @ case 43 - .4byte _080909DC @ case 44 - .4byte _080909DC @ case 45 - .4byte _080909DC @ case 46 - .4byte _080909DC @ case 47 - .4byte _080909DC @ case 48 - .4byte _080909DC @ case 49 - .4byte _080909DC @ case 50 - .4byte _080909DC @ case 51 - .4byte _080909DC @ case 52 - .4byte _080909DC @ case 53 - .4byte _080909DC @ case 54 - .4byte _080909DC @ case 55 - .4byte _080909DC @ case 56 - .4byte _080909DC @ case 57 - .4byte _08090994 @ case 58 - .4byte _080909C8 @ case 59 -_080908D4: - ldrb r0, [r7, #0xb] - cmp r0, #0 - bne _080908DC - b _080909DC -_080908DC: - adds r2, r7, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - b _080909DC -_080908F0: - movs r0, #0x4d - movs r1, #0x3e - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080909DC - movs r3, #0x80 - lsls r3, r3, #0xd - adds r0, r7, #0 - adds r1, r4, #0 - adds r2, r3, #0 - bl sub_0806FA48 - movs r0, #1 - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x11] - subs r0, #0x11 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r4, #0x11] - b _080909DC -_08090920: - ldr r0, _08090934 @ =0x00000306 - adds r1, r7, #0 - adds r1, #0x78 - ldrh r1, [r1] - adds r1, #0x41 - movs r2, #2 - bl sub_0807B7D8 - b _080909DC - .align 2, 0 -_08090934: .4byte 0x00000306 -_08090938: - adds r5, r7, #0 - adds r5, #0x38 - movs r0, #1 - strb r0, [r5] - ldrb r1, [r7, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r7, #0x1b] - ldr r0, _0809097C @ =0x00004074 - adds r4, r7, #0 - adds r4, #0x78 - ldrh r1, [r4] - subs r1, #0x40 - ldrb r2, [r5] - bl sub_0800015E - ldrh r1, [r4] - subs r1, #0x40 - ldrb r2, [r5] - movs r0, #0x3f - bl sub_080001D0 - ldr r6, _08090980 @ =0x00004017 - ldrh r1, [r4] - ldrb r2, [r5] - adds r0, r6, #0 - bl sub_0800015E - ldrh r1, [r4] - adds r1, #0x40 - ldrb r2, [r5] - b _080909BC - .align 2, 0 -_0809097C: .4byte 0x00004074 -_08090980: .4byte 0x00004017 -_08090984: - ldrb r0, [r7, #0xb] - cmp r0, #0 - beq _080909DC - adds r1, r7, #0 - adds r1, #0x62 - movs r0, #0xfc - strb r0, [r1] - b _080909DC -_08090994: - ldr r6, _080909C4 @ =0x00004023 - adds r5, r7, #0 - adds r5, #0x78 - ldrh r1, [r5] - subs r1, #0x41 - adds r4, r7, #0 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - ldrh r1, [r5] - subs r1, #0x40 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - ldrh r1, [r5] - subs r1, #0x3f - ldrb r2, [r4] -_080909BC: - adds r0, r6, #0 - bl sub_0800015E - b _080909DC - .align 2, 0 -_080909C4: .4byte 0x00004023 -_080909C8: - ldr r0, _080909E4 @ =0x00004022 - adds r1, r7, #0 - adds r1, #0x78 - ldrh r1, [r1] - adds r1, #0x41 - adds r2, r7, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_080909DC: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080909E4: .4byte 0x00004022 - - thumb_func_start sub_080909E8 -sub_080909E8: @ 0x080909E8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r0, #0x82 - ldrh r0, [r0] - ldr r1, _08090A04 @ =0x00007FFF - ands r1, r0 - cmp r1, #8 - beq _08090A42 - cmp r1, #8 - bgt _08090A08 - cmp r1, #1 - beq _08090A12 - b _08090B60 - .align 2, 0 -_08090A04: .4byte 0x00007FFF -_08090A08: - cmp r1, #0x10 - beq _08090A68 - cmp r1, #0x80 - beq _08090AB0 - b _08090B60 -_08090A12: - ldr r2, _08090A34 @ =gUnk_03001160 - movs r0, #0x32 - ldrsh r1, [r2, r0] - movs r3, #0x32 - ldrsh r0, [r5, r3] - cmp r1, r0 - blt _08090A26 - adds r0, #0x18 - cmp r1, r0 - ble _08090A38 -_08090A26: - ldrb r0, [r5, #0x19] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x80 - orrs r1, r0 - strb r1, [r5, #0x19] - b _08090B60 - .align 2, 0 -_08090A34: .4byte gUnk_03001160 -_08090A38: - ldrb r0, [r5, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r5, #0x19] - b _08090B60 -_08090A42: - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x10 - beq _08090A52 - b _08090B60 -_08090A52: - movs r0, #0 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0xf] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0xf] - adds r0, r5, #0 - bl sub_08090E4C - b _08090B60 -_08090A68: - ldrb r0, [r5, #0xa] - cmp r0, #0x3e - beq _08090A8C - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x14 - bne _08090B60 - ldrb r0, [r5, #0x1e] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0x1e] - movs r0, #0 - strb r0, [r5, #0xe] - b _08090B60 -_08090A8C: - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xe - bne _08090B60 - movs r0, #0 - strb r0, [r5, #0xe] - ldrb r0, [r5, #0xf] - adds r0, #1 - movs r1, #3 - bl __modsi3 - strb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0x1e] - b _08090B60 -_08090AB0: - ldr r2, _08090B00 @ =gUnk_03001160 - movs r3, #0x32 - ldrsh r1, [r2, r3] - movs r3, #0x32 - ldrsh r0, [r5, r3] - adds r0, #8 - cmp r1, r0 - bge _08090B14 - ldr r0, _08090B04 @ =gUnk_03003F80 - ldrb r0, [r0, #0x12] - cmp r0, #0x1e - beq _08090B60 - adds r0, r5, #0 - bl sub_080002A0 - ldr r1, _08090B08 @ =0x00004017 - cmp r0, r1 - bne _08090B60 - ldr r0, _08090B0C @ =0x00004026 - adds r4, r5, #0 - adds r4, #0x78 - ldrh r1, [r4] - adds r5, #0x38 - ldrb r2, [r5] - bl sub_0800015E - ldr r6, _08090B10 @ =0x0000403D - ldrh r1, [r4] - subs r1, #0x40 - ldrb r2, [r5] - adds r0, r6, #0 - bl sub_0800015E - ldrh r1, [r4] - subs r1, #0x80 - ldrb r2, [r5] - adds r0, r6, #0 - bl sub_0800015E - b _08090B60 - .align 2, 0 -_08090B00: .4byte gUnk_03001160 -_08090B04: .4byte gUnk_03003F80 -_08090B08: .4byte 0x00004017 -_08090B0C: .4byte 0x00004026 -_08090B10: .4byte 0x0000403D -_08090B14: - adds r3, r2, #0 - adds r3, #0x38 - ldrb r1, [r3] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08090B2C - movs r0, #1 - strb r0, [r3] - adds r0, r2, #0 - bl sub_08016A04 -_08090B2C: - adds r0, r5, #0 - bl sub_080002A0 - ldr r6, _08090B64 @ =0x00004017 - cmp r0, r6 - beq _08090B60 - adds r4, r5, #0 - adds r4, #0x78 - ldrh r1, [r4] - adds r5, #0x38 - ldrb r2, [r5] - adds r0, r6, #0 - bl sub_0800015E - ldrh r1, [r4] - subs r1, #0x40 - ldrb r2, [r5] - adds r0, r6, #0 - bl sub_0800015E - ldr r0, _08090B68 @ =0x00004014 - ldrh r1, [r4] - subs r1, #0x80 - ldrb r2, [r5] - bl sub_0800015E -_08090B60: - pop {r4, r5, r6, pc} - .align 2, 0 -_08090B64: .4byte 0x00004017 -_08090B68: .4byte 0x00004014 - - thumb_func_start sub_08090B6C -sub_08090B6C: @ 0x08090B6C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r1, r0, #0 - adds r0, #0x80 - ldrb r0, [r0] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08090B80 - b _08090CD2 -_08090B80: - lsrs r0, r0, #0x1b - lsls r2, r0, #0x18 - lsrs r3, r2, #0x18 - ldrh r0, [r1, #0x2e] - movs r4, #0xf - mov r8, r4 - ands r4, r0 - mov r8, r4 - adds r0, r1, #0 - adds r0, #0x78 - ldrh r6, [r0] - subs r0, #0x40 - ldrb r7, [r0] - movs r0, #3 - ands r0, r3 - cmp r0, #1 - beq _08090BF8 - cmp r0, #1 - blo _08090BB0 - cmp r0, #2 - beq _08090C48 - cmp r0, #3 - beq _08090C90 - b _08090CD2 -_08090BB0: - lsrs r5, r2, #0x1b - cmp r3, #0xc - bne _08090BB8 - movs r5, #2 -_08090BB8: - rsbs r4, r5, #0 - cmp r4, r5 - bgt _08090BCE -_08090BBE: - adds r1, r6, r4 - ldr r0, _08090BE4 @ =0x00004022 - adds r2, r7, #0 - bl sub_0800015E - adds r4, #1 - cmp r4, r5 - ble _08090BBE -_08090BCE: - movs r0, #8 - mov r1, r8 - ands r1, r0 - cmp r1, #0 - beq _08090BEC - ldr r0, _08090BE8 @ =0x00004024 - subs r1, r6, r4 - adds r2, r7, #0 - bl sub_08090CDC - b _08090CB2 - .align 2, 0 -_08090BE4: .4byte 0x00004022 -_08090BE8: .4byte 0x00004024 -_08090BEC: - ldr r0, _08090BF4 @ =0x00004022 - subs r1, r6, r4 - b _08090C6E - .align 2, 0 -_08090BF4: .4byte 0x00004022 -_08090BF8: - lsrs r5, r2, #0x1b - rsbs r4, r5, #0 - cmp r4, r5 - bgt _08090C10 -_08090C00: - adds r1, r6, r4 - ldr r0, _08090C2C @ =0x00004022 - adds r2, r7, #0 - bl sub_0800015E - adds r4, #1 - cmp r4, r5 - ble _08090C00 -_08090C10: - movs r0, #8 - mov r1, r8 - ands r1, r0 - cmp r1, #0 - beq _08090C34 - ldr r0, _08090C30 @ =0x00004024 - subs r1, r6, r4 - adds r2, r7, #0 - bl sub_08090CDC - cmp r4, #0 - beq _08090CD2 - b _08090C6A - .align 2, 0 -_08090C2C: .4byte 0x00004022 -_08090C30: .4byte 0x00004024 -_08090C34: - cmp r4, #0 - beq _08090CB2 - ldr r0, _08090C44 @ =0x00004022 - subs r1, r6, r4 - adds r2, r7, #0 - bl sub_0800015E - b _08090CB2 - .align 2, 0 -_08090C44: .4byte 0x00004022 -_08090C48: - lsrs r5, r2, #0x1a - rsbs r4, r5, #0 - cmp r4, r5 - bge _08090C60 -_08090C50: - adds r1, r6, r4 - ldr r0, _08090C78 @ =0x00004022 - adds r2, r7, #0 - bl sub_0800015E - adds r4, #1 - cmp r4, r5 - blt _08090C50 -_08090C60: - movs r0, #8 - mov r1, r8 - ands r1, r0 - cmp r1, #0 - beq _08090C7C -_08090C6A: - ldr r0, _08090C78 @ =0x00004022 - adds r1, r6, r4 -_08090C6E: - adds r2, r7, #0 - bl sub_0800015E - b _08090CD2 - .align 2, 0 -_08090C78: .4byte 0x00004022 -_08090C7C: - ldr r0, _08090C8C @ =0x00004024 - subs r1, r6, r4 - subs r1, #1 - adds r2, r7, #0 - bl sub_08090CDC - b _08090CB2 - .align 2, 0 -_08090C8C: .4byte 0x00004024 -_08090C90: - lsrs r5, r2, #0x1a - rsbs r4, r5, #0 - cmp r4, r5 - bgt _08090CA8 -_08090C98: - adds r1, r6, r4 - ldr r0, _08090CC0 @ =0x00004022 - adds r2, r7, #0 - bl sub_0800015E - adds r4, #1 - cmp r4, r5 - ble _08090C98 -_08090CA8: - movs r0, #8 - mov r1, r8 - ands r1, r0 - cmp r1, #0 - beq _08090CC8 -_08090CB2: - ldr r0, _08090CC4 @ =0x00004025 - adds r1, r6, r4 - adds r2, r7, #0 - bl sub_08090CDC - b _08090CD2 - .align 2, 0 -_08090CC0: .4byte 0x00004022 -_08090CC4: .4byte 0x00004025 -_08090CC8: - ldr r0, _08090CD8 @ =0x00004024 - subs r1, r6, r4 - adds r2, r7, #0 - bl sub_08090CDC -_08090CD2: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08090CD8: .4byte 0x00004024 - - thumb_func_start sub_08090CDC -sub_08090CDC: @ 0x08090CDC - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_080001DA - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - movs r0, #0x80 - lsls r0, r0, #7 - ands r0, r2 - cmp r0, #0 - bne _08090D06 - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0800015E - b _08090DB2 -_08090D06: - ldr r1, _08090D18 @ =0xFFFFBFDE - adds r0, r2, r1 - cmp r0, #0xb - bhi _08090DB2 - lsls r0, r0, #2 - ldr r1, _08090D1C @ =_08090D20 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08090D18: .4byte 0xFFFFBFDE -_08090D1C: .4byte _08090D20 -_08090D20: @ jump table - .4byte _08090DB2 @ case 0 - .4byte _08090DB2 @ case 1 - .4byte _08090D80 @ case 2 - .4byte _08090D50 @ case 3 - .4byte _08090DB2 @ case 4 - .4byte _08090DB2 @ case 5 - .4byte _08090DB2 @ case 6 - .4byte _08090DB2 @ case 7 - .4byte _08090DB2 @ case 8 - .4byte _08090DB2 @ case 9 - .4byte _08090D98 @ case 10 - .4byte _08090D68 @ case 11 -_08090D50: - ldr r0, _08090D5C @ =0x00004024 - cmp r4, r0 - bne _08090D58 - ldr r2, _08090D60 @ =0x00004022 -_08090D58: - ldr r0, _08090D64 @ =0x0000402C - b _08090DA2 - .align 2, 0 -_08090D5C: .4byte 0x00004024 -_08090D60: .4byte 0x00004022 -_08090D64: .4byte 0x0000402C -_08090D68: - ldr r0, _08090D74 @ =0x0000402C - cmp r4, r0 - bne _08090D70 - ldr r2, _08090D78 @ =0x0000402B -_08090D70: - ldr r0, _08090D7C @ =0x00004024 - b _08090DA2 - .align 2, 0 -_08090D74: .4byte 0x0000402C -_08090D78: .4byte 0x0000402B -_08090D7C: .4byte 0x00004024 -_08090D80: - ldr r0, _08090D8C @ =0x00004025 - cmp r4, r0 - bne _08090D88 - ldr r2, _08090D90 @ =0x00004022 -_08090D88: - ldr r0, _08090D94 @ =0x0000402D - b _08090DA2 - .align 2, 0 -_08090D8C: .4byte 0x00004025 -_08090D90: .4byte 0x00004022 -_08090D94: .4byte 0x0000402D -_08090D98: - ldr r0, _08090DB4 @ =0x0000402D - cmp r4, r0 - bne _08090DA0 - ldr r2, _08090DB8 @ =0x0000402B -_08090DA0: - ldr r0, _08090DBC @ =0x00004025 -_08090DA2: - cmp r4, r0 - bne _08090DA8 - ldr r2, _08090DC0 @ =0x00004022 -_08090DA8: - adds r0, r2, #0 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0800015E -_08090DB2: - pop {r4, r5, r6, pc} - .align 2, 0 -_08090DB4: .4byte 0x0000402D -_08090DB8: .4byte 0x0000402B -_08090DBC: .4byte 0x00004025 -_08090DC0: .4byte 0x00004022 - - thumb_func_start sub_08090DC4 -sub_08090DC4: @ 0x08090DC4 - push {r4, lr} - mov ip, r0 - ldrb r0, [r0, #0xa] - lsls r0, r0, #3 - ldr r1, _08090E44 @ =gUnk_08121EF8 - adds r3, r0, r1 - ldrh r1, [r3, #6] - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08090DF4 - ldr r1, _08090E48 @ =gUnk_08122220 - movs r0, #3 - ldrsb r0, [r3, r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r3, [r0] - mov r0, ip - ldrb r1, [r0, #0xb] - lsls r0, r1, #3 - adds r3, r3, r0 - mov r0, ip - strb r1, [r0, #0x1e] -_08090DF4: - ldrb r1, [r3] - mov r0, ip - adds r0, #0x80 - strb r1, [r0] - ldrb r0, [r3, #1] - mov r1, ip - adds r1, #0x81 - strb r0, [r1] - ldrb r0, [r3, #2] - subs r1, #0x1f - strb r0, [r1] - ldrb r0, [r3, #3] - adds r1, #1 - strb r0, [r1] - ldrb r1, [r3, #4] - lsls r1, r1, #6 - mov r0, ip - ldrb r2, [r0, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x19] - ldrb r0, [r3, #5] - mov r4, ip - adds r4, #0x29 - movs r1, #7 - ands r1, r0 - ldrb r2, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - ldrh r1, [r3, #6] - mov r0, ip - adds r0, #0x82 - strh r1, [r0] - pop {r4, pc} - .align 2, 0 -_08090E44: .4byte gUnk_08121EF8 -_08090E48: .4byte gUnk_08122220 - - thumb_func_start sub_08090E4C -sub_08090E4C: @ 0x08090E4C - push {lr} - ldr r2, _08090E60 @ =gUnk_08122244 - ldrb r1, [r0, #0xf] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl sub_0801D2B4 - pop {pc} - .align 2, 0 -_08090E60: .4byte gUnk_08122244 - - thumb_func_start sub_08090E64 -sub_08090E64: @ 0x08090E64 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x2a - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08090EA0 - ldr r0, _08090EA4 @ =0x0000FFFE - adds r2, r0, #0 - ldrb r0, [r5, #0xb] - adds r2, r2, r0 - lsls r2, r2, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - movs r3, #0 - bl sub_0806FA48 - ldrh r0, [r4, #0x36] - subs r0, #0x10 - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 -_08090EA0: - pop {r4, r5, pc} - .align 2, 0 -_08090EA4: .4byte 0x0000FFFE - - thumb_func_start sub_08090EA8 -sub_08090EA8: @ 0x08090EA8 - push {lr} - ldr r2, _08090EBC @ =gUnk_08122254 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08090EBC: .4byte gUnk_08122254 - - thumb_func_start sub_08090EC0 -sub_08090EC0: @ 0x08090EC0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xb] - strb r0, [r4, #0x1e] - bl sub_08052660 - cmp r0, #0 - beq _08090EFE - ldrb r0, [r4, #0x1e] - adds r0, #4 - strb r0, [r4, #0x1e] - adds r0, r4, #0 - bl sub_080AE068 - movs r1, #0xc2 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_080ADF80 -_08090EFE: - pop {r4, pc} - - thumb_func_start sub_08090F00 -sub_08090F00: @ 0x08090F00 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - cmp r1, #1 - bne _08090F1C - ldr r0, [r4, #0x50] - ldrb r2, [r4, #0xf] - lsls r1, r2 - ldr r0, [r0, #0x20] - ands r0, r1 - cmp r0, #0 - bne _08090F1C - bl sub_0805E780 -_08090F1C: - ldr r6, _08090F64 @ =gUnk_03003F80 - ldr r0, [r6, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08090F62 - ldr r5, _08090F68 @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #4 - movs r3, #4 - bl sub_080041A0 - cmp r0, #0 - beq _08090F62 - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - bne _08090F62 - adds r2, r6, #0 - adds r2, #0x90 - ldr r1, _08090F6C @ =gUnk_0812225C - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r2] - ldrh r0, [r0] - ands r0, r1 - cmp r0, #0 - beq _08090F62 - ldrb r0, [r4, #0xe] - bl sub_0804B128 - bl sub_08080840 -_08090F62: - pop {r4, r5, r6, pc} - .align 2, 0 -_08090F64: .4byte gUnk_03003F80 -_08090F68: .4byte gUnk_03001160 -_08090F6C: .4byte gUnk_0812225C - - thumb_func_start sub_08090F70 -sub_08090F70: @ 0x08090F70 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08090FB4 - movs r5, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r5 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xb] - strb r0, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - bl sub_08052660 - cmp r0, #0 - beq _08090FB4 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r5 - strb r0, [r2] -_08090FB4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08090FB8 -sub_08090FB8: @ 0x08090FB8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08090FF6 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 -_08090FF6: - pop {r4, pc} - - thumb_func_start sub_08090FF8 -sub_08090FF8: @ 0x08090FF8 - push {lr} - ldr r2, _0809100C @ =gUnk_08122278 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809100C: .4byte gUnk_08122278 - - thumb_func_start sub_08091010 -sub_08091010: @ 0x08091010 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08091094 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r3, r4, #0 - adds r3, #0x74 - strh r1, [r3] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r5, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3] - subs r0, #0x80 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - ldr r6, _08091098 @ =0x00004022 - movs r7, #4 -_0809105C: - subs r1, r4, #2 - adds r0, r6, #0 - adds r2, r5, #0 - bl sub_0800015E - subs r1, r4, #1 - adds r0, r6, #0 - adds r2, r5, #0 - bl sub_0800015E - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_0800015E - adds r1, r4, #1 - adds r0, r6, #0 - adds r2, r5, #0 - bl sub_0800015E - adds r0, r4, #0 - adds r0, #0x40 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - subs r7, #1 - cmp r7, #0 - bge _0809105C - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08091094: .4byte gUnk_03000BF0 -_08091098: .4byte 0x00004022 - - thumb_func_start nullsub_523 -nullsub_523: @ 0x0809109C - bx lr - .align 2, 0 - - thumb_func_start sub_080910A0 -sub_080910A0: @ 0x080910A0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080910C8 - ldrb r0, [r4, #0xa] - bl sub_0807CBD0 - cmp r0, #0 - beq _080910B8 - bl sub_0805E780 -_080910B8: - movs r1, #1 - strb r1, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r4, #0 - bl sub_08078828 -_080910C8: - adds r0, r4, #0 - adds r0, #0x39 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _08091100 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _08091104 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - movs r1, #2 - bl sub_080A7C8C - bl sub_0805E780 -_08091100: - pop {r4, r5, pc} - .align 2, 0 -_08091104: .4byte gUnk_03000BF0 - - thumb_func_start sub_08091108 -sub_08091108: @ 0x08091108 - push {lr} - ldr r2, _0809111C @ =gUnk_08122280 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809111C: .4byte gUnk_08122280 - - thumb_func_start sub_08091120 -sub_08091120: @ 0x08091120 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldr r3, _08091194 @ =gUnk_08122288 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r0, #2] - adds r0, r4, #0 - adds r0, #0x60 - strh r1, [r0] - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r0, #1] - movs r0, #0xf - ands r1, r0 - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r0, [r0, #3] - strh r0, [r4, #0x12] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x19] - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08004168 - pop {r4, pc} - .align 2, 0 -_08091194: .4byte gUnk_08122288 - - thumb_func_start sub_08091198 -sub_08091198: @ 0x08091198 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _080911AA - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_080911AA: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080911E8 - ldrb r1, [r4, #0xb] - cmp r1, #0xf - beq _080911CE - cmp r1, #0xf - bgt _080911C8 - cmp r1, #0 - beq _080911E4 - b _080911DA -_080911C8: - cmp r1, #0xff - bne _080911DA - b _080911E4 -_080911CE: - ldrb r1, [r4, #0xe] - adds r0, r4, #0 - movs r2, #0x80 - bl sub_080A29AC - b _080911E4 -_080911DA: - ldrb r2, [r4, #0xe] - adds r0, r4, #0 - movs r3, #0 - bl sub_080A2988 -_080911E4: - bl sub_0805E780 -_080911E8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080911EC -sub_080911EC: @ 0x080911EC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x72 - ldrh r0, [r0] - cmp r0, #1 - beq _0809123C - cmp r0, #1 - bgt _08091202 - cmp r0, #0 - beq _08091208 - b _08091260 -_08091202: - cmp r0, #2 - beq _08091254 - b _08091260 -_08091208: - ldr r1, _08091234 @ =gUnk_08122294 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0800445C - ldr r1, _08091238 @ =gUnk_02021F00 - adds r0, r4, #0 - adds r0, #0x74 - ldrb r0, [r0] - lsls r0, r0, #1 - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x70 - ldrh r1, [r1] - strh r1, [r0] - b _08091260 - .align 2, 0 -_08091234: .4byte gUnk_08122294 -_08091238: .4byte gUnk_02021F00 -_0809123C: - ldr r0, _08091250 @ =gUnk_081222A0 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - b _08091260 - .align 2, 0 -_08091250: .4byte gUnk_081222A0 -_08091254: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08091260 - adds r0, r4, #0 - bl sub_08091504 -_08091260: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08091264 -sub_08091264: @ 0x08091264 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldr r0, _080912C4 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x45 - bhi _0809132C - ldrb r1, [r6, #0xa] - ldrb r2, [r6, #0xb] - movs r0, #0x54 - bl sub_080A2960 - adds r7, r0, #0 - ldrb r1, [r6, #0xa] - ldrb r2, [r6, #0xb] - movs r0, #0x54 - bl sub_080A2960 - adds r1, r0, #0 - str r6, [r7, #0x50] - str r6, [r1, #0x50] - adds r0, r7, #0 - adds r0, #0x72 - movs r5, #1 - movs r4, #1 - strh r4, [r0] - adds r2, r1, #0 - adds r2, #0x72 - movs r0, #2 - strh r0, [r2] - adds r0, r6, #0 - bl sub_0806FA24 - movs r2, #1 - strb r5, [r6, #0xc] - ldrb r1, [r6, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r6, #0x18] - movs r0, #0x60 - strh r0, [r6, #0x24] - ldrb r0, [r6, #0xb] - ands r4, r0 - cmp r4, #0 - beq _080912CC - ldr r0, _080912C8 @ =gUnk_080FD278 - b _080912CE - .align 2, 0 -_080912C4: .4byte gUnk_03003DBC -_080912C8: .4byte gUnk_080FD278 -_080912CC: - ldr r0, _08091330 @ =gUnk_080FD270 -_080912CE: - str r0, [r6, #0x48] - movs r0, #1 - strb r0, [r6, #0x16] - ldr r2, _08091334 @ =gUnk_081222A8 - ldrb r0, [r6, #0xb] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r6, #0x2e] - adds r0, r0, r1 - strh r0, [r6, #0x2e] - adds r1, r6, #0 - adds r1, #0x80 - strh r0, [r1] - ldrb r0, [r6, #0xb] - lsls r0, r0, #1 - adds r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r6, #0x32] - adds r0, r0, r1 - strh r0, [r6, #0x32] - adds r1, r6, #0 - adds r1, #0x82 - strh r0, [r1] - adds r0, r6, #0 - adds r1, r7, #0 - bl sub_0806FA24 - adds r0, r6, #0 - adds r0, #0x7e - ldrb r0, [r0] - adds r1, r6, #0 - adds r1, #0x76 - strh r0, [r1] - ldrb r1, [r6, #0xe] - adds r0, r6, #0 - adds r0, #0x74 - strb r1, [r0] - ldrb r1, [r6, #0xb] - adds r0, r6, #0 - bl sub_08004260 -_0809132C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08091330: .4byte gUnk_080FD270 -_08091334: .4byte gUnk_081222A8 - - thumb_func_start sub_08091338 -sub_08091338: @ 0x08091338 - push {r4, lr} - adds r4, r0, #0 - bl sub_08078930 - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - cmp r0, #0 - beq _0809135C - ldrb r0, [r4, #0xb] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08091660 -_0809135C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08091360 -sub_08091360: @ 0x08091360 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806FBB4 - ldr r1, _0809137C @ =gUnk_081222B0 - ldrb r0, [r4, #0xd] - subs r0, #5 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_0809137C: .4byte gUnk_081222B0 - - thumb_func_start sub_08091380 -sub_08091380: @ 0x08091380 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r7, _0809142C @ =gUnk_03001160 - adds r0, #0x75 - ldrb r0, [r0] - cmp r0, #0 - bne _080913E0 - ldrb r0, [r4, #0xb] - lsls r2, r0, #1 - ldrb r0, [r7, #0x14] - cmp r2, r0 - bne _080913D4 - ldr r1, _08091430 @ =gUnk_081222B8 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r3, [r4, #0x2e] - adds r0, r0, r3 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - adds r0, r2, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - adds r0, r7, #0 - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_080002D4 - subs r0, #0xf - cmp r0, #0x10 - bls _080913D4 - strh r6, [r7, #0x2e] - strh r5, [r7, #0x32] -_080913D4: - adds r1, r4, #0 - adds r1, #0x75 - movs r0, #1 - strb r0, [r1] - movs r0, #2 - strb r0, [r4, #0xf] -_080913E0: - ldrb r0, [r7, #0x14] - lsrs r0, r0, #1 - ldrb r3, [r4, #0xb] - cmp r0, r3 - bne _0809142A - ldr r1, _08091434 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x1a - bne _0809142A - ldrb r1, [r1, #5] - movs r5, #2 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _0809142A - ldr r0, _0809142C @ =gUnk_03001160 - adds r0, #0x5a - ldrb r1, [r0] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _0809142A - adds r0, r4, #0 - bl sub_0809153C - adds r1, r4, #0 - adds r1, #0x75 - ldrb r0, [r1] - cmp r0, #1 - bne _0809142A - strb r5, [r1] - movs r0, #0xcf - lsls r0, r0, #1 - bl sub_08004488 -_0809142A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809142C: .4byte gUnk_03001160 -_08091430: .4byte gUnk_081222B8 -_08091434: .4byte gUnk_03003F80 - - thumb_func_start sub_08091438 -sub_08091438: @ 0x08091438 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - adds r0, #0x75 - strb r2, [r0] - bx lr - - thumb_func_start sub_08091444 -sub_08091444: @ 0x08091444 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #9 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4, #0x50] - ldrb r1, [r0, #0xb] - adds r1, #8 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08016A04 - pop {r4, pc} - - thumb_func_start sub_08091470 -sub_08091470: @ 0x08091470 - push {r4, lr} - adds r2, r0, #0 - ldr r4, [r2, #0x50] - adds r3, r4, #0 - adds r3, #0x70 - ldrh r0, [r3] - cmp r0, #7 - bhi _0809148C - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - b _08091502 -_0809148C: - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - ldrh r0, [r3] - adds r1, r0, #0 - subs r1, #8 - movs r0, #7 - ands r1, r0 - ldrb r3, [r2, #0xb] - cmp r3, #1 - beq _080914C8 - cmp r3, #1 - bgt _080914B4 - cmp r3, #0 - beq _080914BE - b _080914E2 -_080914B4: - cmp r3, #2 - beq _080914D0 - cmp r3, #3 - beq _080914DA - b _080914E2 -_080914BE: - ldrh r0, [r4, #0x32] - subs r0, r0, r1 - subs r0, #0x11 - strh r0, [r2, #0x32] - b _080914E2 -_080914C8: - ldrh r0, [r4, #0x2e] - adds r0, r1, r0 - adds r0, #0x11 - b _080914E0 -_080914D0: - ldrh r0, [r4, #0x32] - adds r0, r1, r0 - adds r0, #0x11 - strh r0, [r2, #0x32] - b _080914E2 -_080914DA: - ldrh r0, [r4, #0x2e] - subs r0, r0, r1 - subs r0, #0x11 -_080914E0: - strh r0, [r2, #0x2e] -_080914E2: - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - subs r0, #8 - lsls r0, r0, #0xc - lsrs r1, r0, #0x10 - ldrb r0, [r2, #0x14] - cmp r1, r0 - beq _08091502 - strb r1, [r2, #0x14] - lsls r1, r1, #2 - adds r1, r1, r3 - adds r1, #8 - adds r0, r2, #0 - bl sub_08004260 -_08091502: - pop {r4, pc} - - thumb_func_start sub_08091504 -sub_08091504: @ 0x08091504 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0xb] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08016A04 - pop {r4, pc} - - thumb_func_start sub_0809153C -sub_0809153C: @ 0x0809153C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #4 - adds r5, r0, #0 - ldr r6, _080915A8 @ =gUnk_03001160 - ldr r1, _080915AC @ =gUnk_081222C0 - ldrb r0, [r5, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - mov r8, r0 - adds r0, r5, #0 - adds r0, #0x76 - adds r1, r5, #0 - adds r1, #0x70 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bls _08091656 - ldrh r4, [r6, #0x2e] - ldrh r0, [r6, #0x32] - mov sb, r0 - movs r2, #0x24 - ldrsh r1, [r5, r2] - adds r0, r6, #0 - mov r2, r8 - str r3, [sp] - bl sub_080044AE - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - ldrh r2, [r6, #0x2e] - movs r7, #0x2e - ldrsh r0, [r6, r7] - ldr r3, [sp] - cmp r4, r0 - bne _08091596 - mov r1, sb - lsls r0, r1, #0x10 - asrs r0, r0, #0x10 - movs r7, #0x32 - ldrsh r1, [r6, r7] - cmp r0, r1 - beq _08091656 -_08091596: - ldrb r0, [r5, #0xb] - cmp r0, #1 - beq _080915CA - cmp r0, #1 - bgt _080915B0 - cmp r0, #0 - beq _080915BA - b _080915E0 - .align 2, 0 -_080915A8: .4byte gUnk_03001160 -_080915AC: .4byte gUnk_081222C0 -_080915B0: - cmp r0, #2 - beq _080915CE - cmp r0, #3 - beq _080915DA - b _080915E0 -_080915BA: - ldrh r1, [r6, #0x32] - mov r2, sb - lsls r0, r2, #0x10 - asrs r0, r0, #0x10 - subs r1, r1, r0 - lsls r1, r1, #0x10 - lsrs r3, r1, #0x10 - b _080915E0 -_080915CA: - subs r0, r4, r2 - b _080915DC -_080915CE: - ldrh r1, [r6, #0x32] - mov r7, sb - lsls r0, r7, #0x10 - asrs r0, r0, #0x10 - subs r0, r0, r1 - b _080915DC -_080915DA: - subs r0, r2, r4 -_080915DC: - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 -_080915E0: - lsls r2, r3, #0x18 - ldr r3, _0809163C @ =gUnk_080C9160 - mov r1, r8 - lsls r0, r1, #4 - adds r0, r0, r3 - movs r7, #0 - ldrsh r0, [r0, r7] - asrs r2, r2, #0x10 - adds r1, r0, #0 - muls r1, r2, r1 - ldr r0, [r5, #0x2c] - adds r0, r0, r1 - str r0, [r5, #0x2c] - mov r1, r8 - lsls r0, r1, #4 - adds r0, #0x80 - adds r0, r0, r3 - movs r7, #0 - ldrsh r0, [r0, r7] - adds r1, r0, #0 - muls r1, r2, r1 - ldr r0, [r5, #0x30] - subs r0, r0, r1 - str r0, [r5, #0x30] - adds r0, r5, #0 - bl sub_08091660 - adds r0, r5, #0 - adds r0, #0x76 - adds r1, r5, #0 - adds r1, #0x70 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bhi _08091640 - movs r0, #0x86 - lsls r0, r0, #1 - bl sub_08004488 - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - b _08091656 - .align 2, 0 -_0809163C: .4byte gUnk_080C9160 -_08091640: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08091656 - movs r0, #0x10 - strb r0, [r5, #0xf] - adds r0, #0xff - bl sub_08004488 -_08091656: - add sp, #4 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08091660 -sub_08091660: @ 0x08091660 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #1 - beq _08091686 - cmp r0, #1 - bgt _08091674 - cmp r0, #0 - beq _0809167E - b _080916AA -_08091674: - cmp r0, #2 - beq _08091690 - cmp r0, #3 - beq _0809169A - b _080916AA -_0809167E: - adds r1, r4, #0 - adds r1, #0x82 - ldrh r0, [r4, #0x32] - b _080916A0 -_08091686: - adds r0, r4, #0 - adds r0, #0x80 - ldrh r0, [r0] - ldrh r1, [r4, #0x2e] - b _080916A2 -_08091690: - adds r0, r4, #0 - adds r0, #0x82 - ldrh r0, [r0] - ldrh r1, [r4, #0x32] - b _080916A2 -_0809169A: - adds r1, r4, #0 - adds r1, #0x80 - ldrh r0, [r4, #0x2e] -_080916A0: - ldrh r1, [r1] -_080916A2: - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x70 - strh r0, [r1] -_080916AA: - adds r5, r4, #0 - adds r5, #0x86 - ldrh r0, [r5] - bl sub_0807CBE4 - cmp r0, #0 - beq _080916C8 - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - cmp r0, #0 - bne _080916C8 - ldrh r0, [r5] - bl sub_0807CD48 -_080916C8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080916CC -sub_080916CC: @ 0x080916CC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080916E8 @ =gUnk_081223A8 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r4, #0x41 - movs r0, #0 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_080916E8: .4byte gUnk_081223A8 - - thumb_func_start sub_080916EC -sub_080916EC: @ 0x080916EC - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0xe] - lsls r0, r0, #3 - ldr r1, _080917C8 @ =gUnk_030010EC - adds r7, r0, r1 - adds r0, r6, #0 - adds r0, #0x84 - str r7, [r0] - ldr r0, _080917CC @ =gUnk_03000BF0 - ldrb r0, [r0, #5] - ldrb r1, [r7, #4] - cmp r0, r1 - bne _08091716 - ldr r0, _080917D0 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #5 - ands r0, r1 - cmp r0, #0 - beq _0809171A -_08091716: - bl sub_0805E780 -_0809171A: - ldr r4, _080917CC @ =gUnk_03000BF0 - ldrh r1, [r7] - movs r5, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - ldrh r2, [r4, #6] - adds r0, r0, r2 - adds r0, #8 - strh r0, [r6, #0x2e] - ldrh r1, [r7] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r1 - lsrs r0, r0, #2 - ldrh r3, [r4, #8] - adds r0, r0, r3 - adds r0, #8 - strh r0, [r6, #0x32] - ldrb r0, [r7, #5] - strb r0, [r6, #0x14] - ldrb r0, [r7, #6] - strb r0, [r6, #0xb] - movs r2, #1 - strb r2, [r6, #0xc] - ldr r0, _080917D4 @ =gUnk_080FD310 - str r0, [r6, #0x48] - ldrb r1, [r6, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r6, #0x10] - adds r0, r6, #0 - adds r0, #0x3f - strb r2, [r0] - adds r1, r6, #0 - adds r1, #0x3c - movs r0, #0x47 - strb r0, [r1] - adds r1, #4 - movs r0, #0x44 - strb r0, [r1] - subs r1, #5 - movs r0, #0x80 - strb r0, [r1] - ldrb r0, [r6, #0x14] - lsls r0, r0, #3 - strb r0, [r6, #0x15] - movs r0, #0xe0 - lsls r0, r0, #3 - strh r0, [r6, #0x24] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r6, #0x14] - adds r1, #4 - ldrb r0, [r6, #0xb] - adds r1, r1, r0 - adds r0, r6, #0 - bl sub_080042AC - ldr r0, _080917D8 @ =0x00004022 - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldrh r2, [r4, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r5 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r4, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r5 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r6, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080917C8: .4byte gUnk_030010EC -_080917CC: .4byte gUnk_03000BF0 -_080917D0: .4byte gUnk_03003F80 -_080917D4: .4byte gUnk_080FD310 -_080917D8: .4byte 0x00004022 - - thumb_func_start sub_080917DC -sub_080917DC: @ 0x080917DC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x1d - bne _08091810 - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #7 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x14] - adds r1, #4 - ldrb r0, [r4, #0xb] - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_080042AC - ldr r0, _0809180C @ =0x0000013B - bl sub_080A3268 - b _080918A0 - .align 2, 0 -_0809180C: .4byte 0x0000013B -_08091810: - adds r0, r4, #0 - bl sub_0800445C - cmp r0, #0 - beq _0809184A - ldr r2, _08091840 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _08091844 @ =0x00040080 - ands r0, r1 - cmp r0, #0 - bne _08091848 - ldrb r0, [r2, #0x1c] - cmp r0, #0 - bne _08091848 - ldrb r0, [r2, #5] - cmp r0, #0 - bne _08091848 - ldrb r0, [r2, #2] - cmp r0, #0 - bne _08091848 - ldrb r0, [r4, #0xe] - adds r0, #1 - b _0809184A - .align 2, 0 -_08091840: .4byte gUnk_03003F80 -_08091844: .4byte 0x00040080 -_08091848: - movs r0, #0 -_0809184A: - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0809189C - ldrb r0, [r4, #0xe] - cmp r0, #8 - bls _080918A0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldr r2, _08091894 @ =gUnk_03003F80 - movs r0, #0x81 - strb r0, [r2, #2] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x13 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r1, _08091898 @ =gUnk_03001160 - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r1, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1, #0x24] - ldrb r2, [r1, #0x10] - movs r0, #0x7f - ands r0, r2 - strb r0, [r1, #0x10] - bl sub_08077B2C - bl sub_0807A108 - movs r0, #0x7c - bl sub_080A3268 - b _080918A0 - .align 2, 0 -_08091894: .4byte gUnk_03003F80 -_08091898: .4byte gUnk_03001160 -_0809189C: - movs r0, #0 - strb r0, [r4, #0xe] -_080918A0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080918A4 -sub_080918A4: @ 0x080918A4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08091964 @ =gUnk_03001160 - adds r1, r5, #0 - movs r2, #2 - movs r3, #2 - bl sub_080041A0 - cmp r0, #0 - beq _08091974 - ldrh r0, [r4, #0x2e] - strh r0, [r5, #0x2e] - ldrh r0, [r4, #0x32] - strh r0, [r5, #0x32] - movs r0, #0x36 - ldrsh r1, [r5, r0] - movs r0, #0x10 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0809197E - ldr r0, [r5, #0x20] - cmp r0, #0 - bge _080919A4 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - strb r0, [r5, #0x14] - ldr r2, _08091968 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x13 - eors r0, r1 - movs r1, #0x80 - lsls r1, r1, #5 - orrs r0, r1 - str r0, [r2, #0x30] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xf] - ldrb r0, [r4, #0x10] - movs r2, #0x20 - orrs r0, r2 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x97 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x3c - ldrb r0, [r0] - adds r0, #1 - subs r1, #3 - orrs r0, r2 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x3b - ldrb r0, [r0] - adds r2, r4, #0 - adds r2, #0x3b - strb r0, [r2] - adds r1, #4 - movs r0, #0x18 - strb r0, [r1] - adds r1, #4 - movs r0, #8 - strb r0, [r1] - adds r0, r4, #0 - bl sub_0801766C - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _0809196C @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - ldr r0, _08091970 @ =0x00000137 - bl sub_080A3268 - b _0809197E - .align 2, 0 -_08091964: .4byte gUnk_03001160 -_08091968: .4byte gUnk_03003F80 -_0809196C: .4byte gUnk_03000BF0 -_08091970: .4byte 0x00000137 -_08091974: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080045C4 - strb r0, [r5, #0x15] -_0809197E: - ldr r3, _080919A8 @ =gUnk_03001160 - ldr r0, [r3, #0x20] - cmp r0, #0 - bge _080919A4 - adds r0, r4, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080919A4: - pop {r4, r5, pc} - .align 2, 0 -_080919A8: .4byte gUnk_03001160 - - thumb_func_start sub_080919AC -sub_080919AC: @ 0x080919AC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldr r1, _080919D4 @ =gUnk_03000BF0 - movs r0, #0 - mov r8, r0 - movs r0, #7 - strb r0, [r1, #0xe] - ldr r0, _080919D8 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #5 - ands r0, r1 - cmp r0, #0 - bne _080919DC - movs r0, #1 - strb r0, [r5, #0xc] - b _08091C04 - .align 2, 0 -_080919D4: .4byte gUnk_03000BF0 -_080919D8: .4byte gUnk_03003F80 -_080919DC: - ldr r4, _08091A14 @ =gUnk_03001160 - adds r6, r4, #0 - adds r6, #0x5a - ldrb r1, [r6] - movs r7, #0xf - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - bne _08091A22 - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r1, [r6] - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0x10 - bne _08091A18 - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #1 - strb r0, [r1] - b _08091C04 - .align 2, 0 -_08091A14: .4byte gUnk_03001160 -_08091A18: - adds r0, r5, #0 - adds r0, #0x63 - mov r1, r8 - strb r1, [r0] - b _08091C04 -_08091A22: - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - mov r0, r8 - strh r0, [r4, #0x24] - adds r0, r5, #0 - bl sub_0806F69C - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, r4, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r0, r5, #0 - bl sub_08091DDC - cmp r0, #0 - beq _08091A68 - b _08091C04 -_08091A68: - ldr r0, _08091AD8 @ =gUnk_030010A0 - ldr r0, [r0] - ands r0, r7 - cmp r0, #0 - bne _08091A7A - movs r0, #0x9c - lsls r0, r0, #1 - bl sub_080A3268 -_08091A7A: - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08091A92 - movs r0, #0x7b - bl sub_080A3268 - movs r0, #0x3c - strb r0, [r5, #0xf] -_08091A92: - ldr r2, _08091ADC @ =gUnk_081223C8 - ldrb r0, [r5, #0x14] - lsls r0, r0, #1 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r0, r5, #0 - bl sub_080002B4 - adds r4, r0, #0 - ldr r1, _08091AE0 @ =gUnk_081223D8 - ldrb r0, [r5, #0x14] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl sub_08007DD6 - cmp r0, #0 - bne _08091AE4 - ldrb r0, [r5, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r5, #0x15] - ldrb r0, [r5, #0x14] - movs r1, #2 - eors r0, r1 - strb r0, [r5, #0x14] - b _08091BD8 - .align 2, 0 -_08091AD8: .4byte gUnk_030010A0 -_08091ADC: .4byte gUnk_081223C8 -_08091AE0: .4byte gUnk_081223D8 -_08091AE4: - adds r0, r4, #0 - subs r0, #0x64 - cmp r0, #0xb - bhi _08091BD8 - lsls r0, r0, #2 - ldr r1, _08091AF8 @ =_08091AFC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08091AF8: .4byte _08091AFC -_08091AFC: @ jump table - .4byte _08091B2C @ case 0 - .4byte _08091BD8 @ case 1 - .4byte _08091BD8 @ case 2 - .4byte _08091BB8 @ case 3 - .4byte _08091BB8 @ case 4 - .4byte _08091BB8 @ case 5 - .4byte _08091BB8 @ case 6 - .4byte _08091BD8 @ case 7 - .4byte _08091BB8 @ case 8 - .4byte _08091BB8 @ case 9 - .4byte _08091BB8 @ case 10 - .4byte _08091BB8 @ case 11 -_08091B2C: - ldrb r1, [r5, #0x10] - movs r0, #0xdf - ands r0, r1 - strb r0, [r5, #0x10] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #1 - strb r0, [r1] - subs r1, #3 - movs r0, #0x47 - strb r0, [r1] - adds r1, #4 - movs r0, #0x44 - strb r0, [r1] - subs r1, #5 - movs r4, #0x80 - movs r0, #0x80 - strb r0, [r1] - movs r0, #6 - strb r0, [r5, #0xc] - adds r0, r5, #0 - bl sub_08017744 - ldr r2, _08091BAC @ =gUnk_03003F80 - movs r0, #0x41 - strb r0, [r2, #2] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #5 - eors r0, r1 - movs r1, #0x80 - lsls r1, r1, #0x13 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r1, _08091BB0 @ =gUnk_03001160 - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r1, #0x20] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r1, #0x24] - ldrb r0, [r5, #0x14] - lsls r0, r0, #1 - strb r0, [r1, #0x14] - ldrb r0, [r5, #0x15] - strb r0, [r1, #0x15] - ldrb r0, [r1, #0x10] - orrs r4, r0 - strb r4, [r1, #0x10] - adds r0, r5, #0 - bl sub_08004168 - ldrb r1, [r5, #0x14] - adds r1, #0xc - adds r0, r5, #0 - bl sub_080042AC - movs r0, #0x78 - bl sub_080A3268 - ldr r0, _08091BB4 @ =0x00000139 - bl sub_080A3268 - b _08091C04 - .align 2, 0 -_08091BAC: .4byte gUnk_03003F80 -_08091BB0: .4byte gUnk_03001160 -_08091BB4: .4byte 0x00000139 -_08091BB8: - adds r0, r5, #0 - bl sub_080002B8 - cmp r4, r0 - bne _08091BD8 - adds r0, r5, #0 - bl sub_08091C0C - ldr r1, _08091BD4 @ =gUnk_03001160 - ldrb r0, [r5, #0x14] - lsls r0, r0, #1 - strb r0, [r1, #0x14] - b _08091C04 - .align 2, 0 -_08091BD4: .4byte gUnk_03001160 -_08091BD8: - ldr r2, _08091BF8 @ =gUnk_03001160 - ldrb r0, [r5, #0x14] - lsls r1, r0, #1 - strb r1, [r2, #0x14] - adds r1, r5, #0 - adds r1, #0x58 - ldrb r1, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r1, r0 - bne _08091BFC - adds r0, r5, #0 - bl sub_080042B8 - b _08091C04 - .align 2, 0 -_08091BF8: .4byte gUnk_03001160 -_08091BFC: - ldrb r1, [r5, #0x14] - adds r0, r5, #0 - bl sub_080042AC -_08091C04: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08091C0C -sub_08091C0C: @ 0x08091C0C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004168 - ldr r1, _08091C30 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - bl sub_080002B8 - cmp r0, #0x68 - beq _08091C46 - cmp r0, #0x68 - bhi _08091C34 - cmp r0, #0x67 - beq _08091C3E - b _08091C80 - .align 2, 0 -_08091C30: .4byte gUnk_03001160 -_08091C34: - cmp r0, #0x69 - beq _08091C4E - cmp r0, #0x6a - beq _08091C66 - b _08091C80 -_08091C3E: - ldrb r0, [r4, #0x15] - cmp r0, #0x18 - beq _08091C54 - b _08091C76 -_08091C46: - ldrb r0, [r4, #0x15] - cmp r0, #8 - beq _08091C6C - b _08091C5C -_08091C4E: - ldrb r0, [r4, #0x15] - cmp r0, #8 - bne _08091C5C -_08091C54: - movs r0, #0 - strb r0, [r4, #0x15] - strb r0, [r4, #0x14] - b _08091C86 -_08091C5C: - movs r0, #0x18 - strb r0, [r4, #0x15] - movs r0, #3 - strb r0, [r4, #0x14] - b _08091C86 -_08091C66: - ldrb r0, [r4, #0x15] - cmp r0, #0x18 - bne _08091C76 -_08091C6C: - movs r0, #0x10 - strb r0, [r4, #0x15] - movs r0, #2 - strb r0, [r4, #0x14] - b _08091C86 -_08091C76: - movs r0, #8 - strb r0, [r4, #0x15] - movs r0, #1 - strb r0, [r4, #0x14] - b _08091C86 -_08091C80: - movs r0, #3 - strb r0, [r4, #0xc] - b _08091C92 -_08091C86: - movs r0, #3 - strb r0, [r4, #0xc] - ldr r1, _08091C94 @ =gUnk_03001160 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - strb r0, [r1, #0x14] -_08091C92: - pop {r4, pc} - .align 2, 0 -_08091C94: .4byte gUnk_03001160 - - thumb_func_start sub_08091C98 -sub_08091C98: @ 0x08091C98 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldr r5, _08091CC0 @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - ldr r1, _08091CC4 @ =gUnk_03000BF0 - ldrh r0, [r1] - cmp r0, #0 - bne _08091CBE - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0xe0 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - str r5, [r1, #0x30] -_08091CBE: - pop {r4, r5, pc} - .align 2, 0 -_08091CC0: .4byte gUnk_03001160 -_08091CC4: .4byte gUnk_03000BF0 - - thumb_func_start sub_08091CC8 -sub_08091CC8: @ 0x08091CC8 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r2, _08091D58 @ =gUnk_03003F80 - ldrb r0, [r2, #2] - cmp r0, #0 - bne _08091D64 - movs r0, #1 - strb r0, [r6, #0xc] - ldrb r0, [r6, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r6, #0x15] - ldrb r0, [r6, #0x14] - movs r1, #2 - eors r0, r1 - strb r0, [r6, #0x14] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x13 - eors r0, r1 - str r0, [r2, #0x30] - adds r0, r6, #0 - adds r0, #0x84 - ldr r4, [r0] - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r5, _08091D5C @ =gUnk_03000BF0 - ldrh r0, [r5, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r2, #0x32 - ldrsh r0, [r6, r2] - ldrh r2, [r5, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4] - ldrb r0, [r5, #5] - strb r0, [r4, #4] - ldrb r0, [r6, #0x14] - strb r0, [r4, #5] - ldrb r1, [r6, #0x14] - adds r1, #0x10 - adds r0, r6, #0 - bl sub_080042AC - ldr r0, _08091D60 @ =0x00004022 - movs r3, #0x2e - ldrsh r1, [r6, r3] - ldrh r2, [r5, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r6, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - b _08091D8A - .align 2, 0 -_08091D58: .4byte gUnk_03003F80 -_08091D5C: .4byte gUnk_03000BF0 -_08091D60: .4byte 0x00004022 -_08091D64: - adds r0, r6, #0 - bl sub_080042B8 - ldr r3, _08091D8C @ =gUnk_03001160 - adds r0, r6, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_08091D8A: - pop {r4, r5, r6, pc} - .align 2, 0 -_08091D8C: .4byte gUnk_03001160 - - thumb_func_start sub_08091D90 -sub_08091D90: @ 0x08091D90 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _08091DA0 - adds r0, r4, #0 - bl sub_080042B8 -_08091DA0: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08091DD8 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08091DD8 - ldrb r1, [r4, #0xb] - movs r0, #4 - eors r1, r0 - strb r1, [r4, #0xb] - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r1, [r0, #6] - movs r0, #0x9e - lsls r0, r0, #1 - bl sub_080A3268 -_08091DD8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08091DDC -sub_08091DDC: @ 0x08091DDC - push {r4, lr} - adds r4, r0, #0 - ldr r2, _08091E30 @ =gUnk_081223D0 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r0, r4, #0 - bl sub_080002CC - cmp r0, #0xff - bne _08091E5C - ldr r0, _08091E34 @ =gUnk_03001160 - ldrb r1, [r4, #0x14] - bl sub_0807BD14 - cmp r0, #0 - beq _08091E5C - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4, #0x11] - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x15] - cmp r0, #8 - beq _08091E40 - cmp r0, #8 - bgt _08091E38 - cmp r0, #0 - beq _08091E40 - b _08091E44 - .align 2, 0 -_08091E30: .4byte gUnk_081223D0 -_08091E34: .4byte gUnk_03001160 -_08091E38: - cmp r0, #0x10 - beq _08091E40 - cmp r0, #0x18 - bne _08091E44 -_08091E40: - movs r0, #0xa0 - strh r0, [r4, #0x24] -_08091E44: - ldr r0, _08091E54 @ =gUnk_03001160 - ldrb r1, [r4, #0x15] - strb r1, [r0, #0x15] - ldr r0, _08091E58 @ =gUnk_03000BF0 - str r4, [r0, #0x30] - movs r0, #1 - b _08091E5E - .align 2, 0 -_08091E54: .4byte gUnk_03001160 -_08091E58: .4byte gUnk_03000BF0 -_08091E5C: - movs r0, #0 -_08091E5E: - pop {r4, pc} - - thumb_func_start sub_08091E60 -sub_08091E60: @ 0x08091E60 - push {lr} - ldr r2, _08091E74 @ =gUnk_08122598 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08091E74: .4byte gUnk_08122598 - - thumb_func_start sub_08091E78 -sub_08091E78: @ 0x08091E78 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08091E96 - movs r0, #0x2d - strb r0, [r4, #0xe] -_08091E96: - ldrb r1, [r4, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_08004260 - ldr r1, _08091EBC @ =gUnk_08122590 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 -_08091EBC: .4byte gUnk_08122590 - - thumb_func_start sub_08091EC0 -sub_08091EC0: @ 0x08091EC0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _08091ED6 - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r1, #0x32] - strh r0, [r4, #0x32] - ldrh r0, [r1, #0x36] - strh r0, [r4, #0x36] -_08091ED6: - ldrb r0, [r4, #0xb] - cmp r0, #2 - beq _08091EEC - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08091EEC - bl sub_0805E780 -_08091EEC: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_08091EF4 -sub_08091EF4: @ 0x08091EF4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #1 - bhi _08091F0E - ldr r0, _08091F10 @ =gUnk_08122604 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_08091F0E: - pop {pc} - .align 2, 0 -_08091F10: .4byte gUnk_08122604 - - thumb_func_start sub_08091F14 -sub_08091F14: @ 0x08091F14 - push {r4, r5, lr} - adds r4, r0, #0 - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x58 - strb r2, [r0] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08091FEC @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x70 - strh r1, [r5] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08091FEA - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xd1 - lsls r0, r0, #1 - ldrh r1, [r5] - subs r1, #0x41 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0807B314 - ldr r0, _08091FF0 @ =0x000001A3 - ldrh r1, [r5] - subs r1, #0x40 - ldrb r2, [r4] - bl sub_0807B314 - movs r0, #0xd2 - lsls r0, r0, #1 - ldrh r1, [r5] - subs r1, #0x3f - ldrb r2, [r4] - bl sub_0807B314 - ldr r0, _08091FF4 @ =0x000001A5 - ldrh r1, [r5] - subs r1, #1 - ldrb r2, [r4] - bl sub_0807B314 - movs r0, #0xd3 - lsls r0, r0, #1 - ldrh r1, [r5] - ldrb r2, [r4] - bl sub_0807B314 - ldr r0, _08091FF8 @ =0x000001A7 - ldrh r1, [r5] - adds r1, #1 - ldrb r2, [r4] - bl sub_0807B314 - movs r0, #0xd4 - lsls r0, r0, #1 - ldrh r1, [r5] - adds r1, #0x3f - ldrb r2, [r4] - bl sub_0807B314 - ldr r0, _08091FFC @ =0x000001A9 - ldrh r1, [r5] - adds r1, #0x40 - ldrb r2, [r4] - bl sub_0807B314 - movs r0, #0xd5 - lsls r0, r0, #1 - ldrh r1, [r5] - adds r1, #0x41 - ldrb r2, [r4] - bl sub_0807B314 -_08091FEA: - pop {r4, r5, pc} - .align 2, 0 -_08091FEC: .4byte gUnk_03000BF0 -_08091FF0: .4byte 0x000001A3 -_08091FF4: .4byte 0x000001A5 -_08091FF8: .4byte 0x000001A7 -_08091FFC: .4byte 0x000001A9 - - thumb_func_start sub_08092000 -sub_08092000: @ 0x08092000 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x70 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - movs r1, #0xd3 - lsls r1, r1, #1 - cmp r0, r1 - bne _08092034 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 -_08092034: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08092038 -sub_08092038: @ 0x08092038 - push {lr} - ldr r2, _0809204C @ =gUnk_0812260C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809204C: .4byte gUnk_0812260C - - thumb_func_start sub_08092050 -sub_08092050: @ 0x08092050 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0809207A - movs r0, #3 - strb r0, [r6, #0xc] - ldrh r0, [r6, #0x2e] - adds r0, #2 - strh r0, [r6, #0x2e] - adds r0, r6, #0 - bl sub_0809223C - adds r0, r6, #0 - movs r1, #1 - bl sub_080042AC - b _08092148 -_0809207A: - ldrb r0, [r6, #0xd] - cmp r0, #0 - bne _08092138 - movs r1, #1 - strb r1, [r6, #0xd] - adds r0, r6, #0 - adds r0, #0x38 - strb r1, [r0] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r6, #0x2e] - adds r0, #2 - strh r0, [r6, #0x2e] - adds r0, r6, #0 - bl sub_08016A04 - movs r0, #0x2e - ldrsh r2, [r6, r0] - ldr r3, _08092130 @ =gUnk_03000BF0 - ldrh r0, [r3, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r4, #0x3f - ands r2, r4 - movs r1, #0x32 - ldrsh r0, [r6, r1] - ldrh r1, [r3, #8] - adds r1, #8 - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r2, r0 - adds r5, r6, #0 - adds r5, #0x70 - strh r2, [r5] - movs r0, #0x2e - ldrsh r2, [r6, r0] - ldrh r0, [r3, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - ands r2, r4 - movs r1, #0x32 - ldrsh r0, [r6, r1] - ldrh r1, [r3, #8] - subs r1, #8 - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r2, r0 - adds r7, r6, #0 - adds r7, #0x72 - strh r2, [r7] - ldrh r0, [r5] - movs r1, #1 - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x74 - strh r0, [r1] - ldrh r0, [r7] - movs r1, #1 - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r4, _08092134 @ =0x00004022 - ldrh r1, [r5] - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldrh r1, [r7] - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r0, r6, #0 - movs r1, #0 - bl sub_080042AC - b _08092148 - .align 2, 0 -_08092130: .4byte gUnk_03000BF0 -_08092134: .4byte 0x00004022 -_08092138: - movs r0, #1 - strb r0, [r6, #0xc] - adds r0, r6, #0 - bl sub_080921BC - adds r0, r6, #0 - bl sub_080921F0 -_08092148: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0809214C -sub_0809214C: @ 0x0809214C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08092160 - movs r0, #2 - strb r0, [r4, #0xc] -_08092160: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08092164 -sub_08092164: @ 0x08092164 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080921B6 - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x70 - ldrh r1, [r1] - movs r2, #1 - bl sub_0800015E - adds r0, r4, #0 - adds r0, #0x76 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x72 - ldrh r1, [r1] - movs r2, #1 - bl sub_0800015E - adds r0, r4, #0 - bl sub_08092214 - adds r0, r4, #0 - bl sub_0809223C - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC -_080921B6: - pop {r4, pc} - - thumb_func_start nullsub_118 -nullsub_118: @ 0x080921B8 - bx lr - .align 2, 0 - - thumb_func_start sub_080921BC -sub_080921BC: @ 0x080921BC - push {lr} - adds r2, r0, #0 - ldr r1, _080921DC @ =gUnk_030011E8 - ldr r0, _080921E0 @ =0x000029F8 - adds r3, r1, r0 -_080921C6: - ldrb r0, [r1, #8] - cmp r0, #6 - bne _080921E4 - ldrb r0, [r1, #9] - cmp r0, #0x6f - bne _080921E4 - ldrb r0, [r1, #0xa] - cmp r0, #2 - bne _080921E4 - str r1, [r2, #0x54] - b _080921EE - .align 2, 0 -_080921DC: .4byte gUnk_030011E8 -_080921E0: .4byte 0x000029F8 -_080921E4: - adds r1, #0x88 - cmp r1, r3 - blo _080921C6 - movs r0, #0 - str r0, [r2, #0x54] -_080921EE: - pop {pc} - - thumb_func_start sub_080921F0 -sub_080921F0: @ 0x080921F0 - push {lr} - ldr r2, [r0, #0x54] - cmp r2, #0 - beq _08092212 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] - adds r0, r2, #0 - bl sub_08016A04 -_08092212: - pop {pc} - - thumb_func_start sub_08092214 -sub_08092214: @ 0x08092214 - push {lr} - ldr r2, [r0, #0x54] - cmp r2, #0 - beq _0809223A - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - subs r0, #0xa - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r3] - adds r0, r2, #0 - bl sub_08016A04 -_0809223A: - pop {pc} - - thumb_func_start sub_0809223C -sub_0809223C: @ 0x0809223C - push {lr} - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #2 - strb r1, [r2] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r2, [r3] - subs r1, #0xa - ands r1, r2 - movs r2, #3 - orrs r1, r2 - strb r1, [r3] - bl sub_08016A04 - pop {pc} - - thumb_func_start sub_0809225C -sub_0809225C: @ 0x0809225C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0 - bne _0809226E - adds r0, r1, #0 - bl sub_08092278 - b _08092274 -_0809226E: - adds r0, r1, #0 - bl sub_08092344 -_08092274: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08092278 -sub_08092278: @ 0x08092278 - push {lr} - ldr r2, _0809228C @ =gUnk_08122644 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809228C: .4byte gUnk_08122644 - - thumb_func_start sub_08092290 -sub_08092290: @ 0x08092290 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - bl sub_080925A4 - pop {pc} - - thumb_func_start sub_0809229C -sub_0809229C: @ 0x0809229C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x70 - ldrb r0, [r0] - cmp r0, #0 - beq _080922E0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xb0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_08016A04 - ldr r0, [r4, #0x54] - ldrb r1, [r0, #0x14] - adds r0, r4, #0 - bl sub_080042AC - movs r0, #0xbf - lsls r0, r0, #1 - bl sub_08004488 - ldr r0, [r4, #0x54] - movs r1, #3 - bl sub_08004260 -_080922E0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080922E4 -sub_080922E4: @ 0x080922E4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x90 - lsls r1, r1, #6 - bl sub_08003FC4 - adds r2, r0, #0 - cmp r2, #0 - bne _08092322 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x70 - strb r2, [r0] - ldr r0, [r4, #0x54] - adds r0, #0x63 - strb r2, [r0] - ldr r0, [r4, #0x54] - ldrb r1, [r0, #0x14] - bl sub_08004260 - adds r0, r4, #0 - movs r1, #0x36 - movs r2, #0 - bl sub_080A29AC - b _0809233E -_08092322: - ldr r1, [r4, #0x20] - ldr r0, _08092340 @ =0x00017FFF - cmp r1, r0 - bgt _0809233E - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0809233E - adds r0, r4, #0 - bl sub_080042B8 -_0809233E: - pop {r4, pc} - .align 2, 0 -_08092340: .4byte 0x00017FFF - - thumb_func_start sub_08092344 -sub_08092344: @ 0x08092344 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - strb r0, [r4, #0xf] - ldr r1, _08092364 @ =gUnk_08122650 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080926E4 - pop {r4, pc} - .align 2, 0 -_08092364: .4byte gUnk_08122650 - - thumb_func_start sub_08092368 -sub_08092368: @ 0x08092368 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xb] - strb r0, [r2, #0x14] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, #0 - adds r1, #0x40 - movs r0, #0x48 - strb r0, [r1] - subs r1, #4 - movs r0, #7 - strb r0, [r1] - subs r1, #1 - movs r0, #0x81 - strb r0, [r1] - ldr r0, _0809239C @ =gUnk_080FD280 - str r0, [r2, #0x48] - adds r0, r2, #0 - bl sub_0809264C - pop {pc} - .align 2, 0 -_0809239C: .4byte gUnk_080FD280 - - thumb_func_start sub_080923A0 -sub_080923A0: @ 0x080923A0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #3 - beq _080923E2 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _080923C6 - movs r1, #1 - movs r0, #1 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x14] - eors r0, r1 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_080923C6: - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #3 - rsbs r1, r1, #0 - cmp r0, r1 - bne _080923E2 - adds r0, r4, #0 - bl sub_0809264C -_080923E2: - pop {r4, pc} - - thumb_func_start sub_080923E4 -sub_080923E4: @ 0x080923E4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9d - bne _080923F8 - adds r0, r4, #0 - bl sub_08092620 - b _0809241A -_080923F8: - adds r0, r4, #0 - bl sub_0809269C - cmp r0, #0 - beq _0809241A - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x14 - strb r0, [r4, #0xe] - ldr r0, _0809241C @ =gUnk_03003F80 - adds r0, #0x3f - movs r1, #0xfd - strb r1, [r0] -_0809241A: - pop {r4, pc} - .align 2, 0 -_0809241C: .4byte gUnk_03003F80 - - thumb_func_start sub_08092420 -sub_08092420: @ 0x08092420 - push {r4, lr} - adds r4, r0, #0 - bl sub_0809269C - cmp r0, #0 - beq _08092434 - ldr r0, _08092464 @ =gUnk_03003F80 - adds r0, #0x3f - movs r1, #0xfd - strb r1, [r0] -_08092434: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08092462 - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x72 - ldrh r1, [r0] - subs r0, #2 - movs r2, #0 - strh r1, [r0] - subs r0, #0xd - strb r2, [r0] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - ldr r0, _08092468 @ =0x0000017B - bl sub_08004488 -_08092462: - pop {r4, pc} - .align 2, 0 -_08092464: .4byte gUnk_03003F80 -_08092468: .4byte 0x0000017B - - thumb_func_start sub_0809246C -sub_0809246C: @ 0x0809246C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0809269C - adds r5, r4, #0 - adds r5, #0x70 - ldrh r0, [r5] - cmp r0, #0 - beq _08092482 - subs r0, #1 - strh r0, [r5] -_08092482: - ldrh r0, [r5] - cmp r0, #0x8c - bhi _080924DC - adds r0, r4, #0 - bl sub_08004274 - adds r3, r4, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _080924B8 - movs r0, #5 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - strh r0, [r5] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _080924DC -_080924B8: - movs r2, #1 - ands r2, r1 - cmp r2, #0 - beq _080924CC - strb r0, [r3] - movs r0, #0xbe - lsls r0, r0, #1 - bl sub_08004488 - b _080924DC -_080924CC: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080924DC - strb r2, [r3] - ldr r0, _080924E0 @ =0x0000017D - bl sub_08004488 -_080924DC: - pop {r4, r5, pc} - .align 2, 0 -_080924E0: .4byte 0x0000017D - - thumb_func_start sub_080924E4 -sub_080924E4: @ 0x080924E4 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x70 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0809252C - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xb] - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0 - strb r0, [r1] - ldrb r1, [r4, #0x14] - adds r1, #4 - adds r0, r4, #0 - bl sub_08004260 - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _0809252C - adds r0, r4, #0 - bl sub_0809269C -_0809252C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08092530 -sub_08092530: @ 0x08092530 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _08092544 - adds r0, r4, #0 - bl sub_0809269C - adds r5, r0, #0 - b _08092546 -_08092544: - movs r5, #0 -_08092546: - adds r0, r4, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08092570 - movs r0, #0 - strb r0, [r2] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0xac - strb r0, [r1] - b _0809258A -_08092570: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809258A - adds r0, r4, #0 - bl sub_0809264C - cmp r5, #0 - beq _0809258A - ldr r0, _0809258C @ =gUnk_03003F80 - adds r0, #0x3f - movs r1, #0xfd - strb r1, [r0] -_0809258A: - pop {r4, r5, pc} - .align 2, 0 -_0809258C: .4byte gUnk_03003F80 - - thumb_func_start sub_08092590 -sub_08092590: @ 0x08092590 - push {lr} - adds r1, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9d - bne _080925A2 - adds r0, r1, #0 - bl sub_08092620 -_080925A2: - pop {pc} - - thumb_func_start sub_080925A4 -sub_080925A4: @ 0x080925A4 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0xb] - bl sub_0804B128 - adds r5, r0, #0 - ldrb r0, [r5, #9] - cmp r0, #0xff - beq _0809261A - ldr r7, _0809261C @ =gUnk_03000BF0 -_080925B8: - ldrb r2, [r5, #9] - movs r0, #0x59 - movs r1, #1 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08092612 - movs r0, #0xff - strb r0, [r4, #0x15] - movs r0, #0 - strh r0, [r4, #0x24] - str r6, [r4, #0x50] - ldrh r0, [r7, #6] - ldrh r1, [r5, #4] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - ldrh r0, [r7, #8] - ldrh r1, [r5, #6] - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldrb r1, [r5, #8] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - ldrh r0, [r5, #0xa] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - ldrh r1, [r5, #0xc] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldr r0, [r5] - str r0, [r4, #0x78] - adds r0, r4, #0 - bl sub_08016A04 - adds r1, r4, #0 - adds r1, #0x78 - adds r2, r4, #0 - adds r2, #0x76 - adds r0, r4, #0 - bl sub_080A2CC0 -_08092612: - adds r5, #0x10 - ldrb r0, [r5, #9] - cmp r0, #0xff - bne _080925B8 -_0809261A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809261C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08092620 -sub_08092620: @ 0x08092620 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r1, [r5, #0x50] - adds r0, r1, #0 - adds r0, #0x70 - ldrb r6, [r0] - cmp r6, #0 - bne _08092648 - movs r4, #1 - strb r4, [r0] - str r5, [r1, #0x54] - adds r0, r5, #0 - bl sub_0806FA24 - strb r4, [r5, #0xc] - strb r6, [r5, #0xd] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0xac - strb r0, [r1] -_08092648: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0809264C -sub_0809264C: @ 0x0809264C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x14] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _0809266A - movs r0, #7 - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x3f - movs r0, #0xac - strb r0, [r1] - b _08092674 -_0809266A: - movs r0, #2 - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x3f - strb r3, [r0] -_08092674: - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r1, r2, #0 - adds r1, #0x63 - movs r0, #0xfd - strb r0, [r1] - ldrb r1, [r2, #0x14] - adds r0, r2, #0 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_0809269C -sub_0809269C: @ 0x0809269C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r6, _080926D8 @ =gUnk_03003F80 - ldr r0, [r6, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080926E0 - ldr r5, _080926DC @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0x10 - movs r3, #0x10 - bl sub_080041A0 - cmp r0, #0 - beq _080926E0 - bl sub_08079F8C - cmp r0, #0 - beq _080926E0 - movs r1, #1 - strb r1, [r6, #0x14] - movs r2, #0x36 - ldrsh r0, [r5, r2] - cmp r0, #0 - bne _080926E0 - strb r1, [r4, #0xf] - movs r0, #1 - b _080926E2 - .align 2, 0 -_080926D8: .4byte gUnk_03003F80 -_080926DC: .4byte gUnk_03001160 -_080926E0: - movs r0, #0 -_080926E2: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080926E4 -sub_080926E4: @ 0x080926E4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xf] - bl sub_080A2BE4 - ldrb r0, [r4, #0xc] - cmp r0, #1 - bne _08092700 - ldr r1, [r4, #0x50] - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x2e] - ldr r1, [r4, #0x50] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x32] -_08092700: - adds r2, r4, #0 - adds r2, #0x76 - ldrh r0, [r2] - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0809271A - adds r1, r4, #0 - adds r1, #0x78 - adds r0, r4, #0 - bl sub_080A2CC0 -_0809271A: - pop {r4, pc} - - thumb_func_start sub_0809271C -sub_0809271C: @ 0x0809271C - push {lr} - ldr r2, _08092730 @ =gUnk_08122780 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08092730: .4byte gUnk_08122780 - - thumb_func_start sub_08092734 -sub_08092734: @ 0x08092734 - push {lr} - ldr r2, _08092748 @ =gUnk_08122788 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08092748: .4byte gUnk_08122788 - - thumb_func_start sub_0809274C -sub_0809274C: @ 0x0809274C - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x19] - movs r5, #0x3f - adds r0, r5, #0 - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x19] - ldrh r0, [r4, #0x36] - subs r0, #8 - strh r0, [r4, #0x36] - ldrb r0, [r4, #0xb] - cmp r0, #1 - beq _0809277C - cmp r0, #2 - bne _080927A2 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_0809277C: - ldr r0, _080927A4 @ =0x00004051 - movs r2, #0x2e - ldrsh r1, [r4, r2] - ldr r3, _080927A8 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r5 - movs r6, #0x32 - ldrsh r2, [r4, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r5 - lsls r2, r2, #6 - orrs r1, r2 - movs r2, #1 - bl sub_0800015E -_080927A2: - pop {r4, r5, r6, pc} - .align 2, 0 -_080927A4: .4byte 0x00004051 -_080927A8: .4byte gUnk_03000BF0 - - thumb_func_start sub_080927AC -sub_080927AC: @ 0x080927AC - push {lr} - adds r1, r0, #0 - movs r0, #1 - strb r0, [r1, #0xc] - ldrb r0, [r1, #0xb] - strb r0, [r1, #0x1e] - ldrb r0, [r1, #0xb] - cmp r0, #0 - beq _080927C4 - cmp r0, #2 - beq _080927CA - b _080927D0 -_080927C4: - adds r1, #0x63 - movs r0, #2 - b _080927CE -_080927CA: - adds r1, #0x63 - movs r0, #0xfe -_080927CE: - strb r0, [r1] -_080927D0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080927D4 -sub_080927D4: @ 0x080927D4 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xff - strb r0, [r1] - ldr r0, _08092848 @ =0x00004051 - mov r8, r0 - movs r2, #0x2e - ldrsh r1, [r4, r2] - ldr r6, _0809284C @ =gUnk_03000BF0 - ldrh r0, [r6, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r5, #0x3f - ands r1, r5 - movs r2, #0x32 - ldrsh r0, [r4, r2] - ldrh r2, [r6, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r5 - lsls r0, r0, #6 - orrs r1, r0 - subs r1, #1 - mov r0, r8 - movs r2, #1 - bl sub_0800015E - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldrh r0, [r6, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - ands r1, r5 - movs r2, #0x32 - ldrsh r0, [r4, r2] - ldrh r2, [r6, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r5 - lsls r0, r0, #6 - orrs r1, r0 - mov r0, r8 - movs r2, #1 - bl sub_0800015E - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_08092848: .4byte 0x00004051 -_0809284C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08092850 -sub_08092850: @ 0x08092850 - push {r4, lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _08092888 - ldr r3, _08092878 @ =gUnk_03001160 - movs r0, #0x32 - ldrsh r1, [r3, r0] - movs r4, #0x32 - ldrsh r0, [r2, r4] - cmp r1, r0 - blt _0809286E - adds r0, #0x18 - cmp r1, r0 - ble _0809287C -_0809286E: - ldrb r0, [r2, #0x19] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - b _08092884 - .align 2, 0 -_08092878: .4byte gUnk_03001160 -_0809287C: - ldrb r0, [r2, #0x19] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x80 -_08092884: - orrs r1, r0 - strb r1, [r2, #0x19] -_08092888: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809288C -sub_0809288C: @ 0x0809288C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080928B0 - ldr r0, _080928AC @ =gUnk_0812279C - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _080928C0 - .align 2, 0 -_080928AC: .4byte gUnk_0812279C -_080928B0: - ldr r0, _080928C4 @ =gUnk_08122794 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_080928C0: - pop {pc} - .align 2, 0 -_080928C4: .4byte gUnk_08122794 - - thumb_func_start sub_080928C8 -sub_080928C8: @ 0x080928C8 - push {lr} - adds r3, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r3, #0xc] - ldrb r1, [r3, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #0x18] - ldrb r0, [r3, #0xa] - strb r0, [r3, #0x1e] - ldrb r0, [r3, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r3, #0x19] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r3, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r3, #0x1b] - ldrb r0, [r3, #0xa] - cmp r0, #2 - beq _08092912 - cmp r0, #4 - beq _08092920 - b _08092928 -_08092912: - adds r0, r3, #0 - movs r1, #0x5b - movs r2, #4 - movs r3, #0 - bl sub_080A2988 - b _08092928 -_08092920: - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] -_08092928: - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_119 -nullsub_119: @ 0x0809292C - bx lr - .align 2, 0 - - thumb_func_start sub_08092930 -sub_08092930: @ 0x08092930 - push {r4, lr} - adds r4, r0, #0 - bl sub_080928C8 - adds r4, #0x82 - movs r0, #0 - strh r0, [r4] - pop {r4, pc} - - thumb_func_start sub_08092940 -sub_08092940: @ 0x08092940 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x84 - ldr r1, [r5] - bl sub_0807DF74 - ldr r1, [r5] - adds r0, r4, #0 - bl sub_08092958 - pop {r4, r5, pc} - - thumb_func_start sub_08092958 -sub_08092958: @ 0x08092958 - push {r4, lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldr r0, [r2, #8] - cmp r0, #0 - beq _0809298A - movs r4, #0 -_08092966: - ldr r1, [r2, #8] - mvns r0, r1 - adds r0, #1 - ands r0, r1 - eors r1, r0 - str r1, [r2, #8] - cmp r0, #1 - beq _0809297C - cmp r0, #2 - beq _08092980 - b _08092984 -_0809297C: - strb r4, [r3, #0x1e] - b _08092984 -_08092980: - ldr r0, [r2, #4] - strb r0, [r3, #0x1e] -_08092984: - ldr r0, [r2, #8] - cmp r0, #0 - bne _08092966 -_0809298A: - pop {r4, pc} - - thumb_func_start sub_0809298C -sub_0809298C: @ 0x0809298C - push {lr} - ldr r2, _080929A0 @ =gUnk_081227A4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080929A0: .4byte gUnk_081227A4 - - thumb_func_start sub_080929A4 -sub_080929A4: @ 0x080929A4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xb] - movs r6, #0xc0 - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _08092A08 - adds r4, r5, #0 - adds r4, #0x86 - ldrh r0, [r4] - bl sub_0807CBE4 - cmp r0, #0 - beq _08092A08 - ldrb r0, [r5, #0xb] - adds r1, r6, #0 - ands r1, r0 - cmp r1, #0x40 - beq _080929D2 - cmp r1, #0x80 - beq _08092A04 - b _08092A08 -_080929D2: - ldr r0, _080929F4 @ =gUnk_030010A0 - ldrh r1, [r0, #0xa] - movs r0, #0xc1 - lsls r0, r0, #1 - cmp r1, r0 - beq _080929EE - cmp r1, r0 - blt _080929FC - ldr r0, _080929F8 @ =0x0000044F - cmp r1, r0 - bgt _080929FC - subs r0, #2 - cmp r1, r0 - blt _080929FC -_080929EE: - bl sub_0805E780 - b _08092A08 - .align 2, 0 -_080929F4: .4byte gUnk_030010A0 -_080929F8: .4byte 0x0000044F -_080929FC: - ldrh r0, [r4] - bl sub_0807CD48 - b _08092A08 -_08092A04: - bl sub_0805E780 -_08092A08: - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r5, #0x20] - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - lsls r0, r0, #0xa - movs r2, #0x80 - lsls r2, r2, #6 - adds r1, r2, #0 - adds r2, r5, #0 - adds r2, #0x78 - movs r3, #0 - orrs r0, r1 - strh r0, [r2] - ldrb r0, [r5, #0xe] - lsrs r0, r0, #1 - strb r0, [r5, #0xf] - strb r3, [r5, #0xe] - ldrb r1, [r5, #0xb] - movs r0, #0x3f - ands r0, r1 - strb r0, [r5, #0x1e] - movs r4, #0x2e - ldrsh r1, [r5, r4] - ldr r2, _08092A8C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r5, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r4, r5, #0 - adds r4, #0x7e - strh r1, [r4] - ldrh r0, [r4] - movs r1, #1 - bl sub_080001DA - adds r1, r5, #0 - adds r1, #0x7c - strh r0, [r1] - ldrh r0, [r4] - movs r1, #1 - bl sub_080002E0 - adds r1, r5, #0 - adds r1, #0x7a - strh r0, [r1] - ldr r0, _08092A90 @ =0x00004022 - ldrh r1, [r4] - movs r2, #1 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_08092A8C: .4byte gUnk_03000BF0 -_08092A90: .4byte 0x00004022 - - thumb_func_start sub_08092A94 -sub_08092A94: @ 0x08092A94 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _08092B08 @ =gUnk_03001160 - ldrb r0, [r2, #0xc] - cmp r0, #6 - bne _08092B04 - ldrb r0, [r2, #0x14] - cmp r0, #0 - bne _08092B04 - movs r1, #0x32 - ldrsh r0, [r4, r1] - adds r0, #0x28 - movs r3, #0x32 - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _08092B04 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r3, #0x2e - ldrsh r0, [r2, r3] - subs r1, r1, r0 - ldrb r0, [r4, #0xf] - cmp r1, r0 - bge _08092B04 - cmn r1, r0 - ble _08092B04 - adds r0, r4, #0 - adds r0, #0x7c - ldrh r0, [r0] - adds r5, r4, #0 - adds r5, #0x7e - ldrh r1, [r5] - movs r2, #1 - bl sub_0800015E - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - ldrh r1, [r5] - movs r2, #1 - bl sub_08000148 - movs r0, #2 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x36] - subs r0, #0x20 - strh r0, [r4, #0x36] - ldrh r0, [r4, #0x32] - adds r0, #0x20 - strh r0, [r4, #0x32] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x19] -_08092B04: - pop {r4, r5, pc} - .align 2, 0 -_08092B08: .4byte gUnk_03001160 - - thumb_func_start sub_08092B0C -sub_08092B0C: @ 0x08092B0C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #1 - bne _08092B50 - movs r0, #0 - movs r1, #3 - strb r1, [r4, #0xc] - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xb] - movs r1, #0xc0 - ands r1, r0 - cmp r1, #0x40 - beq _08092B32 - cmp r1, #0x80 - bne _08092B3C - movs r0, #0x72 - bl sub_08004488 -_08092B32: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 -_08092B3C: - adds r0, r4, #0 - movs r1, #5 - movs r2, #0 - bl sub_080A29AC - adds r0, r4, #0 - movs r1, #3 - bl sub_0805457C - b _08092B6A -_08092B50: - adds r0, r4, #0 - adds r0, #0x78 - ldrh r1, [r0] - adds r0, r4, #0 - bl sub_080044EC - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08092B6A - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] -_08092B6A: - pop {r4, pc} - - thumb_func_start sub_08092B6C -sub_08092B6C: @ 0x08092B6C - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_08092B74 -sub_08092B74: @ 0x08092B74 - push {lr} - ldr r2, _08092B88 @ =gUnk_081227C0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08092B88: .4byte gUnk_081227C0 - - thumb_func_start sub_08092B8C -sub_08092B8C: @ 0x08092B8C - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _08092BA6 - bl sub_0807CBE4 - cmp r0, #0 - beq _08092BA6 - bl sub_0805E780 -_08092BA6: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x7d - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08092BE8 @ =gUnk_081227EC - str r0, [r4, #0x48] - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xa] - lsls r0, r0, #1 - ldr r1, _08092BEC @ =gUnk_081227B4 - adds r2, r0, r1 - ldrb r1, [r2] - adds r0, r1, #0 - cmp r0, #0xff - bne _08092BF0 - ldrb r0, [r4, #0xb] - strb r0, [r4, #0x1e] - b _08092BF6 - .align 2, 0 -_08092BE8: .4byte gUnk_081227EC -_08092BEC: .4byte gUnk_081227B4 -_08092BF0: - strb r1, [r4, #0x1e] - ldrb r0, [r2, #1] - strb r0, [r4, #0xb] -_08092BF6: - pop {r4, pc} - - thumb_func_start sub_08092BF8 -sub_08092BF8: @ 0x08092BF8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _08092C20 - bl sub_0807CBE4 - cmp r0, #0 - beq _08092C20 - movs r0, #2 - strb r0, [r4, #0xc] - ldr r0, _08092C1C @ =0x00000111 - bl sub_080A3268 - b _08092C92 - .align 2, 0 -_08092C1C: .4byte 0x00000111 -_08092C20: - adds r0, r4, #0 - bl sub_0800445C - cmp r0, #0 - beq _08092C74 - adds r0, r4, #0 - adds r0, #0x7d - ldrb r0, [r0] - cmp r0, #0 - bne _08092C74 - ldrb r0, [r4, #0xb] - lsls r0, r0, #3 - ldr r1, _08092C68 @ =gUnk_081227CC - adds r5, r0, r1 - ldrh r1, [r5, #4] - ldrh r2, [r5, #6] - adds r0, r4, #0 - bl sub_0806ED9C - cmp r0, #0 - blt _08092C78 - ldr r1, _08092C6C @ =gUnk_03001160 - ldrh r0, [r5] - ldrb r1, [r1, #0x14] - cmp r0, r1 - bne _08092C78 - ldr r0, _08092C70 @ =gUnk_03003F80 - adds r0, #0x90 - ldrh r1, [r0] - ldrh r0, [r5, #2] - ands r0, r1 - cmp r0, #0 - beq _08092C78 - ldrb r0, [r4, #0xe] - subs r0, #1 - b _08092C76 - .align 2, 0 -_08092C68: .4byte gUnk_081227CC -_08092C6C: .4byte gUnk_03001160 -_08092C70: .4byte gUnk_03003F80 -_08092C74: - movs r0, #8 -_08092C76: - strb r0, [r4, #0xe] -_08092C78: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08092C92 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - movs r1, #0 - movs r2, #0 - bl sub_08078AC0 - ldr r0, _08092C94 @ =0x00000111 - bl sub_080A3268 -_08092C92: - pop {r4, r5, pc} - .align 2, 0 -_08092C94: .4byte 0x00000111 - - thumb_func_start sub_08092C98 -sub_08092C98: @ 0x08092C98 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_08092CA0 -sub_08092CA0: @ 0x08092CA0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _08092CC0 - ldr r0, _08092CD4 @ =gUnk_020342F8 - subs r1, #1 - bl sub_0801D5A8 - cmp r0, #0 - bne _08092CC0 - bl sub_0805E780 -_08092CC0: - ldr r0, _08092CD8 @ =gUnk_081227F4 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08092CD4: .4byte gUnk_020342F8 -_08092CD8: .4byte gUnk_081227F4 - - thumb_func_start sub_08092CDC -sub_08092CDC: @ 0x08092CDC - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - strb r2, [r4, #0xc] - ldr r0, _08092D48 @ =gUnk_080FD320 - str r0, [r4, #0x48] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x3f - strb r2, [r0] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #0x47 - strb r0, [r1] - adds r1, #4 - movs r0, #0x44 - strb r0, [r1] - subs r1, #5 - movs r0, #0x80 - strb r0, [r1] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - ldrb r0, [r4, #0xa] - strb r0, [r4, #0x14] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - movs r0, #0xe0 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _08092D50 - ldr r1, _08092D4C @ =0x00000161 - adds r0, r4, #0 - bl sub_0801D2B4 - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _08092D5C - .align 2, 0 -_08092D48: .4byte gUnk_080FD320 -_08092D4C: .4byte 0x00000161 -_08092D50: - ldr r0, _08092D78 @ =0x0000FFE8 - strh r0, [r4, #0x36] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08092D5C: - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08092D74 - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC -_08092D74: - pop {r4, pc} - .align 2, 0 -_08092D78: .4byte 0x0000FFE8 - - thumb_func_start sub_08092D7C -sub_08092D7C: @ 0x08092D7C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08092D92 - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC -_08092D92: - ldrb r0, [r5, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - beq _08092E84 - adds r0, r5, #0 - bl sub_08004274 - ldr r6, _08092E04 @ =gUnk_03003F80 - ldr r0, [r6, #0x30] - movs r3, #0x80 - ands r0, r3 - cmp r0, #0 - bne _08092E84 - adds r0, r6, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08092E84 - ldr r4, _08092E08 @ =gUnk_03001160 - ldrb r2, [r4, #0xc] - cmp r2, #4 - beq _08092DC8 - ldrb r1, [r4, #0x10] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _08092E84 -_08092DC8: - cmp r2, #6 - beq _08092E84 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0xc - movs r3, #0xc - bl sub_0800419C - cmp r0, #0 - beq _08092E84 - ldr r0, [r6, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x11 - ands r0, r1 - cmp r0, #0 - bne _08092E0C - ldrb r0, [r4, #0xc] - cmp r0, #4 - beq _08092E0C - ldrb r0, [r5, #0xb] - cmp r0, #1 - beq _08092E16 - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x10 - rsbs r0, r0, #0 - cmp r1, r0 - bgt _08092E84 - b _08092E16 - .align 2, 0 -_08092E04: .4byte gUnk_03003F80 -_08092E08: .4byte gUnk_03001160 -_08092E0C: - ldr r0, _08092E88 @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r0, r1] - cmp r0, #0 - beq _08092E84 -_08092E16: - ldr r4, _08092E88 @ =gUnk_03001160 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - bl sub_08004542 - adds r0, r4, #0 - bl sub_08004542 - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldr r1, _08092E8C @ =gUnk_03003F80 - movs r0, #0x1f - strb r0, [r1, #0xc] - ldrb r2, [r5, #0xb] - adds r0, r1, #0 - adds r0, #0x38 - strb r2, [r0] - adds r1, #0x39 - movs r0, #0xff - strb r0, [r1] - adds r4, #0x29 - ldrb r1, [r4] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, r5, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - bl sub_08077B20 - ldr r0, _08092E90 @ =0x00000153 - bl sub_080A3268 - movs r0, #0x79 - bl sub_080A3268 -_08092E84: - pop {r4, r5, r6, pc} - .align 2, 0 -_08092E88: .4byte gUnk_03001160 -_08092E8C: .4byte gUnk_03003F80 -_08092E90: .4byte 0x00000153 - - thumb_func_start sub_08092E94 -sub_08092E94: @ 0x08092E94 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - ldr r1, _08092ED0 @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #0xc - movs r3, #0xc - bl sub_0800419C - cmp r0, #0 - bne _08092ECE - adds r0, r4, #0 - bl sub_0800455E - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - ldrb r0, [r4, #0xc] - subs r0, #1 - strb r0, [r4, #0xc] -_08092ECE: - pop {r4, pc} - .align 2, 0 -_08092ED0: .4byte gUnk_03001160 - - thumb_func_start sub_08092ED4 -sub_08092ED4: @ 0x08092ED4 - push {lr} - ldr r2, _08092EE8 @ =gUnk_0812283C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08092EE8: .4byte gUnk_0812283C - - thumb_func_start sub_08092EEC -sub_08092EEC: @ 0x08092EEC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl sub_080932D8 - cmp r0, #1 - beq _08092F2C - cmp r0, #2 - beq _08092F3A - movs r0, #1 - strb r0, [r4, #0xc] - movs r1, #0 - movs r2, #0x80 - strh r2, [r4, #0x24] - strb r0, [r4, #0x16] - strb r1, [r4, #0xe] - strb r1, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0x20 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7b - strb r2, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08092F48 - ldr r0, _08092F28 @ =gUnk_080FD288 - str r0, [r4, #0x48] - b _08092F48 - .align 2, 0 -_08092F28: .4byte gUnk_080FD288 -_08092F2C: - movs r0, #4 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x2e] - subs r0, #0x20 - strh r0, [r4, #0x2e] - movs r5, #2 - b _08092F5E -_08092F3A: - movs r0, #4 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x2e] - adds r0, #0x20 - strh r0, [r4, #0x2e] - movs r5, #3 - b _08092F5E -_08092F48: - movs r5, #0 - adds r1, r4, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _08092F5E - bl sub_0807CBE4 - cmp r0, #0 - bne _08092F5E - movs r5, #1 -_08092F5E: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080931A4 - pop {r4, r5, pc} - - thumb_func_start sub_08092F68 -sub_08092F68: @ 0x08092F68 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - ldr r0, _08092FA4 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r2, #0x2e - ldrsh r0, [r6, r2] - subs r1, r1, r0 - mov r8, r1 - adds r1, r6, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _08092FA8 - bl sub_0807CBE4 - cmp r0, #0 - bne _08092F92 - b _080930E6 -_08092F92: - adds r0, r6, #0 - adds r0, #0x7a - ldrb r0, [r0] - cmp r0, #0 - beq _08092FA8 - adds r0, r6, #0 - bl sub_080932A8 - b _080930E6 - .align 2, 0 -_08092FA4: .4byte gUnk_03001160 -_08092FA8: - adds r1, r6, #0 - adds r1, #0x7b - ldrb r2, [r1] - movs r0, #0x3f - ands r0, r2 - adds r7, r1, #0 - cmp r0, #0 - bne _08092FD6 - movs r0, #0xf - movs r4, #0 - orrs r0, r2 - strb r0, [r7] - adds r0, r6, #0 - movs r1, #0 - bl sub_080931A4 - mov r0, r8 - cmp r0, #0 - bge _08092FD6 - ldrb r0, [r7] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r7] -_08092FD6: - ldrb r1, [r7] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08092FEA - adds r5, r6, #0 - adds r5, #0x78 - ldrh r0, [r5] - subs r0, #1 - b _08092FF2 -_08092FEA: - adds r5, r6, #0 - adds r5, #0x78 - ldrh r0, [r5] - adds r0, #1 -_08092FF2: - adds r4, r6, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080002B0 - adds r1, r0, #0 - ldr r0, _08093034 @ =0x00004031 - cmp r1, r0 - bhi _08093040 - subs r0, #1 - cmp r1, r0 - blo _08093040 - movs r0, #3 - strb r0, [r6, #0xc] - ldr r0, _08093038 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsls r0, r0, #2 - strb r0, [r6, #0x15] - movs r0, #0x80 - strh r0, [r6, #0x24] - movs r0, #0x40 - strb r0, [r6, #0xe] - adds r0, r6, #0 - movs r1, #0x50 - bl sub_0805E4E0 - ldr r0, _0809303C @ =0x0000010F - bl sub_08004488 - adds r0, r6, #0 - bl sub_08093248 - b _080930E6 - .align 2, 0 -_08093034: .4byte 0x00004031 -_08093038: .4byte gUnk_03001160 -_0809303C: .4byte 0x0000010F -_08093040: - ldr r0, _0809307C @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080930E6 - adds r0, r6, #0 - bl sub_08078930 - adds r3, r7, #0 - ldrb r2, [r3] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08093088 - movs r1, #0x7f - ands r1, r2 - strb r1, [r3] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0809309C - ldr r0, _08093080 @ =0x0000402C - ldrh r1, [r5] - subs r1, #1 - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _08093084 @ =0x0000403D - b _080930AA - .align 2, 0 -_0809307C: .4byte gUnk_03001160 -_08093080: .4byte 0x0000402C -_08093084: .4byte 0x0000403D -_08093088: - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _080930C0 - mov r1, r8 - cmp r1, #4 - ble _080930E6 - movs r0, #0x3f - ands r0, r2 - strb r0, [r3] -_0809309C: - ldr r0, _080930B8 @ =0x0000403D - ldrh r1, [r5] - subs r1, #1 - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _080930BC @ =0x0000402D -_080930AA: - ldrh r1, [r5] - adds r1, #1 - ldrb r2, [r4] - bl sub_0800015E - b _080930E6 - .align 2, 0 -_080930B8: .4byte 0x0000403D -_080930BC: .4byte 0x0000402D -_080930C0: - mov r1, r8 - rsbs r0, r1, #0 - cmp r0, #4 - ble _080930E6 - movs r0, #0x40 - orrs r0, r2 - strb r0, [r7] - ldr r0, _080930EC @ =0x0000402C - ldrh r1, [r5] - subs r1, #1 - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _080930F0 @ =0x0000403D - ldrh r1, [r5] - adds r1, #1 - ldrb r2, [r4] - bl sub_0800015E -_080930E6: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080930EC: .4byte 0x0000402C -_080930F0: .4byte 0x0000403D - - thumb_func_start sub_080930F4 -sub_080930F4: @ 0x080930F4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r3, [r4, #0xe] - cmp r3, #0 - beq _08093104 - bl sub_08093280 - b _08093174 -_08093104: - ldr r5, _0809315C @ =gUnk_03003F80 - ldrb r0, [r5, #5] - cmp r0, #0x12 - bne _08093168 - ldr r6, _08093160 @ =gUnk_03001160 - adds r0, r6, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08093174 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #8 - bls _08093174 - movs r0, #0x10 - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x38 - movs r2, #0x40 - strb r2, [r0] - ldr r0, [r5, #0x30] - movs r1, #1 - orrs r0, r1 - str r0, [r5, #0x30] - strh r3, [r6, #0x2c] - strh r3, [r6, #0x30] - ldrb r0, [r6, #0x14] - movs r1, #4 - eors r0, r1 - lsls r0, r0, #2 - strb r0, [r4, #0x15] - strb r2, [r4, #0xe] - ldr r0, _08093164 @ =0x0000010F - bl sub_08004488 - adds r0, r4, #0 - bl sub_08093248 - b _08093174 - .align 2, 0 -_0809315C: .4byte gUnk_03003F80 -_08093160: .4byte gUnk_03001160 -_08093164: .4byte 0x0000010F -_08093168: - ldrb r0, [r4, #0xd] - cmp r0, #6 - bne _08093174 - movs r0, #1 - strb r0, [r4, #0xc] - strb r3, [r4, #0xf] -_08093174: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08093178 -sub_08093178: @ 0x08093178 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08093198 - adds r0, r4, #0 - bl sub_08093334 -_08093198: - adds r0, r4, #0 - bl sub_08093364 - pop {r4, pc} - - thumb_func_start nullsub_120 -nullsub_120: @ 0x080931A0 - bx lr - .align 2, 0 - - thumb_func_start sub_080931A4 -sub_080931A4: @ 0x080931A4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r1, #0 - movs r1, #0x2e - ldrsh r2, [r0, r1] - ldr r3, _080931F0 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r2, r2, r1 - asrs r2, r2, #4 - movs r4, #0x3f - ands r2, r4 - movs r6, #0x32 - ldrsh r1, [r0, r6] - ldrh r3, [r3, #8] - subs r1, r1, r3 - asrs r1, r1, #4 - ands r1, r4 - lsls r1, r1, #6 - orrs r2, r1 - adds r1, r0, #0 - adds r1, #0x78 - strh r2, [r1] - ldrh r1, [r1] - subs r1, #0x40 - mov r8, r1 - adds r0, #0x38 - ldrb r7, [r0] - cmp r5, #1 - beq _080931F4 - cmp r5, #1 - blo _0809320C - cmp r5, #2 - beq _080931FC - cmp r5, #3 - beq _08093204 - b _0809320C - .align 2, 0 -_080931F0: .4byte gUnk_03000BF0 -_080931F4: - ldr r0, _080931F8 @ =gUnk_08122862 - b _0809320E - .align 2, 0 -_080931F8: .4byte gUnk_08122862 -_080931FC: - ldr r0, _08093200 @ =gUnk_08122874 - b _0809320E - .align 2, 0 -_08093200: .4byte gUnk_08122874 -_08093204: - ldr r0, _08093208 @ =gUnk_08122886 - b _0809320E - .align 2, 0 -_08093208: .4byte gUnk_08122886 -_0809320C: - ldr r0, _08093230 @ =gUnk_08122850 -_0809320E: - movs r4, #0 - movs r6, #0 - adds r5, r0, #0 -_08093214: - mov r0, r8 - adds r1, r0, r6 - adds r1, r1, r4 - subs r1, #1 - ldrh r0, [r5] - adds r2, r7, #0 - bl sub_0800015E - cmp r4, #2 - beq _08093234 - cmp r4, #5 - beq _08093238 - b _0809323A - .align 2, 0 -_08093230: .4byte gUnk_08122850 -_08093234: - movs r6, #0x3d - b _0809323A -_08093238: - movs r6, #0x7a -_0809323A: - adds r5, #2 - adds r4, #1 - cmp r4, #8 - bls _08093214 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08093248 -sub_08093248: @ 0x08093248 - push {r4, r5, r6, r7, lr} - adds r1, r0, #0 - adds r1, #0x78 - ldrh r1, [r1] - adds r7, r1, #0 - subs r7, #0x40 - adds r0, #0x38 - ldrb r6, [r0] - movs r4, #0 - movs r5, #0 -_0809325C: - adds r0, r7, r5 - adds r0, r0, r4 - subs r0, #1 - adds r1, r6, #0 - bl sub_0807BA8C - cmp r4, #2 - beq _08093272 - cmp r4, #5 - beq _08093276 - b _08093278 -_08093272: - movs r5, #0x3d - b _08093278 -_08093276: - movs r5, #0x7a -_08093278: - adds r4, #1 - cmp r4, #8 - bls _0809325C - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08093280 -sub_08093280: @ 0x08093280 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080932A0 - adds r0, r4, #0 - bl sub_08093334 -_080932A0: - adds r0, r4, #0 - bl sub_08093364 - pop {r4, pc} - - thumb_func_start sub_080932A8 -sub_080932A8: @ 0x080932A8 - push {lr} - adds r1, r0, #0 - adds r2, r1, #0 - adds r2, #0x7a - ldrb r0, [r2] - subs r0, #1 - strb r0, [r2] - movs r2, #3 - ands r2, r0 - cmp r2, #1 - beq _080932C8 - cmp r2, #3 - beq _080932D0 - adds r1, #0x62 - movs r0, #0 - b _080932D4 -_080932C8: - adds r0, r1, #0 - adds r0, #0x62 - strb r2, [r0] - b _080932D6 -_080932D0: - adds r1, #0x62 - movs r0, #0xff -_080932D4: - strb r0, [r1] -_080932D6: - pop {pc} - - thumb_func_start sub_080932D8 -sub_080932D8: @ 0x080932D8 - push {r4, lr} - lsls r0, r0, #3 - ldr r1, _080932F0 @ =gUnk_08122898 - adds r4, r0, r1 - ldr r0, [r4] - ldrh r1, [r4, #4] - bl sub_0807CB10 - cmp r0, #0 - beq _080932F4 - movs r0, #1 - b _08093306 - .align 2, 0 -_080932F0: .4byte gUnk_08122898 -_080932F4: - ldr r0, [r4] - ldrh r1, [r4, #6] - bl sub_0807CB10 - cmp r0, #0 - bne _08093304 - movs r0, #0 - b _08093306 -_08093304: - movs r0, #2 -_08093306: - pop {r4, pc} - - thumb_func_start sub_08093308 -sub_08093308: @ 0x08093308 - push {lr} - adds r2, r1, #0 - lsls r0, r0, #3 - ldr r1, _08093320 @ =gUnk_08122898 - adds r1, r0, r1 - cmp r2, #1 - bne _08093324 - ldr r0, [r1] - ldrh r1, [r1, #4] - bl sub_0807CC9C - b _08093330 - .align 2, 0 -_08093320: .4byte gUnk_08122898 -_08093324: - cmp r2, #2 - bne _08093330 - ldr r0, [r1] - ldrh r1, [r1, #6] - bl sub_0807CC9C -_08093330: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08093334 -sub_08093334: @ 0x08093334 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x15] - movs r0, #0x10 - ands r0, r1 - movs r5, #2 - cmp r0, #0 - beq _0809334A - movs r5, #1 -_0809334A: - adds r1, r5, #1 - adds r0, r4, #0 - bl sub_080931A4 - ldrb r0, [r4, #0xa] - adds r1, r5, #0 - bl sub_08093308 - movs r0, #0x72 - bl sub_08004488 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08093364 -sub_08093364: @ 0x08093364 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xe] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _080933BC - movs r0, #0xf - movs r1, #0x11 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080933BC - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r1, [r5, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0809339C - ldrh r0, [r4, #0x2e] - adds r0, #0x12 - b _080933A0 -_0809339C: - ldrh r0, [r4, #0x2e] - subs r0, #0x12 -_080933A0: - strh r0, [r4, #0x2e] - movs r0, #0x32 - ldrsh r2, [r4, r0] - ldrb r1, [r5, #0xe] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080933B6 - adds r0, r2, #0 - adds r0, #8 - b _080933BA -_080933B6: - adds r0, r2, #0 - subs r0, #8 -_080933BA: - strh r0, [r4, #0x32] -_080933BC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080933C0 -sub_080933C0: @ 0x080933C0 - push {lr} - ldr r2, _080933D4 @ =gUnk_081228B0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080933D4: .4byte gUnk_081228B0 - - thumb_func_start sub_080933D8 -sub_080933D8: @ 0x080933D8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - strb r0, [r4, #0x1e] - adds r0, r4, #0 - bl sub_08016A04 - ldr r0, _080933F8 @ =gUnk_081228A8 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_080787B4 - pop {r4, pc} - .align 2, 0 -_080933F8: .4byte gUnk_081228A8 - - thumb_func_start sub_080933FC -sub_080933FC: @ 0x080933FC - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08093420 - movs r0, #0 - strb r0, [r1] - ldr r1, _08093424 @ =gUnk_081228B8 - ldrb r0, [r2, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - adds r1, r2, #0 - bl sub_08056398 -_08093420: - pop {pc} - .align 2, 0 -_08093424: .4byte gUnk_081228B8 - - thumb_func_start sub_08093428 -sub_08093428: @ 0x08093428 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0809345C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x11 - ands r0, r1 - cmp r0, #0 - bne _0809344A - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08093446 - ldr r1, _08093460 @ =gUnk_03000BF0 - ldr r0, _08093464 @ =gUnk_03001160 - str r0, [r1, #0x30] -_08093446: - bl sub_0805E780 -_0809344A: - ldr r0, _08093468 @ =gUnk_081228C8 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_0809345C: .4byte gUnk_03003F80 -_08093460: .4byte gUnk_03000BF0 -_08093464: .4byte gUnk_03001160 -_08093468: .4byte gUnk_081228C8 - - thumb_func_start sub_0809346C -sub_0809346C: @ 0x0809346C - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xff - strb r0, [r4, #0x1f] - ldr r0, _080934C0 @ =gUnk_03001160 - ldrb r1, [r0, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080934B8 - ldr r0, _080934C4 @ =gUnk_03000BF0 - str r4, [r0, #0x30] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r1, r4, #0 - adds r1, #0x6e - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1] - adds r1, #4 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0x61 - movs r2, #1 - movs r3, #0 - bl sub_080A2988 -_080934B8: - adds r0, r4, #0 - bl sub_080934C8 - pop {r4, pc} - .align 2, 0 -_080934C0: .4byte gUnk_03001160 -_080934C4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080934C8 -sub_080934C8: @ 0x080934C8 - push {lr} - ldr r2, _080934DC @ =gUnk_081228D0 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080934DC: .4byte gUnk_081228D0 - - thumb_func_start sub_080934E0 -sub_080934E0: @ 0x080934E0 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r5, #0 - adds r4, #0x6e - ldrh r1, [r4] - movs r2, #0 - ldrsh r0, [r4, r2] - cmp r0, #0 - bge _080934F6 - rsbs r0, r1, #0 - strh r0, [r4] -_080934F6: - ldr r0, _08093518 @ =gUnk_03001160 - ldrb r0, [r0, #0xd] - cmp r0, #2 - beq _0809351C - cmp r0, #2 - bgt _080935B0 - cmp r0, #1 - bne _080935B0 - adds r1, r5, #0 - adds r1, #0x72 - ldrh r0, [r1] - subs r0, #4 - strh r0, [r1] - adds r6, r4, #0 - adds r7, r1, #0 - b _080935BE - .align 2, 0 -_08093518: .4byte gUnk_03001160 -_0809351C: - ldrb r2, [r5, #0xf] - adds r0, r2, #0 - cmp r0, #0 - bne _08093560 - adds r0, r5, #0 - adds r0, #0x72 - ldrh r1, [r0] - adds r7, r0, #0 - cmp r1, #0x80 - bls _08093538 - adds r0, r1, #0 - subs r0, #0x20 - strh r0, [r7] - b _08093544 -_08093538: - adds r0, r2, #1 - strb r0, [r5, #0xf] - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_080A3268 -_08093544: - adds r0, r5, #0 - adds r0, #0x6e - ldrh r2, [r0] - ldr r1, _0809355C @ =0x0000011F - adds r6, r0, #0 - cmp r2, r1 - bhi _080935BE - adds r0, r2, #0 - adds r0, #0x40 - strh r0, [r6] - b _080935BE - .align 2, 0 -_0809355C: .4byte 0x0000011F -_08093560: - cmp r0, #0xff - beq _080935A6 - adds r0, r5, #0 - adds r0, #0x72 - ldrh r1, [r0] - adds r7, r0, #0 - cmp r1, #0xff - bhi _08093576 - adds r0, r1, #0 - adds r0, #0x20 - b _0809357A -_08093576: - movs r0, #0x80 - lsls r0, r0, #1 -_0809357A: - strh r0, [r7] - adds r0, r5, #0 - adds r0, #0x6e - ldrh r1, [r0] - movs r2, #0x80 - lsls r2, r2, #1 - adds r6, r0, #0 - cmp r1, r2 - bls _08093594 - adds r0, r1, #0 - subs r0, #0x20 - strh r0, [r6] - b _08093596 -_08093594: - strh r2, [r6] -_08093596: - ldrh r1, [r6] - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - bne _080935BE - movs r0, #0xff - strb r0, [r5, #0xf] - b _080935BE -_080935A6: - adds r0, r5, #0 - bl sub_080936C8 - adds r6, r4, #0 - b _080935BA -_080935B0: - adds r0, r5, #0 - bl sub_080936C8 - adds r6, r5, #0 - adds r6, #0x6e -_080935BA: - adds r7, r5, #0 - adds r7, #0x72 -_080935BE: - ldr r0, _080935E4 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - movs r0, #2 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _080935E8 - movs r0, #1 - strb r0, [r5, #0x1e] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #2 - bne _080935EA - ldrh r0, [r6] - rsbs r0, r0, #0 - strh r0, [r6] - b _080935EA - .align 2, 0 -_080935E4: .4byte gUnk_03001160 -_080935E8: - strb r0, [r5, #0x1e] -_080935EA: - ldrb r0, [r5, #0x1e] - ldrb r1, [r5, #0x1f] - cmp r0, r1 - beq _080935FE - strb r0, [r5, #0x1f] - ldrb r1, [r5, #0x1e] - ldrh r2, [r5, #0x12] - adds r0, r5, #0 - bl sub_080042D0 -_080935FE: - ldr r4, _0809364C @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - ldrb r2, [r4, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x19] - ldrh r1, [r7] - adds r0, r5, #0 - movs r2, #0xa - movs r3, #2 - bl sub_0806FCF4 - ldrh r1, [r6] - ldrh r2, [r7] - adds r0, r5, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r4, #0 - movs r1, #1 - adds r2, r5, #0 - bl sub_0806FEBC - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809364C: .4byte gUnk_03001160 - - thumb_func_start sub_08093650 -sub_08093650: @ 0x08093650 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _080936C4 @ =gUnk_03001160 - ldrb r0, [r5, #0x15] - lsrs r1, r0, #1 - adds r0, r0, r1 - asrs r0, r0, #2 - adds r0, #2 - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x1f] - cmp r0, r1 - beq _08093674 - strb r0, [r4, #0x1f] - ldrb r1, [r4, #0x1e] - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 -_08093674: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r2, [r5, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x19] - ldr r0, [r4, #0x50] - adds r0, #0x72 - ldrh r1, [r0] - adds r0, r4, #0 - movs r2, #0x18 - movs r3, #0 - bl sub_0806FCF4 - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - rsbs r0, r0, #0 - strb r0, [r1] - adds r0, r5, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_0806FEBC - pop {r4, r5, pc} - .align 2, 0 -_080936C4: .4byte gUnk_03001160 - - thumb_func_start sub_080936C8 -sub_080936C8: @ 0x080936C8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08093714 @ =gUnk_03001160 - ldr r0, [r0, #0x7c] - lsrs r2, r0, #2 - movs r3, #0x9c - lsls r3, r3, #1 - adds r1, r3, #0 - subs r1, r1, r2 - adds r5, r4, #0 - adds r5, #0x76 - strh r1, [r5] - movs r1, #0x3c - bl __divsi3 - movs r1, #8 - subs r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - ldrb r3, [r4, #0xe] - cmp r3, #0 - bne _0809372C - adds r1, r4, #0 - adds r1, #0x6e - ldrh r2, [r1] - ldrh r0, [r5] - cmp r0, r2 - bhs _08093718 - adds r0, r2, #0 - subs r0, #8 - strh r0, [r1] - adds r1, #4 - ldrh r0, [r1] - adds r0, #8 - strh r0, [r1] - b _0809375C - .align 2, 0 -_08093714: .4byte gUnk_03001160 -_08093718: - adds r0, r3, #1 - strb r0, [r4, #0xe] - ldrh r0, [r5] - strh r0, [r1] - ldrh r0, [r5] - adds r0, #0x30 - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - b _0809375C -_0809372C: - ldrh r0, [r5] - adds r0, #0x30 - adds r1, r4, #0 - adds r1, #0x6e - ldrh r2, [r1] - cmp r0, r2 - ble _0809374A - adds r0, r2, #0 - adds r0, #8 - strh r0, [r1] - adds r1, #4 - ldrh r0, [r1] - subs r0, #8 - strh r0, [r1] - b _0809375C -_0809374A: - movs r0, #0 - strb r0, [r4, #0xe] - ldrh r0, [r5] - adds r0, #0x30 - strh r0, [r1] - ldrh r1, [r5] - adds r0, r4, #0 - adds r0, #0x72 - strh r1, [r0] -_0809375C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08093760 -sub_08093760: @ 0x08093760 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #2 - beq _08093794 - cmp r0, #2 - bgt _08093778 - cmp r0, #0 - beq _08093784 - cmp r0, #1 - beq _0809378C - b _080937BC -_08093778: - cmp r0, #3 - beq _080937AC - cmp r0, #0x41 - bgt _080937BC - cmp r0, #0x40 - blt _080937BC -_08093784: - ldr r0, _08093788 @ =gUnk_081228D8 - b _08093796 - .align 2, 0 -_08093788: .4byte gUnk_081228D8 -_0809378C: - ldr r0, _08093790 @ =gUnk_081228E0 - b _08093796 - .align 2, 0 -_08093790: .4byte gUnk_081228E0 -_08093794: - ldr r0, _080937A8 @ =gUnk_081228E8 -_08093796: - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _080937BC - .align 2, 0 -_080937A8: .4byte gUnk_081228E8 -_080937AC: - ldr r0, _080937C0 @ =gUnk_081228F0 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_080937BC: - pop {pc} - .align 2, 0 -_080937C0: .4byte gUnk_081228F0 - - thumb_func_start sub_080937C4 -sub_080937C4: @ 0x080937C4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r5, #1 - strb r5, [r4, #0xc] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08093808 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r6, #0x32 - ldrsh r0, [r4, r6] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x76 - strh r1, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0x41 - beq _0809386A - cmp r0, #0x41 - bgt _0809387A - cmp r0, #0 - beq _0809380C - cmp r0, #0x40 - beq _08093840 - b _0809387A - .align 2, 0 -_08093808: .4byte gUnk_03000BF0 -_0809380C: - strb r5, [r4, #0x1e] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x78 - strh r5, [r0] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0x3c - strh r0, [r1] - movs r0, #0x62 - movs r1, #0x40 - b _08093854 -_08093840: - movs r0, #2 - strb r0, [r4, #0x1e] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x62 - movs r1, #0x41 -_08093854: - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0809387A - str r4, [r1, #0x50] - adds r0, r4, #0 - bl sub_0806FA24 - b _0809387A -_0809386A: - movs r0, #0 - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x1b] -_0809387A: - adds r0, r4, #0 - bl sub_08093A1C - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08093884 -sub_08093884: @ 0x08093884 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _080938B8 - ldr r0, _080938A8 @ =gUnk_03001160 - movs r3, #0x32 - ldrsh r1, [r0, r3] - movs r3, #0x32 - ldrsh r0, [r2, r3] - adds r0, #0x20 - cmp r1, r0 - bge _080938AC - ldrb r0, [r2, #0x19] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - b _080938B4 - .align 2, 0 -_080938A8: .4byte gUnk_03001160 -_080938AC: - ldrb r0, [r2, #0x19] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x80 -_080938B4: - orrs r1, r0 - strb r1, [r2, #0x19] -_080938B8: - adds r0, r2, #0 - bl sub_08093C70 - pop {pc} - - thumb_func_start sub_080938C0 -sub_080938C0: @ 0x080938C0 - push {r4, r5, lr} - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0xb] - ands r1, r2 - adds r1, #3 - strb r1, [r0, #0x1e] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r2, #7 - orrs r1, r2 - strb r1, [r3] - movs r1, #0x2e - ldrsh r2, [r0, r1] - ldr r3, _08093908 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r2, r2, r1 - asrs r2, r2, #4 - movs r4, #0x3f - ands r2, r4 - movs r5, #0x32 - ldrsh r1, [r0, r5] - ldrh r3, [r3, #8] - subs r1, r1, r3 - asrs r1, r1, #4 - ands r1, r4 - lsls r1, r1, #6 - orrs r2, r1 - adds r1, r0, #0 - adds r1, #0x76 - strh r2, [r1] - bl sub_08093A1C - pop {r4, r5, pc} - .align 2, 0 -_08093908: .4byte gUnk_03000BF0 - - thumb_func_start nullsub_524 -nullsub_524: @ 0x0809390C - bx lr - .align 2, 0 - - thumb_func_start sub_08093910 -sub_08093910: @ 0x08093910 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r3, #1 - strb r3, [r5, #0xc] - ldrb r1, [r5, #0xb] - adds r0, r3, #0 - ands r0, r1 - adds r0, #5 - strb r0, [r5, #0x1e] - ldrb r0, [r5, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r5, #0x19] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldr r2, _0809397C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r0, [r5, r6] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r4 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - adds r0, #0x76 - strh r1, [r0] - ldrb r0, [r5, #0xb] - ands r3, r0 - cmp r3, #0 - beq _0809396C - adds r1, r5, #0 - adds r1, #0x62 - movs r0, #8 - strb r0, [r1] -_0809396C: - adds r0, r5, #0 - bl sub_08093984 - adds r0, r5, #0 - movs r1, #0x7b - bl sub_0801D2B4 - pop {r4, r5, r6, pc} - .align 2, 0 -_0809397C: .4byte gUnk_03000BF0 - - thumb_func_start nullsub_525 -nullsub_525: @ 0x08093980 - bx lr - .align 2, 0 - - thumb_func_start sub_08093984 -sub_08093984: @ 0x08093984 - push {r4, r5, r6, lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xb] - ldr r2, _080939B4 @ =gUnk_0812291E - cmp r0, #0 - beq _08093992 - ldr r2, _080939B8 @ =gUnk_081228F8 -_08093992: - movs r5, #0 - adds r6, r1, #0 - adds r6, #0x76 - adds r4, r2, #0 -_0809399A: - movs r0, #0 - ldrsh r1, [r4, r0] - ldrh r0, [r6] - adds r1, r1, r0 - ldr r0, _080939BC @ =0x00004074 - movs r2, #1 - bl sub_0800015E - adds r4, #2 - adds r5, #1 - cmp r5, #0x12 - bls _0809399A - pop {r4, r5, r6, pc} - .align 2, 0 -_080939B4: .4byte gUnk_0812291E -_080939B8: .4byte gUnk_081228F8 -_080939BC: .4byte 0x00004074 - - thumb_func_start sub_080939C0 -sub_080939C0: @ 0x080939C0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xb] - movs r0, #3 - ands r0, r1 - adds r0, #7 - strb r0, [r4, #0x1e] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08093A14 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x76 - strh r1, [r0] - adds r0, r4, #0 - bl sub_08093A1C - adds r0, r4, #0 - movs r1, #0x7a - bl sub_0801D2B4 - pop {r4, r5, pc} - .align 2, 0 -_08093A14: .4byte gUnk_03000BF0 - - thumb_func_start nullsub_526 -nullsub_526: @ 0x08093A18 - bx lr - .align 2, 0 - - thumb_func_start sub_08093A1C -sub_08093A1C: @ 0x08093A1C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r2, r0, #0 - ldrb r1, [r2, #0xa] - cmp r1, #1 - beq _08093B0C - cmp r1, #1 - bgt _08093A34 - cmp r1, #0 - beq _08093A3C - b _08093C64 -_08093A34: - cmp r1, #3 - bne _08093A3A - b _08093C54 -_08093A3A: - b _08093C64 -_08093A3C: - ldr r0, _08093AF0 @ =0x00004024 - adds r7, r2, #0 - adds r7, #0x76 - ldrh r1, [r7] - adds r1, #0x3c - adds r4, r2, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - ldr r5, _08093AF4 @ =0x00004022 - ldrh r1, [r7] - adds r1, #0x3d - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrh r1, [r7] - adds r1, #0x3e - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _08093AF8 @ =0x00004029 - mov r8, r0 - ldrh r1, [r7] - adds r1, #0x7c - ldrb r2, [r4] - bl sub_0800015E - ldr r6, _08093AFC @ =0x00004026 - ldrh r1, [r7] - adds r1, #0x7d - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - ldrh r1, [r7] - adds r1, #0x7e - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - adds r5, #0x1b - ldrh r1, [r7] - adds r1, #0x40 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrh r1, [r7] - adds r1, #0x80 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _08093B00 @ =0x00004027 - ldrh r1, [r7] - adds r1, #0x41 - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _08093B04 @ =0x00004023 - ldrh r1, [r7] - adds r1, #0x42 - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _08093B08 @ =0x0000406D - ldrh r1, [r7] - adds r1, #0x43 - ldrb r2, [r4] - bl sub_0800015E - ldrh r1, [r7] - adds r1, #0x81 - ldrb r2, [r4] - mov r0, r8 - bl sub_0800015E - ldrh r1, [r7] - adds r1, #0x82 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - ldrh r1, [r7] - adds r1, #0x83 - b _08093B94 - .align 2, 0 -_08093AF0: .4byte 0x00004024 -_08093AF4: .4byte 0x00004022 -_08093AF8: .4byte 0x00004029 -_08093AFC: .4byte 0x00004026 -_08093B00: .4byte 0x00004027 -_08093B04: .4byte 0x00004023 -_08093B08: .4byte 0x0000406D -_08093B0C: - ldrb r0, [r2, #0xb] - ands r1, r0 - cmp r1, #0 - beq _08093BB4 - ldr r6, _08093BA0 @ =0x0000406D - movs r0, #0x76 - adds r0, r0, r2 - mov r8, r0 - ldrh r1, [r0] - subs r1, #0x81 - adds r4, r2, #0 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - ldr r5, _08093BA4 @ =0x00004022 - mov r2, r8 - ldrh r1, [r2] - subs r1, #0x41 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _08093BA8 @ =0x00004029 - mov r2, r8 - ldrh r1, [r2] - subs r1, #2 - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _08093BAC @ =0x00004026 - mov r2, r8 - ldrh r1, [r2] - subs r1, #1 - ldrb r2, [r4] - bl sub_0800015E - mov r0, r8 - ldrh r1, [r0] - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - mov r2, r8 - ldrh r1, [r2] - adds r1, #1 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - ldr r0, _08093BB0 @ =0x0000406E - mov r2, r8 - ldrh r1, [r2] - adds r1, #0x40 - ldrb r2, [r4] - bl sub_0800015E - mov r0, r8 - ldrh r1, [r0] - adds r1, #0x41 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - mov r2, r8 - ldrh r1, [r2] - adds r1, #0x42 -_08093B94: - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - b _08093C64 - .align 2, 0 -_08093BA0: .4byte 0x0000406D -_08093BA4: .4byte 0x00004022 -_08093BA8: .4byte 0x00004029 -_08093BAC: .4byte 0x00004026 -_08093BB0: .4byte 0x0000406E -_08093BB4: - ldr r6, _08093C40 @ =0x0000406C - movs r0, #0x76 - adds r0, r0, r2 - mov r8, r0 - ldrh r1, [r0] - subs r1, #0x7f - adds r4, r2, #0 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - ldr r5, _08093C44 @ =0x00004022 - mov r2, r8 - ldrh r1, [r2] - subs r1, #0x3f - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - mov r0, r8 - ldrh r1, [r0] - subs r1, #1 - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - mov r2, r8 - ldrh r1, [r2] - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _08093C48 @ =0x00004026 - mov r2, r8 - ldrh r1, [r2] - adds r1, #1 - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _08093C4C @ =0x0000402A - mov r2, r8 - ldrh r1, [r2] - adds r1, #2 - ldrb r2, [r4] - bl sub_0800015E - mov r0, r8 - ldrh r1, [r0] - adds r1, #0x3e - ldrb r2, [r4] - adds r0, r6, #0 - bl sub_0800015E - mov r2, r8 - ldrh r1, [r2] - adds r1, #0x3f - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _08093C50 @ =0x0000406F - mov r2, r8 - ldrh r1, [r2] - adds r1, #0x40 - ldrb r2, [r4] - bl sub_0800015E - b _08093C64 - .align 2, 0 -_08093C40: .4byte 0x0000406C -_08093C44: .4byte 0x00004022 -_08093C48: .4byte 0x00004026 -_08093C4C: .4byte 0x0000402A -_08093C50: .4byte 0x0000406F -_08093C54: - ldr r0, _08093C6C @ =0x00004022 - adds r1, r2, #0 - adds r1, #0x76 - ldrh r1, [r1] - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_08093C64: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08093C6C: .4byte 0x00004022 - - thumb_func_start sub_08093C70 -sub_08093C70: @ 0x08093C70 - push {r4, r5, r6, lr} - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x78 - ldrh r0, [r3] - cmp r0, #0 - beq _08093CE8 - ldr r0, _08093CE0 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - beq _08093D5C - movs r0, #0 - strh r0, [r3] - ldr r4, _08093CE4 @ =0x00004022 - adds r6, r2, #0 - adds r6, #0x76 - ldrh r1, [r6] - adds r1, #0x3f - adds r5, r2, #0 - adds r5, #0x38 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - adds r1, #0x40 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - adds r1, #0x41 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - adds r4, #4 - ldrh r1, [r6] - adds r1, #0x7f - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - adds r1, #0x80 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - adds r1, #0x81 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - b _08093D5C - .align 2, 0 -_08093CE0: .4byte gUnk_03003F80 -_08093CE4: .4byte 0x00004022 -_08093CE8: - ldr r0, _08093D60 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _08093D5C - adds r1, r2, #0 - adds r1, #0x7a - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08093D5C - ldrh r0, [r3] - adds r0, #1 - strh r0, [r3] - movs r0, #0x3c - strh r0, [r1] - ldr r5, _08093D64 @ =0x0000403D - adds r6, r2, #0 - adds r6, #0x76 - ldrh r1, [r6] - adds r1, #0x3f - adds r4, r2, #0 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrh r1, [r6] - adds r1, #0x40 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _08093D68 @ =0x00004027 - ldrh r1, [r6] - adds r1, #0x41 - ldrb r2, [r4] - bl sub_0800015E - ldrh r1, [r6] - adds r1, #0x7f - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrh r1, [r6] - adds r1, #0x80 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _08093D6C @ =0x00004029 - ldrh r1, [r6] - adds r1, #0x81 - ldrb r2, [r4] - bl sub_0800015E -_08093D5C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08093D60: .4byte gUnk_03003F80 -_08093D64: .4byte 0x0000403D -_08093D68: .4byte 0x00004027 -_08093D6C: .4byte 0x00004029 - - thumb_func_start sub_08093D70 -sub_08093D70: @ 0x08093D70 - push {lr} - ldr r2, _08093D84 @ =gUnk_08122944 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08093D84: .4byte gUnk_08122944 - - thumb_func_start sub_08093D88 -sub_08093D88: @ 0x08093D88 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x36] - subs r0, #8 - strh r0, [r4, #0x36] - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #0x20 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08093DAC - cmp r0, #1 - beq _08093DC4 - b _08093DDE -_08093DAC: - adds r0, r4, #0 - movs r1, #4 - bl sub_0805457C - cmp r0, #0 - bne _08093DBC - movs r0, #2 - strb r0, [r4, #0xc] -_08093DBC: - ldr r1, [r4, #0x54] - ldr r0, [r4, #0x20] - str r0, [r1, #0x20] - b _08093DDE -_08093DC4: - movs r0, #0 - movs r1, #0x5f - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08093DDE - movs r0, #5 - strb r0, [r1, #0xe] - adds r0, r4, #0 - bl sub_08093E10 -_08093DDE: - pop {r4, pc} - - thumb_func_start sub_08093DE0 -sub_08093DE0: @ 0x08093DE0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08093DF4 - movs r0, #2 - strb r0, [r2, #0xc] -_08093DF4: - ldrb r1, [r2, #0xe] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08093E06 - ldr r1, [r2, #0x54] - ldrh r0, [r1, #0x32] - adds r0, #1 - strh r0, [r1, #0x32] -_08093E06: - pop {pc} - - thumb_func_start sub_08093E08 -sub_08093E08: @ 0x08093E08 - push {lr} - bl sub_0805E7BC - pop {pc} - - thumb_func_start sub_08093E10 -sub_08093E10: @ 0x08093E10 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_0806FA24 - str r4, [r5, #0x50] - str r5, [r4, #0x54] - ldr r0, [r4, #0x20] - str r0, [r5, #0x20] - pop {r4, r5, pc} - - thumb_func_start sub_08093E24 -sub_08093E24: @ 0x08093E24 - push {lr} - ldr r2, _08093E38 @ =gUnk_0812295C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08093E38: .4byte gUnk_0812295C - - thumb_func_start sub_08093E3C -sub_08093E3C: @ 0x08093E3C - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #0 - bne _08093E6A - adds r0, r4, #0 - bl sub_08016A30 -_08093E6A: - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - ldr r1, _08093EA8 @ =gUnk_08122950 - adds r2, r0, r1 - ldrh r0, [r2] - cmp r0, #0 - beq _08093E90 - ldrb r1, [r4, #0xb] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - bne _08093E90 - ldrh r0, [r2] - bl sub_08004488 -_08093E90: - ldrb r1, [r4, #0xb] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _08093EA6 - ldrb r0, [r4, #0x19] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r4, #0x19] -_08093EA6: - pop {r4, pc} - .align 2, 0 -_08093EA8: .4byte gUnk_08122950 - - thumb_func_start sub_08093EAC -sub_08093EAC: @ 0x08093EAC - push {lr} - ldr r3, _08093EC8 @ =gUnk_08122964 - ldr r2, _08093ECC @ =gUnk_08122950 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldrb r1, [r1, #2] - lsrs r1, r1, #4 - lsls r1, r1, #2 - adds r1, r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08093EC8: .4byte gUnk_08122964 -_08093ECC: .4byte gUnk_08122950 - - thumb_func_start sub_08093ED0 -sub_08093ED0: @ 0x08093ED0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08093EEC - adds r0, r4, #0 - bl sub_0805E7BC -_08093EEC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08093EF0 -sub_08093EF0: @ 0x08093EF0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xa] - cmp r4, #1 - beq _08093F40 - cmp r4, #1 - bgt _08093F04 - cmp r4, #0 - beq _08093F0A - b _08093FB0 -_08093F04: - cmp r4, #2 - beq _08093F98 - b _08093FB0 -_08093F0A: - ldrb r0, [r5, #0xd] - cmp r0, #0 - bne _08093FB0 - adds r0, r5, #0 - bl sub_08004274 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08093FB0 - movs r0, #0x64 - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08093F8E - ldr r0, [r5, #0x50] - str r0, [r1, #0x50] - adds r0, r5, #0 - bl sub_0806FA24 - b _08093F8E -_08093F40: - adds r0, r5, #0 - bl sub_08004274 - adds r1, r5, #0 - adds r1, #0x5a - ldrb r0, [r1] - ands r4, r0 - adds r6, r1, #0 - cmp r4, #0 - beq _08093F72 - movs r0, #0 - strb r0, [r6] - movs r0, #0x64 - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08093F72 - ldr r0, [r5, #0x50] - str r0, [r1, #0x50] - adds r0, r5, #0 - bl sub_0806FA24 -_08093F72: - ldrb r1, [r6] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08093FB0 - ldr r1, [r5, #0x50] - ldr r0, _08093F94 @ =gUnk_03001160 - cmp r1, r0 - bne _08093F8E - movs r0, #0x7a - bl sub_080A3268 - bl sub_08079D84 -_08093F8E: - bl sub_0805E780 - b _08093FB0 - .align 2, 0 -_08093F94: .4byte gUnk_03001160 -_08093F98: - adds r0, r5, #0 - bl sub_08004274 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08093FB0 - bl sub_0805E780 -_08093FB0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08093FB4 -sub_08093FB4: @ 0x08093FB4 - push {lr} - ldr r2, _08093FC8 @ =gUnk_081229B4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08093FC8: .4byte gUnk_081229B4 - - thumb_func_start sub_08093FCC -sub_08093FCC: @ 0x08093FCC - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #2 - strb r1, [r2] - bl sub_08016A04 - pop {pc} - - thumb_func_start sub_08093FE0 -sub_08093FE0: @ 0x08093FE0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08094064 - cmp r0, #0 - beq _08094062 - adds r3, r4, #0 - adds r3, #0x38 - ldrb r0, [r3] - cmp r0, #2 - bne _08094024 - ldr r0, _08094020 @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0x1e - bgt _08094002 - cmp r0, #0x1d - bge _08094062 -_08094002: - movs r0, #1 - strb r0, [r3] - adds r0, r4, #0 - bl sub_08016A04 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - b _08094060 - .align 2, 0 -_08094020: .4byte gUnk_03001160 -_08094024: - ldr r0, _0809404C @ =gUnk_03001160 - ldrb r2, [r0, #0xc] - cmp r2, #0x1e - bgt _08094050 - cmp r2, #0x1d - blt _08094050 - movs r0, #2 - strb r0, [r3] - adds r0, r4, #0 - bl sub_08016A04 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - b _08094060 - .align 2, 0 -_0809404C: .4byte gUnk_03001160 -_08094050: - adds r2, r0, #0 - adds r2, #0x38 - ldrb r1, [r2] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08094062 - movs r0, #1 -_08094060: - strb r0, [r2] -_08094062: - pop {r4, pc} - - thumb_func_start sub_08094064 -sub_08094064: @ 0x08094064 - push {lr} - movs r2, #1 - ldr r1, _08094080 @ =gUnk_03001160 - movs r3, #0x2e - ldrsh r1, [r1, r3] - movs r3, #0x2e - ldrsh r0, [r0, r3] - subs r1, r1, r0 - adds r1, #0x1c - cmp r1, #0x38 - bls _0809407C - movs r2, #0 -_0809407C: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_08094080: .4byte gUnk_03001160 - - thumb_func_start sub_08094084 -sub_08094084: @ 0x08094084 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - beq _0809412A - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080940CA - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #5 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_080940CA: - ldrh r0, [r5, #0x2e] - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x32] - strh r0, [r4, #0x32] - ldrb r2, [r5, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x19] - movs r0, #0x36 - ldrsh r1, [r5, r0] - movs r0, #0x40 - rsbs r0, r0, #0 - cmp r1, r0 - ble _08094108 - movs r3, #0x80 - lsls r3, r3, #1 - movs r2, #0x80 - lsls r2, r2, #2 - b _0809411E -_08094108: - movs r1, #0x36 - ldrsh r0, [r5, r1] - adds r0, #0x40 - lsls r2, r0, #1 - movs r1, #0x80 - lsls r1, r1, #1 - subs r3, r1, r2 - lsls r0, r0, #2 - movs r1, #0x80 - lsls r1, r1, #2 - subs r2, r1, r0 -_0809411E: - adds r0, r4, #0 - adds r1, r3, #0 - movs r3, #0 - bl sub_0805EC9C - b _0809412E -_0809412A: - bl sub_0805E780 -_0809412E: - pop {r4, r5, pc} - - thumb_func_start sub_08094130 -sub_08094130: @ 0x08094130 - push {lr} - ldr r2, _08094144 @ =gUnk_081229BC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08094144: .4byte gUnk_081229BC - - thumb_func_start sub_08094148 -sub_08094148: @ 0x08094148 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _08094154 - b _08094254 -_08094154: - cmp r0, #1 - bgt _0809415E - cmp r0, #0 - beq _080941A8 - b _0809438A -_0809415E: - cmp r0, #2 - beq _08094164 - b _0809438A -_08094164: - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _08094180 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xb4 - lsls r0, r0, #1 - str r0, [r4, #0x78] - ldr r0, _0809417C @ =gUnk_03000BF0 - str r4, [r0, #0x30] - b _08094198 - .align 2, 0 -_0809417C: .4byte gUnk_03000BF0 -_08094180: - ldr r0, [r4, #0x78] - subs r0, #1 - str r0, [r4, #0x78] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _08094198 - ldr r1, _080941A0 @ =gUnk_03000BF0 - ldr r0, _080941A4 @ =gUnk_03001160 - str r0, [r1, #0x30] - bl sub_0805E780 -_08094198: - bl sub_08078B48 - b _08094394 - .align 2, 0 -_080941A0: .4byte gUnk_03000BF0 -_080941A4: .4byte gUnk_03001160 -_080941A8: - ldr r1, _08094228 @ =gUnk_081229D0 - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0, #1] - strb r0, [r4, #0x15] - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0, #2] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r2, [r4, #0x2e] - adds r0, r0, r2 - strh r0, [r4, #0x2e] - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0, #3] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r2, [r4, #0x32] - adds r0, r0, r2 - strh r0, [r4, #0x32] - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r2, [r0] - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _080941F0 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_080941F0: - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08094200 - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_08094200: - ldrb r0, [r4, #0xb] - cmp r0, #3 - bhi _08094230 - bl sub_08000E50 - ldr r1, _0809422C @ =0x0001FFFF - ands r1, r0 - movs r0, #0xa0 - lsls r0, r0, #0xa - orrs r0, r1 - str r0, [r4, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #0x56 - bl sub_08004260 - b _0809438A - .align 2, 0 -_08094228: .4byte gUnk_081229D0 -_0809422C: .4byte 0x0001FFFF -_08094230: - movs r0, #0xa0 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - ldrb r1, [r4, #0x15] - orrs r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0x57 - bl sub_08004260 - b _0809438A -_08094254: - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _08094272 - adds r0, r4, #0 - movs r1, #0x67 - movs r2, #1 - movs r3, #0x80 - bl sub_080A2988 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _08094272 - ldr r0, [r4, #0x50] - str r0, [r1, #0x54] -_08094272: - ldrb r0, [r4, #0xb] - cmp r0, #0x80 - bne _0809427A - b _08094380 -_0809427A: - movs r2, #0 - movs r0, #0x4b - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x19] - subs r0, #0x58 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - movs r1, #0xe0 - lsls r1, r1, #7 - strh r1, [r4, #0x24] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0xb] - lsls r0, r0, #3 - ldr r1, _080942E8 @ =gUnk_081229F0 - adds r3, r0, r1 - movs r0, #0 - ldrsb r0, [r3, r0] - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - movs r0, #1 - ldrsb r0, [r3, r0] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldrb r0, [r3, #2] - strb r0, [r4, #0xe] - ldrb r0, [r3, #3] - strb r0, [r4, #0xf] - movs r0, #0xce - str r0, [r4, #0x7c] - str r2, [r4, #0x74] - ldrb r1, [r3, #4] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080942EC - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0xff - lsls r0, r0, #8 - b _080942F4 - .align 2, 0 -_080942E8: .4byte gUnk_081229F0 -_080942EC: - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0x80 - lsls r0, r0, #1 -_080942F4: - strh r0, [r1] - ldrb r1, [r3, #4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809430A - adds r1, r4, #0 - adds r1, #0x86 - movs r0, #0xff - lsls r0, r0, #8 - b _08094312 -_0809430A: - adds r1, r4, #0 - adds r1, #0x86 - movs r0, #0x80 - lsls r0, r0, #1 -_08094312: - strh r0, [r1] - adds r0, r4, #0 - bl sub_0806FBD8 - cmp r0, #0 - beq _0809438A - ldr r2, [r4, #0x48] - ldr r1, _0809437C @ =gUnk_080FD2E8 - ldrb r0, [r1] - strb r0, [r2] - ldr r2, [r4, #0x48] - ldrb r0, [r1, #1] - strb r0, [r2, #1] - ldr r2, [r4, #0x48] - ldrb r0, [r1, #2] - strb r0, [r2, #2] - ldr r2, [r4, #0x48] - ldrb r0, [r1, #3] - strb r0, [r2, #3] - ldr r2, [r4, #0x48] - ldrb r0, [r1, #4] - strb r0, [r2, #4] - ldr r2, [r4, #0x48] - ldrb r0, [r1, #5] - strb r0, [r2, #5] - ldr r2, [r4, #0x48] - ldrb r0, [r1, #6] - strb r0, [r2, #6] - ldr r2, [r4, #0x48] - ldrb r0, [r1, #7] - strb r0, [r2, #7] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r1, #4 - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - subs r1, #1 - movs r0, #0x7a - strb r0, [r1] - subs r1, #4 - movs r0, #1 - strb r0, [r1] - b _0809438A - .align 2, 0 -_0809437C: .4byte gUnk_080FD2E8 -_08094380: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_0809438A: - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_08094398 -_08094394: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08094398 -sub_08094398: @ 0x08094398 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080943A8 - cmp r0, #1 - beq _080943D8 - b _08094420 -_080943A8: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08094420 - ldrb r0, [r4, #0xb] - cmp r0, #3 - bhi _080943D2 - adds r0, r4, #0 - movs r1, #0xc - movs r2, #0 - bl sub_080A29AC -_080943D2: - bl sub_0805E780 - b _08094420 -_080943D8: - ldrb r1, [r4, #0xb] - cmp r1, #0x80 - beq _0809440A - ldr r0, [r4, #0x7c] - subs r0, #1 - str r0, [r4, #0x7c] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _080943F6 - movs r0, #0x96 - lsls r0, r0, #2 - str r0, [r4, #0x7c] - movs r0, #2 - strb r0, [r4, #0xc] -_080943F6: - adds r0, r4, #0 - adds r0, #0x82 - ldrh r1, [r0] - adds r0, #4 - ldrh r2, [r0] - adds r0, r4, #0 - movs r3, #0 - bl sub_0805EC9C - b _08094420 -_0809440A: - ldr r0, [r4, #0x54] - adds r0, #0x79 - ldrb r0, [r0] - ands r1, r0 - cmp r1, #0 - bne _0809441A - bl sub_0805E780 -_0809441A: - adds r0, r4, #0 - bl sub_08094660 -_08094420: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08094424 -sub_08094424: @ 0x08094424 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r3, r6, #0 - adds r3, #0x82 - movs r1, #0 - ldrsh r0, [r3, r1] - cmp r0, #0 - bge _08094452 - adds r1, r6, #0 - adds r1, #0x80 - movs r0, #0x24 - ldrsh r2, [r6, r0] - ldr r0, [r1] - adds r0, r0, r2 - str r0, [r1] - movs r2, #0 - ldrsh r0, [r3, r2] - rsbs r0, r0, #0 - mov r8, r0 - adds r5, r1, #0 - b _08094466 -_08094452: - adds r0, r6, #0 - adds r0, #0x80 - movs r1, #0x24 - ldrsh r2, [r6, r1] - ldr r1, [r0] - subs r1, r1, r2 - str r1, [r0] - ldrh r3, [r3] - mov r8, r3 - adds r5, r0, #0 -_08094466: - adds r0, r6, #0 - adds r0, #0x86 - movs r2, #0 - ldrsh r1, [r0, r2] - adds r4, r0, #0 - cmp r1, #0 - bge _0809448C - adds r1, r6, #0 - adds r1, #0x84 - movs r0, #0x24 - ldrsh r2, [r6, r0] - ldr r0, [r1] - adds r0, r0, r2 - str r0, [r1] - movs r2, #0 - ldrsh r0, [r4, r2] - rsbs r7, r0, #0 - adds r3, r1, #0 - b _0809449E -_0809448C: - adds r0, r6, #0 - adds r0, #0x84 - movs r1, #0x24 - ldrsh r2, [r6, r1] - ldr r1, [r0] - subs r1, r1, r2 - str r1, [r0] - ldrh r7, [r4] - adds r3, r0, #0 -_0809449E: - ldrh r2, [r6, #0x24] - movs r0, #0x24 - ldrsh r1, [r6, r0] - movs r0, #0x80 - lsls r0, r0, #6 - cmp r1, r0 - ble _080944B2 - ldr r1, _080944D0 @ =0xFFFFFF00 - adds r0, r2, r1 - strh r0, [r6, #0x24] -_080944B2: - ldr r0, [r6, #0x7c] - subs r0, #1 - str r0, [r6, #0x7c] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _080944D4 - movs r0, #0 - strh r0, [r5] - strh r0, [r3] - movs r0, #3 - strb r0, [r6, #0xc] - movs r0, #0x78 - str r0, [r6, #0x7c] - b _08094500 - .align 2, 0 -_080944D0: .4byte 0xFFFFFF00 -_080944D4: - adds r5, r6, #0 - adds r5, #0x82 - movs r2, #0 - ldrsh r1, [r5, r2] - ldrb r3, [r6, #0xe] - adds r0, r6, #0 - movs r2, #0x20 - bl sub_0806FCF4 - movs r0, #0 - ldrsh r1, [r4, r0] - ldrb r3, [r6, #0xf] - adds r0, r6, #0 - movs r2, #0x20 - bl sub_0806FCF4 - ldrh r1, [r5] - ldrh r2, [r4] - adds r0, r6, #0 - movs r3, #0 - bl sub_0805EC9C -_08094500: - ldr r5, [r6, #0x48] - cmp r5, #0 - beq _08094538 - movs r4, #0x80 - lsls r4, r4, #9 - adds r0, r4, #0 - mov r1, r8 - bl __divsi3 - lsrs r0, r0, #3 - strb r0, [r5, #6] - ldr r5, [r6, #0x48] - adds r0, r4, #0 - adds r1, r7, #0 - bl __divsi3 - lsrs r0, r0, #3 - strb r0, [r5, #7] - ldr r1, [r6, #0x48] - adds r0, r6, #0 - adds r0, #0x62 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, [r6, #0x48] - adds r0, r6, #0 - adds r0, #0x63 - ldrb r0, [r0] - strb r0, [r1, #1] -_08094538: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08094540 -sub_08094540: @ 0x08094540 - push {lr} - adds r3, r0, #0 - ldr r0, [r3, #0x7c] - subs r0, #1 - str r0, [r3, #0x7c] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _0809455A - movs r0, #4 - strb r0, [r3, #0xc] - movs r0, #2 - str r0, [r3, #0x7c] -_0809455A: - adds r0, r3, #0 - adds r0, #0x82 - ldrh r1, [r0] - adds r0, #4 - ldrh r2, [r0] - adds r0, r3, #0 - movs r3, #0 - bl sub_0805EC9C - pop {pc} - .align 2, 0 - - thumb_func_start sub_08094570 -sub_08094570: @ 0x08094570 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r2, r6, #0 - adds r2, #0x82 - ldrh r1, [r2] - lsls r3, r1, #0x10 - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _08094590 - asrs r3, r3, #0x10 - ldr r0, _080945B0 @ =0xFFFFFF00 - cmp r3, r0 - bne _080945BA -_08094590: - ldr r1, [r6, #0x7c] - cmp r1, #0 - bne _080945B4 - ldr r0, [r6, #0x50] - adds r0, #0x7c - strh r1, [r0] - ldr r0, [r6, #0x50] - adds r0, #0x79 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08094622 - bl sub_0805E780 - b _08094622 - .align 2, 0 -_080945B0: .4byte 0xFFFFFF00 -_080945B4: - subs r0, r1, #1 - str r0, [r6, #0x7c] - b _08094622 -_080945BA: - cmp r3, #0 - bge _080945CC - subs r0, r1, #1 - strh r0, [r2] - movs r1, #0 - ldrsh r0, [r2, r1] - rsbs r0, r0, #0 - mov r8, r0 - b _080945D4 -_080945CC: - adds r0, r1, #1 - strh r0, [r2] - ldrh r2, [r2] - mov r8, r2 -_080945D4: - adds r0, r6, #0 - adds r0, #0x86 - ldrh r2, [r0] - movs r3, #0 - ldrsh r1, [r0, r3] - adds r4, r0, #0 - cmp r1, #0 - bge _080945F0 - subs r0, r2, #1 - strh r0, [r4] - movs r1, #0 - ldrsh r0, [r4, r1] - rsbs r7, r0, #0 - b _080945F6 -_080945F0: - adds r0, r2, #1 - strh r0, [r4] - ldrh r7, [r4] -_080945F6: - adds r5, r6, #0 - adds r5, #0x82 - movs r3, #0 - ldrsh r1, [r5, r3] - ldrb r3, [r6, #0xe] - adds r0, r6, #0 - movs r2, #0x20 - bl sub_0806FCF4 - movs r0, #0 - ldrsh r1, [r4, r0] - ldrb r3, [r6, #0xf] - adds r0, r6, #0 - movs r2, #0x20 - bl sub_0806FCF4 - ldrh r1, [r5] - ldrh r2, [r4] - adds r0, r6, #0 - movs r3, #0 - bl sub_0805EC9C -_08094622: - ldr r5, [r6, #0x48] - cmp r5, #0 - beq _0809465A - movs r4, #0x80 - lsls r4, r4, #9 - adds r0, r4, #0 - mov r1, r8 - bl __divsi3 - lsrs r0, r0, #3 - strb r0, [r5, #6] - ldr r5, [r6, #0x48] - adds r0, r4, #0 - adds r1, r7, #0 - bl __divsi3 - lsrs r0, r0, #3 - strb r0, [r5, #7] - ldr r1, [r6, #0x48] - adds r0, r6, #0 - adds r0, #0x62 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, [r6, #0x48] - adds r0, r6, #0 - adds r0, #0x63 - ldrb r0, [r0] - strb r0, [r1, #1] -_0809465A: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08094660 -sub_08094660: @ 0x08094660 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - ldr r0, [r6, #0x50] - adds r0, #0x62 - movs r7, #0 - ldrsb r7, [r0, r7] - cmp r7, #0 - bge _08094678 - rsbs r7, r7, #0 -_08094678: - lsls r7, r7, #1 - adds r0, r7, #0 - cmp r7, #0 - bge _08094682 - adds r0, #0xf -_08094682: - asrs r1, r0, #4 - ldr r0, [r6, #0x74] - cmp r0, r1 - bhs _08094700 - str r1, [r6, #0x74] - movs r1, #0x2e - ldrsh r0, [r6, r1] - subs r0, r0, r7 - adds r4, r0, #0 - subs r4, #0x40 - movs r1, #0x32 - ldrsh r0, [r6, r1] - subs r0, r0, r7 - adds r5, r0, #0 - subs r5, #0x40 - movs r0, #0x10 - mov sb, r0 - str r0, [r6, #0x78] - movs r1, #0 - mov r8, r1 - str r1, [r6, #0x7c] - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_08094708 - mov r0, r8 - str r0, [r6, #0x78] - mov r1, sb - str r1, [r6, #0x7c] - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_08094708 - movs r1, #0x2e - ldrsh r0, [r6, r1] - adds r0, r0, r7 - adds r4, r0, #0 - adds r4, #0x30 - movs r1, #0x32 - ldrsh r0, [r6, r1] - adds r0, r0, r7 - adds r5, r0, #0 - adds r5, #0x30 - movs r7, #0x10 - rsbs r7, r7, #0 - str r7, [r6, #0x78] - mov r0, r8 - str r0, [r6, #0x7c] - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_08094708 - mov r1, r8 - str r1, [r6, #0x78] - str r7, [r6, #0x7c] - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_08094708 -_08094700: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08094708 -sub_08094708: @ 0x08094708 - push {r4, r5, r6, r7, lr} - sub sp, #8 - adds r7, r0, #0 - adds r6, r1, #0 - adds r5, r2, #0 - ldr r0, [r7, #0x74] - lsls r0, r0, #1 - adds r4, r0, #0 - adds r4, #8 - cmp r4, #0 - beq _08094752 - ldr r3, _08094758 @ =gUnk_03000BF0 - movs r2, #0x3f -_08094722: - ldrh r0, [r3, #6] - subs r0, r6, r0 - lsrs r0, r0, #4 - ands r0, r2 - ldrh r1, [r3, #8] - subs r1, r5, r1 - lsrs r1, r1, #4 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - movs r1, #2 - str r2, [sp] - str r3, [sp, #4] - bl sub_0807BA8C - ldr r0, [r7, #0x78] - adds r6, r6, r0 - ldr r0, [r7, #0x7c] - adds r5, r5, r0 - subs r4, #1 - ldr r2, [sp] - ldr r3, [sp, #4] - cmp r4, #0 - bne _08094722 -_08094752: - add sp, #8 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08094758: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809475C -sub_0809475C: @ 0x0809475C - push {lr} - ldr r2, _08094770 @ =gUnk_08122A10 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08094770: .4byte gUnk_08122A10 - - thumb_func_start sub_08094774 -sub_08094774: @ 0x08094774 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0xa] - cmp r0, #8 - bls _08094784 - b _080948C6 -_08094784: - lsls r0, r0, #2 - ldr r1, _08094790 @ =_08094794 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08094790: .4byte _08094794 -_08094794: @ jump table - .4byte _080947B8 @ case 0 - .4byte _08094824 @ case 1 - .4byte _080948B0 @ case 2 - .4byte _080948C6 @ case 3 - .4byte _080948C6 @ case 4 - .4byte _080948C6 @ case 5 - .4byte _080948C6 @ case 6 - .4byte _080948C6 @ case 7 - .4byte _080948C6 @ case 8 -_080947B8: - adds r0, r5, #0 - movs r1, #0xb - movs r2, #0 - bl sub_080A29AC - adds r6, r0, #0 - str r6, [r5, #0x54] - cmp r6, #0 - beq _080947EE - ldr r0, _0809480C @ =gUnk_03001160 - ldr r4, _08094810 @ =gUnk_08122A18 - ldrb r3, [r0, #0x14] - movs r1, #6 - ands r1, r3 - adds r1, r1, r4 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - movs r1, #1 - orrs r1, r3 - adds r1, r1, r4 - movs r3, #0 - ldrsb r3, [r1, r3] - lsls r3, r3, #0x10 - adds r1, r6, #0 - bl sub_0806FA48 -_080947EE: - ldr r0, [r5, #0x54] - adds r1, r5, #0 - bl sub_0806FA24 - ldr r1, _08094814 @ =0x00004032 - ldr r2, _08094818 @ =0x00004033 - adds r0, r5, #0 - bl sub_08094980 - ldr r1, _0809481C @ =0x00004061 - ldr r2, _08094820 @ =0x00004022 - adds r0, r5, #0 - bl sub_08094980 - b _080948C6 - .align 2, 0 -_0809480C: .4byte gUnk_03001160 -_08094810: .4byte gUnk_08122A18 -_08094814: .4byte 0x00004032 -_08094818: .4byte 0x00004033 -_0809481C: .4byte 0x00004061 -_08094820: .4byte 0x00004022 -_08094824: - adds r0, r5, #0 - movs r1, #0x2b - movs r2, #0 - bl sub_080A29AC - adds r6, r0, #0 - str r6, [r5, #0x54] - cmp r6, #0 - beq _0809485A - ldr r0, _08094898 @ =gUnk_03001160 - ldr r4, _0809489C @ =gUnk_08122A18 - ldrb r3, [r0, #0x14] - movs r1, #6 - ands r1, r3 - adds r1, r1, r4 - movs r2, #0 - ldrsb r2, [r1, r2] - lsls r2, r2, #0x10 - movs r1, #1 - orrs r1, r3 - adds r1, r1, r4 - movs r3, #0 - ldrsb r3, [r1, r3] - lsls r3, r3, #0x10 - adds r1, r6, #0 - bl sub_0806FA48 -_0809485A: - ldrb r4, [r5, #0xb] - cmp r4, #0 - bne _080948C6 - ldr r0, [r5, #0x54] - adds r1, r5, #0 - bl sub_0806FA24 - strb r4, [r5, #0xe] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r1, [r5, #0x19] - movs r0, #0x3f - ands r0, r1 - strb r0, [r5, #0x19] - ldr r1, _080948A0 @ =0x0000403B - ldr r2, _080948A4 @ =0x0000403C - adds r0, r5, #0 - bl sub_08094980 - ldr r1, _080948A8 @ =0x00004061 - ldr r2, _080948AC @ =0x00004022 - adds r0, r5, #0 - bl sub_08094980 - b _080948CA - .align 2, 0 -_08094898: .4byte gUnk_03001160 -_0809489C: .4byte gUnk_08122A18 -_080948A0: .4byte 0x0000403B -_080948A4: .4byte 0x0000403C -_080948A8: .4byte 0x00004061 -_080948AC: .4byte 0x00004022 -_080948B0: - ldr r0, _080948CC @ =gUnk_03001160 - movs r1, #0x60 - movs r2, #0 - bl sub_080A2A20 - adds r1, r0, #0 - str r1, [r5, #0x54] - cmp r1, #0 - beq _080948C6 - movs r0, #1 - strb r0, [r1, #0xe] -_080948C6: - bl sub_0805E780 -_080948CA: - pop {r4, r5, r6, pc} - .align 2, 0 -_080948CC: .4byte gUnk_03001160 - - thumb_func_start sub_080948D0 -sub_080948D0: @ 0x080948D0 - push {lr} - ldr r2, _080948E4 @ =gUnk_08122A20 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080948E4: .4byte gUnk_08122A20 - - thumb_func_start sub_080948E8 -sub_080948E8: @ 0x080948E8 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xe] - cmp r1, #0x3b - bhi _08094978 - ldr r0, [r4, #0x34] - ldr r2, _0809495C @ =0xFFFFC000 - adds r0, r0, r2 - str r0, [r4, #0x34] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _08094970 - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r3, r0, #0 - str r3, [r4, #0x54] - cmp r3, #0 - beq _08094970 - ldrb r1, [r4, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r3, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x19] - ldr r2, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r2, #0x29 - lsrs r1, r1, #0x1d - ldrb r3, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _08094960 - bl sub_08000E50 - ldr r2, [r4, #0x54] - movs r1, #0xf - ands r0, r1 - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - b _08094970 - .align 2, 0 -_0809495C: .4byte 0xFFFFC000 -_08094960: - bl sub_08000E50 - ldr r2, [r4, #0x54] - movs r1, #0xf - ands r0, r1 - ldrh r1, [r2, #0x2e] - subs r1, r1, r0 - strh r1, [r2, #0x2e] -_08094970: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - b _0809497C -_08094978: - bl sub_0805E780 -_0809497C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08094980 -sub_08094980: @ 0x08094980 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - adds r6, r0, #0 - str r1, [sp] - str r2, [sp, #4] - movs r0, #0 - mov r8, r0 - ldr r1, _08094A04 @ =gUnk_03000BF0 - mov sl, r1 - movs r2, #0x3f - mov sb, r2 - ldr r7, _08094A08 @ =gUnk_08122A28 -_080949A0: - movs r4, #0 - ldrsb r4, [r7, r4] - movs r5, #1 - ldrsb r5, [r7, r5] - adds r0, r6, #0 - adds r1, r4, #0 - adds r2, r5, #0 - bl sub_0800029C - ldr r3, [sp] - cmp r3, r0 - bne _080949EC - movs r0, #0x2e - ldrsh r1, [r6, r0] - adds r1, r1, r4 - mov r2, sl - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - mov r3, sb - ands r1, r3 - movs r2, #0x32 - ldrsh r0, [r6, r2] - adds r0, r0, r5 - mov r3, sl - ldrh r2, [r3, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - mov r2, sb - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r6, #0 - adds r0, #0x38 - ldrb r2, [r0] - ldr r0, [sp, #4] - bl sub_0800015E -_080949EC: - adds r7, #2 - movs r3, #2 - add r8, r3 - mov r0, r8 - cmp r0, #9 - bls _080949A0 - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08094A04: .4byte gUnk_03000BF0 -_08094A08: .4byte gUnk_08122A28 - - thumb_func_start sub_08094A0C -sub_08094A0C: @ 0x08094A0C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08094A3E - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _08094A34 - movs r0, #1 - strb r0, [r2, #0xc] - ldr r0, _08094A30 @ =gUnk_080FD170 - str r0, [r2, #0x48] - adds r0, r2, #0 - bl sub_0807DD50 - b _08094A42 - .align 2, 0 -_08094A30: .4byte gUnk_080FD170 -_08094A34: - adds r0, r2, #0 - movs r1, #0 - bl sub_0807DD94 - b _08094A42 -_08094A3E: - movs r0, #1 - strb r0, [r2, #0xc] -_08094A42: - pop {pc} - - thumb_func_start sub_08094A44 -sub_08094A44: @ 0x08094A44 - push {lr} - ldr r2, _08094A58 @ =gUnk_08122A34 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08094A58: .4byte gUnk_08122A34 - - thumb_func_start sub_08094A5C -sub_08094A5C: @ 0x08094A5C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08094A78 - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 -_08094A78: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08094A90 -sub_08094A90: @ 0x08094A90 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08094ACE - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - ldr r1, _08094AE4 @ =gUnk_08114F30 - ldrb r2, [r4, #0x19] - lsrs r0, r2, #6 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r1, r1, #6 - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0807DD64 -_08094ACE: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08094AE4: .4byte gUnk_08114F30 - - thumb_func_start sub_08094AE8 -sub_08094AE8: @ 0x08094AE8 - push {r4, r5, lr} - adds r5, r1, #0 - movs r0, #0x6a - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08094B08 - ldr r1, [r5, #4] - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_08094B08: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08094B0C -sub_08094B0C: @ 0x08094B0C - push {lr} - adds r2, r0, #0 - ldrh r0, [r2, #0x36] - subs r0, #1 - movs r3, #0 - strh r0, [r2, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x20 - rsbs r1, r1, #0 - cmp r0, r1 - bgt _08094B30 - ldr r0, _08094B2C @ =0x0000FFE0 - strh r0, [r2, #0x36] - b _08094B34 - .align 2, 0 -_08094B2C: .4byte 0x0000FFE0 -_08094B30: - ldr r0, _08094B38 @ =gUnk_02033280 - strb r3, [r0, #6] -_08094B34: - pop {pc} - .align 2, 0 -_08094B38: .4byte gUnk_02033280 - - thumb_func_start sub_08094B3C -sub_08094B3C: @ 0x08094B3C - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x34] - movs r1, #0x80 - lsls r1, r1, #8 - adds r0, r0, r1 - str r0, [r2, #0x34] - movs r0, #0x36 - ldrsh r1, [r2, r0] - movs r0, #0xd - rsbs r0, r0, #0 - cmp r1, r0 - blt _08094B60 - ldr r0, _08094B5C @ =0x0000FFF3 - strh r0, [r2, #0x36] - b _08094B66 - .align 2, 0 -_08094B5C: .4byte 0x0000FFF3 -_08094B60: - ldr r1, _08094B68 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_08094B66: - pop {pc} - .align 2, 0 -_08094B68: .4byte gUnk_02033280 - - thumb_func_start sub_08094B6C -sub_08094B6C: @ 0x08094B6C - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #0x18 - orrs r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_08094B80 -sub_08094B80: @ 0x08094B80 - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #0x10 - orrs r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_08094B94 -sub_08094B94: @ 0x08094B94 - push {r4, lr} - movs r0, #0x6a - movs r1, #0x22 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08094BD2 - ldr r0, _08094BD4 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r0, _08094BD8 @ =0x0000FFD0 - strh r0, [r4, #0x36] - ldr r1, _08094BDC @ =gUnk_0800AEDC - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - adds r0, r4, #0 - bl sub_080A29BC - ldrh r0, [r4, #0x36] - adds r0, #0x10 - strh r0, [r4, #0x36] - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] -_08094BD2: - pop {r4, pc} - .align 2, 0 -_08094BD4: .4byte gUnk_03001160 -_08094BD8: .4byte 0x0000FFD0 -_08094BDC: .4byte gUnk_0800AEDC - - thumb_func_start sub_08094BE0 -sub_08094BE0: @ 0x08094BE0 - push {r4, lr} - sub sp, #4 - movs r0, #0 - str r0, [sp] - movs r0, #6 - movs r1, #0x6a - movs r2, #6 - movs r3, #0x22 - bl sub_0805EB2C - adds r4, r0, #0 - cmp r4, #0 - beq _08094C22 - ldr r0, _08094C28 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r0, _08094C2C @ =0x0000FFF4 - strh r0, [r4, #0x36] - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC -_08094C22: - add sp, #4 - pop {r4, pc} - .align 2, 0 -_08094C28: .4byte gUnk_03001160 -_08094C2C: .4byte 0x0000FFF4 - - thumb_func_start sub_08094C30 -sub_08094C30: @ 0x08094C30 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - cmp r5, #0 - beq _08094C40 - ldr r0, [r5, #4] - cmp r0, #0 - bne _08094C44 -_08094C40: - bl sub_0805E780 -_08094C44: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08094C74 - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - ldr r1, _08094C84 @ =gUnk_08114F30 - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r1, r1, #6 - ldrb r2, [r4, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC -_08094C74: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 -_08094C84: .4byte gUnk_08114F30 - - thumb_func_start sub_08094C88 -sub_08094C88: @ 0x08094C88 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xc] - cmp r1, #0 - beq _08094CA0 - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08094CCC - bl sub_0805E780 - b _08094CDA -_08094CA0: - adds r0, r1, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r0, r5, #0 - movs r1, #3 - bl sub_0805E3A0 - ldrb r0, [r5, #0xb] - cmp r0, #0x43 - bgt _08094CCC - cmp r0, #0x40 - blt _08094CCC - adds r0, r5, #0 - adds r1, r5, #0 - bl sub_0806FAD8 -_08094CCC: - ldrb r4, [r5, #0xa] - ldrb r0, [r5, #0xb] - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] -_08094CDA: - pop {r4, r5, pc} - - thumb_func_start sub_08094CDC -sub_08094CDC: @ 0x08094CDC - push {lr} - movs r0, #0x6a - movs r1, #3 - movs r2, #0x62 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08094D0A - ldr r1, _08094D0C @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0xe0 - strh r0, [r2, #0x2e] - movs r3, #0x96 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x32] - movs r0, #0xa2 - lsls r0, r0, #1 - bl sub_080A3268 -_08094D0A: - pop {pc} - .align 2, 0 -_08094D0C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08094D10 -sub_08094D10: @ 0x08094D10 - push {lr} - sub sp, #4 - movs r0, #0x62 - str r0, [sp] - movs r0, #6 - movs r1, #0x6a - movs r2, #6 - movs r3, #3 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _08094D2E - movs r0, #0xff - strb r0, [r1, #0xc] -_08094D2E: - add sp, #4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08094D34 -sub_08094D34: @ 0x08094D34 - push {lr} - movs r0, #0x6a - movs r1, #0x15 - movs r2, #0xd - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08094D68 - ldr r1, _08094D6C @ =gUnk_03000BF0 - movs r3, #0x80 - lsls r3, r3, #1 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r3, #0x96 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x32] - movs r0, #0xa2 - lsls r0, r0, #1 - bl sub_080A3268 -_08094D68: - pop {pc} - .align 2, 0 -_08094D6C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08094D70 -sub_08094D70: @ 0x08094D70 - push {lr} - sub sp, #4 - movs r0, #0xd - str r0, [sp] - movs r0, #6 - movs r1, #0x6a - movs r2, #6 - movs r3, #0x15 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _08094D8E - movs r0, #0xff - strb r0, [r1, #0xc] -_08094D8E: - add sp, #4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08094D94 -sub_08094D94: @ 0x08094D94 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xc] - cmp r1, #0 - beq _08094DAC - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08094DCE - bl sub_0805E780 - b _08094DD4 -_08094DAC: - adds r0, r1, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_08094DCE: - adds r0, r4, #0 - bl sub_080042B8 -_08094DD4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08094DD8 -sub_08094DD8: @ 0x08094DD8 - push {lr} - movs r0, #0x6a - movs r1, #4 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _08094E06 - ldr r1, _08094E08 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0xf0 - strh r0, [r2, #0x2e] - movs r3, #0x96 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x32] - movs r0, #0xa2 - lsls r0, r0, #1 - bl sub_080A3268 -_08094E06: - pop {pc} - .align 2, 0 -_08094E08: .4byte gUnk_03000BF0 - - thumb_func_start sub_08094E0C -sub_08094E0C: @ 0x08094E0C - push {lr} - sub sp, #4 - movs r0, #0 - str r0, [sp] - movs r0, #6 - movs r1, #0x6a - movs r2, #6 - movs r3, #4 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _08094E2A - movs r0, #0xff - strb r0, [r1, #0xc] -_08094E2A: - add sp, #4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08094E30 -sub_08094E30: @ 0x08094E30 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _08094E88 - ldr r0, _08094E80 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - beq _08094E48 - b _08094F94 -_08094E48: - movs r0, #0x6a - movs r1, #5 - movs r2, #1 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - bne _08094E5A - b _08094F94 -_08094E5A: - bl sub_08000E50 - ldr r4, _08094E84 @ =gUnk_03000BF0 - movs r1, #0xf0 - bl __modsi3 - ldrh r1, [r4, #0xa] - adds r1, r1, r0 - strh r1, [r5, #0x2e] - bl sub_08000E50 - movs r1, #0xa0 - bl __modsi3 - ldrh r1, [r4, #0xc] - adds r1, r1, r0 - strh r1, [r5, #0x32] - b _08094F94 - .align 2, 0 -_08094E80: .4byte gUnk_030010A0 -_08094E84: .4byte gUnk_03000BF0 -_08094E88: - cmp r0, #1 - bne _08094F44 - ldrb r1, [r4, #0xc] - cmp r1, #1 - beq _08094ED4 - cmp r1, #1 - bgt _08094E9C - cmp r1, #0 - beq _08094EA6 - b _08094F94 -_08094E9C: - cmp r1, #2 - beq _08094F08 - cmp r1, #3 - beq _08094F22 - b _08094F94 -_08094EA6: - strb r0, [r4, #0xc] - ldr r0, _08094ED0 @ =0xFF600000 - str r0, [r4, #0x34] - str r1, [r4, #0x20] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080002B8 - cmp r0, #0xd - bne _08094F94 - movs r0, #3 - strb r0, [r4, #0xc] - b _08094F94 - .align 2, 0 -_08094ED0: .4byte 0xFF600000 -_08094ED4: - ldr r1, [r4, #0x34] - ldr r0, [r4, #0x20] - subs r1, r1, r0 - str r1, [r4, #0x34] - ldr r2, _08094F04 @ =0xFFFFE000 - adds r0, r0, r2 - str r0, [r4, #0x20] - cmp r1, #0 - ble _08094F94 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r1, #0 - strb r0, [r4, #0xc] - str r1, [r4, #0x34] - str r1, [r4, #0x20] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - movs r0, #0xbf - lsls r0, r0, #1 - bl sub_08004488 - b _08094F94 - .align 2, 0 -_08094F04: .4byte 0xFFFFE000 -_08094F08: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08094F94 - bl sub_0805E780 - b _08094F94 -_08094F22: - ldr r0, [r4, #0x34] - ldr r1, [r4, #0x20] - subs r0, r0, r1 - str r0, [r4, #0x34] - ldr r0, _08094F40 @ =0xFFFFE000 - adds r1, r1, r0 - str r1, [r4, #0x20] - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - bne _08094F94 - bl sub_0805E780 - b _08094F94 - .align 2, 0 -_08094F40: .4byte 0xFFFFE000 -_08094F44: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08094F94 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #1 - beq _08094F68 - cmp r0, #1 - bgt _08094F5E - cmp r0, #0 - beq _08094F7A - b _08094F94 -_08094F5E: - cmp r0, #2 - beq _08094F72 - cmp r0, #3 - beq _08094F84 - b _08094F94 -_08094F68: - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _08094F94 -_08094F72: - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_08094F7A: - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _08094F94 -_08094F84: - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 -_08094F94: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08094F98 -sub_08094F98: @ 0x08094F98 - push {lr} - movs r0, #0x6a - movs r1, #5 - movs r2, #0 - bl sub_080A2960 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08094FA8 -sub_08094FA8: @ 0x08094FA8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #4 - bhi _08095086 - lsls r0, r0, #2 - ldr r1, _08094FBC @ =_08094FC0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08094FBC: .4byte _08094FC0 -_08094FC0: @ jump table - .4byte _08094FD4 @ case 0 - .4byte _08094FF0 @ case 1 - .4byte _08095024 @ case 2 - .4byte _08095040 @ case 3 - .4byte _08095070 @ case 4 -_08094FD4: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0x1e] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_080787B4 - b _08095086 -_08094FF0: - adds r1, r4, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _08095086 - movs r0, #0 - strb r0, [r1] - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_080788E0 - ldr r0, _08095020 @ =gUnk_03003F80 - movs r1, #0xc - strb r1, [r0, #0xc] - adds r0, #0x38 - movs r1, #0x36 - strb r1, [r0] - movs r0, #2 - bl sub_08078A90 - b _08095086 - .align 2, 0 -_08095020: .4byte gUnk_03003F80 -_08095024: - movs r0, #0x36 - bl sub_0807CA84 - cmp r0, #2 - bne _08095086 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - b _08095086 -_08095040: - ldr r0, _0809506C @ =gUnk_03001160 - ldrb r0, [r0, #0xc] - cmp r0, #0xc - beq _08095086 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x5b - bl sub_0807CC30 - cmp r0, #0 - bne _08095086 - movs r0, #0x1c - movs r1, #0 - movs r2, #0 - bl sub_080A7C00 - movs r0, #0x5b - bl sub_0807CD04 - movs r0, #0x3c - strb r0, [r4, #0xe] - b _08095086 - .align 2, 0 -_0809506C: .4byte gUnk_03001160 -_08095070: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08095086 - movs r0, #5 - strb r0, [r4, #0xc] - movs r0, #1 - bl sub_08078A90 -_08095086: - pop {r4, pc} - - thumb_func_start sub_08095088 -sub_08095088: @ 0x08095088 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #1 - beq _080950C8 - cmp r0, #1 - bgt _0809509C - cmp r0, #0 - beq _080950A2 - b _0809510A -_0809509C: - cmp r0, #2 - beq _080950F0 - b _0809510A -_080950A2: - movs r0, #0x5b - bl sub_0807CA84 - cmp r0, #0 - beq _080950B0 - bl sub_0805E780 -_080950B0: - movs r0, #1 - strb r0, [r5, #0xc] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - bl sub_080787B4 - b _0809510A -_080950C8: - adds r1, r5, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0809510A - movs r0, #0 - strb r0, [r1] - movs r0, #2 - strb r0, [r5, #0xc] - adds r0, r5, #0 - bl sub_080788E0 - ldr r0, _080950EC @ =0x00001F1F - movs r1, #0 - bl sub_08078AA8 - b _0809510A - .align 2, 0 -_080950EC: .4byte 0x00001F1F -_080950F0: - ldr r0, _0809511C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0809510A - movs r0, #0x5b - movs r1, #0 - movs r2, #0 - bl sub_080A7C00 - bl sub_0805E780 -_0809510A: - ldrb r4, [r5, #0xa] - movs r0, #0x5b - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, pc} - .align 2, 0 -_0809511C: .4byte gUnk_02000050 - - thumb_func_start sub_08095120 -sub_08095120: @ 0x08095120 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809514C - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - adds r0, r4, #0 - adds r1, r4, #0 - bl sub_0806FAD8 - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC -_0809514C: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08095164 -sub_08095164: @ 0x08095164 - push {lr} - sub sp, #4 - movs r0, #0 - str r0, [sp] - movs r0, #6 - movs r1, #0x6a - movs r2, #6 - movs r3, #8 - bl sub_0805EB2C - cmp r0, #0 - beq _08095182 - movs r1, #3 - bl sub_080042AC -_08095182: - add sp, #4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08095188 -sub_08095188: @ 0x08095188 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080951B4 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - adds r0, r4, #0 - adds r1, r4, #0 - bl sub_0806FAD8 - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_080951B4: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - pop {r4, pc} - - thumb_func_start sub_080951C4 -sub_080951C4: @ 0x080951C4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080951E8 - adds r0, #1 - strb r0, [r4, #0xc] - movs r1, #0 - ldr r0, _08095240 @ =0x0000FFF0 - strh r0, [r4, #0x36] - strb r1, [r4, #0xe] - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 -_080951E8: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08095218 - str r0, [r4, #0x34] - str r0, [r4, #0x50] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08095218 - adds r0, #1 - strb r0, [r4, #0xe] - movs r0, #0xe6 - bl sub_080A3268 -_08095218: - ldr r3, [r4, #0x50] - cmp r3, #0 - beq _0809523C - ldrb r1, [r3, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrh r0, [r3, #0x2e] - adds r0, #0x10 - strh r0, [r4, #0x2e] - ldrh r0, [r3, #0x32] - subs r0, #0x10 - strh r0, [r4, #0x32] -_0809523C: - pop {r4, pc} - .align 2, 0 -_08095240: .4byte 0x0000FFF0 - - thumb_func_start sub_08095244 -sub_08095244: @ 0x08095244 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _0809527C - movs r0, #0x6a - movs r1, #0xa - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809527C - str r5, [r4, #0x50] - movs r2, #0x80 - lsls r2, r2, #0xd - ldr r3, _08095280 @ =0xFFF00000 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 - ldr r1, _08095284 @ =gUnk_0801183C - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_0809527C: - pop {r4, r5, pc} - .align 2, 0 -_08095280: .4byte 0xFFF00000 -_08095284: .4byte gUnk_0801183C - - thumb_func_start sub_08095288 -sub_08095288: @ 0x08095288 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r1, r0, #0 - cmp r1, #0 - bne _080952AA - adds r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_080952AA: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _080952F0 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #1 - bhi _080952D4 - movs r0, #0 - strb r0, [r4, #0xd] - movs r2, #0x80 - lsls r2, r2, #1 - movs r3, #0xc0 - lsls r3, r3, #8 - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805EC9C - b _080952F0 -_080952D4: - movs r2, #0x80 - lsls r2, r2, #1 - ldrb r3, [r4, #0xe] - lsls r3, r3, #8 - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805EC9C - ldrb r0, [r4, #0xe] - adds r0, #0xa - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0806F69C -_080952F0: - ldr r3, [r4, #0x54] - cmp r3, #0 - beq _080952FE - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_080952FE: - adds r0, r4, #0 - bl sub_080042B8 - ldr r3, [r4, #0x50] - cmp r3, #0 - beq _08095328 - ldrb r1, [r3, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r0, [r3, #4] - cmp r0, #0 - bne _0809532C - bl sub_0805E780 - b _0809532C -_08095328: - bl sub_0805E780 -_0809532C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08095330 -sub_08095330: @ 0x08095330 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x6a - movs r1, #0xb - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809535E - str r4, [r5, #0x54] - str r5, [r4, #0x54] - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r0, _08095360 @ =0x0000FFF0 - strh r0, [r4, #0x36] - adds r0, r4, #0 - adds r1, r4, #0 - bl sub_0806FAB0 -_0809535E: - pop {r4, r5, pc} - .align 2, 0 -_08095360: .4byte 0x0000FFF0 - - thumb_func_start sub_08095364 -sub_08095364: @ 0x08095364 - push {r4, r5, r6, lr} - ldr r6, [r0, #0x54] - cmp r6, #0 - beq _0809539E - movs r5, #0 - movs r0, #2 - strb r0, [r6, #0x1e] - adds r0, r6, #0 - adds r0, #0x38 - movs r4, #1 - strb r4, [r0] - adds r0, r6, #0 - bl sub_08016A04 - str r5, [r6, #0x54] - strb r4, [r6, #0xd] - ldr r0, _080953A0 @ =0x0000FFF0 - strh r0, [r6, #0x36] - movs r0, #7 - strb r0, [r6, #0x15] - movs r0, #0xc0 - lsls r0, r0, #0xa - str r0, [r6, #0x20] - movs r0, #0x80 - strh r0, [r6, #0x24] - adds r0, r6, #0 - movs r1, #1 - bl sub_080042AC -_0809539E: - pop {r4, r5, r6, pc} - .align 2, 0 -_080953A0: .4byte 0x0000FFF0 - - thumb_func_start sub_080953A4 -sub_080953A4: @ 0x080953A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080953E0 - adds r0, #1 - strb r0, [r4, #0xc] - ldr r0, _08095414 @ =0x0000FFF0 - strh r0, [r4, #0x36] - adds r0, r4, #0 - movs r1, #2 - bl sub_0805E3A0 - ldr r1, _08095418 @ =gUnk_08114F30 - ldrb r2, [r4, #0x19] - lsrs r0, r2, #6 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r1, r1, #6 - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - adds r1, r4, #0 - bl sub_0806FAB0 - adds r0, r4, #0 - bl sub_0807DD64 -_080953E0: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xa] - cmp r0, #0xd - bne _08095412 - adds r0, r4, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - ldr r1, _0809541C @ =0x00000139 - cmp r0, #0 - beq _0809540C - movs r1, #0 -_0809540C: - adds r0, r4, #0 - bl sub_0801D2B4 -_08095412: - pop {r4, pc} - .align 2, 0 -_08095414: .4byte 0x0000FFF0 -_08095418: .4byte gUnk_08114F30 -_0809541C: .4byte 0x00000139 - - thumb_func_start sub_08095420 -sub_08095420: @ 0x08095420 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - movs r0, #0x6a - movs r1, #0xc - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08095450 - ldr r3, _08095454 @ =0xFFF00000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - ldr r1, [r6, #4] - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_08095450: - pop {r4, r5, r6, pc} - .align 2, 0 -_08095454: .4byte 0xFFF00000 - - thumb_func_start nullsub_527 -nullsub_527: @ 0x08095458 - bx lr - .align 2, 0 - - thumb_func_start sub_0809545C -sub_0809545C: @ 0x0809545C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - movs r0, #0x6a - movs r1, #0xd - movs r2, #0 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _080954A6 - ldr r3, _080954A8 @ =0xFFF00000 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - ldr r1, [r6, #4] - adds r0, r5, #0 - bl sub_0807DAD0 - adds r1, r5, #0 - adds r1, #0x84 - str r0, [r1] - movs r0, #0x6a - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080954A6 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - str r5, [r4, #0x50] -_080954A6: - pop {r4, r5, r6, pc} - .align 2, 0 -_080954A8: .4byte 0xFFF00000 - - thumb_func_start sub_080954AC -sub_080954AC: @ 0x080954AC - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x6a - movs r1, #0x1a - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080954D6 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r1, _080954D8 @ =gUnk_08015B14 - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_080954D6: - pop {r4, r5, pc} - .align 2, 0 -_080954D8: .4byte gUnk_08015B14 - - thumb_func_start sub_080954DC -sub_080954DC: @ 0x080954DC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08095598 - cmp r0, #1 - bgt _080954F0 - cmp r0, #0 - beq _080954FC - b _0809562C -_080954F0: - cmp r0, #2 - beq _080955B8 - cmp r0, #3 - bne _080954FA - b _08095620 -_080954FA: - b _0809562C -_080954FC: - ldrb r0, [r4, #0xe] - adds r5, r0, #0 - cmp r5, #0 - beq _0809550A - subs r0, #1 - strb r0, [r4, #0xe] - b _0809562C -_0809550A: - movs r0, #1 - movs r2, #1 - strb r0, [r4, #0xc] - strb r5, [r4, #0xd] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - strh r5, [r4, #0x36] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x6a - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x6c - strh r5, [r0] - ldr r1, _08095590 @ =gUnk_08122AE0 - ldrb r0, [r4, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - adds r5, r4, #0 - adds r5, #0x6e - strb r0, [r5] - ldr r1, _08095594 @ =gUnk_08122AE8 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r4, #0 - bl sub_0801D2B4 - adds r0, r4, #0 - bl sub_0807DD64 - ldrb r1, [r4, #0xb] - adds r1, #2 - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_08095754 - bl sub_08000E50 - movs r1, #6 - bl __modsi3 - movs r1, #0xde - lsls r1, r1, #1 - adds r0, r0, r1 - bl sub_080A3268 - adds r1, r5, #0 - b _08095630 - .align 2, 0 -_08095590: .4byte gUnk_08122AE0 -_08095594: .4byte gUnk_08122AE8 -_08095598: - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #0x10 - rsbs r2, r2, #0 - adds r1, r4, #0 - adds r1, #0x6e - cmp r0, r2 - bgt _08095630 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - strh r2, [r4, #0x36] - b _08095630 -_080955B8: - adds r5, r4, #0 - adds r5, #0x6c - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x40 - bls _080955CE - movs r0, #0x40 - strh r0, [r5] -_080955CE: - ldr r3, _0809561C @ =gUnk_080C9160 - movs r2, #0x6e - adds r2, r2, r4 - mov ip, r2 - ldrb r0, [r2] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r3 - movs r2, #0 - ldrsh r1, [r0, r2] - ldrh r0, [r5] - lsls r0, r0, #8 - adds r2, r1, #0 - muls r2, r0, r2 - asrs r2, r2, #0x10 - strh r2, [r4, #0x2e] - mov r1, ip - ldrb r0, [r1] - lsls r0, r0, #1 - adds r0, r0, r3 - movs r3, #0 - ldrsh r1, [r0, r3] - ldrh r0, [r5] - lsls r0, r0, #7 - muls r1, r0, r1 - asrs r1, r1, #0x10 - strh r1, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x68 - ldrh r0, [r0] - adds r2, r2, r0 - strh r2, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x6a - ldrh r0, [r0] - adds r1, r1, r0 - strh r1, [r4, #0x32] - mov r1, ip - b _08095630 - .align 2, 0 -_0809561C: .4byte gUnk_080C9160 -_08095620: - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C -_0809562C: - adds r1, r4, #0 - adds r1, #0x6e -_08095630: - ldrb r0, [r1] - adds r0, #4 - strb r0, [r1] - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0809564A - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - bne _0809564A - bl sub_0805E780 -_0809564A: - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809565E - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _08095664 -_0809565E: - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 -_08095664: - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, r5, pc} - - thumb_func_start sub_0809567C -sub_0809567C: @ 0x0809567C - push {r4, lr} - adds r4, r0, #0 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x68 - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r1, r1, #0x10 - ldr r0, [r4, #0x2c] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x6a - movs r3, #0 - ldrsh r2, [r1, r3] - lsls r2, r2, #0x10 - ldr r1, [r4, #0x30] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080956B4 -sub_080956B4: @ 0x080956B4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _080956E2 - adds r0, #1 - strb r0, [r5, #0xc] - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - adds r4, r5, #0 - adds r4, #0x68 - ldrh r2, [r5, #0x2e] - ldrh r1, [r5, #0x32] - movs r0, #7 -_080956D4: - strh r2, [r4] - adds r4, #2 - strh r1, [r4] - adds r4, #2 - subs r0, #1 - cmp r0, #0 - bge _080956D4 -_080956E2: - adds r0, r5, #0 - bl sub_08004274 - ldrb r0, [r5, #0xb] - ldr r1, _08095724 @ =gUnk_030010A0 - ldr r1, [r1] - adds r0, r0, r1 - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _080956FE - adds r0, r5, #0 - bl sub_080957B4 -_080956FE: - ldr r6, [r5, #0x50] - cmp r6, #0 - beq _08095728 - ldrb r1, [r6, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] - ldr r0, [r6, #4] - cmp r0, #0 - bne _0809572C - bl sub_0805E780 - b _0809572C - .align 2, 0 -_08095724: .4byte gUnk_030010A0 -_08095728: - bl sub_0805E780 -_0809572C: - adds r4, r5, #0 - adds r4, #0x68 - adds r0, r5, #0 - adds r0, #0x6c - adds r1, r4, #0 - movs r2, #0x1c - bl sub_0801D66C - ldrh r0, [r4, #0x14] - strh r0, [r5, #0x2e] - ldrh r0, [r4, #0x16] - strh r0, [r5, #0x32] - ldrh r0, [r6, #0x36] - strh r0, [r5, #0x36] - ldrh r0, [r6, #0x2e] - strh r0, [r4, #0x1c] - ldrh r0, [r6, #0x32] - strh r0, [r4, #0x1e] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08095754 -sub_08095754: @ 0x08095754 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r2, [r5, #0xb] - movs r0, #0x6a - movs r1, #0xf - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809577A - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAD8 -_0809577A: - pop {r4, r5, pc} - - thumb_func_start sub_0809577C -sub_0809577C: @ 0x0809577C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08095796 - adds r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080957B0 @ =0x0000FFF0 - strh r0, [r4, #0x36] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08095796: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080957AE - bl sub_0805E780 -_080957AE: - pop {r4, pc} - .align 2, 0 -_080957B0: .4byte 0x0000FFF0 - - thumb_func_start sub_080957B4 -sub_080957B4: @ 0x080957B4 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x6a - movs r1, #0x10 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080957DA - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAD8 -_080957DA: - pop {r4, r5, pc} - - thumb_func_start sub_080957DC -sub_080957DC: @ 0x080957DC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080957F8 - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC -_080957F8: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08095810 -sub_08095810: @ 0x08095810 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x6a - movs r1, #0x11 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08095844 - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 - ldr r1, _08095848 @ =gUnk_08011940 - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_08095844: - pop {r4, r5, pc} - .align 2, 0 -_08095848: .4byte gUnk_08011940 - - thumb_func_start sub_0809584C -sub_0809584C: @ 0x0809584C - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x45 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _0809586C - ldr r0, _080958D0 @ =gUnk_020342F8 - subs r1, #1 - bl sub_0801D5A8 - cmp r0, #0 - bne _0809586C - bl sub_0805E780 -_0809586C: - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _08095880 - ldrb r0, [r5, #0xb] - bl sub_0801E7F4 - cmp r0, #0 - beq _08095880 - bl sub_0805E780 -_08095880: - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _080958B2 - adds r0, #1 - strb r0, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r5, #0 - bl sub_08016A04 - ldr r1, _080958D4 @ =gUnk_08114F30 - ldrb r2, [r5, #0x19] - lsrs r0, r2, #6 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r1, r1, #6 - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x19] - adds r0, r5, #0 - bl sub_0807DD64 -_080958B2: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r5, #0 - bl sub_0807DDE4 - ldrb r4, [r5, #0xa] - movs r0, #0x5c - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, pc} - .align 2, 0 -_080958D0: .4byte gUnk_020342F8 -_080958D4: .4byte gUnk_08114F30 - - thumb_func_start sub_080958D8 -sub_080958D8: @ 0x080958D8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080958EC - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0807DD64 -_080958EC: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08095914 - adds r0, r4, #0 - bl sub_08095954 -_08095914: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08095918 -sub_08095918: @ 0x08095918 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809593C - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0809593C: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08095954 -sub_08095954: @ 0x08095954 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x6a - movs r1, #0x14 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080959B8 - str r5, [r4, #0x50] - ldrb r0, [r5, #0x14] - ldr r1, _080959AC @ =gUnk_08122AF8 - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 - ldr r0, _080959B0 @ =0x0000FFFD - strh r0, [r4, #0x36] - ldr r1, _080959B4 @ =gUnk_08012C48 - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_08004488 - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - b _080959C4 - .align 2, 0 -_080959AC: .4byte gUnk_08122AF8 -_080959B0: .4byte 0x0000FFFD -_080959B4: .4byte gUnk_08012C48 -_080959B8: - ldr r0, _080959C8 @ =gUnk_02033280 - ldr r1, [r0] - movs r2, #0x80 - lsls r2, r2, #1 - orrs r1, r2 - str r1, [r0] -_080959C4: - pop {r4, r5, pc} - .align 2, 0 -_080959C8: .4byte gUnk_02033280 - - thumb_func_start sub_080959CC -sub_080959CC: @ 0x080959CC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080959F2 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #3 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD64 -_080959F2: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r1, r0 - adds r0, r4, #0 - bl sub_08095D30 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08095A1C -sub_08095A1C: @ 0x08095A1C - push {r4, r5, lr} - adds r5, r1, #0 - movs r0, #0x6a - movs r1, #0x16 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08095A5E - ldr r1, _08095A60 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0xe8 - strh r0, [r4, #0x2e] - movs r2, #0x9c - lsls r2, r2, #1 - adds r0, r2, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldr r0, _08095A64 @ =0x0000FFFC - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldr r1, [r5, #4] - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_08095A5E: - pop {r4, r5, pc} - .align 2, 0 -_08095A60: .4byte gUnk_03000BF0 -_08095A64: .4byte 0x0000FFFC - - thumb_func_start sub_08095A68 -sub_08095A68: @ 0x08095A68 - push {lr} - sub sp, #4 - movs r0, #0 - str r0, [sp] - movs r0, #6 - movs r1, #0x6a - movs r2, #6 - movs r3, #0x16 - bl sub_0805EB2C - adds r1, r0, #0 - cmp r1, #0 - beq _08095A86 - movs r0, #0xff - strb r0, [r1, #0xc] -_08095A86: - add sp, #4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08095A8C -sub_08095A8C: @ 0x08095A8C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #5 - bhi _08095B44 - lsls r0, r0, #2 - ldr r1, _08095AA0 @ =_08095AA4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08095AA0: .4byte _08095AA4 -_08095AA4: @ jump table - .4byte _08095ABC @ case 0 - .4byte _08095ACC @ case 1 - .4byte _08095ADC @ case 2 - .4byte _08095AE6 @ case 3 - .4byte _08095B12 @ case 4 - .4byte _08095B1C @ case 5 -_08095ABC: - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r1, #0 - strb r0, [r4, #0xc] - strb r1, [r4, #0x1e] - adds r0, r4, #0 - bl sub_0807DD64 -_08095ACC: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - b _08095B44 -_08095ADC: - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] -_08095AE6: - ldrb r1, [r4, #0x18] - lsls r0, r1, #0x1e - lsrs r0, r0, #0x1e - movs r5, #1 - eors r0, r5 - movs r3, #4 - rsbs r3, r3, #0 - adds r2, r3, #0 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, #0x18] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08095B44 - movs r0, #1 - strb r5, [r4, #0xc] - ands r2, r3 - orrs r2, r0 - b _08095B42 -_08095B12: - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] -_08095B1C: - ldrb r1, [r4, #0x18] - lsls r0, r1, #0x1e - lsrs r0, r0, #0x1e - movs r5, #1 - eors r0, r5 - movs r3, #4 - rsbs r3, r3, #0 - adds r2, r3, #0 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, #0x18] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08095B44 - strb r5, [r4, #0xc] - ands r2, r3 -_08095B42: - strb r2, [r4, #0x18] -_08095B44: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08095B48 -sub_08095B48: @ 0x08095B48 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _08095B78 - adds r0, #1 - strb r0, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r5, #0 - bl sub_08016A04 - ldr r1, _08095BA8 @ =gUnk_08114F30 - ldrb r2, [r5, #0x19] - lsrs r0, r2, #6 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r1, r1, #6 - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x19] -_08095B78: - ldrb r0, [r5, #0x18] - movs r4, #4 - rsbs r4, r4, #0 - adds r1, r4, #0 - ands r1, r0 - strb r1, [r5, #0x18] - ldr r2, [r5, #0x50] - cmp r2, #0 - beq _08095BCE - adds r0, r2, #0 - adds r0, #0x5a - ldrb r3, [r0] - movs r0, #0x40 - ands r0, r3 - cmp r0, #0 - bne _08095BAC - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _08095BCE - bl sub_0805E780 - b _08095BDC - .align 2, 0 -_08095BA8: .4byte gUnk_08114F30 -_08095BAC: - adds r0, r1, #0 - ands r0, r4 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - ldrh r0, [r2, #0x12] - ldrb r1, [r2, #0x1e] - bl sub_080700C8 - ldrb r1, [r0] - adds r2, r5, #0 - adds r2, #0x62 - strb r1, [r2] - ldrb r0, [r0, #1] - adds r1, r5, #0 - adds r1, #0x63 - strb r0, [r1] -_08095BCE: - ldrb r4, [r5, #0xa] - ldrb r0, [r5, #0xb] - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] -_08095BDC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08095BE0 -sub_08095BE0: @ 0x08095BE0 - push {r4, lr} - adds r4, r0, #0 - adds r2, r1, #0 - movs r0, #0x6a - movs r1, #0x18 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08095BFC - str r4, [r1, #0x50] - adds r0, r4, #0 - bl sub_0806FA24 -_08095BFC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08095C00 -sub_08095C00: @ 0x08095C00 - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0xc] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08095C14 - bl sub_0805E780 - b _08095C46 -_08095C14: - ldr r3, [r2, #0x50] - cmp r3, #0 - beq _08095C46 - adds r1, r2, #0 - adds r1, #0x60 - movs r0, #0xe8 - strh r0, [r1] - ldrb r0, [r3, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _08095C38 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - b _08095C46 -_08095C38: - ldrb r0, [r2, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r2, #0x18] -_08095C46: - pop {pc} - - thumb_func_start sub_08095C48 -sub_08095C48: @ 0x08095C48 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x6a - movs r1, #0x19 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08095C66 - str r1, [r4, #0x54] - str r4, [r1, #0x50] - adds r0, r4, #0 - bl sub_0806FA24 -_08095C66: - pop {r4, pc} - - thumb_func_start sub_08095C68 -sub_08095C68: @ 0x08095C68 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08095C80 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x1e] - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 -_08095C80: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _08095CAA - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bhi _08095CA4 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_08095CA4: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08095CAE -_08095CAA: - bl sub_0805E780 -_08095CAE: - pop {r4, pc} - - thumb_func_start sub_08095CB0 -sub_08095CB0: @ 0x08095CB0 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x6a - movs r1, #0x1b - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08095CDC - str r4, [r5, #0x54] - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - movs r0, #0x10 - strb r0, [r4, #0xe] - ldrb r0, [r5, #0x1e] - strb r0, [r4, #0x1e] - ldrb r0, [r5, #0x1e] - strb r0, [r4, #0x1f] -_08095CDC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08095CE0 -sub_08095CE0: @ 0x08095CE0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08095D06 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r4, #0 - bl sub_0807DD64 -_08095D06: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r1, r0 - adds r0, r4, #0 - bl sub_08095D30 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08095D30 -sub_08095D30: @ 0x08095D30 - push {lr} - adds r2, r0, #0 - adds r0, r1, #0 - cmp r0, #0 - beq _08095D4E - ldr r1, _08095D50 @ =gUnk_08122B00 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - movs r0, #0x81 - rsbs r0, r0, #0 - ands r1, r0 - adds r0, r2, #0 - bl sub_0801D2B4 -_08095D4E: - pop {pc} - .align 2, 0 -_08095D50: .4byte gUnk_08122B00 - - thumb_func_start sub_08095D54 -sub_08095D54: @ 0x08095D54 - push {r4, r5, lr} - adds r5, r1, #0 - movs r0, #0x6a - movs r1, #0x1c - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08095D86 - ldr r0, _08095D88 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA24 - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldr r1, [r5, #4] - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_08095D86: - pop {r4, r5, pc} - .align 2, 0 -_08095D88: .4byte gUnk_03001160 - - thumb_func_start sub_08095D8C -sub_08095D8C: @ 0x08095D8C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - movs r0, #0x6a - movs r1, #0x1d - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08095DB8 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r1, [r6, #4] - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_08095DB8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08095DBC -sub_08095DBC: @ 0x08095DBC - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _08095DF0 @ =gUnk_02033280 - ldr r0, [r5] - movs r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08095DD0 - bl sub_0805E780 -_08095DD0: - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _08095DF4 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08095DE6 - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0807DD64 -_08095DE6: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - b _08095E74 - .align 2, 0 -_08095DF0: .4byte gUnk_02033280 -_08095DF4: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08095E30 - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0x4b - bl sub_08004260 - ldr r1, _08095E78 @ =gUnk_08114F30 - ldrb r2, [r4, #0x19] - lsrs r0, r2, #6 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r1, r1, #6 - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - adds r1, r4, #0 - bl sub_0806FAB0 -_08095E30: - ldrb r2, [r4, #0xb] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _08095E56 - ldr r0, [r5] - movs r1, #0x80 - lsls r1, r1, #0xa - ands r0, r1 - cmp r0, #0 - beq _08095E56 - movs r0, #0xff - strb r0, [r4, #0xb] - movs r0, #0x80 - lsls r0, r0, #0xb - str r0, [r4, #0x20] - movs r0, #0xc0 - lsls r0, r0, #8 - strh r0, [r4, #0x24] -_08095E56: - movs r0, #0x24 - ldrsh r1, [r4, r0] - adds r0, r4, #0 - bl sub_08003FC4 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - bne _08095E74 - bl sub_0805E780 -_08095E74: - pop {r4, r5, pc} - .align 2, 0 -_08095E78: .4byte gUnk_08114F30 - - thumb_func_start sub_08095E7C -sub_08095E7C: @ 0x08095E7C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - movs r0, #0x6a - movs r1, #0x1e - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08095EA8 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r1, [r6, #4] - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_08095EA8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08095EAC -sub_08095EAC: @ 0x08095EAC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov sb, r0 - adds r4, r1, #0 - movs r0, #0x6a - movs r1, #0x1e - movs r2, #1 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _08095F2A - ldr r0, [r4, #4] - cmp r0, #0 - bne _08095EE0 - movs r7, #0x10 - movs r6, #0x1f - movs r0, #0x80 - lsls r0, r0, #7 - mov sl, r0 - movs r2, #0 - mov r8, r2 - b _08095F02 -_08095EE0: - movs r7, #8 - movs r6, #0xf - movs r0, #0x80 - lsls r0, r0, #0xb - mov sl, r0 - ldr r4, _08095F34 @ =gUnk_08122B0E - bl sub_08000E50 - movs r1, #7 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r4 - movs r0, #0 - ldrsh r2, [r1, r0] - mov r8, r2 - movs r0, #0xff - strb r0, [r5, #0xb] -_08095F02: - bl sub_08000E50 - adds r4, r0, #0 - ands r4, r6 - subs r4, r7, r4 - bl sub_08000E50 - ands r6, r0 - subs r3, r7, r6 - lsls r4, r4, #0x10 - lsls r3, r3, #0x10 - mov r0, sb - adds r1, r5, #0 - adds r2, r4, #0 - bl sub_0806FA48 - mov r2, sl - str r2, [r5, #0x20] - mov r0, r8 - strh r0, [r5, #0x24] -_08095F2A: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08095F34: .4byte gUnk_08122B0E - - thumb_func_start sub_08095F38 -sub_08095F38: @ 0x08095F38 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08095FC2 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xff - strb r0, [r4, #0x1e] - ldrb r0, [r4, #0xb] - cmp r0, #4 - beq _08095F64 - cmp r0, #4 - bgt _08095F5A - cmp r0, #3 - beq _08095F60 - b _08095F6A -_08095F5A: - cmp r0, #6 - beq _08095F68 - b _08095F6A -_08095F60: - movs r1, #0 - b _08095F6A -_08095F64: - movs r1, #1 - b _08095F6A -_08095F68: - movs r1, #4 -_08095F6A: - adds r0, r4, #0 - bl sub_0801D2B4 - ldr r0, _08095F90 @ =gUnk_03001160 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08095F98 - adds r1, r4, #0 - adds r1, #0x84 - ldr r0, _08095F94 @ =0x000008BF - str r0, [r1] - movs r0, #0x34 - strb r0, [r4, #0xe] - movs r0, #0xb5 - b _08095FA6 - .align 2, 0 -_08095F90: .4byte gUnk_03001160 -_08095F94: .4byte 0x000008BF -_08095F98: - adds r1, r4, #0 - adds r1, #0x84 - ldr r0, _08096020 @ =0x000008E3 - str r0, [r1] - movs r0, #0x55 - strb r0, [r4, #0xe] - movs r0, #0xd6 -_08095FA6: - strb r0, [r4, #0xf] - ldr r0, _08096024 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA24 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_08095FC2: - ldr r5, _08096024 @ =gUnk_03001160 - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08095FE0 - movs r0, #0xef - ands r0, r1 - strb r0, [r2] - movs r0, #0xea - lsls r0, r0, #1 - bl sub_080A3268 -_08095FE0: - ldrh r0, [r5, #0x12] - adds r1, r4, #0 - adds r1, #0x84 - ldr r2, [r1] - lsrs r1, r2, #8 - cmp r0, r1 - bne _08095FFC - adds r0, r5, #0 - adds r0, #0x58 - ldrb r1, [r0] - lsls r0, r2, #0x18 - lsrs r0, r0, #0x18 - cmp r1, r0 - beq _08096000 -_08095FFC: - bl sub_0805E780 -_08096000: - ldr r0, _08096024 @ =gUnk_03001160 - ldrb r0, [r0, #0x1e] - ldrb r1, [r4, #0xe] - subs r0, r0, r1 - ldrb r1, [r4, #0xf] - adds r0, r0, r1 - ldrb r1, [r4, #0x1e] - cmp r0, r1 - beq _0809601E - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x1e] - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 -_0809601E: - pop {r4, r5, pc} - .align 2, 0 -_08096020: .4byte 0x000008E3 -_08096024: .4byte gUnk_03001160 - - thumb_func_start sub_08096028 -sub_08096028: @ 0x08096028 - push {r4, r5, lr} - movs r4, #6 - movs r5, #0xc0 - lsls r5, r5, #2 - adds r0, r5, #0 - movs r1, #0x7b - bl sub_0807CB10 - cmp r0, #0 - bne _0809603E - movs r4, #4 -_0809603E: - adds r0, r5, #0 - movs r1, #0x7a - bl sub_0807CB10 - cmp r0, #0 - bne _0809604C - movs r4, #3 -_0809604C: - movs r0, #0x6a - movs r1, #0x1f - adds r2, r4, #0 - bl sub_080A2960 - pop {r4, r5, pc} - - thumb_func_start sub_08096058 -sub_08096058: @ 0x08096058 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809606C - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0807DD64 -_0809606C: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08096084 -sub_08096084: @ 0x08096084 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080960A0 - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0807DD64 - ldrb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_08004260 -_080960A0: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_08004274 - ldr r0, [r4, #0x50] - cmp r0, #0 - beq _080960C0 - adds r1, r4, #0 - bl sub_0806FA24 -_080960C0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080960C4 -sub_080960C4: @ 0x080960C4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - movs r0, #0x6a - movs r1, #0x23 - movs r2, #0x49 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08096110 - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r1, _08096160 @ =gUnk_08114F34 - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r1, r1, #6 - ldrb r2, [r4, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAD8 - ldr r1, [r6, #4] - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_08096110: - movs r0, #0x6a - movs r1, #0x24 - movs r2, #0x4a - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809615E - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r1, _08096164 @ =gUnk_08114F30 - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - adds r0, r0, r1 - ldrb r1, [r0] - lsls r1, r1, #6 - ldrb r2, [r4, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldr r1, [r6, #4] - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_0809615E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08096160: .4byte gUnk_08114F34 -_08096164: .4byte gUnk_08114F30 - - thumb_func_start sub_08096168 -sub_08096168: @ 0x08096168 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809618C - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0x4b - bl sub_08004260 -_0809618C: - adds r0, r4, #0 - bl sub_08004274 - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - bne _080961AC - bl sub_0805E780 -_080961AC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080961B0 -sub_080961B0: @ 0x080961B0 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - movs r5, #0 - ldr r6, _080961F0 @ =gUnk_08122B1E -_080961B8: - movs r0, #0x6a - movs r1, #0x25 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080961E6 - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_0806FA24 - lsls r0, r5, #5 - strb r0, [r4, #0x15] - bl sub_08000E50 - movs r2, #0xf8 - lsls r2, r2, #1 - adds r1, r2, #0 - ands r0, r1 - ldrh r1, [r6] - adds r0, r0, r1 - strh r0, [r4, #0x24] -_080961E6: - adds r6, #2 - adds r5, #1 - cmp r5, #7 - ble _080961B8 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080961F0: .4byte gUnk_08122B1E - - thumb_func_start sub_080961F4 -sub_080961F4: @ 0x080961F4 - ldrb r2, [r0, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - movs r1, #0 - strb r1, [r0, #0x1e] - bx lr - - thumb_func_start sub_08096208 -sub_08096208: @ 0x08096208 - push {r4, r5, lr} - adds r5, r0, #0 - lsls r1, r1, #1 - ldr r0, _08096238 @ =gUnk_08122B2E - adds r4, r1, r0 - movs r0, #0x6a - movs r1, #0x26 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _08096234 - movs r2, #0 - ldrsb r2, [r4, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r4, r3] - lsls r3, r3, #0x10 - adds r0, r5, #0 - bl sub_0806FA48 -_08096234: - pop {r4, r5, pc} - .align 2, 0 -_08096238: .4byte gUnk_08122B2E - - thumb_func_start sub_0809623C -sub_0809623C: @ 0x0809623C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x6a - movs r1, #0x27 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0809625A - ldr r3, _0809625C @ =0xFFF00000 - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 -_0809625A: - pop {r4, pc} - .align 2, 0 -_0809625C: .4byte 0xFFF00000 - - thumb_func_start sub_08096260 -sub_08096260: @ 0x08096260 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x6a - movs r1, #0x28 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0809627E - ldr r3, _08096280 @ =0xFFF00000 - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 -_0809627E: - pop {r4, pc} - .align 2, 0 -_08096280: .4byte 0xFFF00000 - - thumb_func_start sub_08096284 -sub_08096284: @ 0x08096284 - push {lr} - movs r1, #0xd - bl sub_0809629C - pop {pc} - .align 2, 0 - - thumb_func_start sub_08096290 -sub_08096290: @ 0x08096290 - push {lr} - movs r1, #0xe - bl sub_0809629C - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809629C -sub_0809629C: @ 0x0809629C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _080962B2 - movs r0, #1 - strb r0, [r5, #0xc] - adds r0, r5, #0 - bl sub_0807DD64 -_080962B2: - adds r0, r5, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r5, #0 - bl sub_0807DDE4 - movs r1, #0x80 - lsls r1, r1, #5 - adds r0, r5, #0 - bl sub_08003FC4 - ldrb r4, [r5, #0xa] - strb r6, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, r6, pc} - - thumb_func_start sub_080962D8 -sub_080962D8: @ 0x080962D8 - push {lr} - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #6 - bl sub_08050054 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080962E8 -sub_080962E8: @ 0x080962E8 - push {lr} - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #7 - bl sub_08050054 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080962F8 -sub_080962F8: @ 0x080962F8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, [r1, #4] - lsls r4, r4, #4 - ldr r0, _08096318 @ =gUnk_08122B3C - adds r4, r4, r0 - ldrb r2, [r4, #0xc] - adds r3, r4, #0 - adds r3, #8 - adds r0, r5, #0 - movs r1, #1 - bl sub_08078850 - str r4, [r5, #0x48] - pop {r4, r5, pc} - .align 2, 0 -_08096318: .4byte gUnk_08122B3C - - thumb_func_start sub_0809631C -sub_0809631C: @ 0x0809631C - push {lr} - ldr r2, _08096330 @ =gUnk_08123168 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08096330: .4byte gUnk_08123168 - - thumb_func_start sub_08096334 -sub_08096334: @ 0x08096334 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - movs r4, #0 - movs r6, #0x80 - strh r6, [r5, #0x24] - ldr r0, _08096358 @ =gUnk_080FD2A8 - str r0, [r5, #0x48] - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _0809634E - b _08096494 -_0809634E: - cmp r0, #1 - bgt _0809635C - cmp r0, #0 - beq _08096368 - b _0809650A - .align 2, 0 -_08096358: .4byte gUnk_080FD2A8 -_0809635C: - cmp r0, #2 - bne _08096362 - b _080964A6 -_08096362: - cmp r0, #3 - beq _080963FC - b _0809650A -_08096368: - movs r0, #0x1a - bl sub_0807CC30 - cmp r0, #0 - beq _080963DA - movs r0, #0x1b - bl sub_0807CC30 - cmp r0, #0 - bne _080963A4 - ldr r0, _0809639C @ =gUnk_03001160 - movs r3, #0x80 - lsls r3, r3, #9 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - ldr r0, _080963A0 @ =0x00004022 - adds r1, r5, #0 - adds r1, #0x38 - ldrb r2, [r1] - movs r1, #0xdc - bl sub_0800015E - b _0809650A - .align 2, 0 -_0809639C: .4byte gUnk_03001160 -_080963A0: .4byte 0x00004022 -_080963A4: - ldrb r0, [r5, #0xb] - bl sub_0807CBD0 - cmp r0, #0 - bne _080963C8 - adds r0, r5, #0 - movs r1, #0xa - bl sub_08004260 - ldrh r0, [r5, #0x32] - adds r0, #4 - strh r0, [r5, #0x32] - movs r0, #4 - strb r0, [r5, #0xc] - ldr r0, _080963C4 @ =0x0000403B - b _080964C4 - .align 2, 0 -_080963C4: .4byte 0x0000403B -_080963C8: - strb r4, [r5, #0xb] - movs r0, #2 - strb r0, [r5, #0xf] - adds r0, r5, #0 - bl sub_080969A4 - bl sub_0805E780 - b _0809650A -_080963DA: - ldr r1, _080963F8 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0xd0 - strh r0, [r5, #0x2e] - ldrh r0, [r1, #8] - adds r0, #0x44 - strh r0, [r5, #0x32] - movs r0, #4 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0xa] - adds r1, #3 - adds r0, r5, #0 - bl sub_08004260 - b _0809651A - .align 2, 0 -_080963F8: .4byte gUnk_03000BF0 -_080963FC: - movs r0, #0x1a - bl sub_0807CC30 - cmp r0, #0 - beq _08096450 - movs r0, #0x1b - bl sub_0807CC30 - cmp r0, #0 - bne _0809644C - ldr r0, _08096444 @ =gUnk_03001160 - adds r1, r0, #0 - adds r1, #0x29 - ldrb r2, [r1] - lsls r2, r2, #0x1d - lsrs r2, r2, #0x1d - subs r2, #1 - adds r4, r5, #0 - adds r4, #0x29 - movs r1, #7 - ands r2, r1 - ldrb r3, [r4] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r3 - orrs r1, r2 - strb r1, [r4] - adds r1, r0, #0 - adds r1, #0x79 - strb r6, [r1] - ldr r3, _08096448 @ =0xFFE80000 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - b _08096450 - .align 2, 0 -_08096444: .4byte gUnk_03001160 -_08096448: .4byte 0xFFE80000 -_0809644C: - bl sub_0805E780 -_08096450: - adds r0, r5, #0 - movs r1, #0x6b - movs r2, #1 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - str r1, [r5, #0x54] - cmp r1, #0 - beq _0809646E - ldr r2, _0809648C @ =0xFFE40000 - ldr r3, _08096490 @ =0xFFD80000 - adds r0, r5, #0 - bl sub_0806FA48 -_0809646E: - movs r0, #0x10 - strb r0, [r5, #0x16] - ldrb r0, [r5, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r5, #0x19] - adds r0, r5, #0 - movs r1, #0xc - bl sub_08004260 - adds r0, r5, #0 - bl sub_0809651C - b _0809651A - .align 2, 0 -_0809648C: .4byte 0xFFE40000 -_08096490: .4byte 0xFFD80000 -_08096494: - ldrb r0, [r5, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r5, #0x19] - adds r0, r5, #0 - movs r1, #6 - bl sub_0805E3A0 - b _0809650A -_080964A6: - ldrb r0, [r5, #0xb] - bl sub_0807CBD0 - cmp r0, #0 - bne _080964F8 - adds r0, r5, #0 - movs r1, #0xb - bl sub_08004260 - ldrh r0, [r5, #0x32] - adds r0, #4 - strh r0, [r5, #0x32] - movs r0, #4 - strb r0, [r5, #0xc] - ldr r0, _080964F0 @ =0x00004032 -_080964C4: - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080964F4 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - b _0809651A - .align 2, 0 -_080964F0: .4byte 0x00004032 -_080964F4: .4byte gUnk_03000BF0 -_080964F8: - strb r4, [r5, #0xb] - movs r0, #3 - strb r0, [r5, #0xf] - adds r0, r5, #0 - bl sub_080969A4 - bl sub_0805E780 - b _0809651A -_0809650A: - ldrb r1, [r5, #0xa] - adds r1, #3 - adds r0, r5, #0 - bl sub_08004260 - adds r0, r5, #0 - bl sub_0809651C -_0809651A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0809651C -sub_0809651C: @ 0x0809651C - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - ldrb r3, [r6, #0xa] - movs r0, #1 - ands r0, r3 - cmp r0, #0 - beq _080965D6 - cmp r3, #3 - bne _0809653C - adds r0, r6, #0 - bl sub_08078930 - adds r0, r6, #0 - bl sub_0800445C - b _080965C8 -_0809653C: - ldr r0, [r6, #0x50] - ldr r2, _0809655C @ =0xFFE40000 - ldr r3, _08096560 @ =0xFFD80000 - adds r1, r6, #0 - bl sub_0806FA48 - ldr r1, [r6, #0x50] - ldrb r0, [r1, #0xc] - cmp r0, #2 - bne _08096586 - ldrb r0, [r1, #0xd] - cmp r0, #1 - beq _08096564 - cmp r0, #2 - beq _08096580 - b _08096570 - .align 2, 0 -_0809655C: .4byte 0xFFE40000 -_08096560: .4byte 0xFFD80000 -_08096564: - ldr r0, _0809657C @ =gUnk_03003F80 - ldrb r1, [r0, #0xd] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08096580 -_08096570: - adds r0, r6, #0 - movs r1, #4 - bl sub_08004260 - b _08096586 - .align 2, 0 -_0809657C: .4byte gUnk_03003F80 -_08096580: - adds r0, r6, #0 - bl sub_08004274 -_08096586: - ldr r0, [r6, #0x50] - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, r6, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldr r4, [r6, #0x50] - ldrb r2, [r4, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r6, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r6, #0x19] - ldrb r0, [r4, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r6, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r6, #0x1b] -_080965C8: - adds r0, r6, #0 - movs r1, #0xcc - movs r2, #0xcc - movs r3, #0 - bl sub_0805EC9C - b _080966F6 -_080965D6: - ldr r1, _080965FC @ =gUnk_03003F80 - ldrb r2, [r1, #0x1a] - movs r0, #0x80 - orrs r0, r2 - strb r0, [r1, #0x1a] - movs r0, #5 - strb r0, [r1, #5] - ldrb r1, [r1, #0xd] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08096600 - lsls r1, r3, #0x18 - lsrs r1, r1, #0x19 - adds r1, #3 - adds r0, r6, #0 - bl sub_08004260 - b _08096606 - .align 2, 0 -_080965FC: .4byte gUnk_03003F80 -_08096600: - adds r0, r6, #0 - bl sub_08004274 -_08096606: - ldr r0, _08096664 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - movs r1, #6 - ands r1, r0 - ldr r4, _08096668 @ =gUnk_08123184 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r2, [r6, #0x2e] - adds r0, r0, r2 - movs r2, #0x10 - rsbs r2, r2, #0 - adds r3, r2, #0 - ands r0, r3 - movs r2, #8 - adds r5, r6, #0 - adds r5, #0x70 - movs r7, #0 - orrs r0, r2 - strh r0, [r5] - adds r1, #1 - adds r1, r1, r4 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r1, [r6, #0x32] - adds r0, r0, r1 - ands r0, r3 - orrs r0, r2 - adds r1, r6, #0 - adds r1, #0x72 - strh r0, [r1] - ldrh r0, [r5] - ldrh r1, [r1] - adds r4, r6, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_080002BC - cmp r0, #0x19 - bne _08096670 - ldr r0, _0809666C @ =gUnk_0200AF00 - adds r0, #0x2f - movs r1, #3 - strb r1, [r0] - b _08096676 - .align 2, 0 -_08096664: .4byte gUnk_03001160 -_08096668: .4byte gUnk_08123184 -_0809666C: .4byte gUnk_0200AF00 -_08096670: - ldr r0, _080966F8 @ =gUnk_0200AF00 - adds r0, #0x2f - strb r7, [r0] -_08096676: - ldr r0, _080966FC @ =gUnk_03001160 - movs r3, #0x80 - lsls r3, r3, #9 - adds r1, r6, #0 - movs r2, #0 - bl sub_0806FA48 - adds r0, r6, #0 - bl sub_080002B8 - cmp r0, #0x19 - bne _0809669C - ldrb r1, [r4] - movs r0, #0xdc - bl sub_0807BA8C - adds r0, r6, #0 - bl sub_08096A78 -_0809669C: - ldr r2, _08096700 @ =gUnk_03003F80 - adds r0, r2, #0 - adds r0, #0x92 - ldrh r1, [r0] - movs r0, #0xc0 - ands r0, r1 - cmp r0, #0 - beq _080966F6 - ldr r0, _080966F8 @ =gUnk_0200AF00 - adds r0, #0x2f - ldrb r0, [r0] - cmp r0, #3 - bne _080966F6 - movs r0, #0 - strb r0, [r2, #5] - movs r0, #5 - strb r0, [r6, #0xc] - adds r0, #0xfb - strh r0, [r6, #0x24] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r6, #0x20] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r6, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r6, #0x18] - ldrb r1, [r4] - movs r0, #0xdc - bl sub_0807BA8C - movs r0, #0x79 - bl sub_080A3268 -_080966F6: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080966F8: .4byte gUnk_0200AF00 -_080966FC: .4byte gUnk_03001160 -_08096700: .4byte gUnk_03003F80 - - thumb_func_start sub_08096704 -sub_08096704: @ 0x08096704 - push {lr} - ldr r2, _08096718 @ =gUnk_0812318C - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08096718: .4byte gUnk_0812318C - - thumb_func_start sub_0809671C -sub_0809671C: @ 0x0809671C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x1a - bl sub_0807CD04 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_121 -nullsub_121: @ 0x08096730 - bx lr - .align 2, 0 - - thumb_func_start sub_08096734 -sub_08096734: @ 0x08096734 - push {lr} - movs r0, #0x1a - bl sub_0807CD80 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08096740 -sub_08096740: @ 0x08096740 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x10 - movs r1, #0 - bl sub_08080964 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08096758 -sub_08096758: @ 0x08096758 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809677C - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0xa - bl sub_08004260 -_0809677C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08096780 -sub_08096780: @ 0x08096780 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r1, _080967D4 @ =gUnk_0812319C - ldrb r0, [r5, #0xa] - lsrs r0, r0, #1 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r4, [r0] - adds r0, r5, #0 - bl sub_080002A0 - cmp r4, r0 - bne _080967DC - adds r0, r5, #0 - bl sub_08004274 - ldr r2, _080967D8 @ =gUnk_03003F80 - ldrb r0, [r2, #0xb] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0xb] - ldrb r0, [r2, #0xa] - orrs r0, r1 - strb r0, [r2, #0xa] - ldrb r0, [r2, #7] - orrs r1, r0 - strb r1, [r2, #7] - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080967E0 - movs r0, #6 - strb r0, [r5, #0xc] - strb r1, [r5, #0xd] - adds r0, r5, #0 - bl sub_080A29BC - b _080967E0 - .align 2, 0 -_080967D4: .4byte gUnk_0812319C -_080967D8: .4byte gUnk_03003F80 -_080967DC: - movs r0, #0xc0 - strb r0, [r5, #0xe] -_080967E0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080967E4 -sub_080967E4: @ 0x080967E4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x70 - ldrh r5, [r0] - movs r0, #0x2e - ldrsh r2, [r4, r0] - cmp r5, r2 - bne _08096802 - adds r0, r4, #0 - adds r0, #0x72 - ldrh r1, [r0] - movs r3, #0x32 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _0809681C -_08096802: - movs r0, #0x32 - ldrsh r1, [r4, r0] - adds r0, r4, #0 - adds r0, #0x72 - ldrh r3, [r0] - adds r0, r2, #0 - adds r2, r5, #0 - bl sub_080045D4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F69C -_0809681C: - movs r1, #0x80 - lsls r1, r1, #7 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08096830 - adds r0, r4, #0 - bl sub_08096A78 -_08096830: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08096834 -sub_08096834: @ 0x08096834 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - beq _08096842 - bl sub_08078B48 -_08096842: - ldr r0, _08096854 @ =gUnk_081231A0 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08096854: .4byte gUnk_081231A0 - - thumb_func_start sub_08096858 -sub_08096858: @ 0x08096858 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xb] - bl sub_0807CCB4 - movs r3, #0 - movs r0, #0xf - strb r0, [r5, #0xe] - ldr r1, _080968BC @ =gUnk_081231AC - ldrb r2, [r5, #0xa] - lsls r2, r2, #0x18 - lsrs r0, r2, #0x19 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0xf] - strb r3, [r5, #0xb] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xd] - adds r0, #1 - strb r0, [r5, #0xd] - cmp r2, #0 - bne _080968C4 - movs r0, #0xe7 - lsls r0, r0, #1 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080968C0 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B7D8 - b _080968F0 - .align 2, 0 -_080968BC: .4byte gUnk_081231AC -_080968C0: .4byte gUnk_03000BF0 -_080968C4: - ldr r0, _080968F8 @ =0x000001CD - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080968FC @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B7D8 -_080968F0: - ldr r0, _08096900 @ =0x000001DB - bl sub_080A3268 - pop {r4, r5, r6, pc} - .align 2, 0 -_080968F8: .4byte 0x000001CD -_080968FC: .4byte gUnk_03000BF0 -_08096900: .4byte 0x000001DB - - thumb_func_start sub_08096904 -sub_08096904: @ 0x08096904 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08096984 - ldrh r0, [r5, #0x32] - subs r0, #0x10 - strh r0, [r5, #0x32] - ldr r1, _08096974 @ =gUnk_081231AE - ldrb r0, [r5, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08096978 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B7D8 - ldrb r0, [r5, #0xb] - adds r0, #1 - strb r0, [r5, #0xb] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - ldrb r1, [r5, #0xf] - cmp r0, r1 - bne _08096980 - ldr r2, _0809697C @ =gUnk_03003F80 - ldrb r1, [r2, #0xb] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0xb] - ldrb r0, [r5, #0xd] - adds r0, #1 - strb r0, [r5, #0xd] - movs r0, #0x3c - b _08096982 - .align 2, 0 -_08096974: .4byte gUnk_081231AE -_08096978: .4byte gUnk_03000BF0 -_0809697C: .4byte gUnk_03003F80 -_08096980: - movs r0, #0xf -_08096982: - strb r0, [r5, #0xe] -_08096984: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08096988 -sub_08096988: @ 0x08096988 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - cmp r0, #0 - beq _080969A2 - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080969A2 - movs r0, #0x72 - bl sub_080A3268 -_080969A2: - pop {pc} - - thumb_func_start sub_080969A4 -sub_080969A4: @ 0x080969A4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _080969E8 - movs r0, #0xe7 - lsls r0, r0, #1 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080969E4 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r4, r5, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0807B7D8 - b _08096A14 - .align 2, 0 -_080969E4: .4byte gUnk_03000BF0 -_080969E8: - ldr r0, _08096A6C @ =0x000001CD - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08096A70 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r4, r5, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0807B7D8 -_08096A14: - ldrb r0, [r5, #0xb] - ldrb r1, [r5, #0xf] - cmp r0, r1 - beq _08096A64 - ldr r2, _08096A74 @ =gUnk_081231B4 - mov r8, r2 - ldr r7, _08096A70 @ =gUnk_03000BF0 - movs r6, #0x3f -_08096A24: - ldrh r0, [r5, #0x32] - subs r0, #0x10 - strh r0, [r5, #0x32] - ldrb r0, [r5, #0xb] - lsls r0, r0, #1 - add r0, r8 - ldrh r0, [r0] - movs r3, #0x2e - ldrsh r1, [r5, r3] - ldrh r2, [r7, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - movs r3, #0x32 - ldrsh r2, [r5, r3] - ldrh r3, [r7, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r4] - bl sub_0807B7D8 - ldrb r0, [r5, #0xb] - adds r0, #1 - strb r0, [r5, #0xb] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - ldrb r1, [r5, #0xf] - cmp r0, r1 - bne _08096A24 -_08096A64: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08096A6C: .4byte 0x000001CD -_08096A70: .4byte gUnk_03000BF0 -_08096A74: .4byte gUnk_081231B4 - - thumb_func_start sub_08096A78 -sub_08096A78: @ 0x08096A78 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0x1b - bl sub_0807CD04 - ldrb r1, [r4, #0xa] - lsrs r1, r1, #1 - adds r1, #8 - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_08004168 - ldrh r0, [r4, #0x32] - adds r0, #4 - strh r0, [r4, #0x32] - movs r0, #3 - strb r0, [r4, #0xc] - ldr r0, _08096ACC @ =0x0000403B - movs r2, #0x2e - ldrsh r1, [r4, r2] - ldr r3, _08096AD0 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r5, #0x3f - ands r1, r5 - movs r6, #0x32 - ldrsh r2, [r4, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r5 - lsls r2, r2, #6 - orrs r1, r2 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_08096ACC: .4byte 0x0000403B -_08096AD0: .4byte gUnk_03000BF0 - - thumb_func_start sub_08096AD4 -sub_08096AD4: @ 0x08096AD4 - push {lr} - ldr r2, _08096AE8 @ =gUnk_0812323C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08096AE8: .4byte gUnk_0812323C - - thumb_func_start sub_08096AEC -sub_08096AEC: @ 0x08096AEC - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_080837B0 - cmp r0, #0 - beq _08096BB6 - ldrb r1, [r4, #0xa] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08096B12 - adds r1, r4, #0 - adds r1, #0x7e - movs r0, #1 - strb r0, [r1] - ldrb r1, [r4, #0xa] - movs r0, #3 - ands r0, r1 - strb r0, [r4, #0xa] -_08096B12: - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x70 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08096B90 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x76 - strh r1, [r5] - ldrh r0, [r5] - adds r6, r4, #0 - adds r6, #0x38 - ldrb r1, [r6] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x74 - strh r0, [r1] - ldrb r0, [r4, #0xa] - strb r0, [r4, #0x1e] - adds r0, r4, #0 - bl sub_08096CEC - cmp r0, #0 - beq _08096B9C - adds r0, r4, #0 - adds r0, #0x7e - ldrb r0, [r0] - cmp r0, #0 - beq _08096B94 - bl sub_0805E780 - b _08096BB6 - .align 2, 0 -_08096B90: .4byte gUnk_03000BF0 -_08096B94: - adds r0, r4, #0 - bl sub_08096E04 - b _08096BB6 -_08096B9C: - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldr r0, _08096BB8 @ =0x00004022 - ldrh r1, [r5] - ldrb r2, [r6] - bl sub_0800015E -_08096BB6: - pop {r4, r5, r6, pc} - .align 2, 0 -_08096BB8: .4byte 0x00004022 - - thumb_func_start sub_08096BBC -sub_08096BBC: @ 0x08096BBC - push {r4, lr} - adds r4, r0, #0 - bl sub_08096CEC - cmp r0, #0 - beq _08096BF2 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #7 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xa] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x76 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldr r0, _08096BF4 @ =0x0000010B - bl sub_08004488 -_08096BF2: - pop {r4, pc} - .align 2, 0 -_08096BF4: .4byte 0x0000010B - - thumb_func_start sub_08096BF8 -sub_08096BF8: @ 0x08096BF8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08096C3A - adds r0, r4, #0 - bl sub_08096E04 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x7e - ldrb r0, [r0] - cmp r0, #0 - beq _08096C3A - bl sub_0805E780 -_08096C3A: - pop {r4, pc} - - thumb_func_start sub_08096C3C -sub_08096C3C: @ 0x08096C3C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x7e - ldrb r0, [r0] - cmp r0, #0 - beq _08096C56 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _08096CAE -_08096C56: - ldr r0, _08096C80 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #5 - ands r0, r1 - cmp r0, #0 - beq _08096C92 - ldrb r2, [r4, #0xa] - lsls r1, r2, #1 - ldr r0, _08096C84 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - cmp r1, r0 - bne _08096C88 - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_08083734 - cmp r0, #0 - beq _08096CAE - b _08096C9C - .align 2, 0 -_08096C80: .4byte gUnk_03003F80 -_08096C84: .4byte gUnk_03001160 -_08096C88: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - b _08096C98 -_08096C92: - adds r0, r4, #0 - bl sub_08096D84 -_08096C98: - cmp r0, #0 - bne _08096CAE -_08096C9C: - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - adds r0, #0x76 - ldrh r2, [r0] - adds r0, r4, #0 - bl sub_080836DC -_08096CAE: - pop {r4, pc} - - thumb_func_start sub_08096CB0 -sub_08096CB0: @ 0x08096CB0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08096CE6 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - strh r0, [r4, #0x32] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08083814 - ldr r0, _08096CE8 @ =0x0000010B - bl sub_08004488 -_08096CE6: - pop {r4, pc} - .align 2, 0 -_08096CE8: .4byte 0x0000010B - - thumb_func_start sub_08096CEC -sub_08096CEC: @ 0x08096CEC - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x7e - ldrb r0, [r0] - cmp r0, #0 - beq _08096D06 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _08096D60 -_08096D06: - ldr r0, _08096D40 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #5 - ands r0, r1 - cmp r0, #0 - beq _08096D64 - ldr r3, _08096D44 @ =gUnk_03001160 - ldrb r2, [r4, #0xa] - lsls r0, r2, #1 - ldrb r1, [r3, #0x14] - eors r0, r1 - movs r1, #2 - ands r0, r1 - cmp r0, #0 - bne _08096D64 - movs r0, #1 - ands r2, r0 - cmp r2, #0 - beq _08096D48 - movs r1, #0x32 - ldrsh r0, [r3, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - movs r5, #0x2e - ldrsh r2, [r3, r5] - movs r5, #0x2e - ldrsh r3, [r4, r5] - b _08096D58 - .align 2, 0 -_08096D40: .4byte gUnk_03003F80 -_08096D44: .4byte gUnk_03001160 -_08096D48: - movs r1, #0x2e - ldrsh r0, [r3, r1] - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r5, #0x32 - ldrsh r2, [r3, r5] - movs r5, #0x32 - ldrsh r3, [r4, r5] -_08096D58: - bl sub_08096D68 - cmp r0, #0 - beq _08096D64 -_08096D60: - movs r0, #1 - b _08096D66 -_08096D64: - movs r0, #0 -_08096D66: - pop {r4, r5, pc} - - thumb_func_start sub_08096D68 -sub_08096D68: @ 0x08096D68 - push {lr} - subs r0, r0, r1 - adds r0, #8 - cmp r0, #0x10 - bhi _08096D7E - subs r0, r2, r3 - adds r0, #0x30 - cmp r0, #0x60 - bhi _08096D7E - movs r0, #1 - b _08096D80 -_08096D7E: - movs r0, #0 -_08096D80: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08096D84 -sub_08096D84: @ 0x08096D84 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #1 - beq _08096DB4 - cmp r0, #1 - bgt _08096D98 - cmp r0, #0 - beq _08096DA2 - b _08096E00 -_08096D98: - cmp r0, #2 - beq _08096DC8 - cmp r0, #3 - beq _08096DE4 - b _08096E00 -_08096DA2: - movs r0, #0x32 - ldrsh r1, [r1, r0] - ldr r0, _08096DB0 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r0, [r0, r2] - b _08096DEE - .align 2, 0 -_08096DB0: .4byte gUnk_03001160 -_08096DB4: - ldr r0, _08096DC4 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r0, [r0, r2] - adds r0, #0xa - movs r2, #0x2e - ldrsh r1, [r1, r2] - b _08096DD4 - .align 2, 0 -_08096DC4: .4byte gUnk_03001160 -_08096DC8: - ldr r0, _08096DE0 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r0, [r0, r2] - adds r0, #0xa - movs r2, #0x32 - ldrsh r1, [r1, r2] -_08096DD4: - subs r0, r0, r1 - cmp r0, #0x64 - bhi _08096E00 - movs r0, #1 - b _08096E02 - .align 2, 0 -_08096DE0: .4byte gUnk_03001160 -_08096DE4: - movs r0, #0x2e - ldrsh r1, [r1, r0] - ldr r0, _08096DFC @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r0, [r0, r2] -_08096DEE: - subs r0, #0xa - subs r1, r1, r0 - cmp r1, #0x64 - bhi _08096E00 - movs r0, #1 - b _08096E02 - .align 2, 0 -_08096DFC: .4byte gUnk_03001160 -_08096E00: - movs r0, #0 -_08096E02: - pop {pc} - - thumb_func_start sub_08096E04 -sub_08096E04: @ 0x08096E04 - movs r1, #3 - strb r1, [r0, #0xc] - movs r1, #8 - strb r1, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_08096E10 -sub_08096E10: @ 0x08096E10 - push {lr} - ldr r2, _08096E24 @ =gUnk_08123250 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08096E24: .4byte gUnk_08123250 - - thumb_func_start sub_08096E28 -sub_08096E28: @ 0x08096E28 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - adds r5, r0, #0 - cmp r5, #0 - bne _08096EBC - movs r2, #1 - movs r3, #1 - strb r3, [r4, #0xc] - movs r0, #0x80 - strh r0, [r4, #0x24] - ldrb r1, [r4, #0x11] - subs r0, #0x90 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #4 - strb r0, [r1] - ldr r0, _08096EB4 @ =gUnk_080FD1F4 - str r0, [r4, #0x48] - strb r3, [r4, #0x16] - adds r0, r4, #0 - adds r0, #0x72 - strh r5, [r0] - adds r0, #0xb - ldrb r0, [r0] - lsrs r0, r0, #4 - subs r1, #0x2b - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - bl sub_080970F4 - ldr r1, _08096EB8 @ =gUnk_08123264 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0x1e] - b _08096F04 - .align 2, 0 -_08096EB4: .4byte gUnk_080FD1F4 -_08096EB8: .4byte gUnk_08123264 -_08096EBC: - adds r0, r4, #0 - adds r0, #0x7c - ldrb r2, [r0] - adds r0, #1 - ldrb r3, [r0] - movs r1, #0xf - adds r0, r1, #0 - ands r0, r3 - lsls r0, r0, #8 - ldr r3, _08096F08 @ =gUnk_03000BF0 - orrs r2, r0 - ldrh r0, [r3, #6] - adds r2, r2, r0 - strh r2, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x7e - ldrb r0, [r0] - movs r2, #0x7f - adds r2, r2, r4 - mov ip, r2 - ldrb r2, [r2] - ands r1, r2 - lsls r1, r1, #8 - orrs r0, r1 - ldrh r3, [r3, #8] - adds r0, r0, r3 - strh r0, [r4, #0x32] - mov r5, ip - ldrb r0, [r5] - lsrs r0, r0, #4 - adds r1, r4, #0 - adds r1, #0x38 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080971E0 -_08096F04: - pop {r4, r5, pc} - .align 2, 0 -_08096F08: .4byte gUnk_03000BF0 - - thumb_func_start sub_08096F0C -sub_08096F0C: @ 0x08096F0C - push {r4, lr} - adds r4, r0, #0 - bl sub_08097194 - cmp r0, #0 - bne _08096F2E - adds r0, r4, #0 - bl sub_08097008 - cmp r0, #0 - beq _08096F28 - movs r0, #3 - strb r0, [r4, #0xc] - b _08096F2E -_08096F28: - adds r0, r4, #0 - bl sub_08078930 -_08096F2E: - pop {r4, pc} - - thumb_func_start sub_08096F30 -sub_08096F30: @ 0x08096F30 - push {lr} - adds r2, r0, #0 - adds r0, #0x76 - ldrh r0, [r0] - cmp r0, #0 - beq _08096F44 - adds r0, r2, #0 - bl sub_08097144 - b _08096F62 -_08096F44: - ldr r0, _08096F64 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _08096F50 - movs r0, #6 - strb r0, [r2, #0xd] -_08096F50: - ldr r0, _08096F68 @ =gUnk_0812326C - ldrb r1, [r2, #0xd] - subs r1, #5 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_08096F62: - pop {pc} - .align 2, 0 -_08096F64: .4byte gUnk_03003F80 -_08096F68: .4byte gUnk_0812326C - - thumb_func_start sub_08096F6C -sub_08096F6C: @ 0x08096F6C - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x72 - ldrh r0, [r1] - cmp r0, #0 - bne _08096F98 - movs r0, #1 - strh r0, [r1] - ldr r1, _08096FD8 @ =gUnk_03001160 - ldrb r0, [r1, #0x14] - ldr r2, _08096FDC @ =gUnk_08123274 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r4, #0 - bl sub_0806FA48 -_08096F98: - adds r0, r4, #0 - bl sub_08097008 - bl sub_080896B0 - cmp r0, #0 - beq _08096FD4 - ldr r2, _08096FE0 @ =gUnk_03003F80 - movs r3, #0 - movs r0, #0x10 - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #0x20 - strb r0, [r1] - ldr r0, [r2, #0x30] - movs r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r0, _08096FD8 @ =gUnk_03001160 - strh r3, [r0, #0x2c] - strh r3, [r0, #0x30] - ldrb r0, [r0, #0x14] - movs r1, #4 - eors r0, r1 - lsls r0, r0, #2 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08097098 -_08096FD4: - pop {r4, pc} - .align 2, 0 -_08096FD8: .4byte gUnk_03001160 -_08096FDC: .4byte gUnk_08123274 -_08096FE0: .4byte gUnk_03003F80 - - thumb_func_start sub_08096FE4 -sub_08096FE4: @ 0x08096FE4 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - adds r0, #0x72 - strh r2, [r0] - bx lr - - thumb_func_start sub_08096FF0 -sub_08096FF0: @ 0x08096FF0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08097144 - cmp r0, #0 - beq _08097000 - movs r0, #1 - strb r0, [r4, #0xc] -_08097000: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_122 -nullsub_122: @ 0x08097004 - bx lr - .align 2, 0 - - thumb_func_start sub_08097008 -sub_08097008: @ 0x08097008 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - adds r4, r0, #0 - ldr r0, _08097048 @ =0x00004036 - cmp r4, r0 - beq _08097070 - adds r0, r4, #0 - bl sub_08097074 - cmp r0, #1 - beq _0809704C - cmp r0, #2 - beq _08097062 - movs r0, #0xf - movs r1, #4 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0809706A - adds r0, r5, #0 - bl sub_0806FA24 - b _0809706A - .align 2, 0 -_08097048: .4byte 0x00004036 -_0809704C: - adds r0, r4, #0 - subs r0, #0x37 - movs r1, #3 - ands r0, r1 - lsls r0, r0, #3 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_08097098 - movs r0, #1 - b _08097072 -_08097062: - adds r0, r5, #0 - adds r0, #0x70 - strh r4, [r0] - b _08097070 -_0809706A: - adds r0, r5, #0 - bl sub_0805E7BC -_08097070: - movs r0, #0 -_08097072: - pop {r4, r5, pc} - - thumb_func_start sub_08097074 -sub_08097074: @ 0x08097074 - push {lr} - adds r2, r0, #0 - ldr r1, _0809707C @ =gUnk_0812327C - b _0809708C - .align 2, 0 -_0809707C: .4byte gUnk_0812327C -_08097080: - ldrh r0, [r1] - cmp r0, r2 - bne _0809708A - ldrh r0, [r1, #2] - b _08097094 -_0809708A: - adds r1, #4 -_0809708C: - ldrh r0, [r1] - cmp r0, #0 - bne _08097080 - movs r0, #0 -_08097094: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08097098 -sub_08097098: @ 0x08097098 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r1, r6, #0 - adds r1, #0x76 - movs r0, #0x20 - strh r0, [r1] - adds r0, #0xef - bl sub_08004488 - adds r0, r6, #0 - adds r0, #0x70 - ldrh r0, [r0] - adds r5, r6, #0 - adds r5, #0x74 - ldrh r1, [r5] - adds r4, r6, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - ldr r1, _080970F0 @ =gUnk_080B4488 - ldrb r0, [r6, #0x15] - lsrs r0, r0, #3 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldrh r5, [r5] - adds r0, r0, r5 - ldrb r1, [r4] - bl sub_080002B0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x79 - beq _080970E4 - cmp r0, #0x77 - bne _080970EC -_080970E4: - adds r1, r6, #0 - adds r1, #0x63 - movs r0, #2 - strb r0, [r1] -_080970EC: - pop {r4, r5, r6, pc} - .align 2, 0 -_080970F0: .4byte gUnk_080B4488 - - thumb_func_start sub_080970F4 -sub_080970F4: @ 0x080970F4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, _0809713C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r4, r6, #0 - adds r4, #0x74 - strh r1, [r4] - ldrh r0, [r4] - adds r5, r6, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x70 - strh r0, [r1] - ldr r0, _08097140 @ =0x00004036 - ldrh r1, [r4] - ldrb r2, [r5] - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_0809713C: .4byte gUnk_03000BF0 -_08097140: .4byte 0x00004036 - - thumb_func_start sub_08097144 -sub_08097144: @ 0x08097144 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_0800445C - adds r0, r4, #0 - bl sub_080002B8 - cmp r0, #0x19 - bne _08097164 - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #2 - strb r0, [r1] -_08097164: - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08097190 - adds r0, r4, #0 - bl sub_08097194 - cmp r0, #0 - bne _08097190 - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #4 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080970F4 - movs r0, #1 - b _08097192 -_08097190: - movs r0, #0 -_08097192: - pop {r4, pc} - - thumb_func_start sub_08097194 -sub_08097194: @ 0x08097194 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800442E - cmp r0, #0 - beq _080971A4 - movs r0, #1 - b _080971DE -_080971A4: - adds r0, r4, #0 - bl sub_080002A0 - adds r1, r0, #0 - subs r0, #0x71 - cmp r0, #1 - bls _080971B8 - ldr r0, _080971D4 @ =0x00004020 - cmp r1, r0 - bne _080971DC -_080971B8: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - ldr r0, _080971D8 @ =0x0000010B - bl sub_08004488 - adds r0, r4, #0 - bl sub_080971E0 - movs r0, #1 - b _080971DE - .align 2, 0 -_080971D4: .4byte 0x00004020 -_080971D8: .4byte 0x0000010B -_080971DC: - movs r0, #0 -_080971DE: - pop {r4, pc} - - thumb_func_start sub_080971E0 -sub_080971E0: @ 0x080971E0 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xf - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08097202 - ldr r2, _0809727C @ =0xFFF80000 - movs r3, #0x80 - lsls r3, r3, #0xa - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 -_08097202: - movs r0, #0xf - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08097222 - movs r2, #0x80 - lsls r2, r2, #0xc - movs r3, #0x80 - lsls r3, r3, #0xa - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 -_08097222: - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _08097284 - cmp r0, #1 - ble _08097234 - cmp r0, #2 - beq _080972C4 - cmp r0, #3 - beq _08097304 -_08097234: - movs r0, #4 - strb r0, [r5, #0xc] - movs r0, #1 - strb r0, [r5, #0x1e] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldr r2, _08097280 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r5, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r2, [r0] - movs r0, #0 - bl sub_0800015E -_08097274: - bl sub_0805E780 - b _08097346 - .align 2, 0 -_0809727C: .4byte 0xFFF80000 -_08097280: .4byte gUnk_03000BF0 -_08097284: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r3, _080972C0 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r2, #0x3f - ands r4, r2 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r0, r4, #0 - bl sub_08097348 - cmp r0, #0 - bne _08097274 - adds r0, r5, #0 - adds r0, #0x38 - ldrb r2, [r0] - movs r0, #0x73 - adds r1, r4, #0 - bl sub_0807B314 - b _08097274 - .align 2, 0 -_080972C0: .4byte gUnk_03000BF0 -_080972C4: - movs r0, #0x2f - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08097274 - ldrh r2, [r5, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - adds r0, #8 - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x32] - ands r1, r0 - adds r1, #8 - strh r1, [r4, #0x32] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r5, #0 - adds r0, #0x84 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x86 - strh r1, [r0] - b _08097274 -_08097304: - movs r0, #0x2f - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08097342 - ldrh r2, [r5, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - adds r0, #8 - strh r0, [r4, #0x2e] - ldrh r0, [r5, #0x32] - ands r1, r0 - adds r1, #8 - strh r1, [r4, #0x32] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r5, #0 - adds r0, #0x84 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x86 - strh r1, [r0] -_08097342: - bl sub_0805E780 -_08097346: - pop {r4, r5, pc} - - thumb_func_start sub_08097348 -sub_08097348: @ 0x08097348 - push {lr} - adds r3, r0, #0 - ldr r1, _08097360 @ =gUnk_02017660 - movs r2, #0 -_08097350: - ldrh r0, [r1, #4] - cmp r0, r3 - bne _08097364 - ldrb r0, [r1, #1] - bl sub_0807CBD0 - b _0809736E - .align 2, 0 -_08097360: .4byte gUnk_02017660 -_08097364: - adds r2, #1 - adds r1, #8 - cmp r2, #7 - bls _08097350 - movs r0, #0 -_0809736E: - pop {pc} - - thumb_func_start sub_08097370 -sub_08097370: @ 0x08097370 - push {lr} - ldr r2, _08097384 @ =gUnk_08123298 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08097384: .4byte gUnk_08123298 - - thumb_func_start sub_08097388 -sub_08097388: @ 0x08097388 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806FBD8 - cmp r0, #0 - beq _080973D4 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - ldr r1, _080973D8 @ =gUnk_081232A0 - adds r0, r0, r1 - ldrb r1, [r0] - strb r1, [r4, #0xb] - ldrb r2, [r0, #3] - adds r1, r4, #0 - adds r1, #0x40 - strb r2, [r1] - ldr r2, [r4, #0x48] - ldrb r1, [r0, #1] - strb r1, [r2, #6] - ldr r1, [r4, #0x48] - ldrb r0, [r0, #2] - strb r0, [r1, #7] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #3 - movs r0, #0x91 - strb r0, [r1] - subs r1, #4 - movs r0, #2 - strb r0, [r1] - movs r0, #1 - strb r0, [r4, #0xc] -_080973D4: - pop {r4, pc} - .align 2, 0 -_080973D8: .4byte gUnk_081232A0 - - thumb_func_start sub_080973DC -sub_080973DC: @ 0x080973DC - adds r0, #0x41 - movs r1, #0 - strb r1, [r0] - bx lr - - thumb_func_start sub_080973E4 -sub_080973E4: @ 0x080973E4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809741E - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - strb r0, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - bl sub_08052660 - cmp r0, #0 - beq _0809741E - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2] -_0809741E: - pop {r4, pc} - - thumb_func_start sub_08097420 -sub_08097420: @ 0x08097420 - push {lr} - ldr r2, _08097434 @ =gUnk_081232A4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08097434: .4byte gUnk_081232A4 - - thumb_func_start sub_08097438 -sub_08097438: @ 0x08097438 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xa] - adds r1, r0, #0 - adds r1, #0xb - strb r1, [r4, #0x1e] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _080974A2 - adds r0, r4, #0 - bl sub_08004168 - ldr r1, _08097494 @ =gUnk_03001160 - ldrb r0, [r1, #0x1b] - movs r2, #0xc0 - orrs r0, r2 - strb r0, [r1, #0x1b] - adds r1, #0x29 - ldrb r1, [r1] - movs r2, #7 - movs r0, #7 - ands r0, r1 - cmp r0, #7 - beq _08097498 - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - adds r1, #1 - adds r3, r4, #0 - adds r3, #0x29 - ands r1, r2 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080974A2 - .align 2, 0 -_08097494: .4byte gUnk_03001160 -_08097498: - adds r1, r4, #0 - adds r1, #0x29 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] -_080974A2: - pop {r4, pc} - - thumb_func_start sub_080974A4 -sub_080974A4: @ 0x080974A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08097554 - ldr r3, _08097540 @ =gUnk_03001160 - ldr r0, [r3, #0x34] - cmp r0, #0 - bne _080974E8 - ldr r2, _08097544 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1e] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - bne _080974D6 - ldrb r0, [r2, #0x12] - cmp r0, #0x11 - bne _080974D6 - ldrb r0, [r3, #0xc] - cmp r0, #1 - beq _080974FA - cmp r0, #0x18 - beq _080974FA - cmp r0, #4 - beq _080974FA -_080974D6: - ldr r1, _08097540 @ =gUnk_03001160 - ldr r0, [r1, #0x34] - cmp r0, #0 - bne _080974E8 - adds r0, r1, #0 - movs r1, #0x52 - movs r2, #0 - bl sub_080A29AC -_080974E8: - ldr r2, _08097540 @ =gUnk_03001160 - ldrb r1, [r2, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0x1b] - bl sub_0805E780 -_080974FA: - ldr r2, _08097540 @ =gUnk_03001160 - ldr r0, [r2, #0x2c] - str r0, [r4, #0x2c] - ldr r0, [r2, #0x30] - str r0, [r4, #0x30] - ldr r0, _08097544 @ =gUnk_03003F80 - ldrb r0, [r0, #2] - cmp r0, #0 - bne _08097584 - ldrb r0, [r2, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r2, #0x1b] - adds r0, r2, #0 - adds r0, #0x29 - ldrb r1, [r0] - movs r2, #7 - movs r0, #7 - ands r0, r1 - cmp r0, #7 - beq _08097548 - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - adds r1, #1 - adds r3, r4, #0 - adds r3, #0x29 - ands r1, r2 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08097584 - .align 2, 0 -_08097540: .4byte gUnk_03001160 -_08097544: .4byte gUnk_03003F80 -_08097548: - adds r1, r4, #0 - adds r1, #0x29 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - b _08097584 -_08097554: - ldr r2, _08097570 @ =gUnk_03001160 - ldrb r0, [r2, #0xc] - cmp r0, #0x1e - beq _08097584 - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #1 - bne _08097574 - ldrb r0, [r2, #0x1b] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x80 - b _0809757C - .align 2, 0 -_08097570: .4byte gUnk_03001160 -_08097574: - ldrb r0, [r2, #0x1b] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 -_0809757C: - orrs r1, r0 - strb r1, [r2, #0x1b] - bl sub_0805E780 -_08097584: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08097588 -sub_08097588: @ 0x08097588 - push {lr} - ldr r2, _0809759C @ =gUnk_081232AC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809759C: .4byte gUnk_081232AC - - thumb_func_start sub_080975A0 -sub_080975A0: @ 0x080975A0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xa] - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _08097690 @ =gUnk_03000BF0 - mov r8, r2 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r6, #0x3f - ands r5, r6 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r2, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r5, r0 - adds r0, r5, #0 - subs r0, #0x41 - adds r7, r4, #0 - adds r7, #0x38 - ldrb r1, [r7] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x6a - strh r0, [r1] - adds r0, r5, #0 - subs r0, #0x40 - ldrb r1, [r7] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x6c - strh r0, [r1] - adds r0, r5, #0 - subs r0, #0x3f - ldrb r1, [r7] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x6e - strh r0, [r1] - subs r0, r5, #1 - ldrb r1, [r7] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x70 - strh r0, [r1] - ldrb r1, [r7] - adds r0, r5, #0 - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - adds r0, r5, #1 - ldrb r1, [r7] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x74 - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0x3f - ldrb r1, [r7] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0x40 - ldrb r1, [r7] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0x41 - ldrb r1, [r7] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - adds r0, r4, #0 - bl sub_0809798C - cmp r0, #0 - beq _080976A2 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08097694 - ldrh r0, [r4, #0x32] - subs r0, #0x16 - b _08097698 - .align 2, 0 -_08097690: .4byte gUnk_03000BF0 -_08097694: - ldrh r0, [r4, #0x32] - subs r0, #0x10 -_08097698: - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_080977F4 - b _08097722 -_080976A2: - movs r0, #1 - strb r0, [r4, #0xc] - movs r2, #0x2e - ldrsh r0, [r4, r2] - mov r2, r8 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - ands r5, r6 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r2, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r5, r0 - adds r0, r4, #0 - adds r0, #0x68 - strh r5, [r0] - ldr r1, _080976FC @ =gUnk_081232DE - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r6, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08097704 - ldr r0, _08097700 @ =gUnk_080FD578 - str r0, [r4, #0x48] - subs r1, r5, #1 - ldrb r2, [r7] - adds r0, r6, #0 - bl sub_0800015E - ldrb r2, [r7] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0800015E - ldrh r0, [r4, #0x32] - adds r0, #2 - strh r0, [r4, #0x32] - b _08097722 - .align 2, 0 -_080976FC: .4byte gUnk_081232DE -_08097700: .4byte gUnk_080FD578 -_08097704: - ldr r0, _08097728 @ =gUnk_080FD570 - str r0, [r4, #0x48] - ldrb r2, [r7] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0800015E - ldrb r0, [r4, #0xb] - cmp r0, #2 - bne _08097722 - ldr r0, _0809772C @ =gUnk_081232C0 - ldrb r2, [r7] - adds r1, r5, #0 - bl sub_0801AF18 -_08097722: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08097728: .4byte gUnk_080FD570 -_0809772C: .4byte gUnk_081232C0 - - thumb_func_start sub_08097730 -sub_08097730: @ 0x08097730 - push {r4, lr} - adds r4, r0, #0 - bl sub_0809785C - cmp r0, #0 - beq _08097744 - ldrb r1, [r4, #0xe] - adds r0, r4, #0 - bl sub_0805E4E0 -_08097744: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08097748 -sub_08097748: @ 0x08097748 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xd] - cmp r0, #0 - bne _08097774 - ldrb r0, [r2, #0xf] - subs r0, #1 - strb r0, [r2, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809779A - movs r0, #1 - strb r0, [r2, #0xd] - movs r0, #0x78 - strb r0, [r2, #0xf] - ldr r1, _08097770 @ =gUnk_03000BF0 - str r2, [r1, #0x30] - movs r0, #2 - strb r0, [r1, #0xe] - b _0809779A - .align 2, 0 -_08097770: .4byte gUnk_03000BF0 -_08097774: - ldrb r0, [r2, #0xf] - subs r0, #1 - strb r0, [r2, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809779A - movs r0, #3 - strb r0, [r2, #0xc] - movs r0, #0x60 - strb r0, [r2, #0xe] - movs r0, #0x14 - strb r0, [r2, #0xf] - adds r0, r2, #0 - movs r1, #0x60 - bl sub_0805E4E0 - ldr r0, _0809779C @ =0x0000010F - bl sub_080A3268 -_0809779A: - pop {pc} - .align 2, 0 -_0809779C: .4byte 0x0000010F - - thumb_func_start sub_080977A0 -sub_080977A0: @ 0x080977A0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080977BC - subs r0, #1 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_0800445C - b _080977E4 -_080977BC: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080977C8 - subs r0, #1 - strb r0, [r4, #0xf] - b _080977E4 -_080977C8: - movs r0, #0x72 - bl sub_08004488 - adds r0, r4, #0 - bl sub_080977F4 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080977E4 - ldr r0, _080977E8 @ =gUnk_03000BF0 - ldr r1, _080977EC @ =gUnk_03001160 - str r1, [r0, #0x30] - movs r1, #4 - strb r1, [r0, #0xe] -_080977E4: - pop {r4, pc} - .align 2, 0 -_080977E8: .4byte gUnk_03000BF0 -_080977EC: .4byte gUnk_03001160 - - thumb_func_start nullsub_528 -nullsub_528: @ 0x080977F0 - bx lr - .align 2, 0 - - thumb_func_start sub_080977F4 -sub_080977F4: @ 0x080977F4 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - movs r1, #0 - movs r0, #4 - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x63 - strb r1, [r0] - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r3, _08097854 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r2, #0x3f - ands r4, r2 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - ldr r7, _08097858 @ =0x00004022 - adds r6, r5, #0 - adds r6, #0x38 - ldrb r2, [r6] - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_0800015E - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _08097844 - subs r1, r4, #1 - ldrb r2, [r6] - adds r0, r7, #0 - bl sub_0800015E -_08097844: - adds r1, r5, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _08097852 - bl sub_0807CCC8 -_08097852: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08097854: .4byte gUnk_03000BF0 -_08097858: .4byte 0x00004022 - - thumb_func_start sub_0809785C -sub_0809785C: @ 0x0809785C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xa] - cmp r4, #0 - beq _08097948 - ldrb r0, [r5, #0xb] - cmp r0, #0 - bne _0809786E - b _08097986 -_0809786E: - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - adds r4, r5, #0 - adds r4, #0x68 - adds r6, r5, #0 - adds r6, #0x38 - cmp r0, #0 - bne _08097892 - ldrh r0, [r4] - ldrb r1, [r6] - bl sub_080002B0 - ldr r1, _08097940 @ =0x0000403F - cmp r0, r1 - bne _08097986 -_08097892: - movs r1, #0 - movs r0, #3 - strb r0, [r5, #0xc] - movs r0, #0x40 - strb r0, [r5, #0xe] - strb r1, [r5, #0xf] - strb r1, [r5, #0x15] - strh r0, [r5, #0x24] - ldrh r4, [r4] - adds r0, r5, #0 - adds r0, #0x72 - ldrh r0, [r0] - ldrb r2, [r6] - adds r1, r4, #0 - bl sub_0807B9B8 - ldrb r0, [r5, #0xb] - cmp r0, #2 - bne _08097934 - adds r0, r5, #0 - adds r0, #0x6a - ldrh r0, [r0] - adds r1, r4, #0 - subs r1, #0x41 - ldrb r2, [r6] - bl sub_0807B9B8 - adds r0, r5, #0 - adds r0, #0x6c - ldrh r0, [r0] - adds r1, r4, #0 - subs r1, #0x40 - ldrb r2, [r6] - bl sub_0807B9B8 - adds r0, r5, #0 - adds r0, #0x6e - ldrh r0, [r0] - adds r1, r4, #0 - subs r1, #0x3f - ldrb r2, [r6] - bl sub_0807B9B8 - adds r0, r5, #0 - adds r0, #0x70 - ldrh r0, [r0] - subs r1, r4, #1 - ldrb r2, [r6] - bl sub_0807B9B8 - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r4, #1 - ldrb r2, [r6] - bl sub_0807B9B8 - adds r0, r5, #0 - adds r0, #0x76 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x3f - ldrb r2, [r6] - bl sub_0807B9B8 - adds r0, r5, #0 - adds r0, #0x78 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x40 - ldrb r2, [r6] - bl sub_0807B9B8 - adds r0, r5, #0 - adds r0, #0x7a - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x41 - ldrb r2, [r6] - bl sub_0807B9B8 -_08097934: - ldr r0, _08097944 @ =0x0000010F - bl sub_080A3268 - movs r0, #1 - b _08097988 - .align 2, 0 -_08097940: .4byte 0x0000403F -_08097944: .4byte 0x0000010F -_08097948: - adds r0, r5, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08097986 - movs r0, #2 - strb r0, [r5, #0xc] - strb r4, [r5, #0xd] - movs r0, #0xf0 - strb r0, [r5, #0xe] - movs r0, #0x3c - strb r0, [r5, #0xf] - strb r4, [r5, #0x15] - movs r0, #0x40 - strh r0, [r5, #0x24] - adds r4, r5, #0 - adds r4, #0x68 - ldrh r0, [r4] - adds r5, #0x38 - ldrb r1, [r5] - bl sub_0807BA8C - ldrh r0, [r4] - subs r0, #1 - ldrb r1, [r5] - bl sub_0807BA8C - movs r0, #1 - b _08097988 -_08097986: - movs r0, #0 -_08097988: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0809798C -sub_0809798C: @ 0x0809798C - push {r4, lr} - adds r1, r0, #0 - movs r4, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0 - beq _0809799E - ldrb r0, [r1, #0xb] - cmp r0, #0 - beq _080979AE -_0809799E: - adds r0, r1, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080979AE - movs r4, #1 -_080979AE: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080979B4 -sub_080979B4: @ 0x080979B4 - push {lr} - ldr r2, _080979C8 @ =gUnk_081232E4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080979C8: .4byte gUnk_081232E4 - - thumb_func_start sub_080979CC -sub_080979CC: @ 0x080979CC - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xa] - cmp r0, #3 - bne _08097A20 - movs r0, #0 - strb r0, [r5, #0x1e] - ldr r0, _08097A18 @ =gUnk_081232FE - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08097A1C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0801AF18 - b _08097A4E - .align 2, 0 -_08097A18: .4byte gUnk_081232FE -_08097A1C: .4byte gUnk_03000BF0 -_08097A20: - strb r0, [r5, #0x1e] - ldr r0, _08097A50 @ =gUnk_081232EC - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08097A54 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0801AF18 -_08097A4E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08097A50: .4byte gUnk_081232EC -_08097A54: .4byte gUnk_03000BF0 - - thumb_func_start nullsub_529 -nullsub_529: @ 0x08097A58 - bx lr - .align 2, 0 - - thumb_func_start sub_08097A5C -sub_08097A5C: @ 0x08097A5C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _08097AAC - movs r4, #1 - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0x5a - strb r0, [r5, #0xe] - bl sub_08000E50 - strb r0, [r5, #0xf] - lsrs r0, r0, #0x10 - movs r1, #3 - ands r0, r1 - strb r0, [r5, #0x1e] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r4 - strb r0, [r5, #0x18] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r5, #0xb] - bl sub_0804B128 - str r0, [r5, #0x54] - adds r1, r5, #0 - adds r1, #0x54 - adds r2, r5, #0 - adds r2, #0x70 - adds r0, r5, #0 - bl sub_080A2CC0 -_08097AAC: - adds r0, r5, #0 - bl sub_08097ADC - adds r1, r0, #0 - adds r0, r5, #0 - bl sub_080A2BE4 - adds r0, r5, #0 - bl sub_08097B24 - adds r2, r5, #0 - adds r2, #0x70 - ldrh r0, [r2] - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08097ADA - adds r1, r5, #0 - adds r1, #0x54 - adds r0, r5, #0 - bl sub_080A2CC0 -_08097ADA: - pop {r4, r5, pc} - - thumb_func_start sub_08097ADC -sub_08097ADC: @ 0x08097ADC - push {r4, r5, lr} - adds r2, r0, #0 - ldr r5, _08097B18 @ =gUnk_03003F80 - ldr r0, [r5, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08097B20 - ldr r4, _08097B1C @ =gUnk_03001160 - adds r0, r2, #0 - adds r1, r4, #0 - movs r2, #8 - movs r3, #8 - bl sub_080041A0 - cmp r0, #0 - beq _08097B20 - bl sub_08079F8C - cmp r0, #0 - beq _08097B20 - movs r0, #1 - strb r0, [r5, #0x14] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08097B20 - movs r0, #1 - b _08097B22 - .align 2, 0 -_08097B18: .4byte gUnk_03003F80 -_08097B1C: .4byte gUnk_03001160 -_08097B20: - movs r0, #0 -_08097B22: - pop {r4, r5, pc} - - thumb_func_start sub_08097B24 -sub_08097B24: @ 0x08097B24 - push {r4, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - movs r4, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08097B44 - movs r0, #0x5a - strb r0, [r3, #0xe] - ldrb r0, [r3, #0x1e] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r3, #0x1e] -_08097B44: - ldr r2, _08097B68 @ =gUnk_08123318 - ldrb r0, [r3, #0xf] - adds r0, #1 - strb r0, [r3, #0xf] - ands r0, r4 - lsrs r0, r0, #5 - movs r1, #7 - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r2, [r0] - adds r0, r3, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - pop {r4, pc} - .align 2, 0 -_08097B68: .4byte gUnk_08123318 - - thumb_func_start sub_08097B6C -sub_08097B6C: @ 0x08097B6C - push {lr} - ldr r2, _08097B80 @ =gUnk_08123330 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08097B80: .4byte gUnk_08123330 - - thumb_func_start sub_08097B84 -sub_08097B84: @ 0x08097B84 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08097BCC @ =gUnk_08123328 - str r0, [r4, #0x48] - adds r2, #0x5d - ldrh r1, [r2] - ldr r0, _08097BD0 @ =0x0000FFFF - cmp r1, r0 - beq _08097BB0 - adds r0, r1, #0 - bl sub_0807CBE4 - cmp r0, #0 - beq _08097BD4 -_08097BB0: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #4 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_08097CFC - b _08097BD8 - .align 2, 0 -_08097BCC: .4byte gUnk_08123328 -_08097BD0: .4byte 0x0000FFFF -_08097BD4: - bl sub_0805BC4C -_08097BD8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08097BDC -sub_08097BDC: @ 0x08097BDC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08097C10 - movs r0, #1 - bl sub_08078A90 - ldr r0, _08097C14 @ =gUnk_02034490 - movs r1, #1 - strb r1, [r0] - adds r0, r4, #0 - movs r1, #0x1e - bl sub_0805E4E0 - adds r0, r4, #0 - bl sub_08097CB0 - cmp r0, #0 - bne _08097C10 - adds r0, r4, #0 - bl sub_08097CB4 -_08097C10: - pop {r4, pc} - .align 2, 0 -_08097C14: .4byte gUnk_02034490 - - thumb_func_start sub_08097C18 -sub_08097C18: @ 0x08097C18 - bx lr - .align 2, 0 - - thumb_func_start sub_08097C1C -sub_08097C1C: @ 0x08097C1C - bx lr - .align 2, 0 - - thumb_func_start sub_08097C20 -sub_08097C20: @ 0x08097C20 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0x1e - bl sub_0805E510 - adds r0, r4, #0 - bl sub_0800445C - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_080577AC - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _08097CA6 - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - ands r1, r0 - ldr r6, _08097CA8 @ =gUnk_03000F50 - movs r0, #0x10 - subs r0, r0, r1 - lsls r0, r0, #8 - orrs r0, r1 - adds r1, r6, #0 - adds r1, #0x68 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x10 - bne _08097CA6 - movs r0, #0 - bl sub_08078A90 - ldr r1, _08097CAC @ =gUnk_02034490 - movs r0, #0 - strb r0, [r1] - adds r0, r6, #0 - adds r0, #0x66 - strh r5, [r0] - adds r0, r4, #0 - bl sub_08097CFC - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x19] - subs r0, #0x11 - ands r0, r1 - strb r0, [r4, #0x19] - movs r0, #0x72 - bl sub_080A3268 - movs r0, #0x63 - bl sub_0807CD04 -_08097CA6: - pop {r4, r5, r6, pc} - .align 2, 0 -_08097CA8: .4byte gUnk_03000F50 -_08097CAC: .4byte gUnk_02034490 - - thumb_func_start sub_08097CB0 -sub_08097CB0: @ 0x08097CB0 - movs r0, #0 - bx lr - - thumb_func_start sub_08097CB4 -sub_08097CB4: @ 0x08097CB4 - push {lr} - movs r3, #0 - movs r1, #3 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #7 - ands r1, r2 - movs r2, #1 - orrs r1, r2 - strb r1, [r0, #0x18] - ldrb r2, [r0, #0x19] - movs r1, #0xd - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #4 - orrs r1, r2 - strb r1, [r0, #0x19] - movs r1, #0x1e - strb r1, [r0, #0xe] - strb r3, [r0, #0xf] - ldr r1, _08097CF8 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xf4 - lsls r0, r0, #4 - strh r0, [r2] - adds r1, #0x68 - adds r0, #0xc0 - strh r0, [r1] - movs r0, #0xa5 - lsls r0, r0, #1 - bl sub_080A3268 - pop {pc} - .align 2, 0 -_08097CF8: .4byte gUnk_03000F50 - - thumb_func_start sub_08097CFC -sub_08097CFC: @ 0x08097CFC - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrh r1, [r5, #0x2e] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08097D40 - ldr r0, _08097D38 @ =gUnk_0812336A - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08097D3C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0801AF18 - b _08097D6C - .align 2, 0 -_08097D38: .4byte gUnk_0812336A -_08097D3C: .4byte gUnk_03000BF0 -_08097D40: - ldr r0, _08097D70 @ =gUnk_08123344 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08097D74 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0801AF18 -_08097D6C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08097D70: .4byte gUnk_08123344 -_08097D74: .4byte gUnk_03000BF0 - - thumb_func_start sub_08097D78 -sub_08097D78: @ 0x08097D78 - push {lr} - ldr r2, _08097D8C @ =gUnk_08123384 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08097D8C: .4byte gUnk_08123384 - - thumb_func_start sub_08097D90 -sub_08097D90: @ 0x08097D90 - push {r4, lr} - adds r4, r0, #0 - movs r3, #1 - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x38 - strb r2, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08097DCC -sub_08097DCC: @ 0x08097DCC - push {lr} - bl sub_080042B8 - pop {pc} - - thumb_func_start sub_08097DD4 -sub_08097DD4: @ 0x08097DD4 - push {lr} - ldr r2, _08097DE8 @ =gUnk_081233B8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08097DE8: .4byte gUnk_081233B8 - - thumb_func_start sub_08097DEC -sub_08097DEC: @ 0x08097DEC - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_08016A04 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _08097E46 - cmp r0, #1 - bgt _08097E0A - cmp r0, #0 - beq _08097E1C - b _08097EA2 -_08097E0A: - cmp r0, #3 - bgt _08097EA2 - ldrb r0, [r4, #0xb] - strb r0, [r4, #0x1e] - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - b _08097E9C -_08097E1C: - ldrh r2, [r4, #0x2e] - movs r1, #0x10 - rsbs r1, r1, #0 - adds r0, r1, #0 - ands r0, r2 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - ands r1, r0 - strh r1, [r4, #0x32] - adds r0, r4, #0 - bl sub_08097EB8 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08097EA2 - adds r1, r0, #0 - adds r1, #0xb - adds r0, r4, #0 - bl sub_0801D2B4 - b _08097EA2 -_08097E46: - ldrb r0, [r4, #0xb] - strb r0, [r4, #0x1e] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x19 - cmp r0, #1 - beq _08097E76 - cmp r0, #1 - bgt _08097E5C - cmp r0, #0 - beq _08097E68 - b _08097E9C -_08097E5C: - cmp r0, #2 - bne _08097E9C - adds r0, r4, #0 - movs r1, #0xd - bl sub_0801D2B4 -_08097E68: - ldrb r0, [r4, #0x1b] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r4, #0x1b] - b _08097E9C -_08097E76: - ldrb r1, [r4, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x1b] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0xb - bl sub_0801D2B4 -_08097E9C: - adds r0, r4, #0 - bl sub_08097F34 -_08097EA2: - pop {r4, pc} - - thumb_func_start sub_08097EA4 -sub_08097EA4: @ 0x08097EA4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0 - beq _08097EB4 - adds r0, r1, #0 - bl sub_08097F10 -_08097EB4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08097EB8 -sub_08097EB8: @ 0x08097EB8 - push {r4, r5, r6, lr} - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r3, _08097F04 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r5, r1, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r0, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - ldr r4, _08097F08 @ =gUnk_081233C0 - movs r2, #0 - ldrsh r0, [r4, r2] - ldr r1, _08097F0C @ =0x00007FFF - cmp r0, r1 - beq _08097F00 - adds r6, r1, #0 -_08097EE8: - ldrh r0, [r4, #2] - movs r2, #0 - ldrsh r1, [r4, r2] - adds r1, r5, r1 - movs r2, #1 - bl sub_0800015E - adds r4, #4 - movs r1, #0 - ldrsh r0, [r4, r1] - cmp r0, r6 - bne _08097EE8 -_08097F00: - pop {r4, r5, r6, pc} - .align 2, 0 -_08097F04: .4byte gUnk_03000BF0 -_08097F08: .4byte gUnk_081233C0 -_08097F0C: .4byte 0x00007FFF - - thumb_func_start sub_08097F10 -sub_08097F10: @ 0x08097F10 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08097F30 @ =gUnk_03000BF0 - movs r2, #0xc - ldrsh r1, [r0, r2] - ldrh r0, [r0, #8] - subs r1, r1, r0 - adds r0, r4, #0 - bl sub_08097F60 - adds r1, r4, #0 - adds r1, #0x70 - ldrh r1, [r1] - subs r1, r1, r0 - strh r1, [r4, #0x32] - pop {r4, pc} - .align 2, 0 -_08097F30: .4byte gUnk_03000BF0 - - thumb_func_start sub_08097F34 -sub_08097F34: @ 0x08097F34 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x32 - ldrsh r1, [r4, r0] - ldr r0, _08097F5C @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - subs r1, r1, r0 - adds r0, r4, #0 - bl sub_08097F60 - ldrh r1, [r4, #0x32] - adds r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x70 - strh r1, [r0] - adds r0, r4, #0 - bl sub_08097F10 - pop {r4, pc} - .align 2, 0 -_08097F5C: .4byte gUnk_03000BF0 - - thumb_func_start sub_08097F60 -sub_08097F60: @ 0x08097F60 - push {lr} - ldrb r2, [r0, #0xa] - cmp r2, #1 - bne _08097F74 - ldrb r0, [r0, #0x1e] - lsrs r0, r0, #1 - cmp r0, #1 - bne _08097F7C - asrs r1, r1, #3 - b _08097F7E -_08097F74: - cmp r2, #1 - blt _08097F7E - cmp r2, #3 - bgt _08097F7E -_08097F7C: - asrs r1, r1, #1 -_08097F7E: - adds r0, r1, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08097F84 -sub_08097F84: @ 0x08097F84 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08097FAC @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08097F98 - bl sub_0805E780 -_08097F98: - ldr r0, _08097FB0 @ =gUnk_08123410 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_08097FAC: .4byte gUnk_03003F80 -_08097FB0: .4byte gUnk_08123410 - - thumb_func_start sub_08097FB4 -sub_08097FB4: @ 0x08097FB4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r1, #0 - strb r0, [r4, #0xc] - movs r2, #0 - strh r1, [r4, #0x24] - str r1, [r4, #0x6c] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0x90 - lsls r0, r0, #5 - strh r0, [r1] - strb r2, [r4, #0xe] - movs r0, #0x1e - strb r0, [r4, #0xf] - ldr r1, _08098014 @ =gUnk_0812341C - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #6 - str r0, [r4, #0x74] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08098018 - adds r1, r4, #0 - adds r1, #0x7e - movs r0, #0x40 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #1 - movs r2, #0 - bl sub_080AE008 - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_080042AC - b _08098032 - .align 2, 0 -_08098014: .4byte gUnk_0812341C -_08098018: - ldr r0, [r4, #0x50] - adds r0, #0x60 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x60 - strh r1, [r0] - ldr r2, [r4, #0x50] - ldrb r1, [r4, #0xa] - movs r0, #0xd - muls r0, r1, r0 - ldrb r2, [r2, #0x1e] - adds r0, r0, r2 - strb r0, [r4, #0x1e] -_08098032: - adds r0, r4, #0 - bl sub_08098130 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809803C -sub_0809803C: @ 0x0809803C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xa] - cmp r5, #0 - bne _08098070 - bl sub_080042B8 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _08098082 - ldr r0, _0809806C @ =gUnk_03001160 - strb r5, [r0, #0xf] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - movs r0, #0xbc - lsls r0, r0, #1 - bl sub_080A3268 - b _08098082 - .align 2, 0 -_0809806C: .4byte gUnk_03001160 -_08098070: - ldr r2, [r4, #0x50] - ldrb r1, [r4, #0xa] - movs r0, #0xd - muls r0, r1, r0 - ldrb r1, [r2, #0x1e] - adds r0, r0, r1 - strb r0, [r4, #0x1e] - ldrb r0, [r2, #0xc] - strb r0, [r4, #0xc] -_08098082: - pop {r4, r5, pc} - - thumb_func_start sub_08098084 -sub_08098084: @ 0x08098084 - push {r4, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x6c] - movs r0, #0xa0 - lsls r0, r0, #0xd - cmp r1, r0 - bls _080980A8 - ldr r0, _080980A4 @ =gUnk_03003F80 - ldr r1, [r0, #0x30] - movs r2, #0x80 - orrs r1, r2 - str r1, [r0, #0x30] - bl sub_0805E780 - b _0809812E - .align 2, 0 -_080980A4: .4byte gUnk_03003F80 -_080980A8: - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080980D8 - adds r0, r4, #0 - bl sub_080042B8 - adds r2, r4, #0 - adds r2, #0x7e - ldrh r0, [r2] - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - ldr r1, _080980D4 @ =0xFFFF0000 - cmp r0, r1 - bne _080980E6 - movs r0, #0x40 - strh r0, [r2] - movs r0, #0xbc - lsls r0, r0, #1 - bl sub_080A3268 - b _080980E6 - .align 2, 0 -_080980D4: .4byte 0xFFFF0000 -_080980D8: - ldr r2, [r4, #0x50] - ldrb r1, [r4, #0xa] - movs r0, #0xd - muls r0, r1, r0 - ldrb r2, [r2, #0x1e] - adds r0, r0, r2 - strb r0, [r4, #0x1e] -_080980E6: - ldr r0, [r4, #0x6c] - movs r1, #0xa0 - lsls r1, r1, #5 - adds r0, r0, r1 - str r0, [r4, #0x6c] - ldr r0, [r4, #0x70] - ldr r1, [r4, #0x74] - adds r0, r0, r1 - str r0, [r4, #0x70] - adds r2, r4, #0 - adds r2, #0x72 - ldrh r1, [r2] - movs r0, #0x1f - ands r0, r1 - strh r0, [r2] - ldr r0, [r4, #0x74] - movs r1, #0xa0 - lsls r1, r1, #1 - adds r0, r0, r1 - str r0, [r4, #0x74] - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08098128 - movs r0, #0x1e - strb r0, [r4, #0xf] - ldrb r0, [r4, #0xe] - movs r1, #1 - eors r0, r1 - strb r0, [r4, #0xe] -_08098128: - adds r0, r4, #0 - bl sub_08098130 -_0809812E: - pop {r4, pc} - - thumb_func_start sub_08098130 -sub_08098130: @ 0x08098130 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08098160 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x7a - ldrh r0, [r0] - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0806F69C - ldr r0, [r4, #0x30] - ldr r1, _08098164 @ =0xFFEC0000 - adds r0, r0, r1 - ldr r1, [r4, #0x6c] - adds r0, r0, r1 - str r0, [r4, #0x30] - pop {r4, pc} - .align 2, 0 -_08098160: .4byte gUnk_03001160 -_08098164: .4byte 0xFFEC0000 - - thumb_func_start sub_08098168 -sub_08098168: @ 0x08098168 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #0 - bne _080981DA - movs r2, #1 - movs r3, #1 - strb r3, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r4, #0x19] - strb r3, [r4, #0xe] - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x68 - strb r5, [r0] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A30 - ldr r1, _080981CC @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r3, #0 - movs r0, #0xbd - lsls r0, r0, #6 - strh r0, [r2] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080981D4 - adds r1, #0x68 - ldr r0, _080981D0 @ =0x0000060A - b _080981D8 - .align 2, 0 -_080981CC: .4byte gUnk_03000F50 -_080981D0: .4byte 0x0000060A -_080981D4: - adds r1, #0x68 - ldr r0, _08098208 @ =0x00000808 -_080981D8: - strh r0, [r1] -_080981DA: - ldrb r0, [r4, #0xa] - adds r3, r4, #0 - adds r3, #0x68 - cmp r0, #0 - beq _08098222 - ldr r0, _0809820C @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r0, _08098210 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - subs r1, r1, r0 - movs r0, #0xf8 - lsls r0, r0, #1 - cmp r1, r0 - ble _08098214 - ldrb r1, [r3] - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0x3f - bgt _08098222 - adds r0, r1, #1 - b _08098220 - .align 2, 0 -_08098208: .4byte 0x00000808 -_0809820C: .4byte gUnk_03001160 -_08098210: .4byte gUnk_03000BF0 -_08098214: - ldrb r1, [r3] - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - ble _08098222 - subs r0, r1, #1 -_08098220: - strb r0, [r3] -_08098222: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809823C - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - adds r0, #1 - movs r1, #0xf - ands r0, r1 - strb r0, [r4, #0xf] -_0809823C: - ldr r1, _0809825C @ =gUnk_08123484 - ldrb r0, [r4, #0xf] - adds r0, r0, r1 - ldrb r0, [r0] - adds r2, r4, #0 - adds r2, #0x62 - strb r0, [r2] - ldrb r0, [r4, #0xf] - adds r0, r0, r1 - ldrb r1, [r3] - ldrb r0, [r0] - adds r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x63 - strb r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_0809825C: .4byte gUnk_08123484 - - thumb_func_start sub_08098260 -sub_08098260: @ 0x08098260 - push {lr} - ldr r2, _08098274 @ =gUnk_08123494 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08098274: .4byte gUnk_08123494 - - thumb_func_start sub_08098278 -sub_08098278: @ 0x08098278 - push {lr} - adds r3, r0, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #5 - orrs r1, r2 - strb r1, [r3] - bl sub_08098340 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08098294 -sub_08098294: @ 0x08098294 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08098418 - cmp r0, #0 - beq _080982FA - movs r5, #0 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x62 - strb r5, [r0] - adds r0, #1 - strb r5, [r0] - adds r0, #0xf - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x70 - ldrh r1, [r1] - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - movs r0, #0xb5 - lsls r0, r0, #1 - bl sub_08004488 - adds r0, r4, #0 - movs r1, #0x1e - bl sub_0805E4E0 - bl sub_08079F8C - cmp r0, #0 - beq _080982FA - ldr r2, _080982FC @ =gUnk_03003F80 - movs r0, #0x90 - strb r0, [r2, #6] - movs r0, #5 - strb r0, [r2, #0xc] - ldr r0, [r2, #0x30] - movs r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r1, _08098300 @ =gUnk_03001160 - strh r5, [r1, #0x2c] - strh r5, [r1, #0x30] - ldrb r0, [r1, #0x14] - lsls r0, r0, #2 - strb r0, [r1, #0x15] -_080982FA: - pop {r4, r5, pc} - .align 2, 0 -_080982FC: .4byte gUnk_03003F80 -_08098300: .4byte gUnk_03001160 - - thumb_func_start sub_08098304 -sub_08098304: @ 0x08098304 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809833C - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0809832C - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - b _08098336 -_0809832C: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CD48 -_08098336: - adds r0, r4, #0 - bl sub_08098340 -_0809833C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08098340 -sub_08098340: @ 0x08098340 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x74 - movs r1, #0x3c - strh r1, [r2] - bl sub_08098354 - pop {pc} - - thumb_func_start sub_08098354 -sub_08098354: @ 0x08098354 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _080983BC - strb r0, [r6, #0xb] - movs r0, #0x2e - ldrsh r2, [r6, r0] - ldr r1, _080983B4 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r3, #0x3f - ands r2, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r1, [r1, #8] - adds r1, #0x10 - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r2, r0 - adds r4, r6, #0 - adds r4, #0x70 - strh r2, [r4] - ldrh r0, [r4] - adds r5, r6, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x72 - strh r0, [r1] - ldr r0, _080983B8 @ =0x00004053 - ldrh r1, [r4] - ldrb r2, [r5] - bl sub_0800015E - adds r0, r6, #0 - movs r1, #1 - bl sub_08004260 - b _0809840C - .align 2, 0 -_080983B4: .4byte gUnk_03000BF0 -_080983B8: .4byte 0x00004053 -_080983BC: - movs r0, #1 - strb r0, [r6, #0xb] - movs r0, #0x2e - ldrsh r2, [r6, r0] - ldr r1, _08098410 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, #0x10 - subs r2, r2, r0 - asrs r2, r2, #4 - movs r3, #0x3f - ands r2, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r2, r0 - adds r4, r6, #0 - adds r4, #0x70 - strh r2, [r4] - ldrh r0, [r4] - adds r5, r6, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x72 - strh r0, [r1] - ldr r0, _08098414 @ =0x00004052 - ldrh r1, [r4] - ldrb r2, [r5] - bl sub_0800015E - adds r0, r6, #0 - movs r1, #0 - bl sub_08004260 -_0809840C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08098410: .4byte gUnk_03000BF0 -_08098414: .4byte 0x00004052 - - thumb_func_start sub_08098418 -sub_08098418: @ 0x08098418 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x70 - ldrh r0, [r6] - adds r5, r4, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - ldr r1, _08098448 @ =0x00004054 - cmp r0, r1 - bne _0809846C - adds r1, r4, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0809844C - movs r0, #1 - b _08098482 - .align 2, 0 -_08098448: .4byte 0x00004054 -_0809844C: - adds r0, r4, #0 - bl sub_08098484 - ldr r1, _08098468 @ =gUnk_081234A0 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrh r1, [r6] - ldrb r2, [r5] - bl sub_0800015E - b _08098480 - .align 2, 0 -_08098468: .4byte gUnk_081234A0 -_0809846C: - adds r1, r4, #0 - adds r1, #0x74 - movs r2, #0 - movs r0, #0x3c - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x62 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] -_08098480: - movs r0, #0 -_08098482: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08098484 -sub_08098484: @ 0x08098484 - push {r4, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xb] - ldr r4, _080984C4 @ =gUnk_081234AC - cmp r0, #0 - bne _08098492 - ldr r4, _080984C8 @ =gUnk_081234A4 -_08098492: - adds r2, r3, #0 - adds r2, #0x74 - ldrh r0, [r2] - lsrs r0, r0, #2 - movs r1, #6 - ands r0, r1 - adds r4, r4, r0 - ldrb r0, [r4] - adds r1, r3, #0 - adds r1, #0x62 - strb r0, [r1] - ldrb r1, [r4, #1] - adds r0, r3, #0 - adds r0, #0x63 - strb r1, [r0] - ldrh r1, [r2] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _080984C2 - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_08004488 -_080984C2: - pop {r4, pc} - .align 2, 0 -_080984C4: .4byte gUnk_081234AC -_080984C8: .4byte gUnk_081234A4 - - thumb_func_start sub_080984CC -sub_080984CC: @ 0x080984CC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080984E8 @ =gUnk_08123504 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0800445C - pop {r4, pc} - .align 2, 0 -_080984E8: .4byte gUnk_08123504 - - thumb_func_start sub_080984EC -sub_080984EC: @ 0x080984EC - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - ldr r2, _08098528 @ =gUnk_081234EC - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - str r1, [r0, #0x48] - ldrb r0, [r0, #0xb] - cmp r0, #1 - bne _08098524 - ldr r0, _0809852C @ =0x00004024 - movs r1, #0x82 - lsls r1, r1, #3 - movs r2, #1 - bl sub_0800015E - ldr r0, _08098530 @ =0x00004026 - ldr r1, _08098534 @ =0x00000411 - movs r2, #1 - bl sub_0800015E - ldr r0, _08098538 @ =0x00004025 - ldr r1, _0809853C @ =0x00000412 - movs r2, #1 - bl sub_0800015E -_08098524: - pop {pc} - .align 2, 0 -_08098528: .4byte gUnk_081234EC -_0809852C: .4byte 0x00004024 -_08098530: .4byte 0x00004026 -_08098534: .4byte 0x00000411 -_08098538: .4byte 0x00004025 -_0809853C: .4byte 0x00000412 - - thumb_func_start nullsub_532 -nullsub_532: @ 0x08098540 - bx lr - .align 2, 0 - - thumb_func_start sub_08098544 -sub_08098544: @ 0x08098544 - push {lr} - ldr r2, _08098558 @ =gUnk_0812350C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08098558: .4byte gUnk_0812350C - - thumb_func_start sub_0809855C -sub_0809855C: @ 0x0809855C - push {r4, r5, lr} - adds r4, r0, #0 - movs r3, #0 - movs r5, #1 - strb r5, [r4, #0xc] - ldrb r0, [r4, #0x10] - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x10] - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - ldrb r1, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x19] - strb r3, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x6e - strb r0, [r1] - subs r1, #4 - movs r0, #0x86 - strb r0, [r1] - strb r3, [r4, #0x16] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080985AC - movs r0, #2 - strb r0, [r4, #0x1c] - b _080985AE -_080985AC: - strb r5, [r4, #0x1c] -_080985AE: - ldr r1, [r4, #0x50] - adds r0, r4, #0 - bl sub_0806FAD8 - adds r0, r4, #0 - bl sub_08098918 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080985C0 -sub_080985C0: @ 0x080985C0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080989E4 - cmp r0, #0 - bne _080985CE - b _080986FC -_080985CE: - ldrb r0, [r0, #0xc] - cmp r0, #4 - bls _080985D6 - b _080986E6 -_080985D6: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080985E6 - b _080986EE -_080985E6: - movs r0, #0x3f - ands r0, r1 - subs r0, #4 - cmp r0, #0x1c - bls _080985F2 - b _08098702 -_080985F2: - lsls r0, r0, #2 - ldr r1, _080985FC @ =_08098600 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080985FC: .4byte _08098600 -_08098600: @ jump table - .4byte _080986C4 @ case 0 - .4byte _080986C4 @ case 1 - .4byte _080986C4 @ case 2 - .4byte _08098702 @ case 3 - .4byte _080986C4 @ case 4 - .4byte _080986C4 @ case 5 - .4byte _080986C4 @ case 6 - .4byte _080986C4 @ case 7 - .4byte _080986C4 @ case 8 - .4byte _080986C4 @ case 9 - .4byte _08098702 @ case 10 - .4byte _0809867E @ case 11 - .4byte _080986C4 @ case 12 - .4byte _080986C4 @ case 13 - .4byte _080986C4 @ case 14 - .4byte _08098674 @ case 15 - .4byte _080986E0 @ case 16 - .4byte _08098702 @ case 17 - .4byte _080986E0 @ case 18 - .4byte _08098702 @ case 19 - .4byte _080986C4 @ case 20 - .4byte _080986C4 @ case 21 - .4byte _080986C4 @ case 22 - .4byte _08098702 @ case 23 - .4byte _08098702 @ case 24 - .4byte _0809867E @ case 25 - .4byte _08098702 @ case 26 - .4byte _08098702 @ case 27 - .4byte _080986E0 @ case 28 -_08098674: - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - b _08098702 -_0809867E: - movs r2, #0 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - adds r0, r4, #0 - adds r0, #0x63 - strb r2, [r0] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x18 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r0, [r4, #0x50] - str r2, [r0, #0x54] - adds r0, r4, #0 - bl sub_080988E8 - b _08098702 -_080986C4: - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080986E6 - ldr r0, _080986DC @ =gUnk_03003F80 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08098702 - b _080986E6 - .align 2, 0 -_080986DC: .4byte gUnk_03003F80 -_080986E0: - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08098702 -_080986E6: - adds r0, r4, #0 - bl sub_080989C0 - b _08098702 -_080986EE: - adds r0, r4, #0 - bl sub_08098918 - adds r0, r4, #0 - bl sub_08078930 - b _08098702 -_080986FC: - adds r0, r4, #0 - bl sub_080989C0 -_08098702: - pop {r4, pc} - - thumb_func_start sub_08098704 -sub_08098704: @ 0x08098704 - push {lr} - ldr r2, _08098718 @ =gUnk_08123524 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08098718: .4byte gUnk_08123524 - - thumb_func_start sub_0809871C -sub_0809871C: @ 0x0809871C - adds r3, r0, #0 - ldrb r1, [r3, #0x10] - movs r0, #0x80 - movs r2, #0 - orrs r0, r1 - strb r0, [r3, #0x10] - adds r1, r3, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #3 - movs r0, #1 - strb r0, [r1] - ldr r0, _08098754 @ =gUnk_03001160 - adds r0, #0x3b - ldrb r0, [r0] - subs r1, #4 - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x63 - strb r2, [r0] - ldr r0, [r3, #0x50] - str r2, [r0, #0x54] - ldrb r0, [r3, #0xd] - adds r0, #1 - strb r0, [r3, #0xd] - bx lr - .align 2, 0 -_08098754: .4byte gUnk_03001160 - - thumb_func_start nullsub_533 -nullsub_533: @ 0x08098758 - bx lr - .align 2, 0 - - thumb_func_start sub_0809875C -sub_0809875C: @ 0x0809875C - adds r0, #0x29 - ldrb r2, [r0] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #0x18 - orrs r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_08098770 -sub_08098770: @ 0x08098770 - push {r4, lr} - adds r4, r0, #0 - bl sub_080043E8 - cmp r0, #2 - beq _0809878C - cmp r0, #2 - bhi _08098786 - cmp r0, #1 - beq _08098792 - b _080987A4 -_08098786: - cmp r0, #3 - beq _08098798 - b _080987A4 -_0809878C: - adds r0, r4, #0 - movs r1, #0xb - b _0809879C -_08098792: - adds r0, r4, #0 - movs r1, #0 - b _0809879C -_08098798: - adds r0, r4, #0 - movs r1, #0xc -_0809879C: - movs r2, #0 - bl sub_080A29AC - b _080987AC -_080987A4: - adds r0, r4, #0 - bl sub_080989C0 - b _080987B0 -_080987AC: - bl sub_0805E780 -_080987B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080987B4 -sub_080987B4: @ 0x080987B4 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_080987BC -sub_080987BC: @ 0x080987BC - push {lr} - adds r1, r0, #0 - ldr r0, _080987D0 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _080987CE - adds r0, r1, #0 - bl sub_080987D4 -_080987CE: - pop {pc} - .align 2, 0 -_080987D0: .4byte gUnk_03003F80 - - thumb_func_start sub_080987D4 -sub_080987D4: @ 0x080987D4 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - strb r2, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start sub_080987E0 -sub_080987E0: @ 0x080987E0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0809880C @ =gUnk_08123540 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xd] - cmp r0, #1 - bhi _0809880A - adds r0, r4, #0 - bl sub_080989E4 - cmp r0, #0 - bne _0809880A - adds r0, r4, #0 - bl sub_080989C0 -_0809880A: - pop {r4, pc} - .align 2, 0 -_0809880C: .4byte gUnk_08123540 - - thumb_func_start sub_08098810 -sub_08098810: @ 0x08098810 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x30 - strb r1, [r0, #0x1d] - strb r2, [r0, #0xe] - bx lr - .align 2, 0 - - thumb_func_start sub_08098820 -sub_08098820: @ 0x08098820 - push {lr} - adds r2, r0, #0 - ldr r0, _0809884C @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _0809883E - adds r0, r2, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _08098850 -_0809883E: - adds r1, r2, #0 - adds r1, #0x62 - movs r0, #0 - strb r0, [r1] - movs r0, #1 - strb r0, [r2, #0xc] - b _08098856 - .align 2, 0 -_0809884C: .4byte gUnk_03003F80 -_08098850: - adds r0, r2, #0 - bl sub_0806F4E8 -_08098856: - pop {pc} - - thumb_func_start sub_08098858 -sub_08098858: @ 0x08098858 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xe] - cmp r1, #0 - bne _08098878 - movs r0, #1 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x62 - strb r1, [r0] - adds r2, r4, #0 - adds r2, #0x63 - movs r0, #0xfe - strb r0, [r2] - ldr r0, [r4, #0x50] - str r1, [r0, #0x54] -_08098878: - ldr r0, _0809889C @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _08098892 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _080988A0 -_08098892: - adds r0, r4, #0 - bl sub_080989C0 - b _080988B4 - .align 2, 0 -_0809889C: .4byte gUnk_03003F80 -_080988A0: - adds r0, r4, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _080988B4 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080988B4 - bl sub_0805E780 -_080988B4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080988B8 -sub_080988B8: @ 0x080988B8 - push {lr} - adds r2, r0, #0 - ldr r0, _080988CC @ =gUnk_03003F80 - ldrb r0, [r0, #0x1c] - cmp r0, #0 - bne _080988D0 - adds r0, r2, #0 - bl sub_080989C0 - b _080988D8 - .align 2, 0 -_080988CC: .4byte gUnk_03003F80 -_080988D0: - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] -_080988D8: - pop {pc} - .align 2, 0 - - thumb_func_start nullsub_123 -nullsub_123: @ 0x080988DC - bx lr - .align 2, 0 - - thumb_func_start sub_080988E0 -sub_080988E0: @ 0x080988E0 - push {lr} - bl sub_080989C0 - pop {pc} - - thumb_func_start sub_080988E8 -sub_080988E8: @ 0x080988E8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _080988FA - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_080988FA: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _0809890E - adds r0, r4, #0 - bl sub_080989C0 -_0809890E: - pop {r4, pc} - - thumb_func_start sub_08098910 -sub_08098910: @ 0x08098910 - push {lr} - bl sub_080989C0 - pop {pc} - - thumb_func_start sub_08098918 -sub_08098918: @ 0x08098918 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_080989E4 - adds r6, r0, #0 - cmp r6, #0 - bne _0809892E - adds r0, r4, #0 - bl sub_080989C0 - b _080989BC -_0809892E: - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r1, [r6, #0x10] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - beq _08098990 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08098968 - adds r0, #1 - strb r0, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r4, #0x50] - adds r0, r4, #0 - bl sub_0806FAD8 -_08098968: - ldr r2, _0809898C @ =gUnk_08123558 - adds r0, r6, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0xf - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, #8 - movs r1, #0 - strh r0, [r4, #0x36] - adds r0, r4, #0 - adds r0, #0x63 - strb r1, [r0] - b _080989BC - .align 2, 0 -_0809898C: .4byte gUnk_08123558 -_08098990: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080989B2 - strb r5, [r4, #0xf] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r4, #0x50] - adds r0, r4, #0 - bl sub_0806FAD8 -_080989B2: - strh r5, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #3 - strb r0, [r1] -_080989BC: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080989C0 -sub_080989C0: @ 0x080989C0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080989E4 - cmp r0, #0 - beq _080989D2 - ldr r1, [r4, #0x50] - movs r0, #0 - str r0, [r1, #0x54] -_080989D2: - ldrb r1, [r4, #0xa] - adds r1, #3 - adds r0, r4, #0 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 - pop {r4, pc} - - thumb_func_start sub_080989E4 -sub_080989E4: @ 0x080989E4 - push {lr} - ldr r1, [r0, #0x50] - cmp r1, #0 - beq _080989F4 - ldr r0, [r1, #4] - cmp r0, #0 - bne _080989F4 - movs r1, #0 -_080989F4: - adds r0, r1, #0 - pop {pc} - - thumb_func_start sub_080989F8 -sub_080989F8: @ 0x080989F8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08098A08 - bl sub_0805E780 -_08098A08: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08098A44 - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - movs r0, #0x28 - strb r0, [r4, #0x1e] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08098A38 - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - b _08098A44 -_08098A38: - cmp r0, #2 - bne _08098A44 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_08098A44: - ldr r0, [r4, #0x50] - movs r3, #0x80 - lsls r3, r3, #0xc - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - movs r0, #0 - strh r0, [r4, #0x36] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08098A76 - ldr r3, [r4, #0x54] - ldrb r1, [r3, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r3, #0x1e] - adds r0, #0x1f - strb r0, [r4, #0x1e] -_08098A76: - pop {r4, pc} - - thumb_func_start sub_08098A78 -sub_08098A78: @ 0x08098A78 - push {lr} - ldr r2, _08098A8C @ =gUnk_08123568 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08098A8C: .4byte gUnk_08123568 - - thumb_func_start sub_08098A90 -sub_08098A90: @ 0x08098A90 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #1 - beq _08098A9C - movs r0, #2 -_08098A9C: - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x7f - ands r0, r1 - adds r0, #0x7f - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - ldr r1, _08098ACC @ =gUnk_08123574 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - ldrb r0, [r4, #0xb] - adds r1, r1, r0 - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 -_08098ACC: .4byte gUnk_08123574 - - thumb_func_start sub_08098AD0 -sub_08098AD0: @ 0x08098AD0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08098AE6 - ldrb r0, [r1, #0xc] - adds r0, #1 - strb r0, [r1, #0xc] -_08098AE6: - pop {pc} - - thumb_func_start sub_08098AE8 -sub_08098AE8: @ 0x08098AE8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08098B08 - movs r0, #0xfe - ands r0, r1 - strb r0, [r4] - ldr r0, _08098B0C @ =0x0000021B - bl sub_08004488 -_08098B08: - pop {r4, pc} - .align 2, 0 -_08098B0C: .4byte 0x0000021B - - thumb_func_start sub_08098B10 -sub_08098B10: @ 0x08098B10 - push {lr} - ldr r2, _08098B24 @ =gUnk_08123664 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08098B24: .4byte gUnk_08123664 - - thumb_func_start sub_08098B28 -sub_08098B28: @ 0x08098B28 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrb r2, [r5, #0xa] - lsls r2, r2, #1 - ldr r0, _08098BD4 @ =gUnk_0812366C - adds r2, r2, r0 - movs r3, #1 - movs r4, #1 - strb r4, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r5, #0x18] - ldrb r0, [r5, #0xa] - strb r0, [r5, #0x1e] - ldrb r0, [r2] - adds r1, r5, #0 - adds r1, #0x82 - strb r0, [r1] - ldrb r0, [r2, #1] - adds r2, r5, #0 - adds r2, #0x83 - strb r0, [r2] - ldrb r0, [r1] - lsrs r0, r0, #1 - ldrh r1, [r5, #0x2e] - subs r1, r1, r0 - adds r0, r5, #0 - adds r0, #0x78 - strh r1, [r0] - ldrb r0, [r2] - lsrs r0, r0, #1 - ldrh r1, [r5, #0x32] - subs r1, r1, r0 - subs r2, #9 - strh r1, [r2] - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldr r2, _08098BD8 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r6, #0x32 - ldrsh r0, [r5, r6] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r6, r5, #0 - adds r6, #0x80 - strh r1, [r6] - adds r7, r5, #0 - adds r7, #0x38 - strb r4, [r7] - adds r0, r5, #0 - bl sub_08016A04 - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _08098BCA - ldr r0, _08098BDC @ =0x00004074 - ldrh r1, [r6] - subs r1, #0x40 - ldrb r2, [r7] - bl sub_0800015E -_08098BCA: - adds r0, r5, #0 - bl sub_08098BE8 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08098BD4: .4byte gUnk_0812366C -_08098BD8: .4byte gUnk_03000BF0 -_08098BDC: .4byte 0x00004074 - - thumb_func_start sub_08098BE0 -sub_08098BE0: @ 0x08098BE0 - push {lr} - bl sub_08098BE8 - pop {pc} - - thumb_func_start sub_08098BE8 -sub_08098BE8: @ 0x08098BE8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, _08098C28 @ =gUnk_03003F80 - ldr r0, [r6, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08098C26 - ldr r4, _08098C2C @ =gUnk_03001160 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08098C30 - cmp r0, #0 - beq _08098C26 - bl sub_08079F8C - cmp r0, #0 - beq _08098C26 - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08098C26 - movs r0, #1 - strb r0, [r6, #0x14] - adds r0, r5, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, r4, #0 - bl sub_0807AAF8 -_08098C26: - pop {r4, r5, r6, pc} - .align 2, 0 -_08098C28: .4byte gUnk_03003F80 -_08098C2C: .4byte gUnk_03001160 - - thumb_func_start sub_08098C30 -sub_08098C30: @ 0x08098C30 - push {r4, lr} - adds r3, r0, #0 - movs r4, #0 - movs r0, #0x2e - ldrsh r2, [r1, r0] - adds r0, r3, #0 - adds r0, #0x78 - ldrh r0, [r0] - subs r2, r2, r0 - movs r0, #0x32 - ldrsh r1, [r1, r0] - adds r0, r3, #0 - adds r0, #0x7a - ldrh r0, [r0] - subs r1, r1, r0 - adds r0, r3, #0 - adds r0, #0x82 - ldrb r0, [r0] - cmp r2, r0 - bhi _08098C64 - adds r0, r3, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r1, r0 - bhi _08098C64 - movs r4, #1 -_08098C64: - adds r0, r4, #0 - pop {r4, pc} - - thumb_func_start sub_08098C68 -sub_08098C68: @ 0x08098C68 - push {lr} - ldr r2, _08098C7C @ =gUnk_08123674 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08098C7C: .4byte gUnk_08123674 - - thumb_func_start sub_08098C80 -sub_08098C80: @ 0x08098C80 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0 - movs r5, #1 - strb r5, [r4, #0xc] - strb r0, [r4, #0xe] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _08098CC8 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r6, #0x32 - ldrsh r0, [r4, r6] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x80 - strh r1, [r0] - ldr r0, _08098CCC @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08098CD0 - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - b _08098CD6 - .align 2, 0 -_08098CC8: .4byte gUnk_03000BF0 -_08098CCC: .4byte gUnk_03003F80 -_08098CD0: - adds r0, r4, #0 - adds r0, #0x38 - strb r5, [r0] -_08098CD6: - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - adds r0, #0x80 - ldrh r1, [r0] - subs r1, #0x40 - movs r0, #0x47 - movs r2, #1 - bl sub_08000148 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start nullsub_124 -nullsub_124: @ 0x08098CF0 - bx lr - .align 2, 0 - - thumb_func_start sub_08098CF4 -sub_08098CF4: @ 0x08098CF4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _08098D14 - ldr r0, _08098D10 @ =gUnk_0812367C - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _08098D1A - .align 2, 0 -_08098D10: .4byte gUnk_0812367C -_08098D14: - adds r0, r2, #0 - bl sub_08098E3C -_08098D1A: - pop {pc} - - thumb_func_start sub_08098D1C -sub_08098D1C: @ 0x08098D1C - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #1 - strb r5, [r4, #0xc] - ldr r0, _08098D40 @ =0x0000FFF0 - strh r0, [r4, #0x36] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - cmp r0, #0 - beq _08098D44 - bl sub_0807CBE4 - cmp r0, #0 - bne _08098D44 - strb r5, [r4, #0xc] - b _08098D5A - .align 2, 0 -_08098D40: .4byte 0x0000FFF0 -_08098D44: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_08098E88 -_08098D5A: - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - pop {r4, r5, pc} - - thumb_func_start sub_08098D6C -sub_08098D6C: @ 0x08098D6C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08098D9A - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x2d - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x43 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _08098D9A - ldrh r0, [r1, #0x32] - adds r0, #8 - strh r0, [r1, #0x32] -_08098D9A: - pop {r4, pc} - - thumb_func_start sub_08098D9C -sub_08098D9C: @ 0x08098D9C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08098DC2 - movs r0, #3 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - subs r0, #7 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2, #0x18] - adds r0, r2, #0 - bl sub_08098E88 -_08098DC2: - pop {pc} - - thumb_func_start sub_08098DC4 -sub_08098DC4: @ 0x08098DC4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, _08098E2C @ =gUnk_03001160 - adds r1, r6, #0 - movs r2, #8 - movs r3, #8 - bl sub_0800419C - cmp r0, #0 - beq _08098E24 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0806FA24 - adds r0, r5, #0 - bl sub_08004542 - adds r0, r6, #0 - bl sub_08004542 - adds r0, r6, #0 - adds r0, #0x38 - movs r4, #1 - strb r4, [r0] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0806FAB0 - ldr r1, _08098E30 @ =gUnk_03003F80 - movs r0, #0x1f - strb r0, [r1, #0xc] - adds r0, r1, #0 - adds r0, #0x38 - strb r4, [r0] - ldrb r0, [r5, #0xb] - adds r1, #0x39 - strb r0, [r1] - movs r1, #4 - strb r1, [r5, #0xc] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bne _08098E20 - movs r0, #0x23 - bl sub_0807CD04 -_08098E20: - bl sub_08077B20 -_08098E24: - adds r0, r5, #0 - bl sub_080042B8 - pop {r4, r5, r6, pc} - .align 2, 0 -_08098E2C: .4byte gUnk_03001160 -_08098E30: .4byte gUnk_03003F80 - - thumb_func_start sub_08098E34 -sub_08098E34: @ 0x08098E34 - push {lr} - bl sub_080042B8 - pop {pc} - - thumb_func_start sub_08098E3C -sub_08098E3C: @ 0x08098E3C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08098E5E - movs r2, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_080042AC -_08098E5E: - ldrb r1, [r4, #0xa] - movs r0, #2 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - lsls r0, r0, #1 - ldr r1, _08098E84 @ =gUnk_08123690 - adds r0, r0, r1 - ldrh r1, [r0] - ldrh r2, [r0, #2] - adds r0, r4, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_08098E84: .4byte gUnk_08123690 - - thumb_func_start sub_08098E88 -sub_08098E88: @ 0x08098E88 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x82 - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08098EB0 - ldr r3, _08098ED8 @ =0xFFFF0000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #8 - strb r0, [r1] -_08098EB0: - movs r0, #0x82 - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _08098ED4 - ldr r3, _08098EDC @ =0xFFFE0000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0x10 - strb r0, [r1] -_08098ED4: - pop {r4, r5, pc} - .align 2, 0 -_08098ED8: .4byte 0xFFFF0000 -_08098EDC: .4byte 0xFFFE0000 - - thumb_func_start sub_08098EE0 -sub_08098EE0: @ 0x08098EE0 - push {lr} - ldr r2, _08098EF4 @ =gUnk_081236DC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08098EF4: .4byte gUnk_081236DC - - thumb_func_start sub_08098EF8 -sub_08098EF8: @ 0x08098EF8 - push {lr} - adds r3, r0, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #5 - orrs r1, r2 - strb r1, [r3] - bl sub_08098FCC - pop {pc} - .align 2, 0 - - thumb_func_start sub_08098F14 -sub_08098F14: @ 0x08098F14 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_080990EC - cmp r0, #0 - beq _08098F84 - movs r6, #0 - movs r0, #2 - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - adds r1, r5, #0 - adds r1, #0x70 - ldrh r1, [r1] - adds r4, r5, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - adds r0, r5, #0 - adds r0, #0x76 - ldrh r0, [r0] - adds r1, r5, #0 - adds r1, #0x72 - ldrh r1, [r1] - ldrb r2, [r4] - bl sub_0800015E - movs r0, #0x99 - lsls r0, r0, #1 - bl sub_08004488 - adds r0, r5, #0 - movs r1, #0x1e - bl sub_0805E4E0 - bl sub_08079F8C - cmp r0, #0 - beq _08098F84 - ldr r2, _08098F88 @ =gUnk_03003F80 - movs r0, #0x98 - strb r0, [r2, #6] - movs r0, #5 - strb r0, [r2, #0xc] - ldr r0, [r2, #0x30] - movs r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r1, _08098F8C @ =gUnk_03001160 - strh r6, [r1, #0x2c] - strh r6, [r1, #0x30] - ldrb r0, [r1, #0x14] - lsls r0, r0, #2 - strb r0, [r1, #0x15] -_08098F84: - pop {r4, r5, r6, pc} - .align 2, 0 -_08098F88: .4byte gUnk_03003F80 -_08098F8C: .4byte gUnk_03001160 - - thumb_func_start sub_08098F90 -sub_08098F90: @ 0x08098F90 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08098FC8 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _08098FB8 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - b _08098FC2 -_08098FB8: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CD48 -_08098FC2: - adds r0, r4, #0 - bl sub_08098FCC -_08098FC8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08098FCC -sub_08098FCC: @ 0x08098FCC - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x84 - movs r1, #0x3c - strh r1, [r2] - bl sub_08098FE0 - pop {pc} - - thumb_func_start sub_08098FE0 -sub_08098FE0: @ 0x08098FE0 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _0809906C - strb r0, [r6, #0xb] - movs r0, #0x2e - ldrsh r2, [r6, r0] - ldr r1, _08099060 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r3, #0x3f - ands r2, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r1, [r1, #8] - adds r1, #0x10 - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r2, r0 - adds r5, r6, #0 - adds r5, #0x70 - strh r2, [r5] - subs r2, #0x40 - adds r7, r6, #0 - adds r7, #0x72 - strh r2, [r7] - ldrh r0, [r5] - adds r4, r6, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x74 - strh r0, [r1] - ldrh r0, [r7] - ldrb r1, [r4] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r0, _08099064 @ =0x00004057 - ldrh r1, [r5] - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _08099068 @ =0x00004058 - ldrh r1, [r7] - ldrb r2, [r4] - bl sub_0800015E - adds r0, r6, #0 - movs r1, #1 - bl sub_08004260 - b _080990DC - .align 2, 0 -_08099060: .4byte gUnk_03000BF0 -_08099064: .4byte 0x00004057 -_08099068: .4byte 0x00004058 -_0809906C: - movs r0, #1 - strb r0, [r6, #0xb] - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, _080990E0 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - adds r0, #0x10 - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r6, #0 - adds r5, #0x70 - strh r1, [r5] - subs r1, #1 - adds r7, r6, #0 - adds r7, #0x72 - strh r1, [r7] - ldrh r0, [r5] - adds r4, r6, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x74 - strh r0, [r1] - ldrh r0, [r7] - ldrb r1, [r4] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r0, _080990E4 @ =0x00004055 - ldrh r1, [r5] - ldrb r2, [r4] - bl sub_0800015E - ldr r0, _080990E8 @ =0x00004056 - ldrh r1, [r7] - ldrb r2, [r4] - bl sub_0800015E - adds r0, r6, #0 - movs r1, #0 - bl sub_08004260 -_080990DC: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080990E0: .4byte gUnk_03000BF0 -_080990E4: .4byte 0x00004055 -_080990E8: .4byte 0x00004056 - - thumb_func_start sub_080990EC -sub_080990EC: @ 0x080990EC - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x72 - ldrh r0, [r6] - adds r5, r4, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - ldr r1, _0809911C @ =0x00004059 - cmp r0, r1 - bne _08099140 - adds r1, r4, #0 - adds r1, #0x84 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08099120 - movs r0, #1 - b _08099156 - .align 2, 0 -_0809911C: .4byte 0x00004059 -_08099120: - adds r0, r4, #0 - bl sub_08099158 - ldr r1, _0809913C @ =gUnk_081236E8 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - ldrh r1, [r6] - ldrb r2, [r5] - bl sub_0800015E - b _08099154 - .align 2, 0 -_0809913C: .4byte gUnk_081236E8 -_08099140: - adds r1, r4, #0 - adds r1, #0x84 - movs r2, #0 - movs r0, #0x3c - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x62 - strb r2, [r0] - adds r0, #1 - strb r2, [r0] -_08099154: - movs r0, #0 -_08099156: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08099158 -sub_08099158: @ 0x08099158 - push {r4, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xb] - ldr r4, _08099198 @ =gUnk_081236F4 - cmp r0, #0 - bne _08099166 - ldr r4, _0809919C @ =gUnk_081236EC -_08099166: - adds r2, r3, #0 - adds r2, #0x84 - ldrh r0, [r2] - lsrs r0, r0, #2 - movs r1, #6 - ands r0, r1 - adds r4, r4, r0 - ldrb r0, [r4] - adds r1, r3, #0 - adds r1, #0x62 - strb r0, [r1] - ldrb r1, [r4, #1] - adds r0, r3, #0 - adds r0, #0x63 - strb r1, [r0] - ldrh r1, [r2] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _08099194 - ldr r0, _080991A0 @ =0x00000131 - bl sub_08004488 -_08099194: - pop {r4, pc} - .align 2, 0 -_08099198: .4byte gUnk_081236F4 -_0809919C: .4byte gUnk_081236EC -_080991A0: .4byte 0x00000131 - - thumb_func_start sub_080991A4 -sub_080991A4: @ 0x080991A4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #2 - bhi _080991C4 - ldr r0, _080991C0 @ =gUnk_08123734 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _080991CA - .align 2, 0 -_080991C0: .4byte gUnk_08123734 -_080991C4: - adds r0, r2, #0 - bl sub_080996AC -_080991CA: - pop {pc} - - thumb_func_start sub_080991CC -sub_080991CC: @ 0x080991CC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bgt _080991EC - cmp r0, #0 - blt _080991EC - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080991EC - bl sub_0805E780 -_080991EC: - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3f - strb r2, [r0] - subs r1, #5 - movs r0, #0x80 - strb r0, [r1] - ldr r0, _08099244 @ =gUnk_080FD408 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_08099468 - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 - movs r0, #0x84 - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - cmp r0, #0 - beq _08099242 - str r4, [r0, #0x50] -_08099242: - pop {r4, pc} - .align 2, 0 -_08099244: .4byte gUnk_080FD408 - - thumb_func_start sub_08099248 -sub_08099248: @ 0x08099248 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - bl sub_0809963C - cmp r0, #0 - beq _08099280 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - ldr r0, _0809927C @ =0x000001B3 - bl sub_08004488 - adds r0, r4, #0 - bl sub_08099330 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0809930E - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - b _0809930E - .align 2, 0 -_0809927C: .4byte 0x000001B3 -_08099280: - adds r0, r4, #0 - bl sub_0800442E - cmp r0, #0 - bne _0809930E - adds r7, r4, #0 - adds r7, #0x70 - ldrh r0, [r7] - adds r6, r4, #0 - adds r6, #0x38 - ldrb r1, [r6] - bl sub_080002B0 - adds r5, r0, #0 - ldr r0, _080992B8 @ =0x0000405A - cmp r5, r0 - beq _0809930E - adds r0, r5, #0 - bl sub_08099618 - cmp r0, #1 - beq _080992BC - cmp r0, #1 - blo _080992DC - cmp r0, #2 - beq _08099308 - b _0809930E - .align 2, 0 -_080992B8: .4byte 0x0000405A -_080992BC: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x16 - strb r0, [r4, #0xe] - adds r0, r5, #0 - subs r0, #0x5b - movs r1, #3 - ands r0, r1 - lsls r0, r0, #3 - strb r0, [r4, #0x15] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_080994B8 - b _0809930E -_080992DC: - movs r0, #0xf - movs r1, #0xd - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _080992F2 - adds r0, r4, #0 - bl sub_0806FA24 -_080992F2: - adds r0, r4, #0 - adds r0, #0x6c - ldrh r0, [r0] - ldrh r1, [r7] - ldrb r2, [r6] - bl sub_0800015E - adds r0, r4, #0 - bl sub_0805E7BC - b _0809930E -_08099308: - adds r0, r4, #0 - adds r0, #0x6c - strh r5, [r0] -_0809930E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08099310 -sub_08099310: @ 0x08099310 - push {r4, lr} - adds r4, r0, #0 - bl sub_0809953C - cmp r0, #0 - beq _0809932E - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_08099468 - movs r0, #0xd9 - lsls r0, r0, #1 - bl sub_08004488 -_0809932E: - pop {r4, pc} - - thumb_func_start sub_08099330 -sub_08099330: @ 0x08099330 - push {r4, lr} - adds r4, r0, #0 - bl sub_0809963C - adds r1, r0, #0 - cmp r1, #0 - bne _0809935E - ldrb r0, [r4, #0xe] - cmp r0, #1 - bls _0809934A - subs r0, #2 - strb r0, [r4, #0xe] - b _0809934C -_0809934A: - strb r1, [r4, #0xe] -_0809934C: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08099364 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0805EC60 - b _080993CA -_0809935E: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] -_08099364: - movs r1, #0x80 - lsls r1, r1, #1 - ldr r2, _0809939C @ =gUnk_08123748 - ldrb r0, [r4, #0xe] - lsrs r0, r0, #5 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r2, [r0] - adds r0, r4, #0 - movs r3, #0 - bl sub_0805EC9C - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _080993A0 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r3, [r0] - adds r0, r4, #0 - movs r1, #0x53 - movs r2, #0 - bl sub_080A2A3C - movs r0, #0x72 - bl sub_080A3268 - b _080993BA - .align 2, 0 -_0809939C: .4byte gUnk_08123748 -_080993A0: - cmp r0, #2 - bne _080993BA - adds r0, r4, #0 - adds r0, #0x86 - ldrh r3, [r0] - adds r0, r4, #0 - movs r1, #0x52 - movs r2, #0 - bl sub_080A2A3C - movs r0, #0x72 - bl sub_080A3268 -_080993BA: - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] -_080993CA: - pop {r4, pc} - - thumb_func_start sub_080993CC -sub_080993CC: @ 0x080993CC - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - subs r1, r0, #1 - strb r1, [r5, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _080993E2 - bl sub_0805E780 - b _08099466 -_080993E2: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x30 - bne _08099400 - adds r0, r5, #0 - adds r0, #0x6c - ldrh r0, [r0] - adds r1, r5, #0 - adds r1, #0x70 - ldrh r1, [r1] - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_08099400: - movs r1, #0x80 - lsls r1, r1, #1 - ldrb r0, [r5, #0xe] - movs r2, #0x3c - subs r2, r2, r0 - lsls r2, r2, #5 - adds r2, r2, r1 - adds r0, r5, #0 - movs r3, #0 - bl sub_0805EC9C - ldrb r1, [r5, #0xe] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08099466 - movs r0, #0xf - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A2960 - adds r6, r0, #0 - cmp r6, #0 - beq _08099466 - bl sub_08000E50 - adds r4, r0, #0 - asrs r0, r4, #0x10 - movs r1, #9 - bl __modsi3 - adds r2, r0, #0 - subs r2, #4 - movs r3, #0xf - ands r3, r4 - adds r4, r6, #0 - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4] - lsls r2, r2, #0x10 - rsbs r3, r3, #0 - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0806FA48 -_08099466: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08099468 -sub_08099468: @ 0x08099468 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r2, _080994B0 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r4, r6, #0 - adds r4, #0x70 - strh r1, [r4] - ldrh r0, [r4] - adds r5, r6, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r6, #0 - adds r1, #0x6c - strh r0, [r1] - ldr r0, _080994B4 @ =0x0000405A - ldrh r1, [r4] - ldrb r2, [r5] - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_080994B0: .4byte gUnk_03000BF0 -_080994B4: .4byte 0x0000405A - - thumb_func_start sub_080994B8 -sub_080994B8: @ 0x080994B8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r0, _08099530 @ =0x000001B1 - bl sub_08004488 - adds r0, r5, #0 - adds r0, #0x6c - ldrh r0, [r0] - adds r6, r5, #0 - adds r6, #0x70 - ldrh r1, [r6] - adds r4, r5, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - ldrb r0, [r4] - cmp r0, #2 - bne _080994F8 - ldrh r0, [r6] - movs r1, #1 - bl sub_080002B0 - ldr r1, _08099534 @ =0x0000405A - cmp r0, r1 - bne _080994F8 - movs r0, #0xc4 - lsls r0, r0, #2 - ldrh r1, [r6] - movs r2, #1 - bl sub_08000152 -_080994F8: - adds r2, r5, #0 - adds r2, #0x70 - ldr r1, _08099538 @ =gUnk_080B4488 - ldrb r0, [r5, #0x15] - lsrs r0, r0, #3 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - ldrh r2, [r2] - adds r0, r0, r2 - adds r1, r5, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x79 - beq _08099524 - cmp r0, #0x77 - bne _0809952C -_08099524: - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #0xfe - strb r0, [r1] -_0809952C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08099530: .4byte 0x000001B1 -_08099534: .4byte 0x0000405A -_08099538: .4byte gUnk_080B4488 - - thumb_func_start sub_0809953C -sub_0809953C: @ 0x0809953C - push {r4, lr} - adds r4, r0, #0 - bl sub_0800442E - cmp r0, #0 - bne _08099612 - adds r0, r4, #0 - bl sub_080AEFE0 - adds r0, r4, #0 - bl sub_0800445C - ldrb r1, [r4, #0xe] - cmp r1, #0 - beq _08099570 - ldrh r0, [r4, #0x24] - adds r0, #0x10 - strh r0, [r4, #0x24] - subs r0, r1, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08099570 - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] -_08099570: - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - cmp r0, #1 - beq _080995A0 - cmp r0, #1 - bgt _08099582 - cmp r0, #0 - beq _08099588 - b _080995E6 -_08099582: - cmp r0, #2 - beq _080995BA - b _080995E6 -_08099588: - ldrh r1, [r4, #0x2a] - movs r0, #0xe - ands r0, r1 - cmp r0, #0 - beq _08099612 - ldrh r1, [r4, #0x32] - movs r0, #0xf - ands r0, r1 - subs r0, #7 - cmp r0, #2 - bls _080995D0 - b _080995DE -_080995A0: - ldrh r1, [r4, #0x2a] - movs r0, #0xe0 - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08099612 - ldrh r1, [r4, #0x2e] - movs r0, #0xf - ands r0, r1 - subs r0, #7 - cmp r0, #2 - bls _080995FE - b _080995DE -_080995BA: - ldrh r1, [r4, #0x2a] - movs r0, #0xe0 - ands r0, r1 - cmp r0, #0 - beq _08099612 - ldrh r1, [r4, #0x32] - movs r0, #0xf - ands r0, r1 - subs r0, #7 - cmp r0, #2 - bhi _080995DE -_080995D0: - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - adds r0, #8 - strh r0, [r4, #0x32] - movs r0, #1 - b _08099614 -_080995DE: - adds r0, r4, #0 - bl sub_0809969C - b _08099612 -_080995E6: - ldrh r1, [r4, #0x2a] - movs r0, #0xe0 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08099612 - ldrh r1, [r4, #0x2e] - movs r0, #0xf - ands r0, r1 - subs r0, #7 - cmp r0, #2 - bhi _0809960C -_080995FE: - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - adds r0, #8 - strh r0, [r4, #0x2e] - movs r0, #1 - b _08099614 -_0809960C: - adds r0, r4, #0 - bl sub_0809969C -_08099612: - movs r0, #0 -_08099614: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08099618 -sub_08099618: @ 0x08099618 - push {lr} - adds r2, r0, #0 - ldr r1, _08099620 @ =gUnk_08123750 - b _08099630 - .align 2, 0 -_08099620: .4byte gUnk_08123750 -_08099624: - ldrh r0, [r1] - cmp r0, r2 - bne _0809962E - ldrh r0, [r1, #2] - b _08099638 -_0809962E: - adds r1, #4 -_08099630: - ldrh r0, [r1] - cmp r0, #0 - bne _08099624 - movs r0, #0 -_08099638: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809963C -sub_0809963C: @ 0x0809963C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _08099684 - bl sub_0804B128 - adds r4, r0, #0 - ldrh r0, [r4] - bl sub_0807CBE4 - cmp r0, #0 - beq _08099684 - ldr r0, _08099694 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - ldrh r2, [r4, #2] - adds r1, r1, r2 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - ldrh r0, [r0, #8] - ldrh r6, [r4, #4] - adds r0, r0, r6 - lsls r0, r0, #0x10 - lsrs r3, r0, #0x10 - ldrh r2, [r4, #6] - movs r6, #0x2e - ldrsh r0, [r5, r6] - subs r0, r0, r1 - cmp r2, r0 - blo _08099684 - ldrh r1, [r4, #8] - movs r2, #0x32 - ldrsh r0, [r5, r2] - subs r0, r0, r3 - cmp r1, r0 - bhs _08099698 -_08099684: - adds r0, r5, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x87 - beq _08099698 - movs r0, #0 - b _0809969A - .align 2, 0 -_08099694: .4byte gUnk_03000BF0 -_08099698: - movs r0, #1 -_0809969A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0809969C -sub_0809969C: @ 0x0809969C - push {lr} - movs r1, #0xd - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_080996AC -sub_080996AC: @ 0x080996AC - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080996BC - bl sub_0805E780 -_080996BC: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080996CE - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 -_080996CE: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #2 - bhi _08099726 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08099706 - movs r0, #0 - strb r0, [r2] - bl sub_08000E50 - movs r1, #0x78 - ands r0, r1 - adds r0, #0x78 - adds r1, r4, #0 - adds r1, #0x59 - strb r0, [r1] -_08099706: - adds r0, r4, #0 - bl sub_08004274 - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #0x11 - strb r0, [r1] - b _08099730 -_08099726: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_08099730: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08099734 -sub_08099734: @ 0x08099734 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #3 - bhi _08099754 - ldr r0, _08099750 @ =gUnk_081237A0 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _0809975A - .align 2, 0 -_08099750: .4byte gUnk_081237A0 -_08099754: - adds r0, r2, #0 - bl sub_08099D30 -_0809975A: - pop {pc} - - thumb_func_start sub_0809975C -sub_0809975C: @ 0x0809975C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _08099770 - bl sub_0805E780 -_08099770: - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3f - strb r2, [r0] - subs r1, #5 - movs r0, #0x80 - strb r0, [r1] - ldr r0, _080997C8 @ =gUnk_080FD190 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_08099910 - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 - movs r0, #0x85 - movs r1, #4 - movs r2, #0 - bl sub_080A2960 - cmp r0, #0 - beq _080997C6 - str r4, [r0, #0x50] -_080997C6: - pop {r4, pc} - .align 2, 0 -_080997C8: .4byte gUnk_080FD190 - - thumb_func_start sub_080997CC -sub_080997CC: @ 0x080997CC - push {r4, lr} - adds r4, r0, #0 - bl sub_0809963C - cmp r0, #0 - beq _080997EC - movs r0, #0 - movs r1, #2 - strb r1, [r4, #0xc] - strb r0, [r4, #0xe] - ldr r0, _080997F0 @ =0x000001B3 - bl sub_08004488 - adds r0, r4, #0 - bl sub_080997F4 -_080997EC: - pop {r4, pc} - .align 2, 0 -_080997F0: .4byte 0x000001B3 - - thumb_func_start sub_080997F4 -sub_080997F4: @ 0x080997F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0809963C - adds r1, r0, #0 - cmp r1, #0 - bne _08099822 - ldrb r0, [r4, #0xe] - cmp r0, #1 - bls _0809980E - subs r0, #2 - strb r0, [r4, #0xe] - b _08099810 -_0809980E: - strb r1, [r4, #0xe] -_08099810: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _08099828 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_0805EC60 - b _0809987C -_08099822: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] -_08099828: - ldr r1, _08099858 @ =gUnk_081237B0 - ldrb r0, [r4, #0xe] - lsrs r0, r0, #5 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r2, [r0] - movs r1, #0x80 - lsls r1, r1, #1 - adds r0, r4, #0 - movs r3, #0 - bl sub_0805EC9C - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0809986C - cmp r0, #2 - beq _0809985C - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - b _0809986C - .align 2, 0 -_08099858: .4byte gUnk_081237B0 -_0809985C: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r3, [r0] - adds r0, r4, #0 - movs r1, #0x53 - movs r2, #0 - bl sub_080A2A3C -_0809986C: - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] -_0809987C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08099880 -sub_08099880: @ 0x08099880 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - subs r1, r0, #1 - strb r1, [r5, #0xe] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _08099896 - bl sub_0805E780 - b _0809990E -_08099896: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x30 - bne _080998A4 - adds r0, r5, #0 - bl sub_08099C18 -_080998A4: - ldrb r0, [r5, #0xe] - movs r4, #0x3c - subs r4, r4, r0 - lsls r4, r4, #5 - movs r1, #0x80 - lsls r1, r1, #1 - adds r4, r4, r1 - adds r0, r5, #0 - adds r2, r4, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #2 - movs r3, #0 - bl sub_0806FCF4 - movs r0, #0xf - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A2960 - adds r6, r0, #0 - cmp r6, #0 - beq _0809990E - bl sub_08000E50 - adds r4, r0, #0 - asrs r0, r4, #0x10 - movs r1, #0x21 - bl __modsi3 - adds r2, r0, #0 - subs r2, #0x10 - movs r0, #0xf - ands r0, r4 - subs r4, r0, #4 - adds r3, r6, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r3] - lsls r2, r2, #0x10 - lsls r3, r4, #0x10 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0806FA48 -_0809990E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08099910 -sub_08099910: @ 0x08099910 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _08099968 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r6, r0, #4 - movs r2, #0x3f - ands r6, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r6, r0 - adds r0, r4, #0 - adds r0, #0x6e - strh r6, [r0] - ldrh r2, [r4, #0x2e] - movs r0, #8 - adds r1, r0, #0 - ands r1, r2 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x13 - ldrh r2, [r4, #0x32] - ands r0, r2 - lsls r0, r0, #0x10 - asrs r0, r0, #0x12 - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r1, r0 - adds r0, r4, #0 - adds r0, #0x6c - strh r1, [r0] - cmp r1, #2 - beq _08099A4C - cmp r1, #2 - bhi _0809996C - cmp r1, #1 - beq _080999A8 - b _08099972 - .align 2, 0 -_08099968: .4byte gUnk_03000BF0 -_0809996C: - cmp r1, #3 - bne _08099972 - b _08099AF0 -_08099972: - ldr r5, _080999A4 @ =0x00004022 - adds r1, r6, #0 - subs r1, #0x41 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - subs r1, #0x40 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - subs r1, r6, #1 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrb r2, [r4] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0800015E - b _08099BF0 - .align 2, 0 -_080999A4: .4byte 0x00004022 -_080999A8: - adds r5, r6, #0 - subs r5, #0x41 - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099A40 @ =0x00004024 - cmp r0, #0x12 - bne _080999C0 - adds r1, #0x55 -_080999C0: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - ldr r7, _08099A44 @ =0x00004022 - adds r1, r6, #0 - subs r1, #0x40 - ldrb r2, [r4] - adds r0, r7, #0 - bl sub_0800015E - adds r5, r6, #0 - subs r5, #0x3f - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099A48 @ =0x00004025 - cmp r0, #0x12 - bne _080999EE - adds r1, #0x56 -_080999EE: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - subs r5, r6, #1 - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099A40 @ =0x00004024 - cmp r0, #0x12 - bne _08099A0C - adds r1, #0x55 -_08099A0C: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - ldrb r2, [r4] - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_0800015E - adds r5, r6, #1 - adds r0, r5, #0 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099A48 @ =0x00004025 - cmp r0, #0x12 - bne _08099A32 - adds r1, #0x56 -_08099A32: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - b _08099BF0 - .align 2, 0 -_08099A40: .4byte 0x00004024 -_08099A44: .4byte 0x00004022 -_08099A48: .4byte 0x00004025 -_08099A4C: - adds r7, r6, #0 - subs r7, #0x41 - lsls r0, r7, #0x10 - lsrs r0, r0, #0x10 - adds r5, r4, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080002C8 - ldr r1, _08099AE4 @ =0x00004023 - cmp r0, #0x12 - bne _08099A66 - adds r1, #0x54 -_08099A66: - ldrb r2, [r5] - adds r0, r1, #0 - adds r1, r7, #0 - bl sub_0800015E - adds r4, r6, #0 - subs r4, #0x40 - lsls r0, r4, #0x10 - lsrs r0, r0, #0x10 - ldrb r1, [r5] - bl sub_080002C8 - ldr r1, _08099AE4 @ =0x00004023 - cmp r0, #0x12 - bne _08099A86 - adds r1, #0x54 -_08099A86: - ldrb r2, [r5] - adds r0, r1, #0 - adds r1, r4, #0 - bl sub_0800015E - ldr r4, _08099AE8 @ =0x00004022 - subs r1, r6, #1 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrb r2, [r5] - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0800015E - adds r4, r6, #0 - adds r4, #0x3f - adds r0, r4, #0 - ldrb r1, [r5] - bl sub_080002C8 - ldr r1, _08099AEC @ =0x00004026 - cmp r0, #0x12 - bne _08099ABA - adds r1, #0x56 -_08099ABA: - ldrb r2, [r5] - adds r0, r1, #0 - adds r1, r4, #0 - bl sub_0800015E - adds r4, r6, #0 - adds r4, #0x40 - adds r0, r4, #0 - ldrb r1, [r5] - bl sub_080002C8 - ldr r1, _08099AEC @ =0x00004026 - cmp r0, #0x12 - bne _08099AD8 - adds r1, #0x56 -_08099AD8: - ldrb r2, [r5] - adds r0, r1, #0 - adds r1, r4, #0 - bl sub_0800015E - b _08099BF0 - .align 2, 0 -_08099AE4: .4byte 0x00004023 -_08099AE8: .4byte 0x00004022 -_08099AEC: .4byte 0x00004026 -_08099AF0: - adds r5, r6, #0 - subs r5, #0x41 - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099BF4 @ =0x00004027 - cmp r0, #0x12 - bne _08099B08 - adds r1, #0x4e -_08099B08: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - adds r5, r6, #0 - subs r5, #0x40 - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099BF8 @ =0x00004023 - cmp r0, #0x12 - bne _08099B28 - adds r1, #0x54 -_08099B28: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - adds r5, r6, #0 - subs r5, #0x3f - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099BFC @ =0x00004028 - cmp r0, #0x12 - bne _08099B48 - adds r1, #0x4e -_08099B48: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - subs r5, r6, #1 - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099C00 @ =0x00004024 - cmp r0, #0x12 - bne _08099B66 - adds r1, #0x55 -_08099B66: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - ldr r0, _08099C04 @ =0x00004022 - ldrb r2, [r4] - adds r1, r6, #0 - bl sub_0800015E - adds r5, r6, #1 - adds r0, r5, #0 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099C08 @ =0x00004025 - cmp r0, #0x12 - bne _08099B8C - adds r1, #0x56 -_08099B8C: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - adds r5, r6, #0 - adds r5, #0x3f - adds r0, r5, #0 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099C0C @ =0x00004029 - cmp r0, #0x12 - bne _08099BAA - adds r1, #0x4f -_08099BAA: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - adds r5, r6, #0 - adds r5, #0x40 - adds r0, r5, #0 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099C10 @ =0x00004026 - cmp r0, #0x12 - bne _08099BC8 - adds r1, #0x56 -_08099BC8: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E - adds r5, r6, #0 - adds r5, #0x41 - adds r0, r5, #0 - ldrb r1, [r4] - bl sub_080002C8 - ldr r1, _08099C14 @ =0x0000402A - cmp r0, #0x12 - bne _08099BE6 - adds r1, #0x50 -_08099BE6: - ldrb r2, [r4] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0800015E -_08099BF0: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08099BF4: .4byte 0x00004027 -_08099BF8: .4byte 0x00004023 -_08099BFC: .4byte 0x00004028 -_08099C00: .4byte 0x00004024 -_08099C04: .4byte 0x00004022 -_08099C08: .4byte 0x00004025 -_08099C0C: .4byte 0x00004029 -_08099C10: .4byte 0x00004026 -_08099C14: .4byte 0x0000402A - - thumb_func_start sub_08099C18 -sub_08099C18: @ 0x08099C18 - push {r4, r5, lr} - adds r1, r0, #0 - adds r0, #0x6e - ldrh r5, [r0] - subs r0, #2 - ldrh r0, [r0] - cmp r0, #2 - beq _08099C96 - cmp r0, #2 - bgt _08099C32 - cmp r0, #1 - beq _08099C60 - b _08099C36 -_08099C32: - cmp r0, #3 - beq _08099CD4 -_08099C36: - adds r0, r5, #0 - subs r0, #0x41 - adds r4, r1, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - subs r0, #0x40 - ldrb r1, [r4] - bl sub_0807BA8C - subs r0, r5, #1 - ldrb r1, [r4] - bl sub_0807BA8C - ldrb r1, [r4] - adds r0, r5, #0 - bl sub_0807BA8C - b _08099D2C -_08099C60: - adds r0, r5, #0 - subs r0, #0x41 - adds r4, r1, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - subs r0, #0x40 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - subs r0, #0x3f - ldrb r1, [r4] - bl sub_0807BA8C - subs r0, r5, #1 - ldrb r1, [r4] - bl sub_0807BA8C - ldrb r1, [r4] - adds r0, r5, #0 - bl sub_0807BA8C - adds r0, r5, #1 - b _08099CCC -_08099C96: - adds r0, r5, #0 - subs r0, #0x41 - adds r4, r1, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - subs r0, #0x40 - ldrb r1, [r4] - bl sub_0807BA8C - subs r0, r5, #1 - ldrb r1, [r4] - bl sub_0807BA8C - ldrb r1, [r4] - adds r0, r5, #0 - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x3f - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x40 -_08099CCC: - ldrb r1, [r4] - bl sub_0807BA8C - b _08099D2C -_08099CD4: - adds r0, r5, #0 - subs r0, #0x41 - adds r4, r1, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - subs r0, #0x40 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - subs r0, #0x3f - ldrb r1, [r4] - bl sub_0807BA8C - subs r0, r5, #1 - ldrb r1, [r4] - bl sub_0807BA8C - ldrb r1, [r4] - adds r0, r5, #0 - bl sub_0807BA8C - adds r0, r5, #1 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x3f - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x40 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x41 - ldrb r1, [r4] - bl sub_0807BA8C -_08099D2C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08099D30 -sub_08099D30: @ 0x08099D30 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _08099D40 - bl sub_0805E780 -_08099D40: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08099D6A - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] -_08099D6A: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #1 - bhi _08099DAA - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08099DA2 - movs r0, #0 - strb r0, [r2] - bl sub_08000E50 - movs r1, #0x78 - ands r0, r1 - adds r0, #0x78 - adds r1, r4, #0 - adds r1, #0x59 - strb r0, [r1] -_08099DA2: - adds r0, r4, #0 - bl sub_08004274 - b _08099DB4 -_08099DAA: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_08099DB4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08099DB8 -sub_08099DB8: @ 0x08099DB8 - push {lr} - ldr r2, _08099DCC @ =gUnk_081237F8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08099DCC: .4byte gUnk_081237F8 - - thumb_func_start sub_08099DD0 -sub_08099DD0: @ 0x08099DD0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x38 - movs r6, #0 - movs r5, #1 - strb r5, [r0] - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - strb r6, [r4, #0xd] - movs r0, #0x46 - bl sub_0807CA84 - cmp r0, #0 - beq _08099E04 - movs r0, #4 - strb r0, [r4, #0xc] - strb r6, [r4, #0x1e] - b _08099E0E -_08099E04: - strb r5, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_08099E0E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08099E10 -sub_08099E10: @ 0x08099E10 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x74 - bl sub_0807CBD0 - cmp r0, #0 - beq _08099E54 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #1 - bne _08099E3E - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _08099E3E - strb r0, [r5] - adds r0, r4, #0 - bl sub_08099ECC -_08099E3E: - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08099E54 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_08099E54: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08099E58 -sub_08099E58: @ 0x08099E58 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08099E88 - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #3 - bne _08099E88 - strb r0, [r4, #0xc] - movs r0, #4 - strb r0, [r4, #0x1e] -_08099E88: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08099E8C -sub_08099E8C: @ 0x08099E8C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08099EC4 @ =gUnk_03001160 - movs r2, #0xc - movs r3, #0xc - bl sub_080041A0 - cmp r0, #0 - beq _08099EC2 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _08099EB2 - adds r0, r4, #0 - bl sub_08099ECC - adds r0, r4, #0 - movs r1, #0x1e - bl sub_0805E4E0 -_08099EB2: - movs r0, #0x75 - bl sub_0807CBD0 - cmp r0, #0 - beq _08099EC2 - movs r0, #7 - bl sub_0805B390 -_08099EC2: - pop {r4, pc} - .align 2, 0 -_08099EC4: .4byte gUnk_03001160 - - thumb_func_start nullsub_534 -nullsub_534: @ 0x08099EC8 - bx lr - .align 2, 0 - - thumb_func_start sub_08099ECC -sub_08099ECC: @ 0x08099ECC - push {r4, lr} - movs r4, #0 - movs r1, #1 - strb r1, [r0, #0xd] - ldr r1, _08099EF4 @ =gUnk_03001160 - bl sub_0806FA24 - ldr r2, _08099EF8 @ =gUnk_03003F80 - movs r0, #3 - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x38 - strb r4, [r0] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #8 - orrs r0, r1 - str r0, [r2, #0x30] - pop {r4, pc} - .align 2, 0 -_08099EF4: .4byte gUnk_03001160 -_08099EF8: .4byte gUnk_03003F80 - - thumb_func_start sub_08099EFC -sub_08099EFC: @ 0x08099EFC - push {lr} - ldr r2, _08099F10 @ =gUnk_08123840 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08099F10: .4byte gUnk_08123840 - - thumb_func_start sub_08099F14 -sub_08099F14: @ 0x08099F14 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - ldrb r0, [r5, #0xa] - cmp r0, #9 - bls _08099F2A - b _0809A1B6 -_08099F2A: - lsls r0, r0, #2 - ldr r1, _08099F34 @ =_08099F38 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08099F34: .4byte _08099F38 -_08099F38: @ jump table - .4byte _08099F60 @ case 0 - .4byte _08099F70 @ case 1 - .4byte _08099F82 @ case 2 - .4byte _0809A00C @ case 3 - .4byte _0809A0AA @ case 4 - .4byte _0809A0B0 @ case 5 - .4byte _0809A058 @ case 6 - .4byte _0809A11C @ case 7 - .4byte _0809A132 @ case 8 - .4byte _0809A1B0 @ case 9 -_08099F60: - adds r2, r5, #0 - adds r2, #0x79 - movs r0, #0 - movs r1, #0x96 - strb r1, [r2] - strb r0, [r5, #0xe] - movs r0, #0x1e - strb r0, [r5, #0xf] -_08099F70: - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - movs r0, #0x92 - lsls r0, r0, #1 - bl sub_08004488 - b _0809A1B6 -_08099F82: - ldr r0, [r5, #0x50] - adds r0, #0x7b - ldrb r0, [r0] - adds r0, #0x80 - rsbs r0, r0, #0 - strb r0, [r5, #0x15] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _08099FCE - bl sub_08000E50 - adds r1, r0, #0 - movs r0, #3 - ands r1, r0 - cmp r1, #1 - beq _08099FBC - cmp r1, #1 - blo _08099FB6 - cmp r1, #2 - beq _08099FC2 - cmp r1, #3 - beq _08099FC8 - b _08099FCE -_08099FB6: - ldrb r0, [r5, #0x15] - subs r0, #0x10 - b _08099FCC -_08099FBC: - ldrb r0, [r5, #0x15] - adds r0, #0x10 - b _08099FCC -_08099FC2: - ldrb r0, [r5, #0x15] - subs r0, #8 - b _08099FCC -_08099FC8: - ldrb r0, [r5, #0x15] - adds r0, #8 -_08099FCC: - strb r0, [r5, #0x15] -_08099FCE: - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - movs r1, #0xf0 - subs r1, r1, r0 - strh r1, [r5, #0x24] - lsls r1, r1, #0x10 - asrs r1, r1, #0x11 - lsls r1, r1, #8 - ldrb r2, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F62C - ldrh r1, [r5, #0x24] - lsls r1, r1, #0x10 - asrs r1, r1, #0x11 - lsls r1, r1, #8 - ldrb r2, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F62C - adds r0, r5, #0 - movs r1, #5 - bl sub_08004260 - movs r0, #0xa6 - lsls r0, r0, #1 - bl sub_080A3268 - b _0809A1B6 -_0809A00C: - ldr r0, [r5, #0x50] - adds r0, #0x7b - ldrb r0, [r0] - adds r0, #0x80 - rsbs r0, r0, #0 - strb r0, [r5, #0x15] - movs r1, #0x90 - lsls r1, r1, #7 - ldrb r2, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F62C - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0809A040 - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - ldrb r1, [r5, #0x15] - adds r0, r0, r1 - strb r0, [r5, #0x15] - b _0809A04E -_0809A040: - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - ldrb r1, [r5, #0x15] - subs r1, r1, r0 - strb r1, [r5, #0x15] -_0809A04E: - adds r0, r5, #0 - movs r1, #6 - bl sub_08004260 - b _0809A1B6 -_0809A058: - bl sub_08000E50 - movs r1, #0x2f - ands r1, r0 - movs r4, #0x30 - subs r4, r4, r1 - lsls r4, r4, #8 - bl sub_08000E50 - movs r2, #0xff - ands r2, r0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806F62C - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0809A092 - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - ldrb r1, [r5, #0x15] - adds r0, r0, r1 - strb r0, [r5, #0x15] - b _0809A0A0 -_0809A092: - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - ldrb r1, [r5, #0x15] - subs r1, r1, r0 - strb r1, [r5, #0x15] -_0809A0A0: - adds r0, r5, #0 - movs r1, #5 - bl sub_08004260 - b _0809A1B6 -_0809A0AA: - movs r0, #0xc3 - lsls r0, r0, #2 - b _0809A1B4 -_0809A0B0: - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - movs r0, #0x18 - str r0, [r5, #0x78] - adds r7, r5, #0 - adds r7, #0x76 - movs r1, #0 - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r7] - adds r4, r5, #0 - adds r4, #0x74 - strh r0, [r4] - adds r6, r5, #0 - adds r6, #0x7a - strh r1, [r6] - ldr r0, [r5, #0x50] - adds r0, #0x7b - ldrb r1, [r0] - rsbs r1, r1, #0 - lsls r1, r1, #0x18 - ldr r3, _0809A118 @ =gUnk_0812388C - ldrb r2, [r5, #0xb] - lsls r0, r2, #1 - adds r0, #1 - lsls r0, r0, #1 - adds r0, r0, r3 - lsrs r1, r1, #0x18 - ldrh r0, [r0] - adds r1, r1, r0 - lsls r2, r2, #2 - adds r2, r2, r3 - ldrh r2, [r2] - adds r0, r5, #0 - bl sub_0806F62C - ldrh r1, [r7] - ldrh r2, [r4] - ldrh r3, [r6] - adds r0, r5, #0 - bl sub_0805EC9C - adds r0, r5, #0 - movs r1, #7 - bl sub_08004260 - b _0809A1B6 - .align 2, 0 -_0809A118: .4byte gUnk_0812388C -_0809A11C: - movs r0, #0 - strb r0, [r5, #0xe] - adds r0, r5, #0 - movs r1, #8 - bl sub_08004260 - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FA24 - b _0809A1B6 -_0809A132: - ldr r0, [r5, #0x50] - adds r0, #0x7c - ldrb r0, [r0] - movs r1, #0 - strb r0, [r5, #0xb] - movs r0, #4 - strb r0, [r5, #0xe] - strb r1, [r5, #0xf] - ldr r3, _0809A1A0 @ =gUnk_03000BF0 - ldrh r0, [r5, #0x2e] - ldrh r1, [r3, #6] - subs r0, r0, r1 - movs r1, #0xf8 - lsls r1, r1, #1 - adds r2, r1, #0 - ands r0, r2 - movs r1, #0x82 - adds r1, r1, r5 - mov ip, r1 - strh r0, [r1] - ldrh r1, [r5, #0x32] - ldrh r0, [r3, #8] - subs r1, r1, r0 - ands r1, r2 - adds r3, r5, #0 - adds r3, #0x80 - strh r1, [r3] - adds r4, r5, #0 - adds r4, #0x84 - mov r0, ip - ldrh r2, [r0] - subs r2, #0x10 - asrs r2, r2, #4 - lsrs r1, r1, #4 - lsls r0, r1, #5 - subs r0, r0, r1 - adds r2, r2, r0 - str r2, [r4] - mov r1, ip - ldrh r0, [r1] - ldrh r1, [r3] - ldrb r3, [r5, #0xb] - bl sub_0809A6F8 - ldr r0, [r5, #0x50] - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0809A1A8 - ldr r0, _0809A1A4 @ =0x000001A3 - bl sub_080A3268 - b _0809A1B6 - .align 2, 0 -_0809A1A0: .4byte gUnk_03000BF0 -_0809A1A4: .4byte 0x000001A3 -_0809A1A8: - movs r0, #0xe8 - bl sub_080A3268 - b _0809A1B6 -_0809A1B0: - movs r0, #0xf0 - lsls r0, r0, #1 -_0809A1B4: - str r0, [r5, #0x78] -_0809A1B6: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0809A1B8 -sub_0809A1B8: @ 0x0809A1B8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x38 - adds r7, r0, #0 - bl sub_08004274 - ldrb r0, [r7, #0xa] - cmp r0, #9 - bls _0809A1D2 - b _0809A632 -_0809A1D2: - lsls r0, r0, #2 - ldr r1, _0809A1DC @ =_0809A1E0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809A1DC: .4byte _0809A1E0 -_0809A1E0: @ jump table - .4byte _0809A208 @ case 0 - .4byte _0809A25C @ case 1 - .4byte _0809A33E @ case 2 - .4byte _0809A378 @ case 3 - .4byte _0809A394 @ case 4 - .4byte _0809A3E0 @ case 5 - .4byte _0809A378 @ case 6 - .4byte _0809A46C @ case 7 - .4byte _0809A47C @ case 8 - .4byte _0809A616 @ case 9 -_0809A208: - adds r1, r7, #0 - adds r1, #0x79 - ldrb r0, [r1] - cmp r0, #0 - beq _0809A25C - subs r0, #1 - strb r0, [r1] - ldrb r0, [r7, #0xf] - subs r0, #1 - strb r0, [r7, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r1, #0xb - str r1, [sp, #0x20] - cmp r0, #0xff - bne _0809A254 - movs r0, #5 - strb r0, [r7, #0xf] - ldrb r3, [r7, #0xb] - adds r0, r7, #0 - movs r1, #0x87 - movs r2, #1 - bl sub_080A2988 - adds r1, r0, #0 - str r1, [r7, #0x54] - cmp r1, #0 - beq _0809A24E - ldr r0, [r7, #0x50] - str r0, [r1, #0x50] - ldr r0, [r7, #0x54] - adds r0, #0x84 - ldr r2, [sp, #0x20] - ldr r1, [r2] - str r1, [r0] -_0809A24E: - ldrb r0, [r7, #0xb] - adds r0, #1 - strb r0, [r7, #0xb] -_0809A254: - ldr r1, [sp, #0x20] - ldr r0, [r1] - ldr r0, [r0, #0xc] - b _0809A474 -_0809A25C: - adds r4, r7, #0 - adds r4, #0x84 - ldr r1, [r4] - ldrb r0, [r7, #0xe] - lsls r0, r0, #2 - adds r1, #0xc - adds r1, r1, r0 - ldr r2, [r1] - ldr r0, [r2, #0x2c] - ldr r1, [r7, #0x2c] - subs r0, r0, r1 - ldr r1, [r2, #0x30] - ldr r2, [r7, #0x30] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r7, #0x15] - movs r2, #0x24 - ldrsh r1, [r7, r2] - ldrb r2, [r7, #0x15] - adds r0, r7, #0 - bl sub_0806F62C - ldr r1, [r4] - ldrb r0, [r7, #0xe] - lsls r0, r0, #2 - adds r1, #0xc - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r7, #0 - movs r2, #2 - movs r3, #2 - bl sub_080041A0 - cmp r0, #0 - bne _0809A2A6 - b _0809A632 -_0809A2A6: - ldrb r0, [r7, #0xa] - cmp r0, #0 - bne _0809A2CC - ldr r1, [r4] - ldrb r0, [r7, #0xe] - lsls r0, r0, #2 - adds r1, #0xc - adds r1, r1, r0 - ldr r3, [r1] - ldrb r2, [r3, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #2 - rsbs r0, r0, #0 - ands r1, r0 - subs r0, #2 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x18] -_0809A2CC: - ldrb r1, [r7, #0xe] - ldr r0, [r4] - ldrb r0, [r0, #1] - subs r0, #1 - cmp r1, r0 - bne _0809A338 - movs r0, #2 - strb r0, [r7, #0xc] - movs r0, #0xf0 - strb r0, [r7, #0xe] - bl sub_08000E50 - ldr r6, _0809A330 @ =gUnk_0812384C - ldrb r2, [r7, #0xb] - movs r3, #0xf - movs r4, #0xf - adds r1, r4, #0 - ands r1, r2 - lsls r1, r1, #2 - adds r1, r1, r6 - ands r0, r3 - ldrb r1, [r1] - adds r0, r0, r1 - strb r0, [r7, #0x15] - bl sub_08000E50 - ldrb r1, [r7, #0xb] - ands r4, r1 - lsls r4, r4, #1 - adds r4, #1 - lsls r4, r4, #1 - adds r4, r4, r6 - ldr r2, _0809A334 @ =0x000001FF - adds r1, r2, #0 - ands r0, r1 - ldrh r4, [r4] - adds r0, r0, r4 - strh r0, [r7, #0x24] - ldrb r0, [r7, #0xa] - cmp r0, #0 - beq _0809A320 - b _0809A632 -_0809A320: - ldr r1, [r7, #0x50] - movs r0, #4 - strb r0, [r1, #0xc] - ldr r1, [r7, #0x50] - movs r0, #0 - strb r0, [r1, #0xd] - b _0809A632 - .align 2, 0 -_0809A330: .4byte gUnk_0812384C -_0809A334: .4byte 0x000001FF -_0809A338: - adds r0, r1, #1 - strb r0, [r7, #0xe] - b _0809A632 -_0809A33E: - ldr r1, [r7, #0x50] - ldrb r0, [r1, #0xb] - cmp r0, #3 - bne _0809A38E - adds r0, r1, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r2, [r0, #8] - ldr r0, [r2, #0x2c] - ldr r1, [r7, #0x2c] - subs r0, r0, r1 - ldr r1, [r2, #0x30] - ldr r2, [r7, #0x30] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r7, #0x15] - movs r1, #0xa0 - lsls r1, r1, #2 - ldrb r2, [r7, #0x15] - adds r0, r7, #0 - bl sub_0806F62C - ldr r1, [r7, #0x50] - adds r0, r7, #0 - movs r2, #0x48 - bl sub_0806FC80 - b _0809A388 -_0809A378: - ldrb r2, [r7, #0x15] - adds r0, r7, #0 - movs r1, #0x80 - bl sub_0806F62C - adds r0, r7, #0 - adds r0, #0x5a - ldrb r0, [r0] -_0809A388: - cmp r0, #0 - bne _0809A38E - b _0809A632 -_0809A38E: - bl sub_0805E780 - b _0809A632 -_0809A394: - ldr r3, [r7, #0x78] - cmp r3, #0 - bne _0809A3B4 - ldr r0, _0809A3B0 @ =gUnk_02034350 - movs r2, #0xc - ldrsh r1, [r0, r2] - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _0809A38E - movs r0, #8 - bl sub_0805308C - b _0809A632 - .align 2, 0 -_0809A3B0: .4byte gUnk_02034350 -_0809A3B4: - ldr r2, [r7, #0x50] - adds r0, r2, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - bne _0809A3C8 - movs r0, #1 - strb r0, [r7, #0xd] - str r1, [r7, #0x78] - b _0809A632 -_0809A3C8: - ldrb r0, [r7, #0xd] - cmp r0, #0 - bne _0809A3D6 - ldrb r0, [r2, #0xb] - cmp r0, #0 - beq _0809A3D6 - b _0809A632 -_0809A3D6: - movs r0, #1 - strb r0, [r7, #0xd] - subs r0, r3, #1 - str r0, [r7, #0x78] - b _0809A632 -_0809A3E0: - ldr r0, [r7, #0x78] - cmp r0, #0 - bne _0809A432 - adds r0, r7, #0 - adds r0, #0x76 - ldrh r2, [r0] - movs r1, #0x80 - lsls r1, r1, #1 - adds r5, r0, #0 - cmp r2, r1 - bne _0809A40E - ldr r0, [r7, #0x50] - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - adds r4, r7, #0 - adds r4, #0x74 - cmp r0, #0 - beq _0809A420 - bl sub_0805E780 - b _0809A420 -_0809A40E: - adds r0, r2, #0 - subs r0, #0x20 - strh r0, [r5] - adds r1, r7, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #0x20 - strh r0, [r1] - adds r4, r1, #0 -_0809A420: - ldrh r1, [r5] - ldrh r2, [r4] - adds r0, r7, #0 - adds r0, #0x7a - ldrh r3, [r0] - adds r0, r7, #0 - bl sub_0805EC9C - b _0809A436 -_0809A432: - subs r0, #1 - str r0, [r7, #0x78] -_0809A436: - ldr r0, [r7, #0x50] - adds r1, r7, #0 - bl sub_0806FA24 - ldr r4, _0809A468 @ =gUnk_0812388C - ldrb r3, [r7, #0xb] - lsls r0, r3, #1 - adds r0, #1 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r1, [r0] - ldr r0, [r7, #0x50] - adds r0, #0x7b - ldrb r2, [r0] - rsbs r2, r2, #0 - lsls r2, r2, #0x18 - lsls r3, r3, #2 - adds r3, r3, r4 - lsrs r2, r2, #0x18 - ldrh r3, [r3] - adds r2, r2, r3 - adds r0, r7, #0 - bl sub_0806F62C - b _0809A632 - .align 2, 0 -_0809A468: .4byte gUnk_0812388C -_0809A46C: - ldrb r0, [r7, #0xe] - cmp r0, #0 - bne _0809A38E - ldr r0, [r7, #0x50] -_0809A474: - adds r1, r7, #0 - bl sub_0806FA24 - b _0809A632 -_0809A47C: - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _0809A48C - b _0809A632 -_0809A48C: - movs r0, #4 - strb r0, [r7, #0xe] - ldrb r0, [r7, #0xf] - adds r0, #1 - strb r0, [r7, #0xf] - adds r0, r7, #0 - adds r0, #0x84 - str r0, [sp, #4] - ldrb r1, [r7, #0xf] - lsls r0, r1, #5 - subs r0, r0, r1 - ldr r2, [sp, #4] - ldr r1, [r2] - subs r1, r1, r0 - mov sl, r1 - mov r0, sl - str r0, [sp] - adds r1, r7, #0 - adds r1, #0x82 - str r1, [sp, #8] - ldrh r0, [r1] - adds r2, r7, #0 - adds r2, #0x7e - str r2, [sp, #0xc] - strh r0, [r2] - ldrh r0, [r1] - subs r1, #8 - str r1, [sp, #0x10] - strh r0, [r1] - movs r2, #0x80 - adds r2, r2, r7 - mov sb, r2 - ldrb r0, [r7, #0xf] - lsls r0, r0, #4 - ldrh r1, [r2] - subs r1, r1, r0 - movs r0, #0x7c - adds r0, r0, r7 - mov r8, r0 - strh r1, [r0] - adds r4, r7, #0 - adds r4, #0x78 - strh r1, [r4] - ldr r1, [sp, #0x10] - ldrh r0, [r1] - ldrh r1, [r4] - ldrb r3, [r7, #0xb] - mov r2, sl - bl sub_0809A6F8 - adds r5, r0, #0 - ldrb r6, [r7, #0xf] - ldr r2, [sp, #4] - str r2, [sp, #0x20] - ldr r0, [sp, #0x10] - str r0, [sp, #0x28] - ldr r1, [sp, #8] - str r1, [sp, #0x1c] - ldr r2, [sp, #0xc] - str r2, [sp, #0x30] - mov r0, sb - str r0, [sp, #0x34] - mov r1, r8 - str r1, [sp, #0x2c] - str r4, [sp, #0x24] - cmp r6, #0 - beq _0809A568 - ldr r2, [sp, #0x28] - str r2, [sp, #0x14] - mov sb, r4 - ldr r0, [sp, #0x30] - mov r8, r0 - adds r4, r1, #0 -_0809A51E: - ldr r1, [sp, #0x14] - ldrh r0, [r1] - subs r0, #0x10 - strh r0, [r1] - mov r2, sb - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r2] - ldr r0, [sp] - adds r0, #0x1e - str r0, [sp] - ldrh r0, [r1] - ldrh r1, [r2] - ldrb r3, [r7, #0xb] - ldr r2, [sp] - bl sub_0809A6F8 - adds r5, r5, r0 - mov r1, r8 - ldrh r0, [r1] - adds r0, #0x10 - strh r0, [r1] - ldrh r0, [r4] - adds r0, #0x10 - strh r0, [r4] - movs r2, #0x20 - add sl, r2 - ldrh r0, [r1] - ldrh r1, [r4] - ldrb r3, [r7, #0xb] - mov r2, sl - bl sub_0809A6F8 - adds r5, r5, r0 - subs r6, #1 - cmp r6, #0 - bne _0809A51E -_0809A568: - ldrb r1, [r7, #0xf] - lsls r0, r1, #5 - subs r0, r0, r1 - ldr r2, [sp, #0x20] - ldr r1, [r2] - adds r1, r1, r0 - mov sl, r1 - mov r0, sl - str r0, [sp] - ldr r1, [sp, #0x1c] - ldrh r0, [r1] - ldr r2, [sp, #0x30] - strh r0, [r2] - ldrh r0, [r1] - ldr r1, [sp, #0x28] - strh r0, [r1] - ldrb r0, [r7, #0xf] - lsls r0, r0, #4 - ldr r2, [sp, #0x34] - ldrh r2, [r2] - adds r0, r0, r2 - ldr r1, [sp, #0x2c] - strh r0, [r1] - ldr r2, [sp, #0x24] - strh r0, [r2] - ldr r1, [sp, #0x28] - ldrh r0, [r1] - ldrh r1, [r2] - ldrb r3, [r7, #0xb] - mov r2, sl - bl sub_0809A6F8 - adds r5, r5, r0 - ldrb r0, [r7, #0xf] - subs r6, r0, #1 - cmp r6, #0 - beq _0809A610 - ldr r2, [sp, #0x28] - str r2, [sp, #0x18] - ldr r0, [sp, #0x24] - mov sb, r0 - ldr r1, [sp, #0x30] - mov r8, r1 - ldr r4, [sp, #0x2c] -_0809A5C0: - ldr r2, [sp, #0x18] - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r2] - mov r1, sb - ldrh r0, [r1] - subs r0, #0x10 - strh r0, [r1] - ldr r2, [sp] - subs r2, #0x20 - str r2, [sp] - ldr r1, [sp, #0x18] - ldrh r0, [r1] - mov r2, sb - ldrh r1, [r2] - ldrb r3, [r7, #0xb] - ldr r2, [sp] - bl sub_0809A6F8 - adds r5, r5, r0 - mov r1, r8 - ldrh r0, [r1] - adds r0, #0x10 - strh r0, [r1] - ldrh r0, [r4] - subs r0, #0x10 - strh r0, [r4] - movs r2, #0x1e - rsbs r2, r2, #0 - add sl, r2 - ldrh r0, [r1] - ldrh r1, [r4] - ldrb r3, [r7, #0xb] - mov r2, sl - bl sub_0809A6F8 - adds r5, r5, r0 - subs r6, #1 - cmp r6, #0 - bne _0809A5C0 -_0809A610: - cmp r5, #0 - bne _0809A632 - b _0809A38E -_0809A616: - bl sub_08078B48 - ldr r0, [r7, #0x78] - subs r0, #1 - str r0, [r7, #0x78] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _0809A632 - ldr r1, _0809A640 @ =gUnk_03000BF0 - ldr r0, _0809A644 @ =gUnk_03001160 - str r0, [r1, #0x30] - bl sub_0805E780 -_0809A632: - add sp, #0x38 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809A640: .4byte gUnk_03000BF0 -_0809A644: .4byte gUnk_03001160 - - thumb_func_start sub_0809A648 -sub_0809A648: @ 0x0809A648 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - bl sub_08004274 - ldrb r0, [r7, #0xe] - subs r0, #1 - strb r0, [r7, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _0809A6EC - ldr r4, [r7, #0x50] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #9 - bl __divsi3 - movs r2, #0x24 - ldrsh r1, [r7, r2] - adds r5, r1, #0 - muls r5, r0, r5 - adds r4, #0x7b - ldrb r1, [r4] - ldrb r0, [r7, #0x15] - subs r0, r0, r1 - movs r1, #0x7b - adds r1, r1, r7 - mov r8, r1 - strb r0, [r1] - ldr r6, _0809A6E8 @ =gUnk_080C9160 - ldrb r0, [r1] - lsls r0, r0, #1 - adds r0, r0, r6 - movs r2, #0 - ldrsh r0, [r0, r2] - lsls r5, r5, #8 - asrs r5, r5, #0x10 - adds r1, r5, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r4, #0x80 - lsls r4, r4, #1 - adds r1, r4, #0 - bl sub_0806FA04 - ldr r1, [r7, #0x50] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1, #0x2c] - adds r1, r1, r0 - str r1, [r7, #0x2c] - mov r1, r8 - ldrb r0, [r1] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r6 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r1, r5, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r4, #0 - bl sub_0806FA04 - ldr r1, [r7, #0x50] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1, #0x30] - subs r1, r1, r0 - str r1, [r7, #0x30] - b _0809A6F0 - .align 2, 0 -_0809A6E8: .4byte gUnk_080C9160 -_0809A6EC: - bl sub_0805E780 -_0809A6F0: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0809A6F8 -sub_0809A6F8: @ 0x0809A6F8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - adds r7, r3, #0 - bl sub_0809A758 - cmp r0, #0 - beq _0809A754 - ldr r0, _0809A738 @ =gUnk_081238A0 - lsls r1, r6, #1 - adds r1, r1, r0 - ldrh r0, [r1] - cmp r0, #0 - beq _0809A750 - movs r0, #1 - ands r0, r7 - cmp r0, #0 - beq _0809A73C - ldrh r0, [r1] - lsrs r1, r4, #4 - movs r3, #0x3f - ands r1, r3 - lsrs r2, r5, #4 - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - movs r2, #1 - bl sub_0807B9B8 - b _0809A750 - .align 2, 0 -_0809A738: .4byte gUnk_081238A0 -_0809A73C: - lsrs r0, r4, #4 - movs r2, #0x3f - ands r0, r2 - lsrs r1, r5, #4 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - movs r1, #1 - bl sub_0807BA8C -_0809A750: - movs r0, #1 - b _0809A756 -_0809A754: - movs r0, #0 -_0809A756: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0809A758 -sub_0809A758: @ 0x0809A758 - push {lr} - adds r2, r0, #0 - cmp r2, #0xf - bls _0809A770 - movs r0, #0xf8 - lsls r0, r0, #1 - cmp r2, r0 - bhi _0809A770 - cmp r1, #0xf0 - bhi _0809A770 - movs r0, #1 - b _0809A772 -_0809A770: - movs r0, #0 -_0809A772: - pop {pc} - - thumb_func_start sub_0809A774 -sub_0809A774: @ 0x0809A774 - push {lr} - ldr r2, _0809A788 @ =gUnk_08123C80 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809A788: .4byte gUnk_08123C80 - - thumb_func_start sub_0809A78C -sub_0809A78C: @ 0x0809A78C - push {r4, r5, lr} - adds r4, r0, #0 - movs r3, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r2, #0x80 - strb r2, [r4, #0xe] - strb r3, [r4, #0xf] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r5, r4, #0 - adds r5, #0x80 - strh r2, [r5] - adds r0, r4, #0 - adds r0, #0x78 - strh r3, [r0] - ldrh r0, [r4, #0x2e] - subs r0, #4 - strh r0, [r4, #0x2e] - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xfc - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - ldrh r2, [r5] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805EC9C - adds r0, r4, #0 - bl sub_08016A04 - ldrb r1, [r4, #0xf] - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_0809A958 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0809A7F4 -sub_0809A7F4: @ 0x0809A7F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0809AA00 - ldrb r0, [r4, #0xe] - adds r2, r0, #0 - cmp r2, #0 - beq _0809A810 - subs r0, #1 - strb r0, [r4, #0xe] - b _0809A840 -_0809A810: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809A840 - ldrb r0, [r4, #0xf] - cmp r0, #3 - bne _0809A838 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] - strb r2, [r4, #0xf] - adds r0, r4, #0 - movs r1, #2 - bl sub_080042AC - b _0809A840 -_0809A838: - ldrb r1, [r4, #0xf] - adds r0, r4, #0 - bl sub_080042AC -_0809A840: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809A844 -sub_0809A844: @ 0x0809A844 - push {r4, lr} - adds r4, r0, #0 - bl sub_080042B8 - adds r0, r4, #0 - bl sub_0809AA00 - ldrb r0, [r4, #0xf] - cmp r0, #1 - bhi _0809A85C - movs r1, #0 - b _0809A870 -_0809A85C: - ldrb r0, [r4, #0xe] - adds r2, r0, #0 - cmp r2, #0 - beq _0809A87C - subs r0, #1 - strb r0, [r4, #0xe] - ldr r0, _0809A878 @ =gUnk_03004040 - ldr r1, [r0] - cmp r1, #0 - bne _0809A8A0 -_0809A870: - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - b _0809A8A0 - .align 2, 0 -_0809A878: .4byte gUnk_03004040 -_0809A87C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809A8A0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r2, [r4, #0xe] - adds r0, r4, #0 - movs r1, #3 - bl sub_080042AC - adds r0, r4, #0 - movs r1, #0x78 - bl sub_0805E4E0 -_0809A8A0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809A8A4 -sub_0809A8A4: @ 0x0809A8A4 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0xe0 - ands r0, r1 - cmp r0, #0x40 - beq _0809A8D4 - cmp r0, #0x40 - bgt _0809A8C0 - cmp r0, #0x20 - beq _0809A8E2 - b _0809A8FC -_0809A8C0: - cmp r0, #0x80 - bne _0809A8FC - adds r0, r4, #0 - adds r0, #0x59 - ldrb r0, [r0] - cmp r0, #0 - bne _0809A902 - bl sub_0805E780 - b _0809A902 -_0809A8D4: - movs r0, #0xbf - ands r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0809A9D4 - b _0809A902 -_0809A8E2: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - ldrb r1, [r2] - movs r0, #0xdf - ands r0, r1 - strb r0, [r2] - movs r0, #0xff - bl sub_08078A90 - movs r0, #0x2a - bl sub_0807CD04 -_0809A8FC: - adds r0, r4, #0 - bl sub_080042B8 -_0809A902: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809A92A - adds r1, r4, #0 - adds r1, #0x80 - ldrh r0, [r1] - adds r0, #8 - strh r0, [r1] - ldr r0, [r4, #0x2c] - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r0, r2 - str r0, [r4, #0x2c] - ldrh r2, [r1] - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C - b _0809A94E -_0809A92A: - ldr r1, [r4, #0x54] - adds r0, r4, #0 - movs r2, #0 - bl sub_0809AA9C - ldr r1, _0809A950 @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #1 - bl sub_0809AA9C - ldr r0, _0809A954 @ =gUnk_03004040 - ldr r1, [r0] - cmp r1, #0 - beq _0809A94E - adds r0, r4, #0 - movs r2, #1 - bl sub_0809AA9C -_0809A94E: - pop {r4, pc} - .align 2, 0 -_0809A950: .4byte gUnk_03001160 -_0809A954: .4byte gUnk_03004040 - - thumb_func_start sub_0809A958 -sub_0809A958: @ 0x0809A958 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - movs r1, #0x2e - ldrsh r3, [r0, r1] - ldr r2, _0809A9CC @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r1, #4 - subs r3, r3, r1 - asrs r3, r3, #4 - movs r4, #0x3f - ands r3, r4 - movs r5, #0x32 - ldrsh r1, [r0, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r4 - lsls r1, r1, #6 - orrs r3, r1 - adds r0, #0x82 - strh r3, [r0] - ldrh r0, [r0] - adds r5, r0, #0 - subs r5, #0x82 - ldr r6, _0809A9D0 @ =gUnk_08123C90 - movs r0, #0 - movs r1, #0x80 - lsls r1, r1, #7 - mov sb, r1 -_0809A996: - movs r4, #0 - adds r0, #1 - mov r8, r0 - adds r7, r5, #0 - adds r7, #0x40 -_0809A9A0: - ldrh r0, [r6] - mov r1, sb - ands r0, r1 - cmp r0, #0 - beq _0809A9B4 - ldrh r0, [r6] - adds r1, r5, r4 - movs r2, #1 - bl sub_0800015E -_0809A9B4: - adds r4, #1 - adds r6, #2 - cmp r4, #3 - ble _0809A9A0 - mov r0, r8 - adds r5, r7, #0 - cmp r0, #4 - ble _0809A996 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809A9CC: .4byte gUnk_03000BF0 -_0809A9D0: .4byte gUnk_08123C90 - - thumb_func_start sub_0809A9D4 -sub_0809A9D4: @ 0x0809A9D4 - push {r4, r5, r6, r7, lr} - adds r0, #0x82 - ldrh r0, [r0] - adds r5, r0, #0 - subs r5, #0x82 - movs r0, #0 -_0809A9E0: - movs r4, #0 - adds r7, r0, #1 - adds r6, r5, #0 - adds r6, #0x40 -_0809A9E8: - adds r0, r5, r4 - movs r1, #1 - bl sub_0807BA8C - adds r4, #1 - cmp r4, #3 - ble _0809A9E8 - adds r0, r7, #0 - adds r5, r6, #0 - cmp r0, #4 - ble _0809A9E0 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0809AA00 -sub_0809AA00: @ 0x0809AA00 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - movs r0, #0 - strb r0, [r5, #0xf] - ldr r1, [r5, #0x54] - cmp r1, #0 - bne _0809AA50 - movs r0, #7 - movs r1, #0x38 - movs r2, #7 - bl sub_0805EB00 - adds r4, r0, #0 - adds r7, r5, #0 - adds r7, #0x78 - cmp r4, #0 - beq _0809AA5C - movs r0, #0x80 - lsls r0, r0, #4 - mov r8, r0 - ldr r0, _0809AA4C @ =0x0000FFFF - adds r6, r0, #0 -_0809AA30: - ldrh r0, [r4, #0xa] - ands r0, r6 - cmp r0, r8 - bne _0809AA3A - str r4, [r5, #0x54] -_0809AA3A: - adds r0, r4, #0 - movs r1, #7 - bl sub_0805EB64 - adds r4, r0, #0 - cmp r4, #0 - bne _0809AA30 - b _0809AA5C - .align 2, 0 -_0809AA4C: .4byte 0x0000FFFF -_0809AA50: - adds r0, r5, #0 - movs r2, #0 - bl sub_0809AA9C - adds r7, r5, #0 - adds r7, #0x78 -_0809AA5C: - ldr r4, _0809AA94 @ =gUnk_03001160 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x20 - movs r3, #0x22 - bl sub_080041A0 - strh r0, [r7] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0809AA8E - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #1 - bl sub_0809AA9C - ldr r0, _0809AA98 @ =gUnk_03004040 - ldr r4, [r0] - cmp r4, #0 - beq _0809AA8E - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #1 - bl sub_0809AA9C -_0809AA8E: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809AA94: .4byte gUnk_03001160 -_0809AA98: .4byte gUnk_03004040 - - thumb_func_start sub_0809AA9C -sub_0809AA9C: @ 0x0809AA9C - push {r4, lr} - adds r4, r0, #0 - adds r3, r1, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r1, #3 - ands r1, r0 - cmp r1, #1 - beq _0809AAB2 - cmp r1, #2 - bne _0809AABC -_0809AAB2: - adds r0, r3, #0 - adds r0, #0x63 - strb r1, [r0] - adds r2, r0, #0 - b _0809AAC6 -_0809AABC: - adds r1, r3, #0 - adds r1, #0x63 - movs r0, #0 - strb r0, [r1] - adds r2, r1, #0 -_0809AAC6: - movs r0, #0x2e - ldrsh r1, [r3, r0] - ldr r0, _0809AAE8 @ =gUnk_03000BF0 - ldrh r0, [r0, #6] - movs r3, #0xad - lsls r3, r3, #1 - adds r0, r0, r3 - cmp r1, r0 - bgt _0809AAE4 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] -_0809AAE4: - pop {r4, pc} - .align 2, 0 -_0809AAE8: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809AAEC -sub_0809AAEC: @ 0x0809AAEC - push {lr} - ldr r2, _0809AB00 @ =gUnk_08123D28 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809AB00: .4byte gUnk_08123D28 - - thumb_func_start sub_0809AB04 -sub_0809AB04: @ 0x0809AB04 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x31 - bl sub_0807CBE4 - cmp r0, #0 - beq _0809AB22 - adds r0, r5, #0 - bl sub_0809AD68 - adds r0, r5, #0 - bl sub_0809AD8C - bl sub_0805E780 -_0809AB22: - movs r0, #0x36 - movs r1, #0 - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _0809AB9C - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - str r4, [r5, #0x54] - ldr r2, _0809AB68 @ =gUnk_030010A0 - adds r0, r2, #0 - adds r0, #0x38 - ldrb r1, [r0] - cmp r1, #0 - beq _0809AB70 - adds r0, #1 - ldrb r0, [r0] - cmp r0, #0 - beq _0809AB52 - bl sub_0805E780 -_0809AB52: - movs r0, #7 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #0xb - ands r0, r1 - strb r0, [r5, #0x18] - ldr r0, _0809AB6C @ =gUnk_03000BF0 - str r5, [r0, #0x30] - bl sub_080809D4 - b _0809AB9C - .align 2, 0 -_0809AB68: .4byte gUnk_030010A0 -_0809AB6C: .4byte gUnk_03000BF0 -_0809AB70: - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0x1e - strb r0, [r5, #0xe] - strb r1, [r5, #0x1e] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #0x20 - strb r0, [r1] - ldr r1, _0809ABA0 @ =gUnk_08012DD8 - adds r0, r5, #0 - bl sub_0807DAD0 - adds r1, r5, #0 - adds r1, #0x84 - str r0, [r1] -_0809AB9C: - pop {r4, r5, pc} - .align 2, 0 -_0809ABA0: .4byte gUnk_08012DD8 - - thumb_func_start sub_0809ABA4 -sub_0809ABA4: @ 0x0809ABA4 - push {lr} - movs r1, #0 - bl sub_0807DDAC - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809ABB0 -sub_0809ABB0: @ 0x0809ABB0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809ABCE - movs r0, #3 - strb r0, [r2, #0xc] - movs r0, #0x78 - strb r0, [r2, #0xe] - ldr r1, _0809ABD0 @ =gUnk_03000BF0 - ldr r0, [r2, #0x54] - str r0, [r1, #0x30] -_0809ABCE: - pop {pc} - .align 2, 0 -_0809ABD0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809ABD4 -sub_0809ABD4: @ 0x0809ABD4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809ABF2 - movs r0, #4 - strb r0, [r1, #0xc] - movs r0, #0x5a - strb r0, [r1, #0xe] - ldr r1, [r1, #0x54] - movs r0, #1 - strb r0, [r1, #0xd] -_0809ABF2: - pop {pc} - - thumb_func_start sub_0809ABF4 -sub_0809ABF4: @ 0x0809ABF4 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x54] - ldrb r0, [r0, #0xd] - cmp r0, #2 - bls _0809AC36 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0809AC36 - movs r0, #5 - strb r0, [r2, #0xc] - movs r0, #8 - strb r0, [r2, #0xe] - strb r1, [r2, #0xf] - ldrb r1, [r2, #0x19] - subs r0, #0x15 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #0x19] - ldr r1, _0809AC38 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xf4 - lsls r0, r0, #4 - strh r0, [r2] - adds r1, #0x68 - movs r0, #0x10 - strh r0, [r1] -_0809AC36: - pop {pc} - .align 2, 0 -_0809AC38: .4byte gUnk_03000F50 - - thumb_func_start sub_0809AC3C -sub_0809AC3C: @ 0x0809AC3C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _0809AC9A - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r2, [r4, #0xf] - adds r2, #1 - strb r2, [r4, #0xf] - adds r1, r2, #0 - ands r1, r3 - ldr r6, _0809AC9C @ =gUnk_03000F50 - lsls r3, r1, #8 - movs r0, #0x10 - subs r0, r0, r1 - movs r1, #0xff - ands r0, r1 - orrs r3, r0 - adds r0, r6, #0 - adds r0, #0x68 - strh r3, [r0] - lsls r2, r2, #0x18 - lsrs r2, r2, #0x18 - cmp r2, #0xf - bls _0809AC9A - ldrb r1, [r4, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x19] - adds r0, r6, #0 - adds r0, #0x66 - strh r5, [r0] - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x13 - ands r0, r1 - strb r0, [r4, #0x18] -_0809AC9A: - pop {r4, r5, r6, pc} - .align 2, 0 -_0809AC9C: .4byte gUnk_03000F50 - - thumb_func_start sub_0809ACA0 -sub_0809ACA0: @ 0x0809ACA0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809ACC4 - ldr r1, [r2, #0x54] - movs r0, #6 - strb r0, [r1, #0xd] - ldr r0, _0809ACC8 @ =gUnk_030010A0 - adds r0, #0x38 - movs r1, #0xf1 - strb r1, [r0] - adds r0, r2, #0 - bl sub_0805E7BC -_0809ACC4: - pop {pc} - .align 2, 0 -_0809ACC8: .4byte gUnk_030010A0 - - thumb_func_start sub_0809ACCC -sub_0809ACCC: @ 0x0809ACCC - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x54] - ldrb r0, [r0, #0xe] - cmp r0, #1 - bne _0809ACE4 - movs r0, #0 - movs r1, #8 - strb r1, [r2, #0xc] - strb r0, [r2, #0xd] - movs r0, #0xb4 - strb r0, [r2, #0xe] -_0809ACE4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809ACE8 -sub_0809ACE8: @ 0x0809ACE8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #1 - beq _0809AD1E - cmp r0, #2 - beq _0809AD3A - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809AD58 - movs r0, #0x5a - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x73 - bl sub_080A3268 - movs r0, #0x31 - bl sub_0807CCC8 - adds r0, r4, #0 - bl sub_0809AD8C - b _0809AD58 -_0809AD1E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809AD58 - movs r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #2 - strb r0, [r4, #0xd] - adds r0, r4, #0 - bl sub_0809AD68 - b _0809AD58 -_0809AD3A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809AD58 - ldr r1, _0809AD5C @ =gUnk_03000BF0 - ldr r0, _0809AD60 @ =gUnk_03001160 - str r0, [r1, #0x30] - ldr r0, _0809AD64 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bl sub_0805E780 -_0809AD58: - pop {r4, pc} - .align 2, 0 -_0809AD5C: .4byte gUnk_03000BF0 -_0809AD60: .4byte gUnk_03001160 -_0809AD64: .4byte gUnk_03003F80 - - thumb_func_start sub_0809AD68 -sub_0809AD68: @ 0x0809AD68 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl sub_0804B128 - bl sub_0804ADDC - movs r0, #0x17 - bl sub_0807CA84 - cmp r0, #0 - beq _0809AD8A - ldrb r0, [r4, #0xb] - bl sub_0804B128 - bl sub_0804ADDC -_0809AD8A: - pop {r4, pc} - - thumb_func_start sub_0809AD8C -sub_0809AD8C: @ 0x0809AD8C - push {lr} - movs r0, #0x4f - movs r1, #0x22 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _0809ADAC - ldr r0, _0809ADB0 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - adds r1, #0xb8 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - adds r0, #8 - strh r0, [r2, #0x32] -_0809ADAC: - pop {pc} - .align 2, 0 -_0809ADB0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809ADB4 -sub_0809ADB4: @ 0x0809ADB4 - push {lr} - ldr r2, _0809ADC8 @ =gUnk_08123D4C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809ADC8: .4byte gUnk_08123D4C - - thumb_func_start sub_0809ADCC -sub_0809ADCC: @ 0x0809ADCC - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0809AE14 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r5, r4, #0 - adds r5, #0x80 - strh r1, [r5] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r7, [r0] - adds r0, r4, #0 - bl sub_08016A04 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0809AEBC - cmp r0, #1 - bgt _0809AE18 - cmp r0, #0 - beq _0809AE1E - b _0809AF46 - .align 2, 0 -_0809AE14: .4byte gUnk_03000BF0 -_0809AE18: - cmp r0, #2 - beq _0809AF10 - b _0809AF46 -_0809AE1E: - movs r0, #2 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0xa - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldrh r5, [r5] - subs r6, r5, #1 - ldr r4, _0809AEB8 @ =0x00004022 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r5, #1 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r5, #0 - adds r1, #0x3f - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r5, #0 - adds r1, #0x40 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r5, #0 - adds r1, #0x41 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r4, #0x1b - adds r1, r5, #0 - subs r1, #0x41 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r5, #0 - subs r1, #0x40 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - subs r4, #0x17 - adds r1, r5, #0 - subs r1, #0x3f - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r5, #0 - subs r1, #0x81 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r5, #0 - subs r1, #0x80 - adds r0, r4, #0 - b _0809AF04 - .align 2, 0 -_0809AEB8: .4byte 0x00004022 -_0809AEBC: - strb r0, [r4, #0xc] - ldrh r6, [r5] - ldr r4, _0809AEF4 @ =0x00004022 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x40 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - ldr r0, _0809AEF8 @ =0x00004025 - adds r1, r6, #0 - adds r1, #0x41 - adds r2, r7, #0 - bl sub_0800015E - movs r0, #0x4f - bl sub_0807CBD0 - cmp r0, #0 - bne _0809AF00 - ldr r0, _0809AEFC @ =0x0000402F - b _0809AF02 - .align 2, 0 -_0809AEF4: .4byte 0x00004022 -_0809AEF8: .4byte 0x00004025 -_0809AEFC: .4byte 0x0000402F -_0809AF00: - ldr r0, _0809AF0C @ =0x0000402D -_0809AF02: - adds r1, r6, #1 -_0809AF04: - adds r2, r7, #0 - bl sub_0800015E - b _0809AF46 - .align 2, 0 -_0809AF0C: .4byte 0x0000402D -_0809AF10: - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r5, [r5] - adds r6, r5, #0 - subs r6, #0x41 - ldr r4, _0809AF48 @ =0x00004022 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r5, #0 - subs r1, #0x40 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - subs r1, r5, #1 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_0800015E -_0809AF46: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809AF48: .4byte 0x00004022 - - thumb_func_start nullsub_535 -nullsub_535: @ 0x0809AF4C - bx lr - .align 2, 0 - - thumb_func_start sub_0809AF50 -sub_0809AF50: @ 0x0809AF50 - push {lr} - bl nullsub_2 - pop {pc} - - thumb_func_start nullsub_2 -nullsub_2: @ 0x0809AF58 - bx lr - .align 2, 0 - - thumb_func_start sub_0809AF5C -sub_0809AF5C: @ 0x0809AF5C - push {lr} - ldr r2, _0809AF70 @ =gUnk_08123D58 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809AF70: .4byte gUnk_08123D58 - - thumb_func_start sub_0809AF74 -sub_0809AF74: @ 0x0809AF74 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - strb r0, [r4, #0x1e] - movs r0, #0x2e - ldrsh r2, [r4, r0] - ldr r1, _0809AFBC @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r3, #0x3f - ands r2, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r2, r0 - adds r0, r4, #0 - adds r0, #0x80 - movs r6, #0 - strh r2, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0809AFC4 - movs r1, #1 - strb r1, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #0 - bne _0809AFC0 - strb r6, [r4, #0xd] - b _0809B02C - .align 2, 0 -_0809AFBC: .4byte gUnk_03000BF0 -_0809AFC0: - strb r1, [r4, #0xd] - b _0809B02C -_0809AFC4: - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #4 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x84 - strb r6, [r0] - adds r0, r4, #0 - bl sub_08016A04 - movs r0, #0x8b - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _0809B026 - str r4, [r5, #0x50] - str r5, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _0809B010 - movs r3, #0x80 - lsls r3, r3, #0xd - adds r0, r4, #0 - adds r1, r5, #0 - adds r2, r3, #0 - bl sub_0806FA48 - adds r0, r5, #0 - adds r0, #0x84 - strb r6, [r0] - b _0809B026 -_0809B010: - movs r3, #0x80 - lsls r3, r3, #0xd - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - adds r1, r5, #0 - adds r1, #0x84 - movs r0, #1 - strb r0, [r1] -_0809B026: - adds r0, r4, #0 - bl sub_0809B334 -_0809B02C: - adds r0, r4, #0 - bl sub_0809B0B0 - pop {r4, r5, r6, pc} - - thumb_func_start sub_0809B034 -sub_0809B034: @ 0x0809B034 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x82 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002B0 - adds r0, r4, #0 - bl sub_0809B234 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809B050 -sub_0809B050: @ 0x0809B050 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809B0A2 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0809B0A4 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x80 - strh r1, [r0] - movs r0, #0 - bl sub_08078A90 - adds r0, r4, #0 - bl sub_0809B0B0 - movs r0, #0x86 - lsls r0, r0, #1 - bl sub_08004488 -_0809B0A2: - pop {r4, r5, pc} - .align 2, 0 -_0809B0A4: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809B0A8 -sub_0809B0A8: @ 0x0809B0A8 - push {lr} - bl sub_0809B234 - pop {pc} - - thumb_func_start sub_0809B0B0 -sub_0809B0B0: @ 0x0809B0B0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r0, #0x80 - ldrh r0, [r0] - subs r6, r0, #1 - mov r0, r8 - adds r0, #0x38 - ldrb r7, [r0] - mov r1, r8 - ldrb r0, [r1, #0xd] - cmp r0, #4 - bls _0809B0CE - b _0809B228 -_0809B0CE: - lsls r0, r0, #2 - ldr r1, _0809B0D8 @ =_0809B0DC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809B0D8: .4byte _0809B0DC -_0809B0DC: @ jump table - .4byte _0809B0F0 @ case 0 - .4byte _0809B130 @ case 1 - .4byte _0809B178 @ case 2 - .4byte _0809B1C0 @ case 3 - .4byte _0809B208 @ case 4 -_0809B0F0: - mov r1, r8 - adds r1, #0x84 - movs r0, #0 - strb r0, [r1] - adds r5, r6, #2 - mov r0, r8 - adds r0, #0x82 - strh r5, [r0] - ldr r0, _0809B128 @ =0x00004082 - subs r1, r6, #1 - adds r2, r7, #0 - bl sub_0800015E - ldr r4, _0809B12C @ =0x00004022 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r6, #1 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r0, r4, #0 - adds r1, r5, #0 - b _0809B162 - .align 2, 0 -_0809B128: .4byte 0x00004082 -_0809B12C: .4byte 0x00004022 -_0809B130: - mov r1, r8 - adds r1, #0x84 - movs r0, #1 - strb r0, [r1] - mov r0, r8 - adds r0, #0x82 - strh r6, [r0] - ldr r0, _0809B16C @ =0x0000405F - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0800015E - ldr r4, _0809B170 @ =0x00004022 - adds r1, r6, #1 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r6, #2 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - ldr r0, _0809B174 @ =0x00004082 - adds r1, r6, #3 -_0809B162: - adds r2, r7, #0 - bl sub_0800015E - b _0809B228 - .align 2, 0 -_0809B16C: .4byte 0x0000405F -_0809B170: .4byte 0x00004022 -_0809B174: .4byte 0x00004082 -_0809B178: - mov r1, r8 - adds r1, #0x84 - movs r0, #1 - strb r0, [r1] - mov r0, r8 - adds r0, #0x82 - strh r6, [r0] - ldr r0, _0809B1B4 @ =0x00004082 - adds r1, r6, #3 - adds r2, r7, #0 - bl sub_0800015E - ldr r0, _0809B1B8 @ =0x00004022 - adds r1, r6, #2 - adds r2, r7, #0 - bl sub_0800015E - ldr r0, _0809B1BC @ =0x0000405F - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0800015E - mov r1, r8 - ldr r0, [r1, #0x50] - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - b _0809B228 - .align 2, 0 -_0809B1B4: .4byte 0x00004082 -_0809B1B8: .4byte 0x00004022 -_0809B1BC: .4byte 0x0000405F -_0809B1C0: - mov r1, r8 - adds r1, #0x84 - movs r0, #0 - strb r0, [r1] - adds r4, r6, #2 - mov r0, r8 - adds r0, #0x82 - strh r4, [r0] - ldr r0, _0809B1FC @ =0x00004082 - subs r1, r6, #1 - adds r2, r7, #0 - bl sub_0800015E - ldr r0, _0809B200 @ =0x00004022 - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0800015E - ldr r0, _0809B204 @ =0x0000405F - adds r1, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - mov r1, r8 - ldr r0, [r1, #0x50] - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CD48 - b _0809B228 - .align 2, 0 -_0809B1FC: .4byte 0x00004082 -_0809B200: .4byte 0x00004022 -_0809B204: .4byte 0x0000405F -_0809B208: - ldr r4, _0809B230 @ =0x00004022 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r6, #1 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E - adds r1, r6, #2 - adds r0, r4, #0 - adds r2, r7, #0 - bl sub_0800015E -_0809B228: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809B230: .4byte 0x00004022 - - thumb_func_start sub_0809B234 -sub_0809B234: @ 0x0809B234 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0809B26A - ldr r2, [r4, #0x50] - ldrb r1, [r2, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r3, [r4, #0x19] - movs r0, #0x3f - ands r0, r3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, #0x29 - ldrb r1, [r2] - lsls r1, r1, #0x1d - adds r3, r4, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1d - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _0809B270 -_0809B26A: - adds r0, r4, #0 - bl sub_0809B274 -_0809B270: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809B274 -sub_0809B274: @ 0x0809B274 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r3, _0809B290 @ =gUnk_03001160 - adds r2, r4, #0 - adds r2, #0x84 - ldrb r0, [r2] - cmp r0, #1 - beq _0809B2BA - cmp r0, #1 - bgt _0809B294 - cmp r0, #0 - beq _0809B29A - b _0809B332 - .align 2, 0 -_0809B290: .4byte gUnk_03001160 -_0809B294: - cmp r0, #2 - beq _0809B30C - b _0809B332 -_0809B29A: - movs r1, #0x32 - ldrsh r0, [r3, r1] - adds r0, #0x14 - movs r3, #0x32 - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0809B332 - movs r0, #1 - strb r0, [r2] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #9 - ands r0, r1 - movs r1, #5 - b _0809B306 -_0809B2BA: - movs r5, #0x2e - ldrsh r0, [r3, r5] - adds r0, #0x1c - movs r5, #0x2e - ldrsh r1, [r4, r5] - cmp r0, r1 - ble _0809B2E8 - movs r0, #2 - strb r0, [r2] - ldr r0, _0809B2E4 @ =0x00004022 - adds r1, r4, #0 - adds r1, #0x80 - ldrh r1, [r1] - adds r1, #2 - movs r2, #1 - bl sub_0800015E - ldr r0, [r4, #0x54] - bl sub_0809B358 - b _0809B332 - .align 2, 0 -_0809B2E4: .4byte 0x00004022 -_0809B2E8: - movs r1, #0x32 - ldrsh r0, [r3, r1] - adds r0, #0x10 - movs r3, #0x32 - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _0809B332 - movs r0, #0 - strb r0, [r2] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #8 - ands r0, r1 - movs r1, #4 -_0809B306: - orrs r0, r1 - strb r0, [r2] - b _0809B332 -_0809B30C: - movs r5, #0x2e - ldrsh r0, [r3, r5] - adds r0, #0x20 - movs r3, #0x2e - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0809B332 - movs r0, #1 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x80 - ldrh r0, [r0] - adds r0, #2 - movs r1, #1 - bl sub_0807BA8C - ldr r0, [r4, #0x54] - bl sub_0809B38C -_0809B332: - pop {r4, r5, pc} - - thumb_func_start sub_0809B334 -sub_0809B334: @ 0x0809B334 - push {r4, r5, lr} - adds r0, #0x80 - ldrh r0, [r0] - adds r4, r0, #0 - subs r4, #0x81 - movs r5, #2 -_0809B340: - ldr r0, _0809B354 @ =0x00004026 - adds r1, r4, #0 - movs r2, #1 - bl sub_0800015E - subs r5, #1 - adds r4, #1 - cmp r5, #0 - bge _0809B340 - pop {r4, r5, pc} - .align 2, 0 -_0809B354: .4byte 0x00004026 - - thumb_func_start sub_0809B358 -sub_0809B358: @ 0x0809B358 - push {r4, r5, r6, lr} - adds r1, r0, #0 - adds r1, #0x84 - ldrb r1, [r1] - lsls r1, r1, #1 - ldr r2, _0809B388 @ =gUnk_08123D68 - adds r5, r1, r2 - adds r0, #0x80 - ldrh r0, [r0] - adds r4, r0, #0 - subs r4, #0x82 - movs r6, #4 -_0809B370: - ldrh r0, [r5] - adds r1, r4, #0 - movs r2, #1 - bl sub_0800015E - subs r6, #1 - adds r4, #1 - adds r5, #4 - cmp r6, #0 - bge _0809B370 - pop {r4, r5, r6, pc} - .align 2, 0 -_0809B388: .4byte gUnk_08123D68 - - thumb_func_start sub_0809B38C -sub_0809B38C: @ 0x0809B38C - push {r4, r5, lr} - adds r0, #0x80 - ldrh r0, [r0] - adds r4, r0, #0 - subs r4, #0x82 - movs r5, #4 -_0809B398: - adds r0, r4, #0 - movs r1, #1 - bl sub_0807BA8C - subs r5, #1 - adds r4, #1 - cmp r5, #0 - bge _0809B398 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0809B3AC -sub_0809B3AC: @ 0x0809B3AC - push {lr} - ldr r2, _0809B3C0 @ =gUnk_08123D7C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809B3C0: .4byte gUnk_08123D7C - - thumb_func_start sub_0809B3C4 -sub_0809B3C4: @ 0x0809B3C4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - adds r0, #0x39 - bl sub_0807CA84 - adds r5, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #3 - beq _0809B3E2 - cmp r5, #0 - beq _0809B3FE - bl sub_0805E780 - b _0809B3FE -_0809B3E2: - movs r0, #0x73 - bl sub_0807CBD0 - cmp r0, #0 - beq _0809B3F0 - bl sub_0805E780 -_0809B3F0: - cmp r5, #2 - beq _0809B3FE - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_0809B3FE: - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #3 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0809B424 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0809B420 - ldrh r0, [r4, #0x32] - adds r0, #0x30 - strh r0, [r4, #0x32] -_0809B420: - movs r0, #2 - strb r0, [r4, #0xb] -_0809B424: - adds r0, r4, #0 - bl sub_08016A04 - ldrb r1, [r4, #0xa] - adds r1, #0x39 - adds r0, r4, #0 - bl sub_080042AC - ldrb r1, [r4, #0xb] - cmp r1, #1 - beq _0809B46C - cmp r1, #1 - bgt _0809B444 - cmp r1, #0 - beq _0809B44E - b _0809B4A6 -_0809B444: - cmp r1, #2 - beq _0809B488 - cmp r1, #3 - beq _0809B48E - b _0809B4A6 -_0809B44E: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x16 - strb r0, [r4, #0xe] - movs r0, #2 - strb r0, [r4, #0xf] - adds r0, r4, #0 - adds r0, #0x80 - strb r1, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - b _0809B49E -_0809B46C: - movs r0, #3 - strb r0, [r4, #0xc] - ldr r0, _0809B484 @ =gUnk_03000BF0 - ldrh r0, [r0, #0xc] - subs r0, #0x10 - ldrh r1, [r4, #0x32] - subs r1, r1, r0 - ldrh r0, [r4, #0x36] - subs r0, r0, r1 - strh r0, [r4, #0x36] - b _0809B4A6 - .align 2, 0 -_0809B484: .4byte gUnk_03000BF0 -_0809B488: - movs r0, #4 - strb r0, [r4, #0xc] - b _0809B4A6 -_0809B48E: - movs r1, #0 - movs r0, #5 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0xd -_0809B49E: - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_0809B4A6: - pop {r4, r5, pc} - - thumb_func_start sub_0809B4A8 -sub_0809B4A8: @ 0x0809B4A8 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r1, r4, #0 - adds r1, #0x80 - ldrb r0, [r1] - cmp r0, #0 - beq _0809B4C0 - subs r0, #1 - strb r0, [r1] - b _0809B520 -_0809B4C0: - adds r0, r4, #0 - bl sub_0809B688 - cmp r0, #0 - beq _0809B51C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0 - bne _0809B520 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #0x40 - strh r0, [r4, #0x24] - movs r0, #0x10 - strb r0, [r4, #0x15] - ldr r2, _0809B510 @ =gUnk_03003F80 - movs r0, #0x9e - strb r0, [r2, #6] - movs r0, #5 - strb r0, [r2, #0xc] - ldr r0, [r2, #0x30] - movs r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r1, _0809B514 @ =gUnk_03001160 - strh r3, [r1, #0x2c] - strh r3, [r1, #0x30] - ldrb r0, [r1, #0x14] - lsls r0, r0, #2 - strb r0, [r1, #0x15] - ldr r0, _0809B518 @ =0x0000010F - bl sub_08004488 - b _0809B520 - .align 2, 0 -_0809B510: .4byte gUnk_03003F80 -_0809B514: .4byte gUnk_03001160 -_0809B518: .4byte 0x0000010F -_0809B51C: - movs r0, #0x16 - strb r0, [r4, #0xe] -_0809B520: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809B524 -sub_0809B524: @ 0x0809B524 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - movs r1, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809B564 - ldrb r0, [r2, #0xf] - subs r0, #1 - strb r0, [r2, #0xf] - ands r0, r1 - cmp r0, #0 - bne _0809B554 - movs r0, #3 - strb r0, [r2, #0xc] - ldrh r0, [r2, #0x32] - adds r0, #0x20 - strh r0, [r2, #0x32] - ldrh r0, [r2, #0x36] - subs r0, #0x20 - strh r0, [r2, #0x36] - b _0809B564 -_0809B554: - movs r0, #1 - strb r0, [r2, #0xc] - movs r0, #0x16 - strb r0, [r2, #0xe] - adds r1, r2, #0 - adds r1, #0x80 - movs r0, #0x18 - strb r0, [r1] -_0809B564: - adds r0, r2, #0 - bl sub_0806F69C - pop {pc} - - thumb_func_start sub_0809B56C -sub_0809B56C: @ 0x0809B56C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xa0 - lsls r1, r1, #6 - bl sub_080044EC - cmp r0, #1 - bne _0809B5B0 - movs r2, #4 - movs r0, #4 - strb r0, [r4, #0xc] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - subs r0, #0xc - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0809B5B0 - adds r0, r4, #0 - bl sub_0806FAB0 -_0809B5B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809B5B4 -sub_0809B5B4: @ 0x0809B5B4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0809B5CC @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809B5D0 - adds r0, r4, #0 - bl sub_0800445C - b _0809B5EA - .align 2, 0 -_0809B5CC: .4byte gUnk_03003F80 -_0809B5D0: - adds r0, r4, #0 - bl sub_08017850 - cmp r0, #0 - beq _0809B5EA - ldrb r0, [r4, #0xa] - adds r0, #0x39 - movs r1, #0 - movs r2, #0 - bl sub_080A7C00 - bl sub_0805E780 -_0809B5EA: - pop {r4, pc} - - thumb_func_start sub_0809B5EC -sub_0809B5EC: @ 0x0809B5EC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - lsls r0, r1, #0x1e - lsrs r5, r0, #0x1e - cmp r5, #1 - bne _0809B646 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0809B606 - cmp r0, #1 - beq _0809B630 - b _0809B682 -_0809B606: - movs r0, #7 - movs r1, #0x1a - movs r2, #7 - bl sub_0805EB00 - adds r2, r0, #0 - cmp r2, #0 - beq _0809B682 - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r3, #0x2e - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _0809B682 - ldrb r0, [r2, #0x14] - cmp r0, #4 - bne _0809B682 - str r2, [r4, #0x50] - strb r5, [r4, #0xd] - adds r0, r2, #0 - b _0809B63E -_0809B630: - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _0809B650 - ldr r0, [r1, #4] - cmp r0, #0 - beq _0809B650 - adds r0, r1, #0 -_0809B63E: - adds r1, r4, #0 - bl sub_0809B6B0 - b _0809B682 -_0809B646: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0809B656 - cmp r0, #1 - beq _0809B668 -_0809B650: - bl sub_0805E780 - b _0809B682 -_0809B656: - ldrb r0, [r4, #0xa] - adds r0, #0x39 - bl sub_0807CA84 - cmp r0, #2 - bne _0809B682 - movs r0, #1 - strb r0, [r4, #0xd] - b _0809B682 -_0809B668: - ldr r0, _0809B684 @ =gUnk_02000050 - ldrb r0, [r0] - movs r2, #0x7f - ands r2, r0 - cmp r2, #0 - bne _0809B682 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r2, [r4, #0xd] -_0809B682: - pop {r4, r5, pc} - .align 2, 0 -_0809B684: .4byte gUnk_02000050 - - thumb_func_start sub_0809B688 -sub_0809B688: @ 0x0809B688 - push {lr} - ldr r1, _0809B6A8 @ =gUnk_03001160 - movs r2, #6 - movs r3, #0xc - bl sub_080041A0 - adds r1, r0, #0 - cmp r1, #1 - bne _0809B6A4 - ldr r0, _0809B6AC @ =gUnk_03003F80 - ldrb r0, [r0, #0xd] - cmp r0, #0x10 - beq _0809B6A4 - movs r1, #0 -_0809B6A4: - adds r0, r1, #0 - pop {pc} - .align 2, 0 -_0809B6A8: .4byte gUnk_03001160 -_0809B6AC: .4byte gUnk_03003F80 - - thumb_func_start sub_0809B6B0 -sub_0809B6B0: @ 0x0809B6B0 - push {r4, lr} - adds r4, r1, #0 - ldr r2, _0809B6EC @ =gUnk_08123D94 - ldrb r1, [r0, #0x14] - lsrs r1, r1, #1 - adds r1, r1, r2 - movs r3, #0 - ldrsb r3, [r1, r3] - lsls r3, r3, #0x10 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - rsbs r0, r0, #0 - strh r0, [r4, #0x36] - ldrb r0, [r4, #0xa] - movs r1, #3 - subs r1, r1, r0 - adds r4, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_0809B6EC: .4byte gUnk_08123D94 - - thumb_func_start sub_0809B6F0 -sub_0809B6F0: @ 0x0809B6F0 - push {lr} - ldr r2, _0809B704 @ =gUnk_08123D98 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809B704: .4byte gUnk_08123D98 - - thumb_func_start sub_0809B708 -sub_0809B708: @ 0x0809B708 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r2, #1 - movs r0, #1 - strb r0, [r6, #0xc] - ldrb r1, [r6, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r6, #0x18] - movs r0, #0x80 - strh r0, [r6, #0x24] - adds r0, r6, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0809B73A - adds r0, r6, #0 - bl sub_0809B7DC - bl sub_0805E780 - b _0809B78A -_0809B73A: - ldr r0, _0809B794 @ =0x0000030B - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldr r5, _0809B798 @ =gUnk_03000BF0 - ldrh r2, [r5, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - movs r2, #2 - bl sub_0807B7D8 - ldr r0, _0809B79C @ =0x00004061 - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldrh r2, [r5, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r4 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r6, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0809B78A: - adds r0, r6, #0 - bl sub_0809B7A0 - pop {r4, r5, r6, pc} - .align 2, 0 -_0809B794: .4byte 0x0000030B -_0809B798: .4byte gUnk_03000BF0 -_0809B79C: .4byte 0x00004061 - - thumb_func_start sub_0809B7A0 -sub_0809B7A0: @ 0x0809B7A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0809B7C0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809B7BC - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - bl sub_0805E780 -_0809B7BC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809B7C0 -sub_0809B7C0: @ 0x0809B7C0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080002A0 - ldr r1, _0809B7D8 @ =0xFFFFBF9F - adds r0, r0, r1 - cmp r0, #1 - bls _0809B7D6 - adds r0, r4, #0 - bl sub_0809B7DC -_0809B7D6: - pop {r4, pc} - .align 2, 0 -_0809B7D8: .4byte 0xFFFFBF9F - - thumb_func_start sub_0809B7DC -sub_0809B7DC: @ 0x0809B7DC - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r0, #0xc3 - lsls r0, r0, #2 - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldr r5, _0809B838 @ =gUnk_03000BF0 - ldrh r2, [r5, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - movs r2, #2 - bl sub_0807B7D8 - ldr r0, _0809B83C @ =0x00004062 - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldrh r2, [r5, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r4 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r6, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - movs r0, #1 - strb r0, [r6, #0xe] - pop {r4, r5, r6, pc} - .align 2, 0 -_0809B838: .4byte gUnk_03000BF0 -_0809B83C: .4byte 0x00004062 - - thumb_func_start sub_0809B840 -sub_0809B840: @ 0x0809B840 - push {lr} - ldr r2, _0809B854 @ =gUnk_08123DA0 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809B854: .4byte gUnk_08123DA0 - - thumb_func_start sub_0809B858 -sub_0809B858: @ 0x0809B858 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x1e - bl sub_0805E4E0 - ldrb r3, [r4, #0xc] - cmp r3, #1 - beq _0809B8CC - cmp r3, #1 - bgt _0809B872 - cmp r3, #0 - beq _0809B878 - b _0809B972 -_0809B872: - cmp r3, #2 - beq _0809B948 - b _0809B972 -_0809B878: - movs r1, #1 - strb r1, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - strb r3, [r4, #0xf] - ldr r0, _0809B8BC @ =gUnk_03000BF0 - str r4, [r0, #0x30] - strb r1, [r0, #0xe] - ldr r5, _0809B8C0 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r5, r2] - movs r2, #6 - cmp r1, r0 - ble _0809B89A - movs r2, #2 -_0809B89A: - strb r2, [r5, #0x14] - ldr r2, _0809B8C4 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0809B8C8 @ =0x0000BFFF - ands r0, r1 - movs r4, #0xa0 - lsls r4, r4, #6 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - adds r0, r2, #0 - adds r0, #0x58 - strh r3, [r0] - adds r2, #0x5c - movs r0, #0xa0 - strh r0, [r2] - b _0809B972 - .align 2, 0 -_0809B8BC: .4byte gUnk_03000BF0 -_0809B8C0: .4byte gUnk_03001160 -_0809B8C4: .4byte gUnk_03000F50 -_0809B8C8: .4byte 0x0000BFFF -_0809B8CC: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809B8D8 - subs r0, #1 - strb r0, [r4, #0xe] - b _0809B972 -_0809B8D8: - ldrb r0, [r4, #0xf] - cmp r0, #0x1f - bhi _0809B914 - ldr r5, _0809B90C @ =gUnk_030010A0 - ldr r0, [r5] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0809B8F0 - ldr r0, _0809B910 @ =0x00000133 - bl sub_080A3268 -_0809B8F0: - ldr r0, [r5] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0809B972 - ldrb r1, [r4, #0xf] - adds r1, #1 - strb r1, [r4, #0xf] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r0, r4, #0 - bl sub_0809B97C - b _0809B972 - .align 2, 0 -_0809B90C: .4byte gUnk_030010A0 -_0809B910: .4byte 0x00000133 -_0809B914: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r2, _0809B938 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0809B93C @ =0x0000DFFF - ands r0, r1 - strh r0, [r2] - ldr r1, _0809B940 @ =gUnk_03000BF0 - ldr r0, _0809B944 @ =gUnk_03001160 - str r0, [r1, #0x30] - movs r0, #0x9a - lsls r0, r0, #1 - bl sub_080A3268 - b _0809B972 - .align 2, 0 -_0809B938: .4byte gUnk_03000F50 -_0809B93C: .4byte 0x0000DFFF -_0809B940: .4byte gUnk_03000BF0 -_0809B944: .4byte gUnk_03001160 -_0809B948: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809B972 - ldr r2, _0809B974 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x90 - lsls r3, r3, #7 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0809B978 @ =gUnk_03000BF0 - movs r0, #4 - strb r0, [r1, #0xe] - ldr r1, [r4, #0x50] - movs r0, #1 - strb r0, [r1, #0xd] - bl sub_0805E780 -_0809B972: - pop {r4, r5, pc} - .align 2, 0 -_0809B974: .4byte gUnk_03000F50 -_0809B978: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809B97C -sub_0809B97C: @ 0x0809B97C - push {lr} - movs r3, #0x2e - ldrsh r2, [r0, r3] - ldr r0, _0809B9B4 @ =gUnk_03000BF0 - movs r3, #0xa - ldrsh r0, [r0, r3] - subs r2, r2, r0 - subs r0, r2, r1 - adds r2, r2, r1 - cmp r0, #0 - bge _0809B994 - movs r0, #0 -_0809B994: - cmp r0, #0xf0 - ble _0809B99A - movs r0, #0xf0 -_0809B99A: - cmp r2, #0 - bge _0809B9A0 - movs r2, #0 -_0809B9A0: - cmp r2, #0xf0 - ble _0809B9A6 - movs r2, #0xf0 -_0809B9A6: - ldr r1, _0809B9B8 @ =gUnk_03000F50 - lsls r0, r0, #8 - orrs r0, r2 - adds r1, #0x58 - strh r0, [r1] - pop {pc} - .align 2, 0 -_0809B9B4: .4byte gUnk_03000BF0 -_0809B9B8: .4byte gUnk_03000F50 - - thumb_func_start sub_0809B9BC -sub_0809B9BC: @ 0x0809B9BC - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x1e - bl sub_0805E4E0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0809BA34 - cmp r0, #1 - bgt _0809B9D6 - cmp r0, #0 - beq _0809B9DC - b _0809BAC2 -_0809B9D6: - cmp r0, #2 - beq _0809BA9C - b _0809BAC2 -_0809B9DC: - movs r1, #1 - strb r1, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x20 - strb r0, [r4, #0xf] - ldr r0, _0809BA24 @ =gUnk_03000BF0 - str r4, [r0, #0x30] - strb r1, [r0, #0xe] - ldr r3, _0809BA28 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r3, r2] - movs r2, #6 - cmp r1, r0 - ble _0809BA00 - movs r2, #2 -_0809BA00: - strb r2, [r3, #0x14] - ldr r2, _0809BA2C @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0809BA30 @ =0x0000BFFF - ands r0, r1 - movs r3, #0x80 - lsls r3, r3, #6 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - adds r1, r2, #0 - adds r1, #0x58 - movs r0, #0xf0 - strh r0, [r1] - adds r2, #0x5c - movs r0, #0xa0 - strh r0, [r2] - b _0809BAC2 - .align 2, 0 -_0809BA24: .4byte gUnk_03000BF0 -_0809BA28: .4byte gUnk_03001160 -_0809BA2C: .4byte gUnk_03000F50 -_0809BA30: .4byte 0x0000BFFF -_0809BA34: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809BA40 - subs r0, #1 - strb r0, [r4, #0xe] - b _0809BAC2 -_0809BA40: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0809BA7C - ldr r5, _0809BA74 @ =gUnk_030010A0 - ldr r0, [r5] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0809BA58 - ldr r0, _0809BA78 @ =0x00000133 - bl sub_080A3268 -_0809BA58: - ldr r0, [r5] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0809BAC2 - ldrb r1, [r4, #0xf] - subs r1, #1 - strb r1, [r4, #0xf] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r0, r4, #0 - bl sub_0809B97C - b _0809BAC2 - .align 2, 0 -_0809BA74: .4byte gUnk_030010A0 -_0809BA78: .4byte 0x00000133 -_0809BA7C: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r1, _0809BA94 @ =gUnk_03000BF0 - ldr r0, _0809BA98 @ =gUnk_03001160 - str r0, [r1, #0x30] - movs r0, #0x9a - lsls r0, r0, #1 - bl sub_080A3268 - b _0809BAC2 - .align 2, 0 -_0809BA94: .4byte gUnk_03000BF0 -_0809BA98: .4byte gUnk_03001160 -_0809BA9C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809BAC2 - ldr r1, _0809BAC4 @ =gUnk_03000BF0 - movs r0, #4 - strb r0, [r1, #0xe] - ldr r2, _0809BAC8 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0809BACC @ =0x0000D7FF - ands r0, r1 - strh r0, [r2] - ldr r1, [r4, #0x50] - movs r0, #1 - strb r0, [r1, #0xd] - bl sub_0805E780 -_0809BAC2: - pop {r4, r5, pc} - .align 2, 0 -_0809BAC4: .4byte gUnk_03000BF0 -_0809BAC8: .4byte gUnk_03000F50 -_0809BACC: .4byte 0x0000D7FF - - thumb_func_start sub_0809BAD0 -sub_0809BAD0: @ 0x0809BAD0 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0xa - bl sub_0805E4E0 - ldrb r0, [r4, #0xc] - cmp r0, #4 - bls _0809BAE2 - b _0809BC68 -_0809BAE2: - lsls r0, r0, #2 - ldr r1, _0809BAEC @ =_0809BAF0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809BAEC: .4byte _0809BAF0 -_0809BAF0: @ jump table - .4byte _0809BB04 @ case 0 - .4byte _0809BB4C @ case 1 - .4byte _0809BBF8 @ case 2 - .4byte _0809BC24 @ case 3 - .4byte _0809BC48 @ case 4 -_0809BB04: - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r1, #0 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldr r1, _0809BB40 @ =gUnk_03000BF0 - str r4, [r1, #0x30] - movs r0, #1 - strb r0, [r1, #0xe] - ldr r3, _0809BB44 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r3, r2] - movs r2, #6 - cmp r1, r0 - ble _0809BB2C - movs r2, #2 -_0809BB2C: - strb r2, [r3, #0x14] - ldr r1, _0809BB48 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x58 - movs r0, #0x60 - strh r0, [r2] - adds r1, #0x5c - movs r0, #0xa0 - strh r0, [r1] - b _0809BC68 - .align 2, 0 -_0809BB40: .4byte gUnk_03000BF0 -_0809BB44: .4byte gUnk_03001160 -_0809BB48: .4byte gUnk_03000F50 -_0809BB4C: - adds r0, r4, #0 - bl sub_0809BE78 - cmp r0, #0 - bne _0809BB58 - b _0809BC68 -_0809BB58: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809BB88 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0809BB6A - b _0809BC68 -_0809BB6A: - ldr r2, _0809BB80 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0809BB84 @ =0x0000BFFF - ands r0, r1 - movs r3, #0xa0 - lsls r3, r3, #6 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0809BC68 - .align 2, 0 -_0809BB80: .4byte gUnk_03000F50 -_0809BB84: .4byte 0x0000BFFF -_0809BB88: - ldr r2, _0809BBB8 @ =gUnk_03000F50 - adds r5, r2, #0 - adds r5, #0x58 - ldrh r0, [r5] - cmp r0, #0xdf - bhi _0809BBC4 - ldr r4, _0809BBBC @ =gUnk_030010A0 - ldr r0, [r4] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0809BBA6 - ldr r0, _0809BBC0 @ =0x00000133 - bl sub_080A3268 -_0809BBA6: - ldr r0, [r4] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0809BC68 - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] - b _0809BC68 - .align 2, 0 -_0809BBB8: .4byte gUnk_03000F50 -_0809BBBC: .4byte gUnk_030010A0 -_0809BBC0: .4byte 0x00000133 -_0809BBC4: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldrh r1, [r2] - ldr r0, _0809BBF4 @ =0x0000DFFF - ands r0, r1 - movs r3, #0x90 - lsls r3, r3, #7 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r4, #0x2e] - adds r0, #0x68 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - adds r0, #0x28 - strh r0, [r4, #0x32] - movs r0, #0x9a - lsls r0, r0, #1 - bl sub_080A3268 - b _0809BC68 - .align 2, 0 -_0809BBF4: .4byte 0x0000DFFF -_0809BBF8: - adds r0, r4, #0 - bl sub_0809BE78 - cmp r0, #0 - beq _0809BC68 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809BC68 - movs r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x35 - bl sub_0807CCB4 - movs r0, #0x72 - bl sub_080A3268 - b _0809BC68 -_0809BC24: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809BC68 - movs r0, #4 - strb r0, [r4, #0xc] - ldr r1, _0809BC40 @ =gUnk_03000BF0 - ldr r0, _0809BC44 @ =gUnk_03001160 - str r0, [r1, #0x30] - movs r0, #2 - strb r0, [r1, #0xe] - b _0809BC68 - .align 2, 0 -_0809BC40: .4byte gUnk_03000BF0 -_0809BC44: .4byte gUnk_03001160 -_0809BC48: - adds r0, r4, #0 - bl sub_0809BE78 - cmp r0, #0 - beq _0809BC68 - ldr r1, _0809BC6C @ =gUnk_03000BF0 - movs r0, #4 - strb r0, [r1, #0xe] - ldr r1, [r4, #0x50] - movs r0, #1 - strb r0, [r1, #0xd] - movs r0, #0x64 - bl sub_0807CD10 - bl sub_0805E780 -_0809BC68: - pop {r4, r5, pc} - .align 2, 0 -_0809BC6C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809BC70 -sub_0809BC70: @ 0x0809BC70 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r1, #0x1e - bl sub_0805E4E0 - ldrb r5, [r4, #0xc] - cmp r5, #1 - beq _0809BCDC - cmp r5, #1 - bgt _0809BC8A - cmp r5, #0 - beq _0809BC92 - b _0809BDAE -_0809BC8A: - cmp r5, #2 - bne _0809BC90 - b _0809BD98 -_0809BC90: - b _0809BDAE -_0809BC92: - movs r1, #1 - strb r1, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - strb r5, [r4, #0xf] - ldr r0, _0809BCCC @ =gUnk_03000BF0 - str r4, [r0, #0x30] - strb r1, [r0, #0xe] - ldr r3, _0809BCD0 @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r3, r2] - movs r2, #6 - cmp r1, r0 - ble _0809BCB4 - movs r2, #2 -_0809BCB4: - strb r2, [r3, #0x14] - ldr r1, _0809BCD4 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x58 - ldr r0, _0809BCD8 @ =0x000080F0 - strh r0, [r2] - adds r1, #0x5c - movs r0, #0xa0 - strh r0, [r1] - movs r0, #0x80 - strb r0, [r4, #0xd] - b _0809BDAE - .align 2, 0 -_0809BCCC: .4byte gUnk_03000BF0 -_0809BCD0: .4byte gUnk_03001160 -_0809BCD4: .4byte gUnk_03000F50 -_0809BCD8: .4byte 0x000080F0 -_0809BCDC: - adds r0, r4, #0 - bl sub_0809BE78 - cmp r0, #0 - beq _0809BDAE - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809BD20 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809BDAE - movs r0, #6 - movs r1, #8 - bl sub_08050054 - movs r0, #3 - bl sub_0805AAF0 - ldr r2, _0809BD18 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0809BD1C @ =0x0000BFFF - ands r0, r1 - movs r3, #0xa0 - lsls r3, r3, #6 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0809BDAE - .align 2, 0 -_0809BD18: .4byte gUnk_03000F50 -_0809BD1C: .4byte 0x0000BFFF -_0809BD20: - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0809BD64 - ldr r6, _0809BD58 @ =gUnk_030010A0 - ldr r0, [r6] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0809BD38 - ldr r0, _0809BD5C @ =0x00000133 - bl sub_080A3268 -_0809BD38: - ldr r0, [r6] - ands r0, r5 - cmp r0, #0 - bne _0809BDAE - ldrb r0, [r4, #0xd] - subs r0, #1 - strb r0, [r4, #0xd] - ldr r1, _0809BD60 @ =gUnk_03000F50 - ldrb r0, [r4, #0xd] - lsls r0, r0, #8 - movs r2, #0xf0 - adds r1, #0x58 - orrs r0, r2 - strh r0, [r1] - b _0809BDAE - .align 2, 0 -_0809BD58: .4byte gUnk_030010A0 -_0809BD5C: .4byte 0x00000133 -_0809BD60: .4byte gUnk_03000F50 -_0809BD64: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - ldr r2, _0809BD90 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _0809BD94 @ =0x0000DFFF - ands r0, r1 - movs r3, #0x90 - lsls r3, r3, #7 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - movs r0, #0x37 - bl sub_0807CCB4 - movs r0, #0x9a - lsls r0, r0, #1 - bl sub_080A3268 - b _0809BDAE - .align 2, 0 -_0809BD90: .4byte gUnk_03000F50 -_0809BD94: .4byte 0x0000DFFF -_0809BD98: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809BDAE - ldr r1, [r4, #0x50] - movs r0, #1 - strb r0, [r1, #0xd] - bl sub_0805E780 -_0809BDAE: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0809BDB0 -sub_0809BDB0: @ 0x0809BDB0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x1e - bl sub_0805E4E0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0809BE00 - cmp r0, #1 - bgt _0809BDCA - cmp r0, #0 - beq _0809BDD0 - b _0809BE70 -_0809BDCA: - cmp r0, #2 - beq _0809BE54 - b _0809BE70 -_0809BDD0: - movs r1, #1 - strb r1, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x80 - strb r0, [r4, #0xf] - ldr r0, _0809BDF8 @ =gUnk_03000BF0 - str r4, [r0, #0x30] - strb r1, [r0, #0xe] - ldr r3, _0809BDFC @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r2, #0x2e - ldrsh r0, [r3, r2] - movs r2, #6 - cmp r1, r0 - ble _0809BDF4 - movs r2, #2 -_0809BDF4: - strb r2, [r3, #0x14] - b _0809BE70 - .align 2, 0 -_0809BDF8: .4byte gUnk_03000BF0 -_0809BDFC: .4byte gUnk_03001160 -_0809BE00: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809BE0C - subs r0, #1 - strb r0, [r4, #0xe] - b _0809BE70 -_0809BE0C: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0809BE34 - ldr r0, _0809BE2C @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0809BE70 - ldr r0, _0809BE30 @ =0x00000133 - bl sub_080A3268 - b _0809BE70 - .align 2, 0 -_0809BE2C: .4byte gUnk_030010A0 -_0809BE30: .4byte 0x00000133 -_0809BE34: - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r1, _0809BE4C @ =gUnk_03000BF0 - ldr r0, _0809BE50 @ =gUnk_03001160 - str r0, [r1, #0x30] - movs r0, #0x9a - lsls r0, r0, #1 - bl sub_080A3268 - b _0809BE70 - .align 2, 0 -_0809BE4C: .4byte gUnk_03000BF0 -_0809BE50: .4byte gUnk_03001160 -_0809BE54: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809BE70 - ldr r1, _0809BE74 @ =gUnk_03000BF0 - movs r0, #4 - strb r0, [r1, #0xe] - ldr r1, [r4, #0x50] - movs r0, #1 - strb r0, [r1, #0xd] - bl sub_0805E780 -_0809BE70: - pop {r4, pc} - .align 2, 0 -_0809BE74: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809BE78 -sub_0809BE78: @ 0x0809BE78 - push {r4, r5, lr} - adds r3, r0, #0 - movs r5, #0 - adds r0, #0x68 - ldrh r2, [r0] - ldr r0, _0809BEB0 @ =gUnk_03000BF0 - movs r4, #0xa - ldrsh r1, [r0, r4] - adds r4, r0, #0 - cmp r2, r1 - bne _0809BE9E - adds r0, r3, #0 - adds r0, #0x6a - ldrh r1, [r0] - movs r2, #0xc - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0809BE9E - movs r5, #1 -_0809BE9E: - ldrh r1, [r4, #0xa] - adds r0, r3, #0 - adds r0, #0x68 - strh r1, [r0] - ldrh r1, [r4, #0xc] - adds r0, #2 - strh r1, [r0] - adds r0, r5, #0 - pop {r4, r5, pc} - .align 2, 0 -_0809BEB0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809BEB4 -sub_0809BEB4: @ 0x0809BEB4 - push {lr} - ldr r2, _0809BEC8 @ =gUnk_08123DB4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809BEC8: .4byte gUnk_08123DB4 - - thumb_func_start sub_0809BECC -sub_0809BECC: @ 0x0809BECC - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x9b - bl sub_0807CBE4 - cmp r0, #0 - beq _0809BEDE - bl sub_0805E780 -_0809BEDE: - movs r0, #0x91 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - str r0, [r4, #0x54] - cmp r0, #0 - beq _0809BF1A - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x11] - subs r0, #0x11 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x11] - strb r2, [r4, #0x1e] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - bl sub_0809C0A8 - adds r0, r4, #0 - movs r1, #0xcc - movs r2, #0xcc - movs r3, #0 - bl sub_0805EC9C -_0809BF1A: - pop {r4, pc} - - thumb_func_start sub_0809BF1C -sub_0809BF1C: @ 0x0809BF1C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xcc - movs r2, #0xcc - movs r3, #0 - bl sub_0805EC9C - movs r0, #0x37 - bl sub_0807CBE4 - cmp r0, #0 - beq _0809BF6C - movs r0, #0x90 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0809BF6C - ldr r0, _0809BF70 @ =gUnk_03000BF0 - str r1, [r0, #0x30] - ldr r0, [r4, #0x54] - str r1, [r0, #0x54] - movs r3, #0x80 - lsls r3, r3, #0xb - adds r0, r4, #0 - movs r2, #0 - bl sub_0806FA48 - movs r0, #2 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x74 - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r1] - adds r0, #0x73 - bl sub_08004488 -_0809BF6C: - pop {r4, pc} - .align 2, 0 -_0809BF70: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809BF74 -sub_0809BF74: @ 0x0809BF74 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r5, r7, #0 - adds r5, #0x74 - ldrh r0, [r5] - subs r1, r0, #1 - strh r1, [r5] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _0809BFA0 - ldr r1, [r7, #0x54] - movs r0, #1 - strb r0, [r1, #0xf] - adds r0, r7, #0 - bl sub_0809C23C - movs r0, #0x9b - bl sub_0807CBE4 - bl sub_0805E780 - b _0809C09A -_0809BFA0: - movs r0, #0x1f - ands r1, r0 - cmp r1, #0 - bne _0809BFAE - ldr r0, _0809C09C @ =0x000001B3 - bl sub_08004488 -_0809BFAE: - ldrh r0, [r5] - cmp r0, #0x77 - bhi _0809BFE0 - movs r1, #0x78 - subs r1, r1, r0 - lsls r4, r1, #5 - adds r4, #0xcc - lsls r1, r1, #4 - adds r1, #0xcc - adds r0, r7, #0 - adds r2, r4, #0 - movs r3, #0 - bl sub_0805EC9C - adds r0, r7, #0 - adds r1, r4, #0 - movs r2, #8 - movs r3, #0 - bl sub_0806FCF4 - adds r1, r7, #0 - adds r1, #0x63 - ldrb r0, [r1] - adds r0, #8 - strb r0, [r1] -_0809BFE0: - ldr r1, _0809C0A0 @ =gUnk_08123DC0 - ldrh r0, [r5] - lsrs r0, r0, #5 - adds r0, r0, r1 - ldrb r6, [r0] - movs r0, #0xf - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _0809C044 - bl sub_08000E50 - adds r4, r0, #0 - asrs r0, r4, #0x10 - ands r0, r6 - adds r2, r6, #1 - lsrs r1, r2, #1 - subs r0, r0, r1 - mov ip, r0 - lsrs r0, r6, #1 - ands r0, r4 - lsrs r2, r2, #2 - subs r4, r0, r2 - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r7, #0 - adds r1, #0x80 - ldr r2, _0809C0A4 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldrh r1, [r1] - adds r0, r0, r1 - add r0, ip - strh r0, [r5, #0x2e] - adds r1, r7, #0 - adds r1, #0x82 - ldrh r0, [r2, #8] - ldrh r1, [r1] - adds r0, r0, r1 - adds r0, r0, r4 - strh r0, [r5, #0x32] -_0809C044: - movs r0, #0xf - movs r1, #2 - movs r2, #0x40 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _0809C09A - bl sub_08000E50 - adds r4, r0, #0 - asrs r1, r4, #0x10 - ands r1, r6 - adds r0, r6, #1 - lsrs r0, r0, #1 - subs r1, r1, r0 - mov ip, r1 - lsrs r3, r6, #1 - ands r3, r4 - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r7, #0 - adds r1, #0x80 - ldr r2, _0809C0A4 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - ldrh r1, [r1] - adds r0, r0, r1 - add r0, ip - strh r0, [r5, #0x2e] - adds r1, r7, #0 - adds r1, #0x82 - ldrh r0, [r2, #8] - ldrh r1, [r1] - adds r0, r0, r1 - adds r0, r0, r3 - strh r0, [r5, #0x32] -_0809C09A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809C09C: .4byte 0x000001B3 -_0809C0A0: .4byte gUnk_08123DC0 -_0809C0A4: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809C0A8 -sub_0809C0A8: @ 0x0809C0A8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _0809C214 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r6, r0, #4 - movs r2, #0x3f - ands r6, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r6, r0 - ldr r5, _0809C218 @ =0x00004022 - adds r1, r6, #0 - subs r1, #0x41 - adds r4, #0x38 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - subs r1, #0x40 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - subs r1, #0x3f - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - subs r1, r6, #2 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - subs r1, r6, #1 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldrb r2, [r4] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0800015E - adds r1, r6, #1 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #2 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x3e - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x3f - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x40 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x41 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x42 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x7f - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x80 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - adds r1, #0x81 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _0809C21C @ =0x0000013F - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - movs r0, #0xa0 - lsls r0, r0, #1 - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _0809C220 @ =0x00000141 - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _0809C224 @ =0x0000017F - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _0809C228 @ =0x00000181 - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _0809C22C @ =0x000001BD - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - movs r0, #0xdf - lsls r0, r0, #1 - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _0809C230 @ =0x000001BF - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _0809C234 @ =0x000001C1 - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - movs r0, #0xe1 - lsls r0, r0, #1 - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _0809C238 @ =0x000001C3 - adds r1, r6, r0 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_0809C214: .4byte gUnk_03000BF0 -_0809C218: .4byte 0x00004022 -_0809C21C: .4byte 0x0000013F -_0809C220: .4byte 0x00000141 -_0809C224: .4byte 0x0000017F -_0809C228: .4byte 0x00000181 -_0809C22C: .4byte 0x000001BD -_0809C230: .4byte 0x000001BF -_0809C234: .4byte 0x000001C1 -_0809C238: .4byte 0x000001C3 - - thumb_func_start sub_0809C23C -sub_0809C23C: @ 0x0809C23C - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r3, _0809C370 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - adds r0, r5, #0 - subs r0, #0x41 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - subs r0, #0x40 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - subs r0, #0x3f - ldrb r1, [r4] - bl sub_0807BA8C - subs r0, r5, #2 - ldrb r1, [r4] - bl sub_0807BA8C - subs r0, r5, #1 - ldrb r1, [r4] - bl sub_0807BA8C - ldrb r1, [r4] - adds r0, r5, #0 - bl sub_0807BA8C - adds r0, r5, #1 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #2 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x3e - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x3f - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x40 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x41 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x42 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x7f - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x80 - ldrb r1, [r4] - bl sub_0807BA8C - adds r0, r5, #0 - adds r0, #0x81 - ldrb r1, [r4] - bl sub_0807BA8C - ldr r1, _0809C374 @ =0x0000013F - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - movs r1, #0xa0 - lsls r1, r1, #1 - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - ldr r1, _0809C378 @ =0x00000141 - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - ldr r1, _0809C37C @ =0x0000017F - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - ldr r1, _0809C380 @ =0x00000181 - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - ldr r1, _0809C384 @ =0x000001BD - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - movs r1, #0xdf - lsls r1, r1, #1 - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - ldr r1, _0809C388 @ =0x000001BF - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - ldr r1, _0809C38C @ =0x000001C1 - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - movs r1, #0xe1 - lsls r1, r1, #1 - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - ldr r1, _0809C390 @ =0x000001C3 - adds r0, r5, r1 - ldrb r1, [r4] - bl sub_0807BA8C - pop {r4, r5, pc} - .align 2, 0 -_0809C370: .4byte gUnk_03000BF0 -_0809C374: .4byte 0x0000013F -_0809C378: .4byte 0x00000141 -_0809C37C: .4byte 0x0000017F -_0809C380: .4byte 0x00000181 -_0809C384: .4byte 0x000001BD -_0809C388: .4byte 0x000001BF -_0809C38C: .4byte 0x000001C1 -_0809C390: .4byte 0x000001C3 - - thumb_func_start sub_0809C394 -sub_0809C394: @ 0x0809C394 - push {lr} - ldr r2, _0809C3A8 @ =gUnk_08123DCC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809C3A8: .4byte gUnk_08123DCC - - thumb_func_start sub_0809C3AC -sub_0809C3AC: @ 0x0809C3AC - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - strb r2, [r0, #0x1e] - adds r0, #0x29 - ldrb r2, [r0] - subs r1, #9 - ands r1, r2 - movs r2, #5 - orrs r1, r2 - strb r1, [r0] - bx lr - - thumb_func_start nullsub_536 -nullsub_536: @ 0x0809C3C4 - bx lr - .align 2, 0 - - thumb_func_start sub_0809C3C8 -sub_0809C3C8: @ 0x0809C3C8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0809C3E8 @ =gUnk_08123DD4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - pop {r4, pc} - .align 2, 0 -_0809C3E8: .4byte gUnk_08123DD4 - - thumb_func_start sub_0809C3EC -sub_0809C3EC: @ 0x0809C3EC - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #7 - bls _0809C400 - b _0809C5A4 -_0809C400: - lsls r0, r0, #2 - ldr r1, _0809C40C @ =_0809C410 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809C40C: .4byte _0809C410 -_0809C410: @ jump table - .4byte _0809C430 @ case 0 - .4byte _0809C53E @ case 1 - .4byte _0809C53E @ case 2 - .4byte _0809C53E @ case 3 - .4byte _0809C53E @ case 4 - .4byte _0809C586 @ case 5 - .4byte _0809C440 @ case 6 - .4byte _0809C5BA @ case 7 -_0809C430: - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r1, r4, #0 - adds r1, #0x7e - movs r0, #0 - strh r0, [r1] -_0809C440: - movs r0, #1 - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0xf0 - strb r0, [r1] - ldr r1, _0809C4B4 @ =gUnk_03000BF0 - movs r2, #0x84 - lsls r2, r2, #1 - adds r0, r2, #0 - ldrh r2, [r1, #6] - adds r0, r0, r2 - strh r0, [r4, #0x2e] - movs r2, #0xb4 - lsls r2, r2, #1 - adds r0, r2, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r4, #0x32] - ldrb r0, [r4, #0x19] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - adds r0, #0x76 - movs r1, #0xa0 - strh r1, [r0] - subs r0, #2 - strh r1, [r0] - adds r1, r4, #0 - adds r1, #0x7b - movs r0, #0x80 - strb r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0809C52E - subs r1, #0x19 - movs r0, #0x29 - strb r0, [r1] - adds r1, #1 - movs r0, #0xe0 - strb r0, [r1] - movs r0, #0x30 - bl sub_0801D8E0 - adds r2, r0, #0 - adds r0, r4, #0 - adds r0, #0x84 - str r2, [r0] - mov r8, r0 - cmp r2, #0 - bne _0809C4B8 - bl sub_0805E780 - b _0809C5BA - .align 2, 0 -_0809C4B4: .4byte gUnk_03000BF0 -_0809C4B8: - str r2, [r4, #0x64] - mov r0, r8 - ldr r1, [r0] - movs r0, #5 - strb r0, [r1, #1] - movs r5, #0 - mov r7, r8 -_0809C4C6: - adds r6, r5, #1 - adds r0, r4, #0 - movs r1, #0x91 - adds r2, r6, #0 - movs r3, #0 - bl sub_080A2988 - str r0, [r4, #0x54] - cmp r0, #0 - beq _0809C4EE - adds r1, r0, #0 - adds r1, #0x84 - ldr r0, [r7] - str r0, [r1] - ldr r1, [r7] - lsls r0, r5, #2 - adds r1, #0x20 - adds r1, r1, r0 - ldr r0, [r4, #0x54] - str r0, [r1] -_0809C4EE: - adds r5, r6, #0 - cmp r5, #3 - bls _0809C4C6 - adds r0, r4, #0 - movs r1, #0x91 - movs r2, #5 - movs r3, #0 - bl sub_080A2988 - str r0, [r4, #0x54] - cmp r0, #0 - beq _0809C510 - adds r1, r0, #0 - adds r1, #0x84 - mov r2, r8 - ldr r0, [r2] - str r0, [r1] -_0809C510: - adds r0, r4, #0 - movs r1, #0x91 - movs r2, #6 - movs r3, #0 - bl sub_080A2988 - str r0, [r4, #0x50] - cmp r0, #0 - beq _0809C5A4 - adds r1, r0, #0 - adds r1, #0x84 - mov r2, r8 - ldr r0, [r2] - str r0, [r1] - b _0809C5A4 -_0809C52E: - adds r1, r4, #0 - adds r1, #0x62 - movs r0, #0xd7 - strb r0, [r1] - adds r1, #1 - movs r0, #0xe0 - strb r0, [r1] - b _0809C5A4 -_0809C53E: - movs r1, #0 - movs r0, #0x10 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x79 - strb r1, [r0] - ldrb r1, [r4, #0xa] - movs r2, #2 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _0809C55A - strb r2, [r4, #0xf] - b _0809C55E -_0809C55A: - movs r0, #0xfe - strb r0, [r4, #0xf] -_0809C55E: - adds r0, r4, #0 - adds r0, #0x74 - movs r2, #0x80 - lsls r2, r2, #1 - strh r2, [r0] - ldrb r1, [r4, #0xa] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _0809C57E - adds r1, r4, #0 - adds r1, #0x76 - movs r0, #0xff - lsls r0, r0, #8 - strh r0, [r1] - b _0809C5A4 -_0809C57E: - adds r0, r4, #0 - adds r0, #0x76 - strh r2, [r0] - b _0809C5A4 -_0809C586: - adds r0, r4, #0 - adds r0, #0x76 - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0] - subs r0, #2 - strh r1, [r0] - adds r1, r4, #0 - adds r1, #0x79 - movs r0, #0x1c - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - str r4, [r0, #8] -_0809C5A4: - ldr r0, _0809C5C0 @ =gUnk_08123DDC - ldrb r1, [r4, #0xa] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r1, [r1] - adds r0, r4, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_0809C5C4 -_0809C5BA: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809C5C0: .4byte gUnk_08123DDC - - thumb_func_start sub_0809C5C4 -sub_0809C5C4: @ 0x0809C5C4 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #7 - bls _0809C5D0 - b _0809C7DE -_0809C5D0: - lsls r0, r0, #2 - ldr r1, _0809C5DC @ =_0809C5E0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809C5DC: .4byte _0809C5E0 -_0809C5E0: @ jump table - .4byte _0809C738 @ case 0 - .4byte _0809C600 @ case 1 - .4byte _0809C600 @ case 2 - .4byte _0809C600 @ case 3 - .4byte _0809C600 @ case 4 - .4byte _0809C6B8 @ case 5 - .4byte _0809C7B4 @ case 6 - .4byte _0809C7D2 @ case 7 -_0809C600: - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FAD8 - ldr r0, [r5, #0x50] - ldrb r0, [r0, #0xd] - adds r6, r5, #0 - adds r6, #0x84 - cmp r0, #6 - bne _0809C630 - movs r0, #0xf - ldrsb r0, [r5, r0] - cmp r0, #0 - bge _0809C624 - ldr r0, [r6] - ldrb r0, [r0] - rsbs r0, r0, #0 - b _0809C628 -_0809C624: - ldr r0, [r6] - ldrb r0, [r0] -_0809C628: - strb r0, [r5, #0xf] - adds r0, r5, #0 - bl sub_0809CBE4 -_0809C630: - ldr r4, [r5, #0x50] - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #9 - bl __divsi3 - adds r3, r0, #0 - lsls r0, r3, #0xd - lsrs r3, r0, #8 - ldr r0, _0809C660 @ =0xFFFFE000 - adds r3, r3, r0 - ldr r0, [r6] - ldr r0, [r0, #8] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #1 - bne _0809C664 - movs r1, #0x88 - lsls r1, r1, #6 - adds r3, r3, r1 - b _0809C66C - .align 2, 0 -_0809C660: .4byte 0xFFFFE000 -_0809C664: - lsrs r0, r3, #1 - movs r1, #0x88 - lsls r1, r1, #6 - adds r3, r0, r1 -_0809C66C: - adds r2, r4, #0 - adds r2, #0x7b - ldr r1, _0809C6B0 @ =gUnk_08123E18 - ldrb r0, [r5, #0xa] - subs r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - ldrb r2, [r2] - adds r0, r0, r2 - rsbs r0, r0, #0 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - adds r0, r5, #0 - adds r2, r3, #0 - bl sub_0809CB70 - ldr r2, [r5, #0x50] - adds r2, #0x7b - ldr r1, _0809C6B4 @ =gUnk_08123E1C - ldrb r0, [r5, #0xa] - subs r0, #1 - adds r0, r0, r1 - ldrb r1, [r0] - ldrb r2, [r2] - adds r1, r1, r2 - adds r0, r5, #0 - adds r0, #0x79 - ldrb r0, [r0] - adds r0, r0, r1 - adds r1, r5, #0 - adds r1, #0x7b - strb r0, [r1] - b _0809C7BC - .align 2, 0 -_0809C6B0: .4byte gUnk_08123E18 -_0809C6B4: .4byte gUnk_08123E1C -_0809C6B8: - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FAD8 - ldr r0, [r5, #0x50] - ldrb r0, [r0, #0xd] - adds r6, r5, #0 - adds r6, #0x79 - adds r7, r5, #0 - adds r7, #0x76 - cmp r0, #4 - beq _0809C6F6 - adds r0, r5, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #1 - beq _0809C6F6 - ldrb r0, [r6] - cmp r0, #0x1c - bls _0809C6E4 - subs r0, #1 - strb r0, [r6] -_0809C6E4: - ldrh r0, [r7] - movs r1, #0x80 - lsls r1, r1, #1 - cmp r0, r1 - bls _0809C6F4 - subs r0, #1 - strh r0, [r7] - b _0809C6F6 -_0809C6F4: - strh r1, [r7] -_0809C6F6: - ldr r4, [r5, #0x50] - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #9 - bl __divsi3 - adds r3, r0, #0 - ldrb r0, [r6] - lsls r0, r0, #8 - muls r0, r3, r0 - lsrs r3, r0, #8 - adds r4, #0x7b - ldrb r0, [r4] - adds r0, #0x80 - rsbs r0, r0, #0 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - adds r0, r5, #0 - adds r2, r3, #0 - bl sub_0809CB70 - ldr r0, [r5, #0x50] - adds r0, #0x7b - ldrb r0, [r0] - adds r1, r5, #0 - adds r1, #0x7b - strb r0, [r1] - ldrh r1, [r7] - adds r0, r5, #0 - adds r0, #0x74 - b _0809C7C4 -_0809C738: - movs r0, #0x37 - bl sub_0807CBE4 - cmp r0, #0 - beq _0809C74A - adds r0, r5, #0 - movs r1, #0x1e - bl sub_0805E4E0 -_0809C74A: - ldr r1, _0809C7A8 @ =gUnk_08123DF8 - ldrb r0, [r5, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - ldrb r0, [r5, #0xf] - cmp r0, #0 - beq _0809C7BC - ldr r0, _0809C7AC @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0809C772 - ldr r0, [r5, #0x54] - bl sub_080A2B80 -_0809C772: - adds r3, r5, #0 - adds r3, #0x7e - ldrh r0, [r3] - cmp r0, #0 - beq _0809C7BC - ldr r2, [r5, #0x54] - movs r1, #0 - ldrsh r0, [r3, r1] - ldr r1, [r2, #0x20] - subs r1, r1, r0 - str r1, [r2, #0x20] - ldr r0, [r2, #0x34] - adds r0, r0, r1 - str r0, [r2, #0x34] - ldr r0, [r5, #0x54] - ldr r1, [r0, #0x20] - movs r0, #0xc0 - lsls r0, r0, #6 - cmp r1, r0 - beq _0809C7A0 - ldr r0, _0809C7B0 @ =0xFFFFD000 - cmp r1, r0 - bne _0809C7BC -_0809C7A0: - ldrh r0, [r3] - rsbs r0, r0, #0 - strh r0, [r3] - b _0809C7BC - .align 2, 0 -_0809C7A8: .4byte gUnk_08123DF8 -_0809C7AC: .4byte gUnk_030010A0 -_0809C7B0: .4byte 0xFFFFD000 -_0809C7B4: - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FA24 -_0809C7BC: - adds r0, r5, #0 - adds r0, #0x76 - ldrh r1, [r0] - subs r0, #2 -_0809C7C4: - ldrh r2, [r0] - adds r0, #6 - ldrh r3, [r0] - adds r0, r5, #0 - bl sub_0805EC9C - b _0809C7DE -_0809C7D2: - ldr r0, _0809C7E0 @ =gUnk_03000BF0 - ldr r0, [r0, #0x30] - cmp r0, r5 - beq _0809C7DE - bl sub_0805E780 -_0809C7DE: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809C7E0: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809C7E4 -sub_0809C7E4: @ 0x0809C7E4 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xf] - cmp r0, #0 - beq _0809C84A - adds r3, r5, #0 - adds r3, #0x7e - ldrh r0, [r3] - cmp r0, #0 - bne _0809C82A - ldr r2, [r5, #0x54] - movs r0, #0x36 - ldrsh r1, [r2, r0] - movs r0, #0x10 - rsbs r0, r0, #0 - cmp r1, r0 - ble _0809C814 - ldr r0, [r2, #0x34] - ldr r1, _0809C810 @ =0xFFFFC000 - adds r0, r0, r1 - str r0, [r2, #0x34] - b _0809C82A - .align 2, 0 -_0809C810: .4byte 0xFFFFC000 -_0809C814: - ldr r0, [r2, #0x34] - ldr r1, _0809C84C @ =0xFFFFF000 - adds r0, r0, r1 - str r0, [r2, #0x34] - ldr r1, [r5, #0x54] - movs r0, #0xc0 - lsls r0, r0, #6 - str r0, [r1, #0x20] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r3] -_0809C82A: - adds r4, r5, #0 - adds r4, #0x79 - ldrb r0, [r4] - subs r0, #1 - strb r0, [r4] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0809C84A - ldr r0, _0809C850 @ =0x00000B43 - bl sub_08056378 - movs r0, #1 - strb r0, [r5, #0xd] - movs r0, #8 - strb r0, [r4] -_0809C84A: - pop {r4, r5, pc} - .align 2, 0 -_0809C84C: .4byte 0xFFFFF000 -_0809C850: .4byte 0x00000B43 - - thumb_func_start sub_0809C854 -sub_0809C854: @ 0x0809C854 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _0809C8A8 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0809C8B8 - adds r5, r4, #0 - adds r5, #0x79 - ldrb r0, [r5] - subs r0, #1 - strb r0, [r5] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0809C8B8 - adds r0, r4, #0 - movs r1, #0x91 - movs r2, #7 - movs r3, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _0809C892 - ldrh r0, [r1, #0x32] - subs r0, #0x50 - strh r0, [r1, #0x32] - ldr r0, _0809C8AC @ =gUnk_03000BF0 - str r1, [r0, #0x30] -_0809C892: - ldrb r0, [r4, #0xf] - cmp r0, #2 - bhi _0809C8B0 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r5] - movs r0, #0xe6 - bl sub_080A3268 - b _0809C8B8 - .align 2, 0 -_0809C8A8: .4byte gUnk_02000050 -_0809C8AC: .4byte gUnk_03000BF0 -_0809C8B0: - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x78 - strb r0, [r5] -_0809C8B8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0809C8BC -sub_0809C8BC: @ 0x0809C8BC - push {lr} - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x79 - ldrb r0, [r3] - subs r1, r0, #1 - strb r1, [r3] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0809C8E2 - movs r0, #1 - strb r0, [r2, #0xd] - movs r0, #0x1e - strb r0, [r3] - ldrb r0, [r2, #0xf] - adds r0, #1 - strb r0, [r2, #0xf] - b _0809C922 -_0809C8E2: - movs r0, #3 - ands r0, r1 - cmp r0, #1 - beq _0809C90A - cmp r0, #1 - bgt _0809C8F4 - cmp r0, #0 - beq _0809C8FE - b _0809C922 -_0809C8F4: - cmp r0, #2 - beq _0809C8FE - cmp r0, #3 - beq _0809C916 - b _0809C922 -_0809C8FE: - ldrh r1, [r2, #0x2e] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - adds r0, #8 - b _0809C920 -_0809C90A: - ldrh r1, [r2, #0x2e] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - adds r0, #4 - b _0809C920 -_0809C916: - ldrh r1, [r2, #0x2e] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - subs r0, #4 -_0809C920: - strh r0, [r2, #0x2e] -_0809C922: - pop {pc} - - thumb_func_start sub_0809C924 -sub_0809C924: @ 0x0809C924 - push {r4, r5, lr} - adds r5, r0, #0 - adds r1, r5, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _0809C948 - adds r0, r5, #0 - movs r1, #0x87 - movs r2, #6 - movs r3, #0 - bl sub_080A2988 - b _0809C980 -_0809C948: - movs r0, #4 - strb r0, [r5, #0xd] - movs r0, #0x3c - strb r0, [r1] - ldr r4, _0809C984 @ =0x00000115 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080ADF80 - ldr r0, [r5, #0x50] - adds r1, r4, #0 - bl sub_080ADF80 - adds r0, r5, #0 - movs r1, #0xef - bl sub_0801D2B4 - ldr r0, [r5, #0x50] - movs r1, #0xef - bl sub_0801D2B4 - adds r0, r5, #0 - movs r1, #0xef - bl sub_0809CC30 - movs r0, #0xe8 - bl sub_080A3268 -_0809C980: - pop {r4, r5, pc} - .align 2, 0 -_0809C984: .4byte 0x00000115 - - thumb_func_start sub_0809C988 -sub_0809C988: @ 0x0809C988 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x79 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _0809C9AC - movs r0, #5 - strb r0, [r2, #0xd] - movs r0, #0xb4 - strb r0, [r1] - movs r0, #3 - strb r0, [r2, #0xb] - b _0809C9DC -_0809C9AC: - ldr r0, _0809C9C8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _0809C9CC - adds r0, r2, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r1, [r0, #8] - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #4 - b _0809C9DA - .align 2, 0 -_0809C9C8: .4byte gUnk_030010A0 -_0809C9CC: - adds r0, r2, #0 - adds r0, #0x84 - ldr r0, [r0] - ldr r1, [r0, #8] - adds r1, #0x76 - ldrh r0, [r1] - adds r0, #4 -_0809C9DA: - strh r0, [r1] -_0809C9DC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809C9E0 -sub_0809C9E0: @ 0x0809C9E0 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r0, _0809CA04 @ =gUnk_030010A0 - ldr r1, [r0] - movs r2, #2 - ands r1, r2 - adds r7, r0, #0 - cmp r1, #0 - beq _0809CA08 - adds r2, r4, #0 - adds r2, #0x84 - ldr r0, [r2] - ldr r1, [r0, #8] - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #8 - b _0809CA16 - .align 2, 0 -_0809CA04: .4byte gUnk_030010A0 -_0809CA08: - adds r2, r4, #0 - adds r2, #0x84 - ldr r0, [r2] - ldr r1, [r0, #8] - adds r1, #0x76 - ldrh r0, [r1] - adds r0, #8 -_0809CA16: - strh r0, [r1] - adds r5, r2, #0 - ldr r0, [r7] - movs r6, #3 - ands r0, r6 - cmp r0, #0 - bne _0809CA30 - adds r0, r4, #0 - movs r1, #0x87 - movs r2, #2 - movs r3, #0 - bl sub_080A2988 -_0809CA30: - adds r2, r4, #0 - adds r2, #0x79 - ldrb r0, [r2] - adds r1, r0, #0 - cmp r1, #0 - bne _0809CA92 - ldr r0, [r4, #0x54] - adds r0, #0x62 - strb r1, [r0] - ldr r0, [r4, #0x54] - movs r1, #0x80 - lsls r1, r1, #2 - adds r2, #2 - ldrb r2, [r2] - rsbs r2, r2, #0 - bl sub_0806F62C - ldr r1, [r4, #0x54] - adds r0, r4, #0 - movs r2, #0x48 - bl sub_0806FC80 - cmp r0, #0 - beq _0809CAC4 - movs r0, #6 - strb r0, [r4, #0xd] - movs r1, #0 - movs r0, #0xc0 - strh r0, [r4, #0x24] - strb r1, [r4, #0xb] - strb r1, [r4, #0xf] - ldr r2, [r4, #0x54] - ldrb r1, [r2, #0x18] - subs r0, #0xc4 - ands r0, r1 - strb r0, [r2, #0x18] - ldr r0, [r5] - ldr r0, [r0, #8] - adds r0, #0x76 - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0] - ldr r1, [r5] - movs r0, #1 - strb r0, [r1] - movs r0, #0xed - bl sub_080A3268 - b _0809CAC4 -_0809CA92: - subs r0, #1 - strb r0, [r2] - ldr r0, [r7] - ands r0, r6 - cmp r0, #1 - beq _0809CAB4 - cmp r0, #1 - blo _0809CAAC - cmp r0, #2 - beq _0809CAAC - cmp r0, #3 - beq _0809CABC - b _0809CAC4 -_0809CAAC: - ldr r0, [r4, #0x54] - adds r0, #0x62 - movs r1, #0 - b _0809CAC2 -_0809CAB4: - ldr r0, [r4, #0x54] - adds r0, #0x62 - movs r1, #0xfc - b _0809CAC2 -_0809CABC: - ldr r0, [r4, #0x54] - adds r0, #0x62 - movs r1, #4 -_0809CAC2: - strb r1, [r0] -_0809CAC4: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0809CAC8 -sub_0809CAC8: @ 0x0809CAC8 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0806F69C - ldr r2, _0809CB3C @ =gUnk_03000BF0 - ldrh r0, [r2, #8] - movs r1, #0xe4 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r5, r3] - cmp r0, r1 - bge _0809CB26 - movs r0, #4 - strb r0, [r2, #0xe] - ldr r0, _0809CB40 @ =gUnk_03001160 - str r0, [r2, #0x30] - movs r0, #0x9b - bl sub_0807CCB4 - ldr r0, [r5, #0x50] - bl sub_0805E7BC - adds r4, r5, #0 - adds r4, #0x84 - ldr r0, [r4] - ldr r0, [r0, #8] - bl sub_0805E7BC - ldr r0, [r4] - ldr r0, [r0, #0x20] - bl sub_0805E7BC - ldr r0, [r4] - ldr r0, [r0, #0x24] - bl sub_0805E7BC - ldr r0, [r4] - ldr r0, [r0, #0x28] - bl sub_0805E7BC - ldr r0, [r4] - ldr r0, [r0, #0x2c] - bl sub_0805E7BC - movs r0, #7 - strb r0, [r5, #0xd] -_0809CB26: - ldr r0, _0809CB44 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #0xf - ands r0, r1 - cmp r0, #0 - bne _0809CB38 - ldr r0, _0809CB48 @ =0x00000163 - bl sub_080A3268 -_0809CB38: - pop {r4, r5, pc} - .align 2, 0 -_0809CB3C: .4byte gUnk_03000BF0 -_0809CB40: .4byte gUnk_03001160 -_0809CB44: .4byte gUnk_030010A0 -_0809CB48: .4byte 0x00000163 - - thumb_func_start sub_0809CB4C -sub_0809CB4C: @ 0x0809CB4C - push {lr} - ldr r0, _0809CB68 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _0809CB66 - ldr r0, _0809CB6C @ =0x00000B44 - movs r1, #0 - bl sub_08078AA8 - bl sub_0805E780 -_0809CB66: - pop {pc} - .align 2, 0 -_0809CB68: .4byte gUnk_03000BF0 -_0809CB6C: .4byte 0x00000B44 - - thumb_func_start sub_0809CB70 -sub_0809CB70: @ 0x0809CB70 - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - adds r6, r0, #0 - adds r4, r1, #0 - adds r5, r2, #0 - ldr r0, _0809CBE0 @ =gUnk_080C9160 - mov sb, r0 - lsls r0, r4, #1 - add r0, sb - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r5, r5, #0x10 - asrs r5, r5, #0x10 - adds r1, r5, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #1 - mov r8, r1 - bl sub_0806FA04 - ldr r1, [r6, #0x50] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r1, #0x2c] - adds r1, r1, r0 - str r1, [r6, #0x2c] - adds r4, #0x40 - lsls r4, r4, #1 - add r4, sb - movs r1, #0 - ldrsh r0, [r4, r1] - adds r1, r5, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - mov r1, r8 - bl sub_0806FA04 - ldr r2, [r6, #0x50] - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r2, #0x30] - subs r1, r1, r0 - str r1, [r6, #0x30] - ldr r0, [r2, #0x34] - str r0, [r6, #0x34] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, pc} - .align 2, 0 -_0809CBE0: .4byte gUnk_080C9160 - - thumb_func_start sub_0809CBE4 -sub_0809CBE4: @ 0x0809CBE4 - push {r4, lr} - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x79 - ldrb r0, [r2, #0xf] - ldrb r4, [r3] - adds r1, r0, r4 - strb r1, [r3] - ldrb r4, [r2, #0xf] - movs r0, #0xf - ldrsb r0, [r2, r0] - cmp r0, #0 - bge _0809CC16 - ldrb r0, [r2, #0xe] - lsls r1, r1, #0x18 - lsls r0, r0, #0x18 - cmn r1, r0 - bge _0809CC2C - rsbs r0, r4, #0 - strb r0, [r2, #0xf] - movs r0, #0xcf - lsls r0, r0, #1 - bl sub_080A3268 - b _0809CC2C -_0809CC16: - movs r0, #0 - ldrsb r0, [r3, r0] - ldrb r1, [r2, #0xe] - cmp r0, r1 - ble _0809CC2C - rsbs r0, r4, #0 - strb r0, [r2, #0xf] - movs r0, #0xcf - lsls r0, r0, #1 - bl sub_080A3268 -_0809CC2C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809CC30 -sub_0809CC30: @ 0x0809CC30 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - adds r4, #0x84 - ldr r0, [r4] - ldr r0, [r0, #8] - bl sub_0801D2B4 - movs r5, #0 -_0809CC42: - ldr r0, [r4] - lsls r1, r5, #2 - adds r0, #0x20 - adds r0, r0, r1 - ldr r0, [r0] - adds r1, r6, #0 - bl sub_0801D2B4 - adds r5, #1 - cmp r5, #3 - bls _0809CC42 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0809CC5C -sub_0809CC5C: @ 0x0809CC5C - push {lr} - ldr r2, _0809CC70 @ =gUnk_08123E20 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809CC70: .4byte gUnk_08123E20 - - thumb_func_start sub_0809CC74 -sub_0809CC74: @ 0x0809CC74 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #1 - strb r4, [r5, #0xc] - bl sub_08016A04 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _0809CCD4 - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #5 - orrs r1, r0 - strb r1, [r2] - movs r4, #0 -_0809CC9A: - movs r0, #0x92 - movs r1, #1 - adds r2, r4, #0 - bl sub_080A2960 - adds r1, r0, #0 - adds r4, #1 - cmp r1, #0 - beq _0809CCBE - str r5, [r1, #0x50] - lsrs r2, r4, #1 - lsls r2, r2, #0x14 - ldr r0, _0809CCCC @ =0xFFF80000 - adds r2, r2, r0 - adds r0, r5, #0 - ldr r3, _0809CCD0 @ =0xFFF20000 - bl sub_0806FA48 -_0809CCBE: - cmp r4, #2 - bls _0809CC9A - adds r0, r5, #0 - bl sub_0809CDF0 - b _0809CD0A - .align 2, 0 -_0809CCCC: .4byte 0xFFF80000 -_0809CCD0: .4byte 0xFFF20000 -_0809CCD4: - ldrb r1, [r5, #0xb] - adds r0, r4, #0 - ands r0, r1 - cmp r0, #0 - beq _0809CCF2 - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - movs r0, #0x14 - strb r0, [r5, #0xe] - b _0809CD02 -_0809CCF2: - movs r0, #2 - strb r0, [r5, #0xc] - ands r0, r1 - movs r1, #0x12 - cmp r0, #0 - beq _0809CD00 - movs r1, #0x14 -_0809CD00: - strb r1, [r5, #0xe] -_0809CD02: - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 -_0809CD0A: - pop {r4, r5, pc} - - thumb_func_start sub_0809CD0C -sub_0809CD0C: @ 0x0809CD0C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0809CDAC - adds r0, r4, #0 - bl sub_08004274 - adds r1, r4, #0 - adds r1, #0x5a - ldrb r2, [r1] - movs r0, #1 - ands r0, r2 - cmp r0, #0 - beq _0809CD36 - movs r0, #0xfe - ands r0, r2 - strb r0, [r1] - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] -_0809CD36: - ldrb r1, [r1] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809CD56 - adds r0, r4, #0 - adds r0, #0x59 - ldrb r0, [r0] - cmp r0, #1 - bne _0809CD56 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #6 - ands r0, r1 - strb r0, [r4, #0x18] -_0809CD56: - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0809CDAC - ldr r5, _0809CDB0 @ =gUnk_03001160 - adds r6, r5, #0 - adds r6, #0x3d - movs r0, #0 - ldrsb r0, [r6, r0] - cmp r0, #0 - bne _0809CDAC - ldrb r0, [r4, #0x1e] - cmp r0, #0 - beq _0809CDAC - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #4 - bl sub_0806FC80 - cmp r0, #0 - beq _0809CDAC - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - adds r0, r5, #0 - movs r1, #0x7a - bl sub_0800449C - movs r1, #0x10 - strb r1, [r6] - adds r0, r5, #0 - adds r0, #0x3e - strb r1, [r0] - adds r2, r5, #0 - adds r2, #0x42 - movs r0, #0xc - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x46 - strh r1, [r0] -_0809CDAC: - pop {r4, r5, r6, pc} - .align 2, 0 -_0809CDB0: .4byte gUnk_03001160 - - thumb_func_start sub_0809CDB4 -sub_0809CDB4: @ 0x0809CDB4 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0809CDEC - movs r2, #1 - movs r0, #1 - strb r0, [r3, #0xc] - movs r0, #0x1e - strb r0, [r3, #0xe] - strb r1, [r3, #0xf] - ldrb r1, [r3, #0x18] - subs r0, #0x22 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #0x18] - ldr r0, [r3, #0x50] - ldrh r0, [r0, #0x32] - subs r0, #0xe - strh r0, [r3, #0x32] - adds r0, r3, #0 - movs r1, #0 - bl sub_08004260 -_0809CDEC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809CDF0 -sub_0809CDF0: @ 0x0809CDF0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _0809CE80 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x80 - strh r1, [r0] - ldrh r6, [r0] - ldr r0, _0809CE84 @ =0x0000402E - subs r1, r6, #1 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - ldr r5, _0809CE88 @ =0x00004022 - ldrb r2, [r4] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0800015E - adds r1, r6, #1 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r5, #4 - adds r1, r6, #0 - subs r1, #0x41 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - subs r1, #0x40 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - ldr r0, _0809CE8C @ =0x00004024 - adds r1, r6, #0 - subs r1, #0x3f - ldrb r2, [r4] - bl sub_0800015E - adds r1, r6, #0 - subs r1, #0x81 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - adds r1, r6, #0 - subs r1, #0x80 - ldrb r2, [r4] - adds r0, r5, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_0809CE80: .4byte gUnk_03000BF0 -_0809CE84: .4byte 0x0000402E -_0809CE88: .4byte 0x00004022 -_0809CE8C: .4byte 0x00004024 - - thumb_func_start sub_0809CE90 -sub_0809CE90: @ 0x0809CE90 - push {lr} - ldr r2, _0809CEA4 @ =gUnk_08123E80 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809CEA4: .4byte gUnk_08123E80 - - thumb_func_start sub_0809CEA8 -sub_0809CEA8: @ 0x0809CEA8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_0809CEC0 -sub_0809CEC0: @ 0x0809CEC0 - push {lr} - bl sub_08004274 - pop {pc} - - thumb_func_start sub_0809CEC8 -sub_0809CEC8: @ 0x0809CEC8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809CF06 - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0809CEEE - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _0809CEF4 -_0809CEEE: - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 -_0809CEF4: - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - b _0809CF0C -_0809CF06: - adds r0, r4, #0 - bl sub_08004274 -_0809CF0C: - adds r4, #0x59 - ldrb r0, [r4] - cmp r0, #0xff - bne _0809CF20 - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - adds r0, #0x10 - strb r0, [r4] -_0809CF20: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809CF24 -sub_0809CF24: @ 0x0809CF24 - push {lr} - ldr r2, _0809CF38 @ =gUnk_08123EC0 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809CF38: .4byte gUnk_08123EC0 - - thumb_func_start sub_0809CF3C -sub_0809CF3C: @ 0x0809CF3C - push {lr} - ldr r2, _0809CF50 @ =gUnk_08123EEC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809CF50: .4byte gUnk_08123EEC - - thumb_func_start sub_0809CF54 -sub_0809CF54: @ 0x0809CF54 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x31 - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] - ldr r0, _0809CFDC @ =0xFFFE8000 - str r0, [r4, #0x20] - ldr r0, _0809CFE0 @ =0xFFC74000 - str r0, [r4, #0x34] - adds r1, r4, #0 - adds r1, #0x68 - movs r0, #0xf8 - lsls r0, r0, #8 - strh r0, [r1] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - movs r0, #8 - strb r0, [r4, #0x15] - subs r1, #0x30 - movs r0, #2 - strb r0, [r1] - ldr r0, _0809CFE4 @ =gUnk_03000BF0 - ldrh r0, [r0, #0xa] - strh r0, [r4, #0x2e] - ldr r0, _0809CFE8 @ =0x00000123 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - movs r0, #0x95 - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _0809CFD8 - str r4, [r5, #0x50] - movs r3, #0x80 - lsls r3, r3, #0xc - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FAB0 -_0809CFD8: - pop {r4, r5, pc} - .align 2, 0 -_0809CFDC: .4byte 0xFFFE8000 -_0809CFE0: .4byte 0xFFC74000 -_0809CFE4: .4byte gUnk_03000BF0 -_0809CFE8: .4byte 0x00000123 - - thumb_func_start sub_0809CFEC -sub_0809CFEC: @ 0x0809CFEC - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - adds r0, #0x68 - movs r2, #0 - ldrsh r1, [r0, r2] - adds r0, r4, #0 - bl sub_08003FC4 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809D018 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0809D026 - strb r0, [r4, #0xf] - b _0809D026 -_0809D018: - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - bne _0809D026 - bl sub_0805E780 -_0809D026: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D030 -sub_0809D030: @ 0x0809D030 - push {lr} - ldr r2, _0809D044 @ =gUnk_08123EF4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809D044: .4byte gUnk_08123EF4 - - thumb_func_start sub_0809D048 -sub_0809D048: @ 0x0809D048 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0x17 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D06C -sub_0809D06C: @ 0x0809D06C - push {lr} - ldr r2, _0809D080 @ =gUnk_08123EFC - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809D080: .4byte gUnk_08123EFC - - thumb_func_start sub_0809D084 -sub_0809D084: @ 0x0809D084 - push {lr} - adds r1, r0, #0 - ldr r0, [r1, #0x50] - cmp r0, #0 - beq _0809D0A8 - ldrb r2, [r0, #0xf] - cmp r2, #0 - beq _0809D0A0 - movs r3, #0x80 - lsls r3, r3, #0xc - movs r2, #0 - bl sub_0806FA48 - b _0809D0A8 -_0809D0A0: - ldrb r0, [r1, #0xd] - adds r0, #1 - strb r0, [r1, #0xd] - str r2, [r1, #0x20] -_0809D0A8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809D0AC -sub_0809D0AC: @ 0x0809D0AC - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_080044EC - cmp r0, #1 - bhi _0809D0F0 - movs r2, #0 - movs r0, #2 - strb r0, [r4, #0xa] - movs r1, #1 - strb r1, [r4, #0xc] - str r2, [r4, #0x34] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - movs r0, #0x45 - bl sub_0807CCB4 - movs r0, #0x72 - bl sub_080A3268 - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0809D0F0 - adds r0, r4, #0 - bl sub_0806FAD8 -_0809D0F0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D0F4 -sub_0809D0F4: @ 0x0809D0F4 - push {lr} - ldr r2, _0809D108 @ =gUnk_08123F04 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809D108: .4byte gUnk_08123F04 - - thumb_func_start sub_0809D10C -sub_0809D10C: @ 0x0809D10C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0x17 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D130 -sub_0809D130: @ 0x0809D130 - push {lr} - adds r2, r0, #0 - ldr r0, _0809D148 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809D14C - adds r0, r2, #0 - bl sub_0800445C - b _0809D170 - .align 2, 0 -_0809D148: .4byte gUnk_03003F80 -_0809D14C: - adds r0, r2, #0 - bl sub_08017850 - cmp r0, #0 - beq _0809D170 - movs r0, #0x17 - movs r1, #0 - movs r2, #0 - bl sub_080A7C00 - ldr r0, _0809D174 @ =gUnk_02002A40 - ldr r1, [r0, #0x40] - movs r2, #0x80 - lsls r2, r2, #0x15 - orrs r1, r2 - str r1, [r0, #0x40] - bl sub_0805E780 -_0809D170: - pop {pc} - .align 2, 0 -_0809D174: .4byte gUnk_02002A40 - - thumb_func_start sub_0809D178 -sub_0809D178: @ 0x0809D178 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809D19C - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r1, r4, #0 - adds r1, #0x5a - movs r0, #0x80 - strb r0, [r1] -_0809D19C: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809D1E8 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - adds r0, r4, #0 - bl sub_08004260 - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - adds r0, #0x10 - adds r1, r4, #0 - adds r1, #0x59 - strb r0, [r1] - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - bl sub_08000E50 - movs r1, #1 - ands r1, r0 - cmp r1, #0 - beq _0809D1EE - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] - b _0809D1EE -_0809D1E8: - adds r0, r4, #0 - bl sub_08004274 -_0809D1EE: - pop {r4, pc} - - thumb_func_start sub_0809D1F0 -sub_0809D1F0: @ 0x0809D1F0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - mov sb, r0 - cmp r0, #0 - beq _0809D224 - cmp r0, #1 - beq _0809D2B0 - bl sub_08078B48 - ldr r2, _0809D220 @ =gUnk_03001160 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - movs r1, #0x68 - adds r1, r1, r5 - mov r8, r1 - b _0809D3A8 - .align 2, 0 -_0809D220: .4byte gUnk_03001160 -_0809D224: - ldrb r1, [r5, #0xe] - cmp r1, #0 - beq _0809D234 - movs r0, #0xff - strb r0, [r5, #0x1e] - subs r0, r1, #1 - strb r0, [r5, #0xe] - b _0809D488 -_0809D234: - movs r1, #1 - strb r1, [r5, #0xc] - mov r2, sb - str r2, [r5, #0x20] - ldr r0, _0809D2A0 @ =0xFFEC0000 - str r0, [r5, #0x34] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - movs r0, #8 - strb r0, [r5, #0x15] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r2, [r5, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r5, #0x19] - ldrb r0, [r5, #0x1b] - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r5, #0x1b] - ldr r0, _0809D2A4 @ =gUnk_03000BF0 - ldrh r0, [r0, #0xa] - strh r0, [r5, #0x2e] - ldr r0, _0809D2A8 @ =gUnk_03001160 - ldrh r0, [r0, #0x32] - strh r0, [r5, #0x32] - mov r3, sb - str r3, [r5, #0x54] - adds r0, r5, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC - ldr r0, _0809D2AC @ =0x00000123 - bl sub_080A3268 - movs r0, #0x68 - adds r0, r0, r5 - mov r8, r0 - b _0809D3A8 - .align 2, 0 -_0809D2A0: .4byte 0xFFEC0000 -_0809D2A4: .4byte gUnk_03000BF0 -_0809D2A8: .4byte gUnk_03001160 -_0809D2AC: .4byte 0x00000123 -_0809D2B0: - ldr r6, _0809D430 @ =gUnk_03001160 - adds r0, r6, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - ldrh r0, [r5, #0x24] - adds r0, #8 - strh r0, [r5, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0xc0 - lsls r1, r1, #2 - mov sl, r1 - cmp r0, sl - ble _0809D2D6 - mov r2, sl - strh r2, [r5, #0x24] -_0809D2D6: - ldrb r1, [r6, #0x10] - movs r0, #0x80 - ands r0, r1 - movs r3, #0x68 - adds r3, r3, r5 - mov r8, r3 - cmp r0, #0 - beq _0809D3A8 - ldr r0, _0809D434 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0809D3A8 - ldrb r0, [r6, #0xc] - cmp r0, #0x1c - beq _0809D3A8 - cmp r0, #6 - beq _0809D3A8 - cmp r0, #9 - beq _0809D3A8 - ldr r7, _0809D438 @ =gUnk_03003F80 - adds r0, r7, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x18 - beq _0809D3A8 - cmp r0, #0xb - beq _0809D3A8 - cmp r0, #8 - beq _0809D3A8 - bl sub_08079F8C - cmp r0, #0 - beq _0809D3A8 - adds r0, r5, #0 - adds r1, r6, #0 - movs r2, #0xe - movs r3, #0xe - bl sub_080041A0 - cmp r0, #0 - beq _0809D3A8 - movs r1, #0x36 - ldrsh r0, [r6, r1] - movs r2, #0x36 - ldrsh r1, [r5, r2] - subs r0, r0, r1 - subs r0, #8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x1f - bhi _0809D3A8 - adds r0, r6, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _0809D3A8 - movs r0, #0x95 - movs r1, #0xa - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809D3A8 - str r4, [r5, #0x54] - movs r0, #2 - strb r0, [r5, #0xc] - movs r0, #8 - strb r0, [r5, #0xe] - mov r3, sl - strh r3, [r5, #0x24] - movs r0, #0xe0 - lsls r0, r0, #8 - mov r1, r8 - strh r0, [r1] - bl sub_08079184 - bl sub_08078B48 - bl sub_080791D0 - bl sub_08077B20 - adds r0, r7, #0 - adds r0, #0x26 - movs r2, #0 - strb r2, [r0] - strb r2, [r7, #2] - ldrb r1, [r6, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r6, #0x10] - ldrb r1, [r6, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r6, #0x18] - ldr r1, _0809D43C @ =gUnk_03003DC0 - movs r0, #6 - strb r0, [r1] - ldr r0, _0809D440 @ =gUnk_02034490 - mov r3, sb - strb r3, [r0] -_0809D3A8: - adds r0, r5, #0 - bl sub_0806F69C - mov r0, r8 - movs r2, #0 - ldrsh r1, [r0, r2] - adds r0, r5, #0 - bl sub_08003FC4 - adds r0, r5, #0 - bl sub_080042B8 - ldr r4, [r5, #0x54] - cmp r4, #0 - beq _0809D454 - ldr r2, _0809D430 @ =gUnk_03001160 - movs r3, #0x2e - ldrsh r1, [r2, r3] - movs r3, #0x2e - ldrsh r0, [r5, r3] - subs r0, #8 - cmp r1, r0 - bge _0809D3DA - movs r0, #0 - strb r0, [r5, #0xe] -_0809D3DA: - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _0809D448 - ldr r2, _0809D444 @ =0xFFF80000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r3, #0 - bl sub_0806FA48 - ldrh r0, [r4, #0x36] - adds r0, #0x18 - strh r0, [r4, #0x36] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r3, r4, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1d - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r5, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r5, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x1b] - b _0809D454 - .align 2, 0 -_0809D430: .4byte gUnk_03001160 -_0809D434: .4byte gUnk_02000050 -_0809D438: .4byte gUnk_03003F80 -_0809D43C: .4byte gUnk_03003DC0 -_0809D440: .4byte gUnk_02034490 -_0809D444: .4byte 0xFFF80000 -_0809D448: - subs r0, #1 - strb r0, [r5, #0xe] - adds r0, r2, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_0809D454: - adds r0, r5, #0 - bl sub_080040A8 - cmp r0, #0 - bne _0809D488 - ldrb r0, [r5, #0xc] - cmp r0, #2 - bne _0809D478 - ldr r0, _0809D494 @ =gUnk_02002A40 - ldr r1, [r0, #0x40] - movs r2, #0x80 - lsls r2, r2, #0x15 - orrs r1, r2 - str r1, [r0, #0x40] - movs r0, #9 - movs r1, #0 - bl sub_080A7138 -_0809D478: - ldr r4, [r5, #0x54] - cmp r4, #0 - beq _0809D484 - adds r0, r4, #0 - bl sub_0805E79C -_0809D484: - bl sub_0805E780 -_0809D488: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809D494: .4byte gUnk_02002A40 - - thumb_func_start sub_0809D498 -sub_0809D498: @ 0x0809D498 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _0809D548 - movs r2, #1 - movs r3, #1 - strb r3, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldr r0, _0809D534 @ =0xFFFD8000 - str r0, [r5, #0x20] - ldr r0, _0809D538 @ =0xFFB4C000 - str r0, [r5, #0x34] - adds r4, r5, #0 - adds r4, #0x68 - movs r0, #0xf0 - lsls r0, r0, #8 - strh r0, [r4] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - movs r0, #8 - strb r0, [r5, #0x15] - adds r0, r5, #0 - adds r0, #0x38 - strb r3, [r0] - adds r6, r5, #0 - adds r6, #0x29 - ldrb r1, [r6] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r6] - ldrb r2, [r5, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r5, #0x19] - ldrb r0, [r5, #0x1b] - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r5, #0x1b] - adds r0, r5, #0 - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _0809D53C @ =gUnk_03000BF0 - ldrh r0, [r0, #0xa] - strh r0, [r5, #0x2e] - ldr r0, _0809D540 @ =gUnk_03001160 - ldrh r0, [r0, #0x32] - strh r0, [r5, #0x32] - ldr r0, _0809D544 @ =0x00000123 - bl sub_080A3268 - ldrb r1, [r6] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r6] - adds r0, r5, #0 - movs r1, #0 - bl sub_080042AC - bl sub_08078B48 - adds r7, r4, #0 - b _0809D62E - .align 2, 0 -_0809D534: .4byte 0xFFFD8000 -_0809D538: .4byte 0xFFB4C000 -_0809D53C: .4byte gUnk_03000BF0 -_0809D540: .4byte gUnk_03001160 -_0809D544: .4byte 0x00000123 -_0809D548: - adds r7, r5, #0 - adds r7, #0x68 - cmp r0, #1 - bne _0809D62E - ldr r6, _0809D658 @ =gUnk_03001160 - ldrb r1, [r6, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - mov r8, r0 - ands r0, r1 - strb r0, [r6, #0x18] - ldr r4, [r5, #0x54] - cmp r4, #0 - beq _0809D5B0 - ldr r2, _0809D65C @ =0xFFF80000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r3, #0 - bl sub_0806FA48 - ldrh r0, [r4, #0x36] - adds r0, #0x18 - strh r0, [r4, #0x36] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r3, r4, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1d - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r5, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r5, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x1b] -_0809D5B0: - bl sub_08078B48 - ldr r3, _0809D660 @ =gUnk_03000BF0 - movs r1, #0xa - ldrsh r0, [r3, r1] - adds r0, #0x78 - movs r2, #0x2e - ldrsh r1, [r5, r2] - cmp r0, r1 - bge _0809D62E - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - cmp r4, #0 - beq _0809D5E6 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_0809D5E6: - str r6, [r3, #0x30] - ldrb r1, [r6, #0x18] - mov r0, r8 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r6, #0x18] - bl sub_080791D0 - bl sub_0805E564 - ldr r1, _0809D664 @ =gUnk_02034490 - movs r0, #0 - strb r0, [r1] - movs r0, #0x52 - bl sub_0807CC30 - cmp r0, #0 - bne _0809D62E - movs r0, #0x69 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809D62E - ldr r1, _0809D668 @ =gUnk_0800B0AC - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - movs r0, #0x52 - bl sub_0807CD04 -_0809D62E: - adds r0, r5, #0 - bl sub_0806F69C - movs r0, #0 - ldrsh r1, [r7, r0] - adds r0, r5, #0 - bl sub_08003FC4 - adds r0, r5, #0 - bl sub_080042B8 - adds r0, r5, #0 - bl sub_080040A8 - cmp r0, #0 - bne _0809D652 - bl sub_0805E780 -_0809D652: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809D658: .4byte gUnk_03001160 -_0809D65C: .4byte 0xFFF80000 -_0809D660: .4byte gUnk_03000BF0 -_0809D664: .4byte gUnk_02034490 -_0809D668: .4byte gUnk_0800B0AC - - thumb_func_start sub_0809D66C -sub_0809D66C: @ 0x0809D66C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0809D694 @ =gUnk_03001160 - ldrb r1, [r0, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0809D6EC - cmp r0, #1 - bgt _0809D698 - cmp r0, #0 - beq _0809D6A2 - b _0809D6FE - .align 2, 0 -_0809D694: .4byte gUnk_03001160 -_0809D698: - cmp r0, #2 - beq _0809D6F4 - cmp r0, #3 - beq _0809D6FA - b _0809D6FE -_0809D6A2: - movs r3, #1 - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x38 - strb r2, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r4, #0x1b] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r4, #0 - movs r1, #0xe0 - bl sub_080042AC -_0809D6EC: - adds r0, r4, #0 - bl sub_080042B8 - b _0809D6FE -_0809D6F4: - movs r0, #3 - strb r0, [r4, #0xc] - b _0809D6FE -_0809D6FA: - bl sub_0805E780 -_0809D6FE: - pop {r4, pc} - - thumb_func_start sub_0809D700 -sub_0809D700: @ 0x0809D700 - push {r4, lr} - sub sp, #4 - bl sub_08052654 - cmp r0, #0 - beq _0809D732 - movs r0, #0 - str r0, [sp] - movs r0, #6 - movs r1, #0x95 - movs r2, #6 - movs r3, #8 - bl sub_0805EB2C - adds r4, r0, #0 - cmp r4, #0 - bne _0809D732 - movs r0, #0x95 - movs r1, #8 - movs r2, #0 - bl sub_080A2960 - cmp r0, #0 - beq _0809D732 - strb r4, [r0, #0xe] -_0809D732: - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D738 -sub_0809D738: @ 0x0809D738 - push {r4, lr} - movs r0, #0x95 - movs r1, #9 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809D77C - ldr r1, _0809D774 @ =gUnk_03000BF0 - movs r0, #0 - str r0, [r1, #0x30] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - bl sub_0805E544 - movs r0, #0x95 - movs r1, #0xa - movs r2, #0 - bl sub_080A2960 - cmp r0, #0 - beq _0809D76C - str r0, [r4, #0x54] -_0809D76C: - ldr r1, _0809D778 @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - b _0809D780 - .align 2, 0 -_0809D774: .4byte gUnk_03000BF0 -_0809D778: .4byte gUnk_02034490 -_0809D77C: - bl sub_080791D0 -_0809D780: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D784 -sub_0809D784: @ 0x0809D784 - push {lr} - ldr r1, _0809D7A0 @ =gUnk_081240B0 - ldrb r3, [r0, #0xc] - lsls r3, r3, #2 - adds r3, r3, r1 - ldrb r1, [r0, #0xa] - lsls r1, r1, #5 - ldr r2, _0809D7A4 @ =gUnk_08123FB0 - adds r1, r1, r2 - ldr r2, [r3] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0809D7A0: .4byte gUnk_081240B0 -_0809D7A4: .4byte gUnk_08123FB0 - - thumb_func_start sub_0809D7A8 -sub_0809D7A8: @ 0x0809D7A8 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - adds r0, #1 - movs r4, #0 - strb r0, [r5, #0xc] - adds r2, r5, #0 - adds r2, #0x38 - movs r0, #2 - strb r0, [r2] - ldrb r2, [r5, #0x19] - movs r0, #0x3f - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r5, #0x19] - ldr r0, [r1, #0x10] - str r0, [r5, #0x20] - ldrb r3, [r1, #0xf] - strb r3, [r5, #0x15] - ldrh r0, [r1, #0x18] - strh r0, [r5, #0x24] - ldrh r0, [r5, #0x32] - ldrh r2, [r1, #0x1a] - subs r0, r0, r2 - strh r0, [r5, #0x32] - str r4, [r5, #0x34] - ldrb r0, [r1, #0x1e] - strb r0, [r5, #0xe] - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _0809D80C - ldrb r0, [r5, #0x15] - cmp r0, #0x81 - bne _0809D80C - bl sub_08000E50 - ldr r1, _0809D820 @ =gUnk_03001160 - ldrb r1, [r1, #0x14] - lsls r1, r1, #2 - movs r2, #3 - ands r0, r2 - adds r1, r1, r0 - subs r1, #2 - movs r0, #0x1f - ands r1, r0 - movs r0, #0x10 - eors r1, r0 - strb r1, [r5, #0x15] -_0809D80C: - adds r0, r5, #0 - bl sub_08016A04 - ldrb r4, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, pc} - .align 2, 0 -_0809D820: .4byte gUnk_03001160 - - thumb_func_start sub_0809D824 -sub_0809D824: @ 0x0809D824 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - movs r0, #1 - ldr r2, [r6, #4] - cmp r2, #0 - beq _0809D838 - adds r0, r5, #0 - bl _call_via_r2 -_0809D838: - cmp r0, #0 - beq _0809D850 - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - ldrh r1, [r6, #0x1a] - ldrh r2, [r5, #0x32] - adds r0, r1, r2 - strh r0, [r5, #0x32] - ldrh r0, [r5, #0x36] - subs r0, r0, r1 - strh r0, [r5, #0x36] -_0809D850: - ldrb r4, [r5, #0xa] - ldrb r0, [r6, #0xd] - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, r6, pc} - - thumb_func_start sub_0809D860 -sub_0809D860: @ 0x0809D860 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - bl sub_0806F69C - ldr r1, [r6, #0x14] - adds r0, r5, #0 - bl sub_080044EC - cmp r0, #1 - bhi _0809D8B2 - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _0809D888 - subs r0, #1 - strb r0, [r5, #0xe] - ldr r0, [r6, #0x14] - lsls r0, r0, #3 - str r0, [r5, #0x20] - b _0809D8AC -_0809D888: - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - ldr r0, _0809D8C4 @ =gUnk_03001160 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r5, #0 - bl sub_08016A04 - ldr r1, [r6] - cmp r1, #0 - beq _0809D8AC - adds r0, r5, #0 - bl _call_via_r1 -_0809D8AC: - movs r0, #0x6e - bl sub_080A3268 -_0809D8B2: - ldrb r4, [r5, #0xa] - ldrb r0, [r6, #0xd] - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, r6, pc} - .align 2, 0 -_0809D8C4: .4byte gUnk_03001160 - - thumb_func_start sub_0809D8C8 -sub_0809D8C8: @ 0x0809D8C8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r0, _0809D8E4 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809D8E8 - adds r0, r5, #0 - bl sub_0800445C - b _0809D90A - .align 2, 0 -_0809D8E4: .4byte gUnk_03003F80 -_0809D8E8: - adds r0, r5, #0 - bl sub_08017850 - cmp r0, #0 - beq _0809D90A - ldrb r0, [r6, #0xd] - ldrb r1, [r5, #0xb] - movs r2, #0 - bl sub_080A7C00 - ldrh r0, [r6, #0x1c] - cmp r0, #0 - beq _0809D906 - bl sub_0807CCC8 -_0809D906: - bl sub_0805E780 -_0809D90A: - ldrb r4, [r5, #0xa] - ldrb r0, [r6, #0xd] - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0809D91C -sub_0809D91C: @ 0x0809D91C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x11 - movs r2, #0 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _0809D934 - adds r0, r4, #0 - bl sub_0806FAD8 -_0809D934: - movs r0, #0x72 - bl sub_080A3268 - pop {r4, pc} - - thumb_func_start sub_0809D93C -sub_0809D93C: @ 0x0809D93C - push {r4, r5, lr} - adds r4, r0, #0 - adds r3, r1, #0 - ldr r2, _0809D9A0 @ =gUnk_03001160 - ldrb r0, [r2, #0xc] - cmp r0, #6 - bne _0809D9A4 - ldrb r0, [r3, #0xc] - ldrb r1, [r2, #0x14] - asrs r0, r1 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _0809D9A4 - movs r5, #0x2e - ldrsh r0, [r2, r5] - movs r5, #0x2e - ldrsh r1, [r4, r5] - subs r0, r0, r1 - movs r1, #8 - ldrsb r1, [r3, r1] - adds r0, r0, r1 - ldrb r1, [r3, #0xa] - adds r0, r0, r1 - lsls r1, r1, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r1, r0 - ble _0809D9A4 - movs r0, #0x32 - ldrsh r2, [r2, r0] - movs r1, #0x32 - ldrsh r0, [r4, r1] - movs r4, #0x1a - ldrsh r1, [r3, r4] - adds r0, r0, r1 - subs r2, r2, r0 - movs r0, #9 - ldrsb r0, [r3, r0] - adds r2, r2, r0 - ldrb r1, [r3, #0xb] - adds r0, r2, r1 - lsls r1, r1, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r1, r0 - ble _0809D9A4 - movs r0, #1 - b _0809D9A6 - .align 2, 0 -_0809D9A0: .4byte gUnk_03001160 -_0809D9A4: - movs r0, #0 -_0809D9A6: - pop {r4, r5, pc} - - thumb_func_start sub_0809D9A8 -sub_0809D9A8: @ 0x0809D9A8 - push {lr} - ldr r2, _0809D9BC @ =gUnk_081240C0 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809D9BC: .4byte gUnk_081240C0 - - thumb_func_start sub_0809D9C0 -sub_0809D9C0: @ 0x0809D9C0 - push {lr} - ldr r2, _0809D9D4 @ =gUnk_081240D8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809D9D4: .4byte gUnk_081240D8 - - thumb_func_start sub_0809D9D8 -sub_0809D9D8: @ 0x0809D9D8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r2, #0 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - movs r0, #0x1e - strb r0, [r4, #0xe] - strb r2, [r4, #0xf] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x19] - strh r2, [r4, #0x24] - movs r0, #0x18 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - adds r0, r4, #0 - movs r1, #6 - bl sub_0805EB64 - cmp r0, #0 - beq _0809DA1E - str r4, [r0, #0x50] - str r0, [r4, #0x54] - b _0809DA28 -_0809DA1E: - movs r0, #0x20 - bl sub_0807CD04 - bl sub_0805E780 -_0809DA28: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809DA2C -sub_0809DA2C: @ 0x0809DA2C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809DA5C - ldrb r0, [r1, #0xc] - adds r0, #1 - strb r0, [r1, #0xc] - ldr r0, [r1, #0x30] - movs r2, #0x80 - lsls r2, r2, #0xd - adds r0, r0, r2 - str r0, [r1, #0x30] - ldr r0, [r1, #0x34] - ldr r2, _0809DA60 @ =0xFFF00000 - adds r0, r0, r2 - str r0, [r1, #0x34] - adds r0, r1, #0 - movs r1, #3 - bl sub_080042AC -_0809DA5C: - pop {pc} - .align 2, 0 -_0809DA60: .4byte 0xFFF00000 - - thumb_func_start sub_0809DA64 -sub_0809DA64: @ 0x0809DA64 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x54] - adds r1, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r5, #0 - bl sub_0809E1C8 - adds r0, r5, #0 - bl sub_0809E1F0 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0x32 - ldrsh r2, [r4, r0] - adds r0, r5, #0 - bl sub_080041DC - lsls r0, r0, #4 - movs r2, #0x24 - ldrsh r1, [r5, r2] - cmp r0, r1 - bge _0809DAAC - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - movs r0, #0x10 - strb r0, [r5, #0xe] - movs r0, #1 - strb r0, [r5, #0xf] - adds r0, r5, #0 - movs r1, #2 - bl sub_080042AC -_0809DAAC: - adds r0, r5, #0 - bl sub_080042B8 - pop {r4, r5, pc} - - thumb_func_start sub_0809DAB4 -sub_0809DAB4: @ 0x0809DAB4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0809DB10 @ =gUnk_03000BF0 - ldrh r1, [r5, #6] - adds r1, #0x78 - ldrh r2, [r5, #8] - adds r2, #0xa8 - bl sub_080045B4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0809E1C8 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809DADE - subs r0, #1 - strb r0, [r4, #0xe] - ldrh r0, [r4, #0x24] - subs r0, #0x80 - strh r0, [r4, #0x24] -_0809DADE: - adds r0, r4, #0 - bl sub_0809E1F0 - ldrh r1, [r5, #6] - adds r1, #0x78 - ldrh r2, [r5, #8] - adds r2, #0xa8 - adds r0, r4, #0 - bl sub_080041DC - lsls r0, r0, #4 - movs r2, #0x24 - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _0809DB02 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_0809DB02: - adds r0, r4, #0 - bl sub_0809E210 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 -_0809DB10: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809DB14 -sub_0809DB14: @ 0x0809DB14 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0809E1F0 - adds r0, r4, #0 - bl sub_080040A8 - adds r5, r0, #0 - cmp r5, #0 - bne _0809DB36 - movs r0, #0x20 - bl sub_0807CD04 - ldr r0, [r4, #0x54] - str r5, [r0, #0x50] - bl sub_0805E780 -_0809DB36: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0809DB40 -sub_0809DB40: @ 0x0809DB40 - push {lr} - ldr r2, _0809DB54 @ =gUnk_081240EC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809DB54: .4byte gUnk_081240EC - - thumb_func_start sub_0809DB58 -sub_0809DB58: @ 0x0809DB58 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0x3c - bl sub_080042AC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809DB88 -sub_0809DB88: @ 0x0809DB88 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x50] - cmp r4, #0 - beq _0809DBC4 - ldr r0, [r4, #4] - cmp r0, #0 - bne _0809DB9C - bl sub_0805E780 -_0809DB9C: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0809DBB0 - movs r3, #0x80 - lsls r3, r3, #0xc - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 -_0809DBB0: - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - ldrb r2, [r5, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x18] - b _0809DBC8 -_0809DBC4: - bl sub_0805E780 -_0809DBC8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0809DBCC -sub_0809DBCC: @ 0x0809DBCC - push {lr} - ldr r2, _0809DBE0 @ =gUnk_081240F4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809DBE0: .4byte gUnk_081240F4 - - thumb_func_start sub_0809DBE4 -sub_0809DBE4: @ 0x0809DBE4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0809DB58 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x18 - strb r0, [r4, #0x15] - adds r0, #0xe8 - strh r0, [r4, #0x24] - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r4, #0x20] - movs r0, #1 - strb r0, [r4, #0xe] - movs r0, #0x6e - bl sub_080A3268 - pop {r4, pc} - - thumb_func_start sub_0809DC14 -sub_0809DC14: @ 0x0809DC14 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #1 - bhi _0809DC5A - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0809DC3C - subs r0, #1 - strb r0, [r4, #0xe] - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - b _0809DC54 -_0809DC3C: - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0809DC64 @ =gUnk_03001160 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r4, #0 - bl sub_08016A04 -_0809DC54: - movs r0, #0x6e - bl sub_080A3268 -_0809DC5A: - adds r0, r4, #0 - bl sub_0809DB88 - pop {r4, pc} - .align 2, 0 -_0809DC64: .4byte gUnk_03001160 - - thumb_func_start sub_0809DC68 -sub_0809DC68: @ 0x0809DC68 - push {lr} - ldr r2, _0809DC7C @ =gUnk_08124100 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809DC7C: .4byte gUnk_08124100 - - thumb_func_start sub_0809DC80 -sub_0809DC80: @ 0x0809DC80 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r3, #0 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x19] - movs r2, #0 - strh r3, [r4, #0x24] - movs r0, #0x18 - strb r0, [r4, #0x15] - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xd - adds r0, r0, r1 - str r0, [r4, #0x30] - ldr r0, [r4, #0x34] - ldr r1, _0809DCFC @ =0xFFF00000 - adds r0, r0, r1 - str r0, [r4, #0x34] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x6a - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x6c - strh r3, [r0] - adds r0, #2 - strb r2, [r0] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #3 - bl sub_080042AC - adds r0, r4, #0 - movs r1, #6 - bl sub_0805EB64 - cmp r0, #0 - beq _0809DD00 - str r4, [r0, #0x50] - str r0, [r4, #0x54] - b _0809DD0A - .align 2, 0 -_0809DCFC: .4byte 0xFFF00000 -_0809DD00: - movs r0, #0x20 - bl sub_0807CD04 - bl sub_0805E780 -_0809DD0A: - pop {r4, pc} - - thumb_func_start sub_0809DD0C -sub_0809DD0C: @ 0x0809DD0C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809DD2A - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xa3 - lsls r0, r0, #1 - bl sub_080A3268 -_0809DD2A: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809DD34 -sub_0809DD34: @ 0x0809DD34 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x6e - ldrb r0, [r1] - adds r0, #8 - strb r0, [r1] - subs r1, #2 - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x20 - bls _0809DD64 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x20 - strh r0, [r1] - movs r0, #0xa3 - lsls r0, r0, #1 - bl sub_080A3268 -_0809DD64: - adds r0, r4, #0 - bl sub_0809E238 - adds r0, r4, #0 - bl sub_0809E29C - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - - thumb_func_start sub_0809DD78 -sub_0809DD78: @ 0x0809DD78 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x6e - ldrb r0, [r1] - adds r0, #8 - strb r0, [r1] - subs r1, #2 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0809DDA8 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x5f - ands r0, r1 - strb r0, [r4, #0x18] - b _0809DDB4 -_0809DDA8: - adds r0, r4, #0 - bl sub_0809E238 - adds r0, r4, #0 - bl sub_0809E29C -_0809DDB4: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - - thumb_func_start sub_0809DDBC -sub_0809DDBC: @ 0x0809DDBC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809DDD8 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0809DDE0 @ =0x0000015B - bl sub_080A3268 -_0809DDD8: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_0809DDE0: .4byte 0x0000015B - - thumb_func_start sub_0809DDE4 -sub_0809DDE4: @ 0x0809DDE4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _0809DE34 @ =gUnk_03000BF0 - ldrh r1, [r0, #6] - adds r1, #0x40 - ldrh r2, [r0, #8] - movs r0, #0xbc - lsls r0, r0, #1 - adds r2, r2, r0 - adds r0, r4, #0 - bl sub_080045B4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0809E1C8 - adds r0, r4, #0 - bl sub_0809E1F0 - adds r0, r4, #0 - bl sub_0809E210 - adds r0, r4, #0 - bl sub_080040A8 - adds r5, r0, #0 - cmp r5, #0 - bne _0809DE2A - movs r0, #0x20 - bl sub_0807CD04 - ldr r0, [r4, #0x54] - str r5, [r0, #0x50] - bl sub_0805E780 -_0809DE2A: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - .align 2, 0 -_0809DE34: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809DE38 -sub_0809DE38: @ 0x0809DE38 - push {lr} - ldr r2, _0809DE4C @ =gUnk_08124118 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809DE4C: .4byte gUnk_08124118 - - thumb_func_start sub_0809DE50 -sub_0809DE50: @ 0x0809DE50 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r2, #0 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - movs r0, #0xa - strb r0, [r4, #0xe] - strb r2, [r4, #0xf] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x19] - strh r2, [r4, #0x24] - ldr r1, _0809DEEC @ =gUnk_0812412D - ldrb r0, [r4, #0xb] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0x15] - ldrb r1, [r4, #0xb] - lsls r1, r1, #2 - ldr r0, _0809DEF0 @ =gUnk_08124132 - adds r1, r1, r0 - ldr r2, _0809DEF4 @ =gUnk_03000BF0 - ldrh r0, [r1] - ldrh r3, [r2, #6] - adds r0, r0, r3 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #2] - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r0, #0x40 - strh r0, [r4, #0x32] - ldr r0, _0809DEF8 @ =0x0000FFC0 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_08016A04 - ldr r1, _0809DEFC @ =gUnk_08124128 - ldrb r0, [r4, #0xb] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_080042AC - movs r0, #0x97 - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r5, r0, #0 - cmp r5, #0 - beq _0809DEE8 - str r4, [r5, #0x50] - str r5, [r4, #0x54] - movs r3, #0x80 - lsls r3, r3, #0xc - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #0 - bl sub_0806FA48 - movs r1, #0x10 - ldrb r0, [r4, #0x15] - cmp r0, #0x18 - bne _0809DEE2 - rsbs r1, r1, #0 -_0809DEE2: - ldrh r0, [r5, #0x2e] - adds r0, r0, r1 - strh r0, [r5, #0x2e] -_0809DEE8: - pop {r4, r5, pc} - .align 2, 0 -_0809DEEC: .4byte gUnk_0812412D -_0809DEF0: .4byte gUnk_08124132 -_0809DEF4: .4byte gUnk_03000BF0 -_0809DEF8: .4byte 0x0000FFC0 -_0809DEFC: .4byte gUnk_08124128 - - thumb_func_start sub_0809DF00 -sub_0809DF00: @ 0x0809DF00 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xb] - bl sub_0809E2C4 - cmp r0, #1 - beq _0809DF16 - cmp r0, #2 - beq _0809DF64 - movs r0, #0xa - b _0809DF96 -_0809DF16: - ldrb r0, [r4, #0xc] - adds r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xff - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r1, #2 - adds r0, r4, #0 - bl sub_080042AC - ldr r0, _0809DF60 @ =0x00000123 - bl sub_080A3268 - ldr r5, [r4, #0x54] - cmp r5, #0 - beq _0809DF98 - ldrb r1, [r4, #0xb] - adds r1, #2 - movs r0, #0x96 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0809DF52 - adds r0, r5, #0 - bl sub_0806FA24 -_0809DF52: - adds r0, r5, #0 - bl sub_0805E79C - movs r0, #0 - str r0, [r4, #0x54] - b _0809DF98 - .align 2, 0 -_0809DF60: .4byte 0x00000123 -_0809DF64: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0809DF94 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r1, #2 - adds r0, r4, #0 - bl sub_080042AC - ldr r0, _0809DF8C @ =0x00000123 - bl sub_080A3268 - ldr r0, _0809DF90 @ =0x000001F3 - bl sub_080A3268 - b _0809DF98 - .align 2, 0 -_0809DF8C: .4byte 0x00000123 -_0809DF90: .4byte 0x000001F3 -_0809DF94: - subs r0, #1 -_0809DF96: - strb r0, [r4, #0xe] -_0809DF98: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, r5, pc} - - thumb_func_start sub_0809DFA0 -sub_0809DFA0: @ 0x0809DFA0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - cmp r0, #0 - beq _0809DFD6 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r2, #0x2e - ldrsh r0, [r4, r2] - subs r1, r1, r0 - ldrb r0, [r4, #0x15] - lsls r0, r0, #0xb - eors r1, r0 - movs r0, #0x80 - lsls r0, r0, #8 - ands r1, r0 - cmp r1, #0 - beq _0809DFD6 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - movs r0, #1 - strb r0, [r4, #0xf] - movs r0, #0x81 - lsls r0, r0, #1 - bl sub_080A3268 -_0809DFD6: - adds r0, r4, #0 - bl sub_0809DFE0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809DFE0 -sub_0809DFE0: @ 0x0809DFE0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080040A8 - cmp r0, #0 - bne _0809E028 - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _0809DFF4 - str r0, [r1, #0x50] -_0809DFF4: - ldrb r1, [r4, #0xe] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - beq _0809E008 - bl sub_0805E780 - b _0809E034 -_0809E008: - strb r0, [r4, #0xc] - bl sub_08000E50 - ldr r2, _0809E024 @ =gUnk_08124146 - movs r1, #1 - ands r1, r0 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r1, r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0xb] - b _0809E034 - .align 2, 0 -_0809E024: .4byte gUnk_08124146 -_0809E028: - adds r0, r4, #0 - bl sub_0809E1F0 - adds r0, r4, #0 - bl sub_080042B8 -_0809E034: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809E038 -sub_0809E038: @ 0x0809E038 - push {lr} - ldr r2, _0809E04C @ =gUnk_08124150 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809E04C: .4byte gUnk_08124150 - - thumb_func_start sub_0809E050 -sub_0809E050: @ 0x0809E050 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x19] - ldr r0, _0809E084 @ =0x0000FFF0 - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #1 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 -_0809E084: .4byte 0x0000FFF0 - - thumb_func_start sub_0809E088 -sub_0809E088: @ 0x0809E088 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - - thumb_func_start sub_0809E0A0 -sub_0809E0A0: @ 0x0809E0A0 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x97 - movs r1, #5 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809E0C8 - str r5, [r4, #0x50] - str r4, [r5, #0x54] - movs r0, #0 - strb r0, [r5, #0xf] - ldr r0, _0809E0CC @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r0, _0809E0D0 @ =0x0000FFF8 - strh r0, [r4, #0x36] -_0809E0C8: - pop {r4, r5, pc} - .align 2, 0 -_0809E0CC: .4byte gUnk_03001160 -_0809E0D0: .4byte 0x0000FFF8 - - thumb_func_start sub_0809E0D4 -sub_0809E0D4: @ 0x0809E0D4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r6, r1, #0 - ldrb r2, [r6, #0x18] - cmp r2, #0 - bne _0809E130 - ldr r1, [r5, #0x54] - cmp r1, #0 - beq _0809E0FC - ldrb r0, [r1, #0xc] - cmp r0, #1 - bhi _0809E0FE - ldr r0, _0809E0F8 @ =gUnk_02033280 - strb r2, [r0, #6] - b _0809E1BC - .align 2, 0 -_0809E0F8: .4byte gUnk_02033280 -_0809E0FC: - ldr r1, _0809E124 @ =gUnk_03001160 -_0809E0FE: - ldrb r0, [r6, #0x18] - adds r0, #1 - movs r4, #0 - strb r0, [r6, #0x18] - movs r0, #0x2e - ldrsh r2, [r1, r0] - movs r0, #0x32 - ldrsh r3, [r1, r0] - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0807DEDC - ldr r0, _0809E128 @ =0x00000123 - bl sub_080A3268 - ldr r0, _0809E12C @ =gUnk_02033280 - strb r4, [r0, #6] - b _0809E1BC - .align 2, 0 -_0809E124: .4byte gUnk_03001160 -_0809E128: .4byte 0x00000123 -_0809E12C: .4byte gUnk_02033280 -_0809E130: - ldr r1, [r5, #0x54] - cmp r1, #0 - beq _0809E142 - movs r0, #0x2e - ldrsh r2, [r1, r0] - mov r8, r2 - movs r2, #0x32 - ldrsh r7, [r1, r2] - b _0809E14C -_0809E142: - movs r1, #0x1e - ldrsh r0, [r6, r1] - mov r8, r0 - movs r2, #0x22 - ldrsh r7, [r6, r2] -_0809E14C: - ldrb r0, [r6, #0x19] - subs r0, #1 - strb r0, [r6, #0x19] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809E170 - movs r0, #8 - strb r0, [r6, #0x19] - movs r1, #0x2e - ldrsh r0, [r5, r1] - mov r2, r8 - subs r0, r2, r0 - movs r2, #0x32 - ldrsh r1, [r5, r2] - subs r1, r7, r1 - bl sub_080045DA - strb r0, [r5, #0x15] -_0809E170: - movs r0, #0x2e - ldrsh r4, [r5, r0] - mov r1, r8 - subs r4, r4, r1 - movs r2, #0x32 - ldrsh r0, [r5, r2] - subs r6, r0, r7 - movs r0, #0x24 - ldrsh r1, [r5, r0] - ldrb r2, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F62C - movs r1, #0x2e - ldrsh r0, [r5, r1] - mov r2, r8 - subs r0, r0, r2 - muls r4, r0, r4 - movs r1, #0x32 - ldrsh r0, [r5, r1] - subs r0, r0, r7 - muls r6, r0, r6 - cmp r4, #0 - bgt _0809E1B6 - cmp r6, #0 - bgt _0809E1B6 - strh r2, [r5, #0x2e] - strh r7, [r5, #0x32] - movs r0, #1 - strb r0, [r5, #0xf] - movs r0, #0x81 - lsls r0, r0, #1 - bl sub_080A3268 - b _0809E1BC -_0809E1B6: - ldr r1, _0809E1C4 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0809E1BC: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809E1C4: .4byte gUnk_02033280 - - thumb_func_start sub_0809E1C8 -sub_0809E1C8: @ 0x0809E1C8 - push {lr} - adds r3, r0, #0 - adds r1, #0x20 - ldrb r2, [r3, #0x15] - subs r1, r1, r2 - movs r0, #0x1f - ands r1, r0 - cmp r1, #0 - beq _0809E1E6 - cmp r1, #0xf - bhi _0809E1E2 - adds r0, r2, #1 - b _0809E1E4 -_0809E1E2: - subs r0, r2, #1 -_0809E1E4: - strb r0, [r3, #0x15] -_0809E1E6: - ldrb r1, [r3, #0x15] - movs r0, #0x1f - ands r0, r1 - strb r0, [r3, #0x15] - pop {pc} - - thumb_func_start sub_0809E1F0 -sub_0809E1F0: @ 0x0809E1F0 - push {lr} - adds r1, r0, #0 - ldrh r0, [r1, #0x24] - adds r0, #0x40 - strh r0, [r1, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r2, #0x80 - lsls r2, r2, #3 - cmp r0, r2 - ble _0809E208 - strh r2, [r1, #0x24] -_0809E208: - adds r0, r1, #0 - bl sub_0806F69C - pop {pc} - - thumb_func_start sub_0809E210 -sub_0809E210: @ 0x0809E210 - push {r4, lr} - adds r1, r0, #0 - ldr r4, _0809E230 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - bl sub_0806F5B0 - movs r1, #0xfe - ands r0, r1 - strb r0, [r4, #0x14] - ldr r1, _0809E234 @ =gUnk_03003F80 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1, #8] - pop {r4, pc} - .align 2, 0 -_0809E230: .4byte gUnk_03001160 -_0809E234: .4byte gUnk_03003F80 - - thumb_func_start sub_0809E238 -sub_0809E238: @ 0x0809E238 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r7, r0, #0 - ldr r6, _0809E298 @ =gUnk_080C9160 - movs r0, #0x6e - adds r0, r0, r7 - mov r8, r0 - ldrb r0, [r0] - lsls r0, r0, #1 - adds r0, r0, r6 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r5, r7, #0 - adds r5, #0x6c - movs r2, #0 - ldrsh r1, [r5, r2] - bl sub_0806F9EC - adds r4, r0, #0 - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - mov r1, r8 - ldrb r0, [r1] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r6 - movs r2, #0 - ldrsh r0, [r0, r2] - movs r2, #0 - ldrsh r1, [r5, r2] - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r7, #0 - adds r1, #0x68 - ldrh r1, [r1] - adds r1, r1, r4 - strh r1, [r7, #0x2e] - adds r1, r7, #0 - adds r1, #0x6a - ldrh r1, [r1] - subs r1, r1, r0 - strh r1, [r7, #0x32] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809E298: .4byte gUnk_080C9160 - - thumb_func_start sub_0809E29C -sub_0809E29C: @ 0x0809E29C - push {lr} - adds r2, r0, #0 - adds r0, #0x6e - ldrb r0, [r0] - adds r0, #0x40 - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809E2B8 - ldrb r1, [r2, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _0809E2BE -_0809E2B8: - ldrb r0, [r2, #0x18] - movs r1, #0x40 - orrs r0, r1 -_0809E2BE: - strb r0, [r2, #0x18] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809E2C4 -sub_0809E2C4: @ 0x0809E2C4 - push {r4, r5, r6, r7, lr} - lsls r1, r1, #2 - ldr r0, _0809E328 @ =gUnk_08124178 - adds r1, r1, r0 - ldr r3, _0809E32C @ =gUnk_03001160 - movs r0, #0x2e - ldrsh r5, [r3, r0] - ldr r4, _0809E330 @ =gUnk_03000BF0 - ldrh r0, [r4, #6] - ldrh r2, [r1] - adds r0, r0, r2 - subs r6, r5, r0 - movs r0, #0x32 - ldrsh r2, [r3, r0] - ldrh r0, [r4, #8] - ldrh r1, [r1, #2] - adds r0, r0, r1 - subs r5, r2, r0 - ldr r4, _0809E334 @ =gUnk_08124158 - movs r2, #0 - adds r7, r3, #0 -_0809E2EE: - movs r1, #0 - ldrsh r0, [r4, r1] - subs r0, r6, r0 - ldrb r1, [r4, #4] - adds r0, r0, r1 - lsls r1, r1, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r1, r0 - ble _0809E33C - movs r1, #2 - ldrsh r0, [r4, r1] - subs r0, r5, r0 - ldrb r1, [r4, #5] - adds r0, r0, r1 - lsls r1, r1, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r1, r0 - ble _0809E33C - ldrb r0, [r4, #6] - ldrb r7, [r7, #0x14] - cmp r0, r7 - bne _0809E338 - ldrb r0, [r3, #0xc] - cmp r0, #6 - bne _0809E338 - movs r0, #1 - b _0809E346 - .align 2, 0 -_0809E328: .4byte gUnk_08124178 -_0809E32C: .4byte gUnk_03001160 -_0809E330: .4byte gUnk_03000BF0 -_0809E334: .4byte gUnk_08124158 -_0809E338: - movs r0, #2 - b _0809E346 -_0809E33C: - adds r2, #1 - adds r4, #8 - cmp r2, #3 - ble _0809E2EE - movs r0, #0 -_0809E346: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0809E348 -sub_0809E348: @ 0x0809E348 - push {lr} - ldr r2, _0809E35C @ =gUnk_0812418C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809E35C: .4byte gUnk_0812418C - - thumb_func_start sub_0809E360 -sub_0809E360: @ 0x0809E360 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #8 - bls _0809E372 - movs r0, #8 - strb r0, [r4, #0xe] -_0809E372: - ldrb r2, [r4, #0xe] - movs r0, #0x48 - subs r0, r0, r2 - ldr r1, _0809E3E0 @ =gUnk_03003DBC - ldrb r1, [r1] - cmp r0, r1 - ble _0809E3D8 - movs r5, #0 - adds r7, r4, #0 - adds r7, #0x7e - movs r0, #0x76 - adds r0, r0, r4 - mov r8, r0 - cmp r5, r2 - bhs _0809E3A6 - movs r6, #0xe -_0809E392: - movs r0, #0x17 - bl sub_080A7EE0 - strb r6, [r0, #0xe] - str r4, [r0, #0x50] - adds r6, #0xc - adds r5, #1 - ldrb r2, [r4, #0xe] - cmp r5, r2 - blo _0809E392 -_0809E3A6: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r7] - lsls r1, r0, #8 - mov r2, r8 - strh r1, [r2] - lsls r0, r0, #6 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - bl sub_0805E3A0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0809E3D8 - bl sub_0804B128 - str r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x54 - adds r2, r4, #0 - adds r2, #0x74 - adds r0, r4, #0 - bl sub_080A2CC0 -_0809E3D8: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809E3E0: .4byte gUnk_03003DBC - - thumb_func_start sub_0809E3E4 -sub_0809E3E4: @ 0x0809E3E4 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x76 - ldrb r0, [r4, #0xb] - ldrh r1, [r2] - adds r1, r1, r0 - strh r1, [r2] - lsrs r1, r1, #2 - strb r1, [r4, #0x14] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0809E428 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0809E40E - adds r0, r4, #0 - bl sub_0806F69C -_0809E40E: - adds r2, r4, #0 - adds r2, #0x74 - ldrh r0, [r2] - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0809E428 - adds r1, r4, #0 - adds r1, #0x54 - adds r0, r4, #0 - bl sub_080A2CC0 -_0809E428: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809E42C -sub_0809E42C: @ 0x0809E42C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r4, r0, #0 - ldr r6, [r4, #0x50] - ldr r0, [r6, #4] - cmp r0, #0 - bne _0809E444 - bl sub_0805E780 -_0809E444: - ldrb r0, [r4, #0xc] - movs r1, #0x76 - adds r1, r1, r4 - mov r8, r1 - adds r7, r4, #0 - adds r7, #0x62 - movs r2, #0x74 - adds r2, r2, r4 - mov sb, r2 - adds r5, r4, #0 - adds r5, #0x63 - movs r1, #0x75 - adds r1, r1, r4 - mov sl, r1 - cmp r0, #0 - bne _0809E482 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r6, #0x14] - mov r2, r8 - strb r0, [r2] - ldrb r0, [r7] - mov r1, sb - strb r0, [r1] - ldrb r0, [r5] - mov r2, sl - strb r0, [r2] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_08004260 -_0809E482: - ldrb r0, [r6, #0x14] - mov r1, r8 - ldrb r1, [r1] - cmp r0, r1 - beq _0809E490 - bl sub_0805E780 -_0809E490: - ldrb r1, [r6, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA6C - mov r2, sb - ldrb r0, [r2] - ldrb r1, [r7] - adds r0, r0, r1 - strb r0, [r7] - mov r2, sl - ldrb r0, [r2] - ldrb r1, [r5] - adds r0, r0, r1 - strb r0, [r5] - ldrb r0, [r4, #0x14] - cmp r0, #2 - beq _0809E4D0 - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - ldrb r0, [r5] - subs r0, #1 - b _0809E4DA -_0809E4D0: - ldrh r0, [r4, #0x32] - subs r0, #1 - strh r0, [r4, #0x32] - ldrb r0, [r5] - adds r0, #1 -_0809E4DA: - strb r0, [r5] - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809E4F4 - bl sub_0805E780 -_0809E4F4: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0809E500 -sub_0809E500: @ 0x0809E500 - push {lr} - ldr r2, _0809E514 @ =gUnk_081242C8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809E514: .4byte gUnk_081242C8 - - thumb_func_start sub_0809E518 -sub_0809E518: @ 0x0809E518 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r1, #1 - strb r1, [r6, #0xc] - ldrb r2, [r6, #0xa] - adds r0, r2, #0 - cmp r0, #0xff - bne _0809E52E - ldrb r0, [r6, #0xb] - strb r0, [r6, #0x1e] - b _0809E5CA -_0809E52E: - ands r1, r2 - rsbs r0, r1, #0 - orrs r0, r1 - asrs r5, r0, #0x1f - movs r0, #4 - ands r5, r0 - movs r0, #2 - ands r0, r2 - cmp r0, #0 - beq _0809E5A4 - ldr r0, _0809E5A0 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x44 - bhi _0809E5B4 - strb r5, [r6, #0x1e] - adds r5, #1 - movs r0, #0x9a - movs r1, #0xff - adds r2, r5, #0 - bl sub_080A2960 - adds r4, r0, #0 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r5, #1 - movs r0, #0x9a - movs r1, #0xff - adds r2, r5, #0 - bl sub_080A2960 - adds r4, r0, #0 - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - adds r1, r4, #0 - adds r1, #0x63 - movs r0, #0xff - strb r0, [r1] - adds r5, #1 - movs r0, #0x9a - movs r1, #0xff - adds r2, r5, #0 - bl sub_080A2960 - adds r4, r0, #0 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 - b _0809E5C4 - .align 2, 0 -_0809E5A0: .4byte gUnk_03003DBC -_0809E5A4: - adds r2, r5, #1 - movs r0, #0x9a - movs r1, #0xff - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - bne _0809E5BA -_0809E5B4: - bl sub_0805E780 - b _0809E5C4 -_0809E5BA: - strb r5, [r6, #0x1e] - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_0809E5C4: - adds r0, r6, #0 - bl sub_0809E5F0 -_0809E5CA: - ldrb r1, [r6, #0x1e] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0809E5E8 - ldrb r0, [r6, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r6, #0x19] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] -_0809E5E8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start nullsub_125 -nullsub_125: @ 0x0809E5EC - bx lr - .align 2, 0 - - thumb_func_start sub_0809E5F0 -sub_0809E5F0: @ 0x0809E5F0 - push {r4, r5, lr} - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r4, _0809E628 @ =gUnk_03000BF0 - ldrh r2, [r4, #6] - subs r1, r1, r2 - asrs r5, r1, #4 - movs r3, #0x3f - ands r5, r3 - movs r2, #0x32 - ldrsh r1, [r0, r2] - ldrh r2, [r4, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r5, r1 - adds r1, r0, #0 - adds r1, #0x80 - strh r5, [r1] - ldrb r0, [r0, #0xa] - cmp r0, #1 - beq _0809E708 - cmp r0, #1 - bgt _0809E62C - cmp r0, #0 - beq _0809E64E - b _0809E792 - .align 2, 0 -_0809E628: .4byte gUnk_03000BF0 -_0809E62C: - cmp r0, #2 - beq _0809E636 - cmp r0, #3 - beq _0809E6F0 - b _0809E792 -_0809E636: - ldr r0, _0809E6DC @ =0x00004022 - adds r1, r5, #0 - subs r1, #0x3d - movs r2, #1 - bl sub_0800015E - ldr r0, _0809E6E0 @ =0x0000406D - adds r1, r5, #0 - subs r1, #0x3c - movs r2, #1 - bl sub_0800015E -_0809E64E: - ldr r0, _0809E6E4 @ =0x0000406C - adds r1, r5, #0 - subs r1, #0x42 - movs r2, #1 - bl sub_0800015E - ldr r4, _0809E6DC @ =0x00004022 - adds r1, r5, #0 - subs r1, #0x41 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r1, r5, #0 - subs r1, #0x40 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r1, r5, #0 - subs r1, #0x3f - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - subs r1, r5, #2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - subs r1, r5, #1 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #1 - bl sub_0800015E - adds r1, r5, #1 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r0, _0809E6E8 @ =0x0000406E - adds r1, r5, #0 - adds r1, #0x3e - movs r2, #1 - bl sub_0800015E - adds r1, r5, #0 - adds r1, #0x3f - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r1, r5, #0 - adds r1, #0x40 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r0, _0809E6EC @ =0x0000406F - adds r1, r5, #0 - adds r1, #0x41 - movs r2, #1 - bl sub_0800015E - b _0809E792 - .align 2, 0 -_0809E6DC: .4byte 0x00004022 -_0809E6E0: .4byte 0x0000406D -_0809E6E4: .4byte 0x0000406C -_0809E6E8: .4byte 0x0000406E -_0809E6EC: .4byte 0x0000406F -_0809E6F0: - ldr r0, _0809E794 @ =0x00004022 - adds r1, r5, #0 - subs r1, #0x44 - movs r2, #1 - bl sub_0800015E - ldr r0, _0809E798 @ =0x0000406C - adds r1, r5, #0 - subs r1, #0x45 - movs r2, #1 - bl sub_0800015E -_0809E708: - ldr r4, _0809E794 @ =0x00004022 - adds r1, r5, #0 - subs r1, #0x42 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r1, r5, #0 - subs r1, #0x41 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r1, r5, #0 - subs r1, #0x40 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r0, _0809E79C @ =0x0000406D - adds r1, r5, #0 - subs r1, #0x3f - movs r2, #1 - bl sub_0800015E - subs r1, r5, #2 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - subs r1, r5, #1 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #1 - bl sub_0800015E - adds r1, r5, #1 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r0, _0809E7A0 @ =0x0000406E - adds r1, r5, #0 - adds r1, #0x3e - movs r2, #1 - bl sub_0800015E - adds r1, r5, #0 - adds r1, #0x3f - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - adds r1, r5, #0 - adds r1, #0x40 - adds r0, r4, #0 - movs r2, #1 - bl sub_0800015E - ldr r0, _0809E7A4 @ =0x0000406F - adds r1, r5, #0 - adds r1, #0x41 - movs r2, #1 - bl sub_0800015E -_0809E792: - pop {r4, r5, pc} - .align 2, 0 -_0809E794: .4byte 0x00004022 -_0809E798: .4byte 0x0000406C -_0809E79C: .4byte 0x0000406D -_0809E7A0: .4byte 0x0000406E -_0809E7A4: .4byte 0x0000406F - - thumb_func_start sub_0809E7A8 -sub_0809E7A8: @ 0x0809E7A8 - push {lr} - ldr r2, _0809E7BC @ =gUnk_081242D0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809E7BC: .4byte gUnk_081242D0 - - thumb_func_start sub_0809E7C0 -sub_0809E7C0: @ 0x0809E7C0 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xb] - cmp r0, #0xff - beq _0809E7D4 - adds r0, r4, #0 - bl sub_0809E7FC -_0809E7D4: - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809E7E0 -sub_0809E7E0: @ 0x0809E7E0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809E7F8 - bl sub_0805E780 -_0809E7F8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809E7FC -sub_0809E7FC: @ 0x0809E7FC - push {lr} - adds r1, r0, #0 - ldrb r3, [r1, #0xb] - lsls r3, r3, #1 - ldr r0, _0809E820 @ =gUnk_081242D8 - adds r3, r3, r0 - ldr r0, [r1, #0x50] - movs r2, #0 - ldrsb r2, [r3, r2] - lsls r2, r2, #0x10 - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - lsls r3, r3, #0x10 - bl sub_0806FA48 - pop {pc} - .align 2, 0 -_0809E820: .4byte gUnk_081242D8 - - thumb_func_start sub_0809E824 -sub_0809E824: @ 0x0809E824 - push {lr} - ldr r2, _0809E838 @ =gUnk_08124354 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809E838: .4byte gUnk_08124354 - - thumb_func_start sub_0809E83C -sub_0809E83C: @ 0x0809E83C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0809E856 - adds r0, r4, #0 - bl sub_0809E96C - bl sub_0805E780 -_0809E856: - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809E86C -sub_0809E86C: @ 0x0809E86C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0809E8B4 @ =gUnk_03001160 - movs r2, #0x30 - movs r3, #0x30 - bl sub_0800419C - cmp r0, #0 - beq _0809E89A - movs r0, #0x14 - bl sub_0807CC30 - cmp r0, #0 - beq _0809E89A - ldr r0, _0809E8B8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0809E89A - adds r0, r4, #0 - bl sub_080A2B80 -_0809E89A: - bl sub_0809E9A0 - cmp r0, #0x54 - bne _0809E8B0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xe] - movs r0, #1 - bl sub_08078A90 -_0809E8B0: - pop {r4, pc} - .align 2, 0 -_0809E8B4: .4byte gUnk_03001160 -_0809E8B8: .4byte gUnk_030010A0 - - thumb_func_start sub_0809E8BC -sub_0809E8BC: @ 0x0809E8BC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809E8E8 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x40 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0809E96C - adds r0, r4, #0 - bl sub_0809E918 -_0809E8E8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809E8EC -sub_0809E8EC: @ 0x0809E8EC - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809E916 - adds r0, r1, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - movs r0, #0 - bl sub_08078A90 - movs r0, #0x73 - bl sub_080A3268 - bl sub_0805E780 -_0809E916: - pop {pc} - - thumb_func_start sub_0809E918 -sub_0809E918: @ 0x0809E918 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r4, _0809E964 @ =gUnk_08124364 - movs r1, #0 - ldrsh r0, [r4, r1] - ldr r1, _0809E968 @ =0xFFFFFC18 - cmp r0, r1 - beq _0809E962 - adds r6, r1, #0 -_0809E92A: - adds r0, r5, #0 - movs r1, #3 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0809E958 - ldrh r0, [r4] - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - ldrh r0, [r4, #2] - ldrh r1, [r2, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08016A04 -_0809E958: - adds r4, #4 - movs r1, #0 - ldrsh r0, [r4, r1] - cmp r0, r6 - bne _0809E92A -_0809E962: - pop {r4, r5, r6, pc} - .align 2, 0 -_0809E964: .4byte gUnk_08124364 -_0809E968: .4byte 0xFFFFFC18 - - thumb_func_start sub_0809E96C -sub_0809E96C: @ 0x0809E96C - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _0809E99C @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - adds r1, #0x20 - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - adds r2, #8 - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - bl sub_08018C1C - pop {r4, r5, pc} - .align 2, 0 -_0809E99C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809E9A0 -sub_0809E9A0: @ 0x0809E9A0 - push {r4, r5, r6, lr} - ldr r5, _0809E9B0 @ =gUnk_03001160 - ldrb r2, [r5, #0xc] - cmp r2, #6 - beq _0809E9B4 - movs r0, #0 - b _0809E9F0 - .align 2, 0 -_0809E9B0: .4byte gUnk_03001160 -_0809E9B4: - ldrb r0, [r5, #0x14] - ands r2, r0 - lsls r2, r2, #1 - ldr r0, _0809E9F4 @ =gUnk_080B4468 - adds r2, r2, r0 - movs r1, #0x2e - ldrsh r0, [r5, r1] - movs r3, #0 - ldrsh r1, [r2, r3] - adds r0, r0, r1 - ldr r4, _0809E9F8 @ =gUnk_03000BF0 - ldrh r1, [r4, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r6, #0x32 - ldrsh r1, [r5, r6] - movs r5, #2 - ldrsh r2, [r2, r5] - adds r1, r1, r2 - ldrh r2, [r4, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - movs r1, #1 - bl sub_080002C8 -_0809E9F0: - pop {r4, r5, r6, pc} - .align 2, 0 -_0809E9F4: .4byte gUnk_080B4468 -_0809E9F8: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809E9FC -sub_0809E9FC: @ 0x0809E9FC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0809EA18 @ =gUnk_081243B4 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_0809EB30 - pop {r4, pc} - .align 2, 0 -_0809EA18: .4byte gUnk_081243B4 - - thumb_func_start sub_0809EA1C -sub_0809EA1C: @ 0x0809EA1C - push {lr} - ldr r2, _0809EA30 @ =gUnk_081243BC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809EA30: .4byte gUnk_081243BC - - thumb_func_start sub_0809EA34 -sub_0809EA34: @ 0x0809EA34 - push {r4, lr} - adds r4, r0, #0 - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - strb r2, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - subs r1, #1 - movs r0, #0x28 - strb r0, [r1] - subs r1, #4 - movs r0, #0xa - strb r0, [r1] - ldr r0, _0809EA7C @ =gUnk_080FD150 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_0809EAD8 - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - bl sub_0809EABC - pop {r4, pc} - .align 2, 0 -_0809EA7C: .4byte gUnk_080FD150 - - thumb_func_start sub_0809EA80 -sub_0809EA80: @ 0x0809EA80 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809EAB4 - adds r4, r5, #0 - adds r4, #0x86 - ldrh r0, [r4] - bl sub_0807CBE4 - cmp r0, #0 - beq _0809EAA6 - ldrh r0, [r4] - bl sub_0807CD48 - b _0809EAAC -_0809EAA6: - ldrh r0, [r4] - bl sub_0807CCC8 -_0809EAAC: - movs r0, #0x88 - lsls r0, r0, #1 - bl sub_08004488 -_0809EAB4: - adds r0, r5, #0 - bl sub_0809EABC - pop {r4, r5, pc} - - thumb_func_start sub_0809EABC -sub_0809EABC: @ 0x0809EABC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - ldrb r0, [r4, #0x1e] - cmp r0, r1 - beq _0809EAD6 - strb r1, [r4, #0x1e] -_0809EAD6: - pop {r4, pc} - - thumb_func_start sub_0809EAD8 -sub_0809EAD8: @ 0x0809EAD8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xb] - cmp r0, #0 - beq _0809EAF8 - bl sub_0804B128 - str r0, [r5, #0x54] - adds r1, r5, #0 - adds r1, #0x54 - adds r2, r5, #0 - adds r2, #0x74 - adds r0, r5, #0 - bl sub_080A2CC0 - b _0809EB24 -_0809EAF8: - ldr r0, _0809EB28 @ =0x00004050 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0809EB2C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E -_0809EB24: - pop {r4, r5, r6, pc} - .align 2, 0 -_0809EB28: .4byte 0x00004050 -_0809EB2C: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809EB30 -sub_0809EB30: @ 0x0809EB30 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0809EB64 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0809EB4A - adds r0, r4, #0 - bl sub_0806F69C -_0809EB4A: - adds r2, r4, #0 - adds r2, #0x74 - ldrh r0, [r2] - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0809EB64 - adds r1, r4, #0 - adds r1, #0x54 - adds r0, r4, #0 - bl sub_080A2CC0 -_0809EB64: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809EB68 -sub_0809EB68: @ 0x0809EB68 - push {lr} - ldr r2, _0809EB7C @ =gUnk_081243C4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809EB7C: .4byte gUnk_081243C4 - - thumb_func_start sub_0809EB80 -sub_0809EB80: @ 0x0809EB80 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r5, #3 - strb r5, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - subs r1, #1 - movs r0, #0x28 - strb r0, [r1] - subs r1, #4 - movs r0, #0xa - strb r0, [r1] - ldr r0, _0809EBD4 @ =gUnk_080FD150 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_0809EAD8 - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0809EBD2 - strb r5, [r4, #0xc] - movs r0, #2 - strb r0, [r4, #0x1e] -_0809EBD2: - pop {r4, r5, pc} - .align 2, 0 -_0809EBD4: .4byte gUnk_080FD150 - - thumb_func_start sub_0809EBD8 -sub_0809EBD8: @ 0x0809EBD8 - push {lr} - adds r2, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809EC04 - movs r1, #2 - strb r1, [r2, #0xc] - movs r0, #0x10 - strb r0, [r2, #0xe] - strb r1, [r2, #0x1e] - adds r0, r2, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - movs r0, #0x88 - lsls r0, r0, #1 - bl sub_08004488 -_0809EC04: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809EC08 -sub_0809EC08: @ 0x0809EC08 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x84 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0809EC1E - movs r0, #3 - strb r0, [r4, #0xc] - b _0809EC44 -_0809EC1E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809EC44 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #3 - strb r0, [r4, #0x1e] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CD48 - movs r0, #0x88 - lsls r0, r0, #1 - bl sub_08004488 -_0809EC44: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_126 -nullsub_126: @ 0x0809EC48 - bx lr - .align 2, 0 - - thumb_func_start sub_0809EC4C -sub_0809EC4C: @ 0x0809EC4C - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r3, [r6, #0xc] - cmp r3, #0 - bne _0809ED14 - movs r4, #1 - strb r4, [r6, #0xc] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r6, #0xa] - cmp r0, #0 - bne _0809ED04 - ldrb r0, [r6, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r6, #0x10] - strb r4, [r6, #0x1e] - adds r5, r6, #0 - adds r5, #0x38 - strb r4, [r5] - adds r1, r6, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - subs r1, #1 - movs r0, #0x7a - strb r0, [r1] - adds r0, r6, #0 - adds r0, #0x3b - strb r4, [r0] - ldr r0, _0809ECF4 @ =gUnk_080FD168 - str r0, [r6, #0x48] - movs r0, #0x2e - ldrsh r4, [r6, r0] - ldr r1, _0809ECF8 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r2, #0x3f - ands r4, r2 - movs r3, #0x32 - ldrsh r0, [r6, r3] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - ldr r0, _0809ECFC @ =0x00004066 - subs r1, r4, #1 - ldrb r2, [r5] - bl sub_0800015E - ldr r0, _0809ED00 @ =0x00004065 - ldrb r2, [r5] - adds r1, r4, #0 - bl sub_0800015E - adds r0, r6, #0 - bl sub_08016A04 - movs r0, #0x9e - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _0809ED14 - str r1, [r6, #0x54] - adds r0, r6, #0 - bl sub_0806FA24 - b _0809ED14 - .align 2, 0 -_0809ECF4: .4byte gUnk_080FD168 -_0809ECF8: .4byte gUnk_03000BF0 -_0809ECFC: .4byte 0x00004066 -_0809ED00: .4byte 0x00004065 -_0809ED04: - strb r3, [r6, #0x1e] - adds r1, r6, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r6, #0 - bl sub_08016A04 -_0809ED14: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0809ED18 -sub_0809ED18: @ 0x0809ED18 - push {lr} - ldr r2, _0809ED2C @ =gUnk_081243D4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809ED2C: .4byte gUnk_081243D4 - - thumb_func_start sub_0809ED30 -sub_0809ED30: @ 0x0809ED30 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - movs r1, #2 - eors r0, r1 - lsls r0, r0, #3 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0809EE34 - adds r0, r4, #0 - bl sub_0809EFB0 - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, pc} - - thumb_func_start sub_0809ED54 -sub_0809ED54: @ 0x0809ED54 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x84 - ldrh r0, [r1] - cmp r0, #0 - beq _0809ED6A - bl sub_0807CBE4 - cmp r0, #0 - beq _0809ED86 -_0809ED6A: - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _0809ED80 - adds r1, r4, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0809ED86 -_0809ED80: - adds r0, r4, #0 - bl sub_0809EE08 -_0809ED86: - pop {r4, pc} - - thumb_func_start sub_0809ED88 -sub_0809ED88: @ 0x0809ED88 - push {r4, lr} - adds r4, r0, #0 - bl sub_0809F08C - adds r0, r4, #0 - bl sub_0809EE44 - adds r0, r4, #0 - adds r0, #0x86 - ldrh r2, [r0] - cmp r2, #0 - beq _0809EDC6 - adds r1, r4, #0 - adds r1, #0x84 - ldrh r0, [r1] - cmp r0, r2 - bne _0809EDB4 - bl sub_0807CBE4 - cmp r0, #0 - bne _0809EDE2 - b _0809EDBE -_0809EDB4: - ldrh r0, [r1] - bl sub_0807CBE4 - cmp r0, #0 - beq _0809EDE2 -_0809EDBE: - adds r0, r4, #0 - bl sub_0809EE24 - b _0809EDE2 -_0809EDC6: - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _0809EDE2 - adds r1, r4, #0 - adds r1, #0x74 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0809EDE2 - adds r0, r4, #0 - bl sub_0809EE24 -_0809EDE2: - pop {r4, pc} - - thumb_func_start sub_0809EDE4 -sub_0809EDE4: @ 0x0809EDE4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0809F08C - adds r0, r4, #0 - bl sub_0809EE44 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809EE06 - adds r0, r4, #0 - bl sub_0809EE34 -_0809EE06: - pop {r4, pc} - - thumb_func_start sub_0809EE08 -sub_0809EE08: @ 0x0809EE08 - push {lr} - movs r1, #2 - strb r1, [r0, #0xc] - adds r1, r0, #0 - adds r1, #0x7f - ldrb r1, [r1] - lsls r1, r1, #2 - adds r2, r0, #0 - adds r2, #0x74 - strh r1, [r2] - ldrb r1, [r0, #0xa] - bl sub_08004260 - pop {pc} - - thumb_func_start sub_0809EE24 -sub_0809EE24: @ 0x0809EE24 - push {lr} - movs r1, #3 - strb r1, [r0, #0xc] - ldrb r1, [r0, #0xa] - adds r1, #4 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_0809EE34 -sub_0809EE34: @ 0x0809EE34 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r1, [r0, #0xe] - lsls r1, r1, #2 - adds r0, #0x74 - strh r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_0809EE44 -sub_0809EE44: @ 0x0809EE44 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r1, #7 - ands r1, r0 - adds r0, r5, #0 - adds r0, #0x7e - ldrb r0, [r0] - lsls r0, r1 - strh r0, [r5, #0x24] - cmp r1, #0 - bne _0809EE60 - b _0809EF74 -_0809EE60: - ldr r4, _0809EEA4 @ =gUnk_03001160 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0809EF78 - cmp r0, #0 - beq _0809EE80 - bl sub_08079F8C - cmp r0, #0 - beq _0809EE80 - movs r1, #0x24 - ldrsh r0, [r5, r1] - ldrb r1, [r5, #0x15] - bl sub_08079E58 -_0809EE80: - ldr r6, _0809EEA8 @ =gUnk_03003D80 - ldr r4, [r6, #4] - cmp r6, r4 - beq _0809EF74 -_0809EE88: - ldrb r0, [r4, #8] - cmp r0, #8 - bne _0809EF6E - movs r3, #0 - ldrb r0, [r4, #9] - subs r0, #2 - cmp r0, #0x17 - bhi _0809EF52 - lsls r0, r0, #2 - ldr r1, _0809EEAC @ =_0809EEB0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809EEA4: .4byte gUnk_03001160 -_0809EEA8: .4byte gUnk_03003D80 -_0809EEAC: .4byte _0809EEB0 -_0809EEB0: @ jump table - .4byte _0809EF1E @ case 0 - .4byte _0809EF26 @ case 1 - .4byte _0809EF48 @ case 2 - .4byte _0809EF52 @ case 3 - .4byte _0809EF52 @ case 4 - .4byte _0809EF52 @ case 5 - .4byte _0809EF52 @ case 6 - .4byte _0809EF52 @ case 7 - .4byte _0809EF52 @ case 8 - .4byte _0809EF52 @ case 9 - .4byte _0809EF52 @ case 10 - .4byte _0809EF52 @ case 11 - .4byte _0809EF52 @ case 12 - .4byte _0809EF52 @ case 13 - .4byte _0809EF52 @ case 14 - .4byte _0809EF50 @ case 15 - .4byte _0809EF52 @ case 16 - .4byte _0809EF10 @ case 17 - .4byte _0809EF52 @ case 18 - .4byte _0809EF52 @ case 19 - .4byte _0809EF52 @ case 20 - .4byte _0809EF52 @ case 21 - .4byte _0809EF52 @ case 22 - .4byte _0809EF50 @ case 23 -_0809EF10: - ldrb r0, [r4, #0xc] - cmp r0, #2 - bne _0809EF56 - ldrb r0, [r4, #0xd] - cmp r0, #1 - bls _0809EF52 - b _0809EF56 -_0809EF1E: - ldrb r0, [r4, #0xc] - cmp r0, #2 - beq _0809EF52 - b _0809EF56 -_0809EF26: - ldr r2, _0809EF44 @ =gUnk_03001160 - movs r7, #0x2e - ldrsh r1, [r4, r7] - movs r7, #0x2e - ldrsh r0, [r2, r7] - cmp r1, r0 - bne _0809EF56 - movs r0, #0x32 - ldrsh r1, [r4, r0] - movs r7, #0x32 - ldrsh r0, [r2, r7] - cmp r1, r0 - beq _0809EF52 - b _0809EF56 - .align 2, 0 -_0809EF44: .4byte gUnk_03001160 -_0809EF48: - ldrb r0, [r5, #0xf] - cmp r0, #0 - beq _0809EF52 - b _0809EF56 -_0809EF50: - movs r3, #1 -_0809EF52: - cmp r3, #0 - beq _0809EF6E -_0809EF56: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0809EF78 - cmp r0, #0 - beq _0809EF6E - movs r0, #0x24 - ldrsh r1, [r5, r0] - ldrb r2, [r5, #0x15] - adds r0, r4, #0 - bl sub_080044AE -_0809EF6E: - ldr r4, [r4, #4] - cmp r6, r4 - bne _0809EE88 -_0809EF74: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0809EF78 -sub_0809EF78: @ 0x0809EF78 - push {r4, r5, lr} - adds r3, r0, #0 - adds r4, r1, #0 - movs r5, #0 - adds r0, #0x70 - ldrh r2, [r0] - movs r1, #0x2e - ldrsh r0, [r4, r1] - adds r1, r3, #0 - adds r1, #0x6c - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _0809EFAC - adds r0, r3, #0 - adds r0, #0x72 - ldrh r2, [r0] - movs r1, #0x32 - ldrsh r0, [r4, r1] - adds r1, r3, #0 - adds r1, #0x6e - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _0809EFAC - movs r5, #1 -_0809EFAC: - adds r0, r5, #0 - pop {r4, r5, pc} - - thumb_func_start sub_0809EFB0 -sub_0809EFB0: @ 0x0809EFB0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r4, r0, #0 - ldr r0, _0809F010 @ =gUnk_081243E4 - ldrb r1, [r4, #0xa] - lsls r1, r1, #1 - adds r2, r1, r0 - ldrb r2, [r2] - lsls r2, r2, #0x18 - asrs r2, r2, #0x18 - mov sb, r2 - adds r1, #1 - adds r1, r1, r0 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov r8, r1 - movs r0, #0x2e - ldrsh r6, [r4, r0] - movs r0, #0x32 - ldrsh r5, [r4, r0] - ldr r0, _0809F014 @ =gUnk_02027EB4 - mov sl, r0 - movs r7, #0 -_0809EFE6: - adds r7, #1 - add r6, sb - add r5, r8 - mov r0, sl - adds r1, r6, #0 - adds r2, r5, #0 - movs r3, #9 - bl sub_080AE4CC - cmp r0, #0 - beq _0809EFE6 - subs r0, r7, #1 - lsls r7, r0, #4 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _0809F034 - cmp r0, #1 - bgt _0809F018 - cmp r0, #0 - beq _0809F022 - b _0809F082 - .align 2, 0 -_0809F010: .4byte gUnk_081243E4 -_0809F014: .4byte gUnk_02027EB4 -_0809F018: - cmp r0, #2 - beq _0809F03E - cmp r0, #3 - beq _0809F064 - b _0809F082 -_0809F022: - ldrh r0, [r4, #0x2e] - subs r0, #0x10 - adds r1, r4, #0 - adds r1, #0x6c - strh r0, [r1] - ldrh r0, [r4, #0x32] - adds r0, #8 - adds r1, #2 - b _0809F054 -_0809F034: - adds r1, r7, #0 - adds r1, #8 - ldrh r0, [r4, #0x2e] - subs r0, r0, r1 - b _0809F068 -_0809F03E: - ldrh r0, [r4, #0x2e] - subs r0, #0x10 - adds r1, r4, #0 - adds r1, #0x6c - strh r0, [r1] - adds r1, r7, #0 - adds r1, #8 - ldrh r0, [r4, #0x32] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x6e -_0809F054: - strh r0, [r1] - adds r1, #2 - movs r0, #0x20 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x72 - strh r7, [r0] - b _0809F082 -_0809F064: - ldrh r0, [r4, #0x2e] - adds r0, #8 -_0809F068: - adds r1, r4, #0 - adds r1, #0x6c - strh r0, [r1] - ldrh r0, [r4, #0x32] - subs r0, #0x10 - adds r1, #2 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x70 - strh r7, [r0] - adds r1, #4 - movs r0, #0x20 - strh r0, [r1] -_0809F082: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0809F08C -sub_0809F08C: @ 0x0809F08C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _0809F09A - subs r0, #1 - strb r0, [r4, #0xf] -_0809F09A: - adds r0, r4, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0809F0C0 - movs r0, #0xdf - ands r0, r1 - strb r0, [r2] - movs r0, #0x14 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_0809F0E4 - b _0809F0E0 -_0809F0C0: - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0809F0E0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _0809F0E0 - movs r0, #0x14 - strb r0, [r4, #0xf] - ldrb r0, [r2] - movs r1, #0x10 - eors r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_0809F0E4 -_0809F0E0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809F0E4 -sub_0809F0E4: @ 0x0809F0E4 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0809F124 @ =0x00000183 - bl sub_08004488 - ldrb r0, [r5, #0xa] - movs r1, #2 - eors r1, r0 - movs r0, #0xb2 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809F120 - str r5, [r4, #0x50] - ldrb r0, [r5, #0xa] - lsls r0, r0, #1 - ldr r1, _0809F128 @ =gUnk_081243EC - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 -_0809F120: - pop {r4, r5, pc} - .align 2, 0 -_0809F124: .4byte 0x00000183 -_0809F128: .4byte gUnk_081243EC - - thumb_func_start sub_0809F12C -sub_0809F12C: @ 0x0809F12C - push {lr} - ldr r2, _0809F140 @ =gUnk_08124670 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809F140: .4byte gUnk_08124670 - - thumb_func_start sub_0809F144 -sub_0809F144: @ 0x0809F144 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _0809F188 @ =gUnk_080FD178 - str r0, [r4, #0x48] - ldr r0, _0809F18C @ =0x00004022 - movs r2, #0x2e - ldrsh r1, [r4, r2] - ldr r3, _0809F190 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r5, #0x3f - ands r1, r5 - movs r6, #0x32 - ldrsh r2, [r4, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r5 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r4, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 - pop {r4, r5, r6, pc} - .align 2, 0 -_0809F188: .4byte gUnk_080FD178 -_0809F18C: .4byte 0x00004022 -_0809F190: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809F194 -sub_0809F194: @ 0x0809F194 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x50] - ldrb r0, [r0, #0xf] - cmp r0, #1 - bne _0809F1AE - movs r0, #2 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0xa] - adds r1, #4 - adds r0, r2, #0 - bl sub_08004260 -_0809F1AE: - pop {pc} - - thumb_func_start sub_0809F1B0 -sub_0809F1B0: @ 0x0809F1B0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r2, r4, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _0809F20C - movs r0, #0xfe - ands r0, r1 - strb r0, [r2] - movs r0, #0x1b - bl sub_080A7EE0 - adds r5, r0, #0 - cmp r5, #0 - beq _0809F21E - ldrb r0, [r4, #0xa] - strb r0, [r5, #0xa] - ldr r0, [r4, #0x50] - str r0, [r5, #0x50] - ldrb r0, [r4, #0xa] - lsls r0, r0, #1 - ldr r1, _0809F208 @ =gUnk_08124684 - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - lsls r2, r2, #0x10 - movs r3, #1 - ldrsb r3, [r0, r3] - lsls r3, r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA48 - movs r0, #0xec - bl sub_08004488 - b _0809F21E - .align 2, 0 -_0809F208: .4byte gUnk_08124684 -_0809F20C: - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809F21E - strb r3, [r4, #0xc] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 -_0809F21E: - pop {r4, r5, pc} - - thumb_func_start sub_0809F220 -sub_0809F220: @ 0x0809F220 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F242 - movs r0, #4 - strb r0, [r2, #0xc] - movs r0, #0xf - strb r0, [r2, #0xe] - ldrb r1, [r2, #0xa] - adds r0, r2, #0 - bl sub_08004260 - b _0809F252 -_0809F242: - ldr r0, [r2, #0x50] - adds r0, #0x36 - movs r1, #1 - ldrb r2, [r2, #0xb] - lsls r1, r2 - ldrb r2, [r0] - orrs r1, r2 - strb r1, [r0] -_0809F252: - pop {pc} - - thumb_func_start sub_0809F254 -sub_0809F254: @ 0x0809F254 - push {r4, r5, lr} - adds r3, r0, #0 - ldrb r1, [r3, #0x18] - lsls r0, r1, #0x1e - lsrs r0, r0, #0x1e - movs r5, #1 - eors r0, r5 - movs r4, #4 - rsbs r4, r4, #0 - adds r2, r4, #0 - ands r2, r1 - orrs r2, r0 - strb r2, [r3, #0x18] - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F284 - movs r0, #1 - strb r5, [r3, #0xc] - ands r2, r4 - orrs r2, r0 - strb r2, [r3, #0x18] -_0809F284: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0809F288 -sub_0809F288: @ 0x0809F288 - push {lr} - ldr r2, _0809F29C @ =gUnk_081246EC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809F29C: .4byte gUnk_081246EC - - thumb_func_start sub_0809F2A0 -sub_0809F2A0: @ 0x0809F2A0 - push {r4, r5, r6, lr} - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r1, [r0, #0xb] - strb r1, [r0, #0x1e] - ldrb r1, [r0, #0x19] - movs r2, #0xc0 - orrs r1, r2 - strb r1, [r0, #0x19] - adds r3, r0, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r2, #7 - orrs r1, r2 - strb r1, [r3] - ldr r5, _0809F2EC @ =0x00004069 - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r3, _0809F2F0 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r0, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r5, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_0809F2EC: .4byte 0x00004069 -_0809F2F0: .4byte gUnk_03000BF0 - - thumb_func_start nullsub_537 -nullsub_537: @ 0x0809F2F4 - bx lr - .align 2, 0 - - thumb_func_start sub_0809F2F8 -sub_0809F2F8: @ 0x0809F2F8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0809F314 @ =gUnk_081246F4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_0809F314: .4byte gUnk_081246F4 - - thumb_func_start sub_0809F318 -sub_0809F318: @ 0x0809F318 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_08004260 - bl sub_08000E50 - movs r1, #0x10 - ands r1, r0 - cmp r1, #0 - beq _0809F336 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_0809F336: - movs r0, #0x28 - strh r0, [r4, #0x2e] - movs r0, #0x48 - strh r0, [r4, #0x32] - ldr r0, _0809F36C @ =0x0000FFB0 - strh r0, [r4, #0x36] - ldrb r1, [r4, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x1b] - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, _0809F370 @ =gUnk_08124704 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_0801D2B4 - adds r0, r4, #0 - movs r1, #7 - bl sub_0805E3A0 - pop {r4, pc} - .align 2, 0 -_0809F36C: .4byte 0x0000FFB0 -_0809F370: .4byte gUnk_08124704 - - thumb_func_start sub_0809F374 -sub_0809F374: @ 0x0809F374 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #1 - bhi _0809F3AE - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #1 - bhi _0809F3C0 - movs r0, #0 - str r0, [r4, #0x34] - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - movs r0, #0xc3 - lsls r0, r0, #1 - bl sub_080A3268 - b _0809F3E6 -_0809F3AE: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - beq _0809F3C8 - cmp r0, #1 - beq _0809F3D4 -_0809F3C0: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - b _0809F3E6 -_0809F3C8: - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_0809F3D4: - movs r0, #0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0809F448 - movs r0, #0xc3 - lsls r0, r0, #1 - bl sub_080A3268 -_0809F3E6: - pop {r4, pc} - - thumb_func_start sub_0809F3E8 -sub_0809F3E8: @ 0x0809F3E8 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809F404 - movs r0, #3 - strb r0, [r2, #0xc] - adds r0, r2, #0 - movs r1, #2 - bl sub_08004260 -_0809F404: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809F408 -sub_0809F408: @ 0x0809F408 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x5a - ldrb r0, [r1] - cmp r0, #9 - beq _0809F41C - cmp r0, #0x80 - beq _0809F438 - b _0809F442 -_0809F41C: - movs r0, #0 - strb r0, [r1] - adds r0, r2, #0 - movs r1, #0x43 - movs r2, #0 - bl sub_080A29AC - ldr r1, _0809F434 @ =gUnk_02000080 - movs r0, #1 - strb r0, [r1] - b _0809F442 - .align 2, 0 -_0809F434: .4byte gUnk_02000080 -_0809F438: - ldr r1, _0809F444 @ =gUnk_02000080 - movs r0, #1 - strb r0, [r1, #4] - bl sub_0805E780 -_0809F442: - pop {pc} - .align 2, 0 -_0809F444: .4byte gUnk_02000080 - - thumb_func_start sub_0809F448 -sub_0809F448: @ 0x0809F448 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - ldrb r0, [r6, #0xf] - lsls r2, r0, #1 - ldr r1, _0809F474 @ =gUnk_08124708 - adds r7, r2, r1 - adds r0, #1 - strb r0, [r6, #0xf] - ldr r1, [r6, #0x2c] - movs r0, #0xa0 - lsls r0, r0, #0xe - subs r4, r0, r1 - ldrb r0, [r7] - cmp r0, #0 - beq _0809F478 - cmp r0, #1 - beq _0809F492 - b _0809F49C - .align 2, 0 -_0809F474: .4byte gUnk_08124708 -_0809F478: - movs r1, #0xc0 - lsls r1, r1, #0xd - adds r0, r5, #0 - bl __modsi3 - adds r4, r0, #0 - movs r0, #0x80 - lsls r0, r0, #0x11 - ands r0, r5 - cmp r0, #0 - beq _0809F49C - rsbs r4, r4, #0 - b _0809F49C -_0809F492: - ldr r0, _0809F4BC @ =0xFFF80000 - adds r1, r4, r0 - ldr r0, _0809F4C0 @ =0x000FFFFF - ands r0, r5 - adds r4, r1, r0 -_0809F49C: - adds r0, r4, #0 - cmp r4, #0 - bge _0809F4A4 - rsbs r0, r4, #0 -_0809F4A4: - ldrb r1, [r7, #1] - lsls r1, r1, #8 - bl __divsi3 - strh r0, [r6, #0x24] - adds r0, r4, #0 - movs r1, #0 - bl sub_080045DA - lsrs r0, r0, #3 - strb r0, [r6, #0x15] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809F4BC: .4byte 0xFFF80000 -_0809F4C0: .4byte 0x000FFFFF - - thumb_func_start sub_0809F4C4 -sub_0809F4C4: @ 0x0809F4C4 - push {lr} - ldr r2, _0809F4D8 @ =gUnk_08124798 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809F4D8: .4byte gUnk_08124798 - - thumb_func_start sub_0809F4DC -sub_0809F4DC: @ 0x0809F4DC - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xb] - cmp r0, #0 - bne _0809F4FC - ldr r0, _0809F4F8 @ =gUnk_081247A0 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _0809F50C - .align 2, 0 -_0809F4F8: .4byte gUnk_081247A0 -_0809F4FC: - ldr r0, _0809F510 @ =gUnk_081247AC - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_0809F50C: - pop {pc} - .align 2, 0 -_0809F510: .4byte gUnk_081247AC - - thumb_func_start sub_0809F514 -sub_0809F514: @ 0x0809F514 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x78 - strb r1, [r0, #0xe] - ldrb r2, [r0, #0x18] - subs r1, #0x7c - ands r1, r2 - strb r1, [r0, #0x18] - adds r2, r0, #0 - adds r2, #0x68 - movs r1, #0xc - strb r1, [r2] - ldr r1, _0809F540 @ =gUnk_03000BF0 - str r0, [r1, #0x30] - ldr r2, _0809F544 @ =gUnk_02034490 - movs r1, #0xff - strb r1, [r2] - bl sub_0809F7BC - pop {pc} - .align 2, 0 -_0809F540: .4byte gUnk_03000BF0 -_0809F544: .4byte gUnk_02034490 - - thumb_func_start sub_0809F548 -sub_0809F548: @ 0x0809F548 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F590 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x5a - strb r0, [r4, #0xe] - adds r0, #0xc3 - bl sub_080A3268 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _0809F58C @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - bl sub_0809F814 - b _0809F5A8 - .align 2, 0 -_0809F58C: .4byte gUnk_03000BF0 -_0809F590: - ldr r0, _0809F5AC @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0809F5A2 - adds r0, r4, #0 - bl sub_0809F7BC -_0809F5A2: - adds r0, r4, #0 - bl sub_0809F7F4 -_0809F5A8: - pop {r4, r5, pc} - .align 2, 0 -_0809F5AC: .4byte gUnk_030010A0 - - thumb_func_start sub_0809F5B0 -sub_0809F5B0: @ 0x0809F5B0 - push {lr} - ldrb r1, [r0, #0xe] - subs r1, #1 - strb r1, [r0, #0xe] - lsls r1, r1, #0x18 - cmp r1, #0 - bne _0809F5D4 - movs r0, #0x73 - bl sub_080A3268 - movs r0, #0x24 - bl sub_0807CD04 - ldr r0, _0809F5D8 @ =gUnk_080DD750 - bl sub_0804ADDC - bl sub_0805E780 -_0809F5D4: - pop {pc} - .align 2, 0 -_0809F5D8: .4byte gUnk_080DD750 - - thumb_func_start sub_0809F5DC -sub_0809F5DC: @ 0x0809F5DC - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - strb r1, [r0, #0x18] - adds r0, #0x68 - movs r1, #0xc - strb r1, [r0] - bx lr - - thumb_func_start sub_0809F5F0 -sub_0809F5F0: @ 0x0809F5F0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - bl sub_0807CC3C - cmp r0, #0 - beq _0809F614 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #3 - bl sub_08078A90 - bl sub_08078B48 - ldr r0, _0809F618 @ =gUnk_03000BF0 - str r4, [r0, #0x30] -_0809F614: - pop {r4, pc} - .align 2, 0 -_0809F618: .4byte gUnk_03000BF0 - - thumb_func_start sub_0809F61C -sub_0809F61C: @ 0x0809F61C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0809F678 @ =gUnk_03000BF0 - ldrb r1, [r5, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _0809F694 - ldrb r0, [r4, #0xe] - cmp r0, #0x1e - bne _0809F638 - ldrb r0, [r4, #0xb] - bl sub_0807CCB4 -_0809F638: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F67C - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r0, #0xa5 - bl sub_080A3268 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldrh r1, [r5, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r5, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - bl sub_0809F814 - b _0809F694 - .align 2, 0 -_0809F678: .4byte gUnk_03000BF0 -_0809F67C: - ldr r0, _0809F698 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _0809F68E - adds r0, r4, #0 - bl sub_0809F7BC -_0809F68E: - adds r0, r4, #0 - bl sub_0809F7F4 -_0809F694: - pop {r4, r5, pc} - .align 2, 0 -_0809F698: .4byte gUnk_030010A0 - - thumb_func_start sub_0809F69C -sub_0809F69C: @ 0x0809F69C - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F6C0 - movs r0, #0x1e - strb r0, [r1, #0xe] - movs r0, #4 - strb r0, [r1, #0xc] - ldr r1, _0809F6C4 @ =gUnk_03000BF0 - ldr r0, _0809F6C8 @ =gUnk_03001160 - str r0, [r1, #0x30] - movs r0, #0x73 - bl sub_080A3268 -_0809F6C0: - pop {pc} - .align 2, 0 -_0809F6C4: .4byte gUnk_03000BF0 -_0809F6C8: .4byte gUnk_03001160 - - thumb_func_start sub_0809F6CC -sub_0809F6CC: @ 0x0809F6CC - push {lr} - adds r2, r0, #0 - ldr r0, _0809F6F8 @ =gUnk_03000BF0 - ldrb r1, [r0, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _0809F6F4 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F6F4 - ldr r0, _0809F6FC @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bl sub_0805E780 -_0809F6F4: - pop {pc} - .align 2, 0 -_0809F6F8: .4byte gUnk_03000BF0 -_0809F6FC: .4byte gUnk_03003F80 - - thumb_func_start sub_0809F700 -sub_0809F700: @ 0x0809F700 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809F722 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - movs r1, #0x1e - ands r0, r1 - adds r0, #8 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0xc - orrs r0, r1 - strb r0, [r4, #0x10] -_0809F722: - ldr r0, _0809F768 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0809F750 - bl sub_08000E50 - ldr r3, _0809F76C @ =gUnk_081247C0 - movs r2, #7 - adds r1, r0, #0 - ands r1, r2 - adds r1, r1, r3 - ldrb r1, [r1] - movs r5, #0x62 - strb r1, [r5, r4] - lsrs r0, r0, #4 - ands r0, r2 - adds r0, r0, r3 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x63 - strb r0, [r1] -_0809F750: - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F766 - bl sub_0805E780 -_0809F766: - pop {r4, r5, pc} - .align 2, 0 -_0809F768: .4byte gUnk_030010A0 -_0809F76C: .4byte gUnk_081247C0 - - thumb_func_start sub_0809F770 -sub_0809F770: @ 0x0809F770 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xa3 - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _0809F7B6 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA30 - bl sub_08000E50 - ldrh r2, [r4, #0x2e] - subs r2, #0x10 - movs r3, #0x1f - adds r1, r0, #0 - ands r1, r3 - adds r2, r2, r1 - strh r2, [r4, #0x2e] - ldrh r2, [r4, #0x32] - subs r2, #0x10 - asrs r1, r0, #8 - ands r1, r3 - adds r2, r2, r1 - strh r2, [r4, #0x32] - asrs r0, r0, #0x10 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0x1e] - movs r0, #0xff - strb r0, [r4, #0x15] -_0809F7B6: - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0809F7BC -sub_0809F7BC: @ 0x0809F7BC - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - movs r5, #0 - ldr r7, _0809F7F0 @ =gUnk_081247C8 -_0809F7C4: - adds r0, r6, #0 - bl sub_0809F770 - adds r4, r0, #0 - cmp r4, #0 - beq _0809F7E8 - bl sub_08000E50 - movs r1, #3 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r7 - ldrh r1, [r1] - strh r1, [r4, #0x24] - lsrs r0, r0, #8 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_0809F7E8: - adds r5, #1 - cmp r5, #7 - bls _0809F7C4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809F7F0: .4byte gUnk_081247C8 - - thumb_func_start sub_0809F7F4 -sub_0809F7F4: @ 0x0809F7F4 - push {lr} - adds r1, r0, #0 - adds r1, #0x68 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F812 - movs r0, #0xc - strb r0, [r1] - movs r0, #0xc2 - lsls r0, r0, #1 - bl sub_080A3268 -_0809F812: - pop {pc} - - thumb_func_start sub_0809F814 -sub_0809F814: @ 0x0809F814 - push {lr} - adds r1, r0, #0 - ldr r0, _0809F824 @ =gUnk_081247D0 - movs r2, #1 - bl sub_0807BB68 - pop {pc} - .align 2, 0 -_0809F824: .4byte gUnk_081247D0 - - thumb_func_start sub_0809F828 -sub_0809F828: @ 0x0809F828 - push {lr} - ldr r2, _0809F83C @ =gUnk_081247F8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809F83C: .4byte gUnk_081247F8 - - thumb_func_start sub_0809F840 -sub_0809F840: @ 0x0809F840 - push {lr} - adds r2, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r2, #0xc] - strb r1, [r2, #0x1e] - movs r0, #0x20 - strb r0, [r2, #0xe] - strb r1, [r2, #0xf] - ldrb r0, [r2, #0xb] - cmp r0, #0 - beq _0809F860 - ldrb r0, [r2, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r2, #0x18] -_0809F860: - adds r0, r2, #0 - bl sub_08016A04 - pop {pc} - - thumb_func_start sub_0809F868 -sub_0809F868: @ 0x0809F868 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F8A2 - ldrb r0, [r1, #0xf] - cmp r0, #0 - bne _0809F890 - ldrb r0, [r1, #0x1e] - adds r0, #1 - strb r0, [r1, #0x1e] - ands r0, r2 - cmp r0, #3 - bne _0809F89E - movs r0, #1 - b _0809F89C -_0809F890: - ldrb r0, [r1, #0x1e] - subs r0, #1 - strb r0, [r1, #0x1e] - ands r0, r2 - cmp r0, #0 - bne _0809F89E -_0809F89C: - strb r0, [r1, #0xf] -_0809F89E: - movs r0, #0x20 - strb r0, [r1, #0xe] -_0809F8A2: - pop {pc} - - thumb_func_start sub_0809F8A4 -sub_0809F8A4: @ 0x0809F8A4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - ldr r0, _0809F904 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x42 - bhi _0809F8FC - movs r5, #0 -_0809F8B6: - movs r0, #0x1d - bl sub_080A7EE0 - adds r4, r0, #0 - cmp r5, #0 - bne _0809F8C6 - mov r8, r4 - adds r7, r4, #0 -_0809F8C6: - strb r5, [r4, #0xa] - mov r0, r8 - str r0, [r4, #0x50] - str r7, [r4, #0x54] - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r1, r4, #0 - adds r1, #0x68 - adds r3, r5, #1 - movs r2, #7 -_0809F8DE: - ldrh r0, [r6, #0x2e] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r6, #0x32] - strh r0, [r1] - adds r1, #2 - subs r2, #1 - cmp r2, #0 - bge _0809F8DE - adds r7, r4, #0 - adds r5, r3, #0 - cmp r5, #4 - ble _0809F8B6 - bl sub_0805E780 -_0809F8FC: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809F904: .4byte gUnk_03003DBC - - thumb_func_start sub_0809F908 -sub_0809F908: @ 0x0809F908 - push {lr} - ldr r2, _0809F91C @ =gUnk_08124800 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809F91C: .4byte gUnk_08124800 - - thumb_func_start sub_0809F920 -sub_0809F920: @ 0x0809F920 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _0809F934 - bl sub_0805E780 -_0809F934: - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3f - strb r2, [r0] - subs r1, #5 - movs r0, #2 - strb r0, [r1] - ldr r0, _0809F960 @ =gUnk_080FD150 - str r0, [r4, #0x48] - pop {r4, pc} - .align 2, 0 -_0809F960: .4byte gUnk_080FD150 - - thumb_func_start sub_0809F964 -sub_0809F964: @ 0x0809F964 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0xa1 - bne _0809F9A8 - adds r0, r4, #0 - movs r1, #0x4e - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _0809F99A - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, #0 - adds r1, #0x63 - movs r0, #0xfb - strb r0, [r1] -_0809F99A: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - bl sub_0805E780 -_0809F9A8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809F9AC -sub_0809F9AC: @ 0x0809F9AC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0809F9D2 - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #9 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_0809F9D2: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809F9DC -sub_0809F9DC: @ 0x0809F9DC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809FA9A - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x1f - bhi _0809FA9A - lsls r0, r0, #2 - ldr r1, _0809FA00 @ =_0809FA04 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809FA00: .4byte _0809FA04 -_0809FA04: @ jump table - .4byte _0809FA84 @ case 0 - .4byte _0809FA84 @ case 1 - .4byte _0809FA9A @ case 2 - .4byte _0809FA9A @ case 3 - .4byte _0809FA84 @ case 4 - .4byte _0809FA84 @ case 5 - .4byte _0809FA84 @ case 6 - .4byte _0809FA9A @ case 7 - .4byte _0809FA84 @ case 8 - .4byte _0809FA84 @ case 9 - .4byte _0809FA84 @ case 10 - .4byte _0809FA84 @ case 11 - .4byte _0809FA84 @ case 12 - .4byte _0809FA9A @ case 13 - .4byte _0809FA9A @ case 14 - .4byte _0809FA9A @ case 15 - .4byte _0809FA9A @ case 16 - .4byte _0809FA9A @ case 17 - .4byte _0809FA9A @ case 18 - .4byte _0809FA9A @ case 19 - .4byte _0809FA9A @ case 20 - .4byte _0809FA9A @ case 21 - .4byte _0809FA9A @ case 22 - .4byte _0809FA9A @ case 23 - .4byte _0809FA9A @ case 24 - .4byte _0809FA9A @ case 25 - .4byte _0809FA9A @ case 26 - .4byte _0809FA9A @ case 27 - .4byte _0809FA9A @ case 28 - .4byte _0809FA9A @ case 29 - .4byte _0809FA84 @ case 30 - .4byte _0809FA84 @ case 31 -_0809FA84: - movs r0, #5 - strb r0, [r4, #0xc] - ldr r0, _0809FAB4 @ =gUnk_03001160 - str r0, [r4, #0x54] - ldrb r0, [r4, #0xa] - movs r1, #0 - movs r2, #0 - bl sub_080A7C00 - bl sub_0805E780 -_0809FA9A: - ldr r0, _0809FAB8 @ =gUnk_08124824 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08080CB4 - pop {r4, pc} - .align 2, 0 -_0809FAB4: .4byte gUnk_03001160 -_0809FAB8: .4byte gUnk_08124824 - - thumb_func_start sub_0809FABC -sub_0809FABC: @ 0x0809FABC - push {lr} - adds r3, r0, #0 - movs r0, #1 - strb r0, [r3, #0xc] - ldrb r0, [r3, #0xb] - cmp r0, #0 - beq _0809FAD0 - cmp r0, #2 - beq _0809FADE - b _0809FAE6 -_0809FAD0: - movs r0, #0xf0 - lsls r0, r0, #9 - str r0, [r3, #0x20] - ldrh r0, [r3, #0x36] - adds r0, #8 - strh r0, [r3, #0x36] - b _0809FAE6 -_0809FADE: - adds r0, r3, #0 - bl sub_0809FECC - b _0809FB30 -_0809FAE6: - adds r1, r3, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x3c - movs r2, #0x17 - strb r2, [r0] - adds r1, #8 - movs r0, #0x48 - strb r0, [r1] - subs r1, #1 - movs r0, #7 - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x3b - strb r2, [r0] - ldr r0, _0809FB34 @ =gUnk_080FD1A8 - str r0, [r3, #0x48] - movs r0, #1 - strb r0, [r3, #0x1c] - ldrh r1, [r3, #0x2e] - adds r0, r3, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r3, #0x32] - adds r1, r3, #0 - adds r1, #0x76 - strh r0, [r1] - adds r0, r3, #0 - movs r1, #3 - bl sub_0805E3A0 - movs r0, #0x9b - lsls r0, r0, #1 - bl sub_08004488 -_0809FB30: - pop {pc} - .align 2, 0 -_0809FB34: .4byte gUnk_080FD1A8 - - thumb_func_start sub_0809FB38 -sub_0809FB38: @ 0x0809FB38 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x34] - ldr r1, _0809FB60 @ =0xFFFF2000 - adds r0, r0, r1 - str r0, [r2, #0x34] - adds r0, r2, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - beq _0809FB74 - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _0809FB64 - adds r1, r0, #0 - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #1 - b _0809FB66 - .align 2, 0 -_0809FB60: .4byte 0xFFFF2000 -_0809FB64: - movs r0, #0xf0 -_0809FB66: - strb r0, [r2, #0xe] - movs r0, #3 - strb r0, [r2, #0xc] - movs r0, #1 - strb r0, [r2, #0xf] - movs r0, #0x80 - strh r0, [r2, #0x24] -_0809FB74: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809FB78 -sub_0809FB78: @ 0x0809FB78 - push {lr} - ldr r2, _0809FB8C @ =gUnk_08124840 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809FB8C: .4byte gUnk_08124840 - - thumb_func_start sub_0809FB90 -sub_0809FB90: @ 0x0809FB90 - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xd] - strb r1, [r0, #0x1d] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - bx lr - - thumb_func_start sub_0809FBA4 -sub_0809FBA4: @ 0x0809FBA4 - push {lr} - adds r2, r0, #0 - ldr r0, _0809FBC8 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _0809FBC2 - adds r0, r2, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x13 - beq _0809FBCC -_0809FBC2: - movs r0, #3 - strb r0, [r2, #0xc] - b _0809FBD2 - .align 2, 0 -_0809FBC8: .4byte gUnk_03003F80 -_0809FBCC: - adds r0, r2, #0 - bl sub_0806F4E8 -_0809FBD2: - pop {pc} - - thumb_func_start sub_0809FBD4 -sub_0809FBD4: @ 0x0809FBD4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _0809FBFC @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #1 - bne _0809FBF4 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r5, #0x7f - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0x13 - beq _0809FC00 -_0809FBF4: - movs r0, #3 - strb r0, [r4, #0xc] - b _0809FC22 - .align 2, 0 -_0809FBFC: .4byte gUnk_03003F80 -_0809FC00: - adds r0, r4, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _0809FC22 - ldrb r1, [r4, #0x10] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #5 - strb r0, [r4, #0xc] - ldr r0, _0809FC24 @ =gUnk_03001160 - str r0, [r4, #0x54] - ldrb r0, [r4, #0xa] - movs r1, #0 - bl sub_08053FF0 -_0809FC22: - pop {r4, r5, pc} - .align 2, 0 -_0809FC24: .4byte gUnk_03001160 - - thumb_func_start sub_0809FC28 -sub_0809FC28: @ 0x0809FC28 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809FCAC - bl sub_08000E50 - adds r5, r0, #0 - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x20 - strb r0, [r4, #0xf] - ldr r2, _0809FC6C @ =gUnk_0812484C - lsrs r0, r5, #8 - movs r1, #1 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0809FE9C - cmp r0, #0 - beq _0809FC70 - movs r0, #0x1f - ands r5, r0 - strb r5, [r4, #0x15] - b _0809FC8A - .align 2, 0 -_0809FC6C: .4byte gUnk_0812484C -_0809FC70: - movs r1, #0x2e - ldrsh r0, [r4, r1] - movs r2, #0x32 - ldrsh r1, [r4, r2] - adds r2, r4, #0 - adds r2, #0x74 - ldrh r2, [r2] - adds r3, r4, #0 - adds r3, #0x76 - ldrh r3, [r3] - bl sub_080045D4 - strb r0, [r4, #0x15] -_0809FC8A: - ldrb r1, [r4, #0x15] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - beq _0809FCAC - movs r0, #0x10 - eors r1, r0 - lsrs r1, r1, #4 - movs r0, #1 - ands r1, r0 - lsls r1, r1, #6 - ldrb r2, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_0809FCAC: - adds r0, r4, #0 - bl sub_080AEFB4 - bl sub_0805E40C - cmp r0, #0 - bne _0809FCF8 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0809FCF8 - ldr r0, _0809FCFC @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _0809FCE0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809FCE0 - adds r0, r4, #0 - movs r1, #0 - bl sub_08081404 -_0809FCE0: - ldrb r0, [r4, #0xe] - cmp r0, #0x3b - bhi _0809FCF8 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_0809FCF8: - pop {r4, r5, pc} - .align 2, 0 -_0809FCFC: .4byte gUnk_030010A0 - - thumb_func_start sub_0809FD00 -sub_0809FD00: @ 0x0809FD00 - push {r4, lr} - adds r4, r0, #0 - ldr r2, [r4, #0x54] - ldrh r1, [r2, #8] - ldr r0, _0809FD18 @ =0x00000B08 - cmp r1, r0 - beq _0809FD1C - adds r0, r4, #0 - movs r1, #0 - bl sub_08081404 - b _0809FD44 - .align 2, 0 -_0809FD18: .4byte 0x00000B08 -_0809FD1C: - adds r0, r2, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrh r0, [r4, #0x36] - subs r0, #1 - strh r0, [r4, #0x36] - ldr r1, _0809FD48 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080177A0 - cmp r0, #0 - beq _0809FD44 - adds r0, r4, #0 - bl sub_0809FECC - ldrb r0, [r4, #0xa] - movs r1, #0 - bl sub_08053FF0 -_0809FD44: - pop {r4, pc} - .align 2, 0 -_0809FD48: .4byte gUnk_03001160 - - thumb_func_start sub_0809FD4C -sub_0809FD4C: @ 0x0809FD4C - push {lr} - adds r1, r0, #0 - movs r2, #6 - strb r2, [r1, #0xc] - movs r0, #0x80 - strb r0, [r1, #0xe] - strb r2, [r1, #0xf] - ldrb r2, [r1, #0x10] - movs r0, #0x7f - ands r0, r2 - strb r0, [r1, #0x10] - ldrb r2, [r1, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - movs r2, #1 - orrs r0, r2 - strb r0, [r1, #0x18] - adds r3, r1, #0 - adds r3, #0x29 - ldrb r2, [r3] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r2 - movs r2, #0x10 - orrs r0, r2 - strb r0, [r3] - adds r2, r1, #0 - adds r2, #0x63 - movs r0, #0xfb - strb r0, [r2] - ldr r0, [r1, #0x54] - bl sub_0806FA24 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809FD94 -sub_0809FD94: @ 0x0809FD94 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, [r5, #0x54] - ldr r2, _0809FE24 @ =gUnk_080C9160 - ldrb r0, [r5, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - movs r3, #0 - ldrsh r1, [r0, r3] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - cmp r0, #0 - bge _0809FDB4 - ldr r1, _0809FE28 @ =0x0000FFFF - adds r0, r0, r1 -_0809FDB4: - asrs r0, r0, #0x10 - ldrh r3, [r6, #0x2e] - adds r0, r0, r3 - strh r0, [r5, #0x2e] - ldrb r0, [r5, #0xe] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #8 - cmp r0, #0 - bge _0809FDD6 - ldr r3, _0809FE28 @ =0x0000FFFF - adds r0, r0, r3 -_0809FDD6: - asrs r1, r0, #0x10 - ldrh r0, [r6, #0x32] - subs r0, r0, r1 - strh r0, [r5, #0x32] - ldrb r3, [r5, #0xe] - adds r0, r3, #0 - adds r0, #8 - strb r0, [r5, #0xe] - ldrh r0, [r6, #0x36] - strh r0, [r5, #0x36] - ldrb r2, [r6, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r4, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r4 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r6, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x19] - subs r3, #0x39 - lsls r3, r3, #0x18 - lsrs r3, r3, #0x18 - cmp r3, #0x7e - bhi _0809FE2C - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #3 - b _0809FE3A - .align 2, 0 -_0809FE24: .4byte gUnk_080C9160 -_0809FE28: .4byte 0x0000FFFF -_0809FE2C: - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #5 -_0809FE3A: - orrs r1, r0 - strb r1, [r2] - ldrb r0, [r5, #0xf] - subs r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - adds r4, r5, #0 - adds r4, #0x63 - cmp r0, #0 - bne _0809FE6C - movs r0, #6 - strb r0, [r5, #0xf] - ldrb r0, [r4] - subs r0, #1 - strb r0, [r4] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - movs r1, #0x16 - rsbs r1, r1, #0 - cmp r0, r1 - bge _0809FE6C - adds r0, r5, #0 - movs r1, #1 - bl sub_08081404 -_0809FE6C: - movs r1, #0 - ldrsb r1, [r4, r1] - movs r0, #0x11 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0809FE8A - ldrb r2, [r5, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] -_0809FE8A: - adds r1, r5, #0 - adds r1, #0x87 - ldrb r0, [r1] - cmp r0, #0xa - bls _0809FE98 - movs r0, #0xa - strb r0, [r1] -_0809FE98: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0809FE9C -sub_0809FE9C: @ 0x0809FE9C - push {lr} - adds r2, r0, #0 - movs r1, #0x2e - ldrsh r0, [r2, r1] - adds r1, r2, #0 - adds r1, #0x74 - ldrh r1, [r1] - subs r0, r0, r1 - adds r0, #0x48 - cmp r0, #0x90 - bhi _0809FEC8 - movs r1, #0x32 - ldrsh r0, [r2, r1] - adds r1, r2, #0 - adds r1, #0x76 - ldrh r1, [r1] - subs r0, r0, r1 - adds r0, #0x30 - cmp r0, #0x60 - bhi _0809FEC8 - movs r0, #1 - b _0809FECA -_0809FEC8: - movs r0, #0 -_0809FECA: - pop {pc} - - thumb_func_start sub_0809FECC -sub_0809FECC: @ 0x0809FECC - ldr r1, _0809FEDC @ =gUnk_03001160 - str r1, [r0, #0x54] - movs r2, #0 - movs r1, #5 - strb r1, [r0, #0xc] - strb r2, [r0, #0xd] - bx lr - .align 2, 0 -_0809FEDC: .4byte gUnk_03001160 - - thumb_func_start sub_0809FEE0 -sub_0809FEE0: @ 0x0809FEE0 - push {lr} - ldr r2, _0809FEF4 @ =gUnk_08124850 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809FEF4: .4byte gUnk_08124850 - - thumb_func_start sub_0809FEF8 -sub_0809FEF8: @ 0x0809FEF8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, _0809FF20 @ =gUnk_0812485C - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 - ldr r1, _0809FF24 @ =gUnk_08124860 - ldrb r0, [r4, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 -_0809FF20: .4byte gUnk_0812485C -_0809FF24: .4byte gUnk_08124860 - - thumb_func_start sub_0809FF28 -sub_0809FF28: @ 0x0809FF28 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809FF64 - movs r0, #2 - strb r0, [r4, #0xc] - ldr r1, [r4, #0x50] - ldrb r0, [r4, #0xe] - strb r0, [r1, #0x10] - ldrb r2, [r4, #0xf] - movs r0, #3 - ands r2, r0 - ldrb r3, [r1, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, #0x18] - adds r1, #0x6d - ldrb r2, [r1] - movs r0, #0xef - ands r0, r2 - strb r0, [r1] -_0809FF64: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809FF68 -sub_0809FF68: @ 0x0809FF68 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xc] - cmp r1, #0 - bne _0809FFA2 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0809FFC4 @ =gUnk_08124868 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0x1e] - adds r1, r4, #0 - adds r1, #0x68 - movs r0, #0x78 - strh r0, [r1] -_0809FFA2: - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _080A0068 - movs r0, #0xff - bl sub_0807CC3C - cmp r0, #0 - beq _080A00AA - ldrb r2, [r4, #0xd] - cmp r2, #1 - beq _080A0006 - cmp r2, #1 - bgt _0809FFC8 - cmp r2, #0 - beq _0809FFCE - b _080A005A - .align 2, 0 -_0809FFC4: .4byte gUnk_08124868 -_0809FFC8: - cmp r2, #2 - beq _080A0038 - b _080A005A -_0809FFCE: - adds r1, r4, #0 - adds r1, #0x68 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A005A - movs r0, #0x20 - strh r0, [r1] - movs r1, #1 - strb r1, [r4, #0xe] - movs r0, #0 - strb r0, [r4, #0xf] - strb r1, [r4, #0xd] - strb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_080AE068 - movs r1, #0xc6 - lsls r1, r1, #1 - adds r0, r4, #0 - bl sub_080ADF80 - movs r0, #0xf6 - bl sub_080A3268 - b _080A005A -_080A0006: - adds r1, r4, #0 - adds r1, #0x68 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A005A - movs r0, #0x2d - strh r0, [r1] - strb r2, [r4, #0xe] - movs r0, #2 - strb r0, [r4, #0xd] - strb r0, [r4, #0xa] - adds r0, r4, #0 - bl sub_080AE068 - ldr r1, _080A0034 @ =0x0000018D - adds r0, r4, #0 - bl sub_080ADF80 - b _080A005A - .align 2, 0 -_080A0034: .4byte 0x0000018D -_080A0038: - adds r1, r4, #0 - adds r1, #0x68 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A005A - movs r0, #3 - strb r0, [r4, #0xd] - ldr r1, _080A0064 @ =gUnk_02000080 - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - movs r0, #0x73 - bl sub_080A3268 -_080A005A: - adds r0, r4, #0 - bl sub_080A00B0 - b _080A00AA - .align 2, 0 -_080A0064: .4byte gUnk_02000080 -_080A0068: - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080A00A4 - cmp r0, #2 - bne _080A00A4 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _080A00A4 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _080A00AC @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - movs r0, #0x39 - movs r2, #1 - bl sub_0807B314 -_080A00A4: - adds r0, r4, #0 - bl sub_080A00B0 -_080A00AA: - pop {r4, r5, pc} - .align 2, 0 -_080A00AC: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A00B0 -sub_080A00B0: @ 0x080A00B0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A00DA - movs r0, #8 - strb r0, [r2, #0xe] - ldr r1, _080A00DC @ =gUnk_08124868 - ldrb r0, [r2, #0xa] - adds r0, r0, r1 - ldrb r1, [r2, #0xf] - ldrb r0, [r0] - adds r0, r1, r0 - strb r0, [r2, #0x1e] - adds r1, #1 - movs r0, #3 - ands r1, r0 - strb r1, [r2, #0xf] -_080A00DA: - pop {pc} - .align 2, 0 -_080A00DC: .4byte gUnk_08124868 - - thumb_func_start sub_080A00E0 -sub_080A00E0: @ 0x080A00E0 - push {lr} - ldr r2, _080A00F4 @ =gUnk_0812486C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A00F4: .4byte gUnk_0812486C - - thumb_func_start sub_080A00F8 -sub_080A00F8: @ 0x080A00F8 - push {lr} - ldrb r1, [r0, #0xc] - adds r1, #1 - movs r3, #0 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #1 - strb r1, [r2] - ldrb r1, [r0, #0x19] - movs r2, #0xc0 - orrs r1, r2 - strb r1, [r0, #0x19] - movs r1, #0x29 - adds r1, r1, r0 - mov ip, r1 - ldrb r1, [r1] - movs r2, #7 - orrs r1, r2 - mov r2, ip - strb r1, [r2] - strb r3, [r0, #0xd] - movs r1, #0 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_080A012C -sub_080A012C: @ 0x080A012C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - bl sub_0807CC3C - cmp r0, #0 - beq _080A0154 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A0154 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_080A0154: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A0158 -sub_080A0158: @ 0x080A0158 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl sub_0807CC3C - cmp r0, #0 - beq _080A018A - adds r0, r4, #0 - bl sub_080A0190 - adds r0, r4, #0 - movs r1, #0x1e - bl sub_0805E4E0 - ldr r1, _080A018C @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #0x10 - movs r3, #0x10 - bl sub_080041A0 - cmp r0, #0 - beq _080A018A - movs r0, #0x37 - bl sub_0805B390 -_080A018A: - pop {r4, pc} - .align 2, 0 -_080A018C: .4byte gUnk_03001160 - - thumb_func_start sub_080A0190 -sub_080A0190: @ 0x080A0190 - push {r4, lr} - movs r4, #0 - movs r1, #1 - strb r1, [r0, #0xd] - ldr r1, _080A01B8 @ =gUnk_03001160 - bl sub_0806FA24 - ldr r2, _080A01BC @ =gUnk_03003F80 - movs r0, #3 - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x38 - strb r4, [r0] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #8 - orrs r0, r1 - str r0, [r2, #0x30] - pop {r4, pc} - .align 2, 0 -_080A01B8: .4byte gUnk_03001160 -_080A01BC: .4byte gUnk_03003F80 - - thumb_func_start sub_080A01C0 -sub_080A01C0: @ 0x080A01C0 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080A01DC @ =gUnk_08124898 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08080CB4 - pop {r4, pc} - .align 2, 0 -_080A01DC: .4byte gUnk_08124898 - - thumb_func_start sub_080A01E0 -sub_080A01E0: @ 0x080A01E0 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - movs r3, #1 - strb r3, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x19] - ldr r0, _080A027C @ =gUnk_080FD1A0 - str r0, [r4, #0x48] - ldr r0, _080A0280 @ =0x0000FF40 - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x6a - movs r0, #0x40 - strb r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0x43 - bgt _080A0246 - cmp r0, #0x42 - bge _080A0246 - cmp r0, #0x40 - beq _080A0246 - cmp r0, #0x41 - bne _080A0246 - ldr r2, _080A0284 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _080A0288 @ =0x0000FDFF - ands r0, r1 - strh r0, [r2] - adds r0, r4, #0 - adds r0, #0x38 - strb r3, [r0] -_080A0246: - ldr r0, _080A028C @ =gUnk_0800A0B4 - bl sub_0807DB2C - ldr r1, _080A0284 @ =gUnk_03000F50 - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xc8 - lsls r0, r0, #3 - strh r0, [r2] - adds r1, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - bl sub_0805BC4C - ldrb r2, [r4, #0xa] - subs r2, #0x40 - adds r0, r4, #0 - movs r1, #0xad - movs r3, #0 - bl sub_080A2988 - cmp r0, #0 - beq _080A027A - str r4, [r0, #0x50] - str r0, [r4, #0x54] -_080A027A: - pop {r4, pc} - .align 2, 0 -_080A027C: .4byte gUnk_080FD1A0 -_080A0280: .4byte 0x0000FF40 -_080A0284: .4byte gUnk_03000F50 -_080A0288: .4byte 0x0000FDFF -_080A028C: .4byte gUnk_0800A0B4 - - thumb_func_start sub_080A0290 -sub_080A0290: @ 0x080A0290 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _080A02BC @ =gUnk_02033280 - ldr r0, [r5] - movs r1, #4 - ands r0, r1 - cmp r0, #0 - beq _080A02CA - adds r0, r4, #0 - bl sub_080A0424 - ldrh r2, [r4, #0x36] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #8 - rsbs r0, r0, #0 - cmp r1, r0 - bge _080A02C0 - adds r0, r2, #1 - strh r0, [r4, #0x36] - b _080A02CA - .align 2, 0 -_080A02BC: .4byte gUnk_02033280 -_080A02C0: - movs r1, #2 - strb r1, [r4, #0xc] - ldr r0, [r5] - orrs r0, r1 - str r0, [r5] -_080A02CA: - pop {r4, r5, pc} - - thumb_func_start sub_080A02CC -sub_080A02CC: @ 0x080A02CC - push {r4, lr} - adds r4, r0, #0 - bl sub_080A0424 - adds r0, r4, #0 - bl sub_080A0444 - adds r0, r4, #0 - bl sub_08017850 - cmp r0, #0 - beq _080A0342 - ldr r0, [r4, #0x54] - bl sub_0805E7BC - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r2, #0 - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x2d - strb r0, [r4, #0xe] - ldr r0, _080A0344 @ =gUnk_03000F50 - adds r3, r0, #0 - adds r3, #0x66 - movs r1, #0xc8 - lsls r1, r1, #3 - strh r1, [r3] - adds r0, #0x68 - strh r2, [r0] - ldrb r0, [r4, #0xa] - movs r1, #0 - movs r2, #1 - bl sub_080A7C18 - adds r0, r4, #0 - movs r1, #1 - bl sub_0808C650 - movs r0, #6 - movs r1, #2 - bl sub_08050054 - movs r0, #0xf8 - bl sub_080A3268 - movs r0, #0xa4 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #5 - bl sub_080A3268 - ldr r0, _080A0348 @ =0x80110000 - bl sub_080A3268 -_080A0342: - pop {r4, pc} - .align 2, 0 -_080A0344: .4byte gUnk_03000F50 -_080A0348: .4byte 0x80110000 - - thumb_func_start sub_080A034C -sub_080A034C: @ 0x080A034C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080A0378 - adds r0, r4, #0 - bl sub_080A0424 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A038C - ldr r0, _080A0374 @ =gUnk_03001160 - movs r1, #0 - bl sub_0805E3A0 - b _080A038C - .align 2, 0 -_080A0374: .4byte gUnk_03001160 -_080A0378: - movs r0, #0 - movs r1, #0x3c - bl sub_0805E4E0 - bl sub_0808C67C - cmp r0, #0 - beq _080A038C - movs r0, #4 - strb r0, [r4, #0xc] -_080A038C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A0390 -sub_080A0390: @ 0x080A0390 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #0x3c - bl sub_0805E4E0 - ldr r0, _080A03B4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A03B2 - movs r0, #5 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x68 - movs r0, #0xd2 - lsls r0, r0, #1 - strh r0, [r1] -_080A03B2: - pop {r4, pc} - .align 2, 0 -_080A03B4: .4byte gUnk_03000FD0 - - thumb_func_start sub_080A03B8 -sub_080A03B8: @ 0x080A03B8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #0xa - bl sub_0805E4E0 - adds r1, r4, #0 - adds r1, #0x68 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A03E4 - movs r0, #6 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - bl sub_0805429C - adds r1, r4, #0 - bl sub_08056398 -_080A03E4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A03E8 -sub_080A03E8: @ 0x080A03E8 - push {lr} - movs r0, #0 - movs r1, #0xa - bl sub_0805E4E0 - ldr r0, _080A041C @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _080A041A - movs r0, #0x5a - bl sub_0805E510 - ldr r0, _080A0420 @ =gUnk_03003F80 - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bl sub_0807DF50 - movs r0, #0 - bl sub_0807CD10 - bl sub_0805E780 -_080A041A: - pop {pc} - .align 2, 0 -_080A041C: .4byte gUnk_02000050 -_080A0420: .4byte gUnk_03003F80 - - thumb_func_start sub_080A0424 -sub_080A0424: @ 0x080A0424 - push {lr} - adds r1, r0, #0 - adds r1, #0x6a - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A0442 - movs r0, #0x40 - strb r0, [r1] - movs r0, #0xbc - lsls r0, r0, #1 - bl sub_080A3268 -_080A0442: - pop {pc} - - thumb_func_start sub_080A0444 -sub_080A0444: @ 0x080A0444 - ldr r3, _080A0460 @ =gUnk_081248B4 - ldrb r1, [r0, #0xf] - adds r2, r1, #1 - strb r2, [r0, #0xf] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x1b - movs r2, #7 - ands r1, r2 - adds r1, r1, r3 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - strh r1, [r0, #0x36] - bx lr - .align 2, 0 -_080A0460: .4byte gUnk_081248B4 - - thumb_func_start sub_080A0464 -sub_080A0464: @ 0x080A0464 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #6 - movs r1, #0xac - movs r2, #6 - bl sub_0805EB00 - cmp r0, #0 - beq _080A048A - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r1, #0x32 - ldrsh r3, [r0, r1] - adds r3, #0x18 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0807DEDC -_080A048A: - pop {r4, r5, pc} - - thumb_func_start sub_080A048C -sub_080A048C: @ 0x080A048C - push {lr} - ldr r2, _080A04A0 @ =gUnk_081248BC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A04A0: .4byte gUnk_081248BC - - thumb_func_start sub_080A04A4 -sub_080A04A4: @ 0x080A04A4 - push {r4, lr} - movs r3, #0 - movs r1, #1 - strb r1, [r0, #0xc] - movs r4, #4 - movs r1, #4 - strb r1, [r0, #0x1e] - strb r3, [r0, #0xe] - ldrb r1, [r0, #0x19] - movs r2, #0xc0 - orrs r1, r2 - strb r1, [r0, #0x19] - movs r1, #0x29 - adds r1, r1, r0 - mov ip, r1 - ldrb r1, [r1] - movs r2, #7 - orrs r1, r2 - mov r2, ip - strb r1, [r2] - str r3, [r0, #0x34] - ldrb r2, [r0, #0x19] - movs r1, #0xd - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r4 - strb r1, [r0, #0x19] - bl sub_080A04E8 - pop {r4, pc} - - thumb_func_start sub_080A04E0 -sub_080A04E0: @ 0x080A04E0 - push {lr} - bl sub_080A04E8 - pop {pc} - - thumb_func_start sub_080A04E8 -sub_080A04E8: @ 0x080A04E8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x50] - movs r1, #0x36 - ldrsh r0, [r0, r1] - cmp r0, #0 - bge _080A04F8 - rsbs r0, r0, #0 -_080A04F8: - movs r1, #0x80 - lsls r1, r1, #1 - adds r4, r0, r1 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r4, #0 - movs r3, #0 - bl sub_0805EC9C - movs r1, #0xe0 - lsls r1, r1, #1 - subs r1, r1, r4 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r4, #0 - bl __divsi3 - adds r4, r0, #0 - ldr r0, [r5, #0x50] - ldrb r0, [r0, #0xa] - cmp r0, #0x41 - bne _080A0538 - lsls r3, r4, #1 - cmp r3, #0xc - bls _080A052E - movs r3, #0xc -_080A052E: - movs r0, #0x10 - subs r0, r0, r4 - lsls r4, r0, #8 - orrs r4, r3 - b _080A0540 -_080A0538: - movs r0, #0x10 - subs r0, r0, r4 - lsls r0, r0, #8 - orrs r4, r0 -_080A0540: - ldr r0, _080A054C @ =0x0000FFFF - ands r4, r0 - ldr r0, _080A0550 @ =gUnk_03000F50 - adds r0, #0x68 - strh r4, [r0] - pop {r4, r5, pc} - .align 2, 0 -_080A054C: .4byte 0x0000FFFF -_080A0550: .4byte gUnk_03000F50 - - thumb_func_start sub_080A0554 -sub_080A0554: @ 0x080A0554 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xc] - cmp r0, #0 - bne _080A0588 - movs r2, #1 - strb r2, [r3, #0xc] - ldrb r0, [r3, #0xa] - strb r0, [r3, #0x1e] - movs r0, #0x29 - adds r0, r0, r3 - mov ip, r0 - ldrb r1, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x38 - strb r2, [r0] - adds r0, r3, #0 - bl sub_08016A04 -_080A0588: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A058C -sub_080A058C: @ 0x080A058C - push {lr} - ldr r2, _080A05A0 @ =gUnk_081248C4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A05A0: .4byte gUnk_081248C4 - - thumb_func_start sub_080A05A4 -sub_080A05A4: @ 0x080A05A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - cmp r1, #2 - beq _080A05D2 - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #9 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_080A0640 - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - b _080A05F0 -_080A05D2: - movs r0, #0 - strb r1, [r4, #0xc] - ldrh r1, [r4, #0x32] - adds r1, #1 - strh r1, [r4, #0x32] - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x63 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - movs r1, #3 - bl sub_08004260 -_080A05F0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A05F4 -sub_080A05F4: @ 0x080A05F4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - cmp r0, #0 - bne _080A060C - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #2 - bl sub_08004260 - b _080A0622 -_080A060C: - ldr r0, [r0, #4] - cmp r0, #0 - bne _080A0616 - bl sub_0805E780 -_080A0616: - adds r0, r4, #0 - bl sub_080A0640 - adds r0, r4, #0 - bl sub_08004274 -_080A0622: - pop {r4, pc} - - thumb_func_start sub_080A0624 -sub_080A0624: @ 0x080A0624 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A063C - bl sub_0805E780 -_080A063C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A0640 -sub_080A0640: @ 0x080A0640 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080A065E - ldr r0, [r4, #0x50] - ldr r0, [r0, #0x64] - ldr r0, [r0, #0x10] - movs r3, #0x80 - lsls r3, r3, #0xc - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - b _080A0666 -_080A065E: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 -_080A0666: - movs r0, #0 - strh r0, [r4, #0x36] - pop {r4, pc} - - thumb_func_start sub_080A066C -sub_080A066C: @ 0x080A066C - push {lr} - ldr r2, _080A0680 @ =gUnk_0812493C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A0680: .4byte gUnk_0812493C - - thumb_func_start sub_080A0684 -sub_080A0684: @ 0x080A0684 - push {r4, r5, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x84 - ldrh r1, [r2] - ldr r0, _080A070C @ =0x0000FFFF - cmp r1, r0 - beq _080A06A2 - adds r0, r1, #0 - bl sub_0807CBE4 - cmp r0, #0 - beq _080A06A2 - bl sub_0805E780 -_080A06A2: - movs r0, #1 - strb r0, [r4, #0xc] - movs r2, #0 - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r2, [r4, #0x1e] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r0, _080A0710 @ =gUnk_080FD180 - str r0, [r4, #0x48] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x70 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x72 - strh r0, [r1] - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _080A0714 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r4, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_080A070C: .4byte 0x0000FFFF -_080A0710: .4byte gUnk_080FD180 -_080A0714: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A0718 -sub_080A0718: @ 0x080A0718 - push {r4, lr} - adds r4, r0, #0 - movs r1, #2 - bl sub_08083734 - cmp r0, #0 - beq _080A074A - movs r2, #0 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xc - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x10 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r2, [r4, #0x15] - ldrh r0, [r4, #0x32] - adds r0, #0x24 - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_080A080C -_080A074A: - pop {r4, pc} - - thumb_func_start sub_080A074C -sub_080A074C: @ 0x080A074C - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080A07B6 - movs r0, #3 - strb r0, [r4, #0xc] - strh r1, [r4, #0x36] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x72 - ldrh r0, [r0] - strh r0, [r4, #0x32] - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _080A0794 - ldrh r0, [r1, #0x2e] - adds r0, #0xc - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - subs r0, #0xc - strh r0, [r1, #0x32] -_080A0794: - adds r0, r4, #0 - movs r1, #0x11 - movs r2, #0x40 - bl sub_080A29AC - adds r1, r0, #0 - cmp r1, #0 - beq _080A07B0 - ldrh r0, [r1, #0x2e] - subs r0, #0xc - strh r0, [r1, #0x2e] - ldrh r0, [r1, #0x32] - subs r0, #0xc - strh r0, [r1, #0x32] -_080A07B0: - ldr r0, _080A07B8 @ =0x0000010B - bl sub_08004488 -_080A07B6: - pop {r4, pc} - .align 2, 0 -_080A07B8: .4byte 0x0000010B - - thumb_func_start sub_080A07BC -sub_080A07BC: @ 0x080A07BC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080A07EA - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xc - strb r0, [r4, #0xe] - movs r0, #0x10 - strb r0, [r4, #0x15] - ldrh r0, [r4, #0x32] - adds r0, #2 - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_080A0870 - ldr r0, _080A07EC @ =0x0000010B - bl sub_080A3268 -_080A07EA: - pop {r4, pc} - .align 2, 0 -_080A07EC: .4byte 0x0000010B - - thumb_func_start sub_080A07F0 -sub_080A07F0: @ 0x080A07F0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A0808 - bl sub_0805E780 -_080A0808: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A080C -sub_080A080C: @ 0x080A080C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r4, #0 - adds r6, #0x74 - ldrh r0, [r6] - subs r0, #1 - adds r5, r4, #0 - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - ldrh r0, [r6] - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x78 - strh r0, [r1] - ldrh r0, [r6] - adds r0, #1 - ldrb r1, [r5] - bl sub_080001DA - adds r1, r4, #0 - adds r1, #0x7a - strh r0, [r1] - ldr r4, _080A086C @ =0x00004022 - ldrh r1, [r6] - subs r1, #1 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - ldrh r1, [r6] - adds r1, #1 - ldrb r2, [r5] - adds r0, r4, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_080A086C: .4byte 0x00004022 - - thumb_func_start sub_080A0870 -sub_080A0870: @ 0x080A0870 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r0, #0x76 - ldrh r0, [r0] - adds r5, r6, #0 - adds r5, #0x74 - ldrh r1, [r5] - subs r1, #1 - adds r4, r6, #0 - adds r4, #0x38 - ldrb r2, [r4] - bl sub_0800015E - adds r0, r6, #0 - adds r0, #0x78 - ldrh r0, [r0] - ldrh r1, [r5] - ldrb r2, [r4] - bl sub_0800015E - adds r0, r6, #0 - adds r0, #0x7a - ldrh r0, [r0] - ldrh r1, [r5] - adds r1, #1 - ldrb r2, [r4] - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A08AC -sub_080A08AC: @ 0x080A08AC - push {lr} - ldr r2, _080A08C0 @ =gUnk_08124950 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A08C0: .4byte gUnk_08124950 - - thumb_func_start sub_080A08C4 -sub_080A08C4: @ 0x080A08C4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - bne _080A08E2 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_080A0960 - b _080A08F6 -_080A08E2: - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - adds r0, r4, #0 - movs r1, #1 - bl sub_080A0960 -_080A08F6: - ldrb r0, [r4, #0x18] - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A0910 -sub_080A0910: @ 0x080A0910 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080A0932 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_080A0960 - ldr r0, _080A0934 @ =0x0000010B - bl sub_080A3268 -_080A0932: - pop {r4, pc} - .align 2, 0 -_080A0934: .4byte 0x0000010B - - thumb_func_start sub_080A0938 -sub_080A0938: @ 0x080A0938 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A095A - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_080A095A: - pop {r4, pc} - - thumb_func_start nullsub_127 -nullsub_127: @ 0x080A095C - bx lr - .align 2, 0 - - thumb_func_start sub_080A0960 -sub_080A0960: @ 0x080A0960 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, _080A0998 @ =gUnk_08124960 - cmp r1, #1 - bne _080A096C - ldr r5, _080A099C @ =gUnk_0812497A -_080A096C: - movs r0, #0x2e - ldrsh r1, [r4, r0] - ldr r2, _080A09A0 @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r6, #0x32 - ldrsh r0, [r4, r6] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - movs r2, #1 - bl sub_0801AF18 - pop {r4, r5, r6, pc} - .align 2, 0 -_080A0998: .4byte gUnk_08124960 -_080A099C: .4byte gUnk_0812497A -_080A09A0: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A09A4 -sub_080A09A4: @ 0x080A09A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080A09D4 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xa] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - ldr r1, _080A0A2C @ =gUnk_02027EB4 - cmp r0, #2 - bne _080A09CA - ldr r1, _080A0A30 @ =gUnk_0200D654 -_080A09CA: - str r1, [r4, #0x54] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 -_080A09D4: - ldr r0, [r4, #0x50] - ldrh r0, [r0, #0x24] - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0806F69C - ldr r0, [r4, #0x54] - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r3, #0x32 - ldrsh r2, [r4, r3] - movs r3, #9 - bl sub_080AE4CC - cmp r0, #0 - beq _080A09F8 - bl sub_0805E780 -_080A09F8: - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0x40 - bgt _080A0A22 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A0A22 - bl sub_0805E780 -_080A0A22: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_080A0A2C: .4byte gUnk_02027EB4 -_080A0A30: .4byte gUnk_0200D654 - - thumb_func_start sub_080A0A34 -sub_080A0A34: @ 0x080A0A34 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080A0A44 - cmp r0, #1 - beq _080A0A5C - b _080A0A5E -_080A0A44: - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - ldr r1, _080A0A54 @ =gUnk_08124A18 - cmp r0, #0 - beq _080A0A5E - ldr r1, _080A0A58 @ =gUnk_08124A10 - b _080A0A5E - .align 2, 0 -_080A0A54: .4byte gUnk_08124A18 -_080A0A58: .4byte gUnk_08124A10 -_080A0A5C: - ldr r1, _080A0AB8 @ =gUnk_08124A20 -_080A0A5E: - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080A0AB0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r3, #0x40 - orrs r0, r3 - strb r0, [r4, #0x19] - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - ldrb r2, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - mov r2, ip - strb r0, [r2] - ldrb r0, [r4, #0x1b] - ands r1, r0 - orrs r1, r3 - strb r1, [r4, #0x1b] - ldr r1, _080A0ABC @ =gUnk_080C9CBC - ldr r0, _080A0AC0 @ =gUnk_02022740 - ldrb r0, [r0, #3] - lsls r0, r0, #3 - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_0801D2B4 -_080A0AB0: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 -_080A0AB8: .4byte gUnk_08124A20 -_080A0ABC: .4byte gUnk_080C9CBC -_080A0AC0: .4byte gUnk_02022740 - - thumb_func_start sub_080A0AC4 -sub_080A0AC4: @ 0x080A0AC4 - push {lr} - ldrb r1, [r0, #0xa] - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A0AD0 -sub_080A0AD0: @ 0x080A0AD0 - push {lr} - movs r1, #0x80 - bl sub_08003FC4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A0ADC -sub_080A0ADC: @ 0x080A0ADC - push {r4, lr} - adds r4, r0, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A0AF0 -sub_080A0AF0: @ 0x080A0AF0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #5 - bne _080A0B1C - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A0B1C - bl sub_0805E780 -_080A0B1C: - adds r0, r4, #0 - movs r1, #0x80 - bl sub_08003FC4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A0B28 -sub_080A0B28: @ 0x080A0B28 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r2, [r4, r0] - movs r0, #0x32 - ldrsh r3, [r4, r0] - adds r0, r4, #0 - bl sub_0807DEDC - ldrh r0, [r4, #0x32] - subs r0, #0xb0 - strh r0, [r4, #0x32] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - pop {r4, pc} - - thumb_func_start sub_080A0B4C -sub_080A0B4C: @ 0x080A0B4C - push {lr} - movs r1, #0x78 - strh r1, [r0, #0x2e] - movs r1, #0x50 - strh r1, [r0, #0x32] - movs r1, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A0B60 -sub_080A0B60: @ 0x080A0B60 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080A0B7C - movs r0, #2 - strb r0, [r2, #0xc] - movs r0, #0x9b - lsls r0, r0, #1 - bl sub_080A3268 -_080A0B7C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A0B80 -sub_080A0B80: @ 0x080A0B80 - ldr r1, [r0, #0x30] - ldr r2, _080A0B8C @ =0xFFFD8000 - adds r1, r1, r2 - str r1, [r0, #0x30] - bx lr - .align 2, 0 -_080A0B8C: .4byte 0xFFFD8000 - - thumb_func_start sub_080A0B90 -sub_080A0B90: @ 0x080A0B90 - push {lr} - ldr r2, _080A0BA4 @ =gUnk_08124B20 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A0BA4: .4byte gUnk_08124B20 - - thumb_func_start sub_080A0BA8 -sub_080A0BA8: @ 0x080A0BA8 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r2, [r5, #0xc] - cmp r2, #0 - beq _080A0BB8 - cmp r2, #1 - beq _080A0C08 - b _080A0CE0 -_080A0BB8: - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r5, #0x18] - movs r0, #9 - strb r0, [r5, #0x1e] - movs r0, #8 - strb r0, [r5, #0xe] - strb r2, [r5, #0xf] - ldrb r1, [r5, #0x19] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r1 - movs r3, #0x40 - orrs r0, r3 - strb r0, [r5, #0x19] - adds r4, r5, #0 - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, #0x1b] - ands r2, r0 - orrs r2, r3 - strb r2, [r5, #0x1b] - adds r0, r5, #0 - movs r1, #0xbf - movs r2, #0x48 - movs r3, #0x1e - bl sub_0806FB00 - b _080A0CE0 -_080A0C08: - ldrb r0, [r5, #0xf] - cmp r0, #6 - bhi _080A0C46 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A0C46 - strb r2, [r5, #0xe] - ldrb r2, [r5, #0xf] - movs r0, #0xb4 - movs r1, #1 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080A0C40 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - movs r0, #0x68 - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAD8 -_080A0C40: - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] -_080A0C46: - adds r0, r5, #0 - bl sub_0806FB38 - cmp r0, #0 - bne _080A0C58 - ldr r0, _080A0CE4 @ =gUnk_02000080 - ldrb r0, [r0, #5] - cmp r0, #1 - bls _080A0CE0 -_080A0C58: - movs r0, #0xbf - strh r0, [r5, #0x2e] - movs r0, #0x48 - strh r0, [r5, #0x32] - movs r0, #0xa - strb r0, [r5, #0x1e] - movs r0, #2 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0xf] - cmp r0, #6 - bhi _080A0CA0 -_080A0C6E: - ldrb r2, [r5, #0xf] - movs r0, #0xb4 - movs r1, #1 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080A0C92 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - movs r0, #0x68 - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAD8 -_080A0C92: - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #6 - bls _080A0C6E -_080A0CA0: - movs r0, #0xb4 - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080A0CC0 - movs r0, #0xc4 - strh r0, [r4, #0x2e] - movs r0, #0x2c - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 -_080A0CC0: - movs r0, #0xb4 - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080A0CE0 - movs r0, #0xb4 - strh r0, [r4, #0x2e] - movs r0, #0x19 - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 -_080A0CE0: - pop {r4, r5, pc} - .align 2, 0 -_080A0CE4: .4byte gUnk_02000080 - - thumb_func_start sub_080A0CE8 -sub_080A0CE8: @ 0x080A0CE8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _080A0CF8 - cmp r0, #1 - beq _080A0D28 - b _080A0D66 -_080A0CF8: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xb] - adds r0, #2 - strb r0, [r4, #0x1e] - ldr r1, _080A0D24 @ =gUnk_08124B10 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r4, #0 - movs r2, #0x68 - movs r3, #0x14 - bl sub_0806FB00 - b _080A0D66 - .align 2, 0 -_080A0D24: .4byte gUnk_08124B10 -_080A0D28: - adds r0, r4, #0 - bl sub_0806FB38 - cmp r0, #0 - bne _080A0D3A - ldr r0, _080A0D68 @ =gUnk_02000080 - ldrb r0, [r0, #5] - cmp r0, #1 - bls _080A0D66 -_080A0D3A: - ldr r1, _080A0D6C @ =gUnk_08124B10 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - movs r0, #0x68 - strh r0, [r4, #0x32] - ldrb r1, [r4, #0xb] - movs r0, #7 - subs r1, r0, r1 - adds r3, r4, #0 - adds r3, #0x29 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, #2 - strb r0, [r4, #0xc] -_080A0D66: - pop {r4, pc} - .align 2, 0 -_080A0D68: .4byte gUnk_02000080 -_080A0D6C: .4byte gUnk_08124B10 - - thumb_func_start sub_080A0D70 -sub_080A0D70: @ 0x080A0D70 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r6, [r5, #0xc] - cmp r6, #0 - bne _080A0DC4 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r5, #0x18] - ldrb r2, [r5, #0x19] - movs r4, #0x3f - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r3, #0x40 - orrs r0, r3 - strb r0, [r5, #0x19] - movs r0, #0x29 - adds r0, r0, r5 - mov ip, r0 - ldrb r2, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - mov r2, ip - strb r0, [r2] - ldrb r0, [r5, #0x1b] - ands r1, r0 - orrs r1, r3 - strb r1, [r5, #0x1b] - movs r0, #0xb - strb r0, [r5, #0x1e] - bl sub_08000E50 - ands r0, r4 - adds r0, #0x40 - strb r0, [r5, #0xe] - strb r6, [r5, #0xf] -_080A0DC4: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - bne _080A0E02 - movs r0, #4 - strb r0, [r5, #0xe] - ldr r2, _080A0E04 @ =gUnk_08124B30 - ldrb r0, [r5, #0xf] - adds r1, r0, #1 - strb r1, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r0, r0, r2 - ldrb r0, [r0] - adds r0, #2 - strb r0, [r5, #0x1e] - ldrb r0, [r5, #0xf] - adds r0, r0, r2 - ldrb r0, [r0] - cmp r0, #0xff - bne _080A0E02 - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x40 - strb r0, [r5, #0xe] - strb r4, [r5, #0xf] -_080A0E02: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A0E04: .4byte gUnk_08124B30 - - thumb_func_start sub_080A0E08 -sub_080A0E08: @ 0x080A0E08 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _080A0E26 - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - subs r0, #5 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #0x18] - movs r0, #0xf - strb r0, [r2, #0x1e] -_080A0E26: - pop {pc} - - thumb_func_start sub_080A0E28 -sub_080A0E28: @ 0x080A0E28 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _080A0E36 - movs r0, #1 - strb r0, [r1, #0xc] -_080A0E36: - ldr r0, _080A0E48 @ =gUnk_03000BF0 - str r1, [r0, #0x30] - ldr r0, _080A0E4C @ =gUnk_03001160 - ldr r3, _080A0E50 @ =0xFFD80000 - movs r2, #0 - bl sub_0806FA48 - pop {pc} - .align 2, 0 -_080A0E48: .4byte gUnk_03000BF0 -_080A0E4C: .4byte gUnk_03001160 -_080A0E50: .4byte 0xFFD80000 - - thumb_func_start sub_080A0E54 -sub_080A0E54: @ 0x080A0E54 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xd] - cmp r0, #3 - bls _080A0E64 - bl sub_0805E780 -_080A0E64: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080A0E76 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_08004260 -_080A0E76: - ldr r0, [r4, #0x50] - ldrb r3, [r4, #0xa] - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA90 - adds r2, r4, #0 - adds r2, #0x63 - ldrb r0, [r2] - ldrb r1, [r4, #0xa] - subs r0, r0, r1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A0E98 -sub_080A0E98: @ 0x080A0E98 - push {lr} - ldr r2, _080A0EAC @ =gUnk_08124C08 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A0EAC: .4byte gUnk_08124C08 - - thumb_func_start sub_080A0EB0 -sub_080A0EB0: @ 0x080A0EB0 - push {r4, r5, lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x2e - ldrsh r2, [r0, r1] - ldr r3, _080A0EE8 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r2, r2, r1 - asrs r2, r2, #4 - movs r4, #0x3f - ands r2, r4 - movs r5, #0x32 - ldrsh r1, [r0, r5] - ldrh r3, [r3, #8] - subs r1, r1, r3 - asrs r1, r1, #4 - ands r1, r4 - lsls r1, r1, #6 - orrs r2, r1 - adds r0, #0x80 - strh r2, [r0] - ldr r2, _080A0EEC @ =0x0000407D - ldrh r1, [r0] - adds r0, r2, #0 - movs r2, #1 - bl sub_0800015E - pop {r4, r5, pc} - .align 2, 0 -_080A0EE8: .4byte gUnk_03000BF0 -_080A0EEC: .4byte 0x0000407D - - thumb_func_start sub_080A0EF0 -sub_080A0EF0: @ 0x080A0EF0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r1, #1 - bl sub_080002B0 - ldr r1, _080A0F1C @ =0x0000407D - cmp r0, r1 - beq _080A0F18 - bl sub_08078B48 - ldr r1, _080A0F20 @ =gUnk_03001160 - ldr r0, [r4, #0x2c] - str r0, [r1, #0x2c] - ldrh r0, [r4, #0x32] - adds r0, #4 - strh r0, [r1, #0x32] - bl sub_0805E780 -_080A0F18: - pop {r4, pc} - .align 2, 0 -_080A0F1C: .4byte 0x0000407D -_080A0F20: .4byte gUnk_03001160 - - thumb_func_start sub_080A0F24 -sub_080A0F24: @ 0x080A0F24 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080A0F40 @ =gUnk_08124C10 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080A11E0 - pop {r4, pc} - .align 2, 0 -_080A0F40: .4byte gUnk_08124C10 - - thumb_func_start sub_080A0F44 -sub_080A0F44: @ 0x080A0F44 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r6, #1 - strb r6, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x59 - movs r0, #8 - strb r0, [r1] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080A0FA8 @ =gUnk_080FD460 - str r0, [r5, #0x48] - adds r0, r5, #0 - movs r1, #6 - bl sub_0805E3A0 - adds r0, r5, #0 - bl sub_080A11C0 - cmp r0, #0 - beq _080A0FA4 - ldr r1, _080A0FAC @ =gUnk_03001160 - ldrh r0, [r5, #0x2e] - movs r4, #0 - strh r0, [r1, #0x2e] - ldrh r0, [r5, #0x32] - strh r0, [r1, #0x32] - movs r0, #3 - bl sub_08078A90 - bl sub_08078B48 - bl sub_0805E544 - movs r0, #0x89 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #3 - strb r0, [r5, #0xc] - strb r4, [r5, #0xd] - adds r0, r5, #0 - adds r0, #0x68 - strb r6, [r0] -_080A0FA4: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A0FA8: .4byte gUnk_080FD460 -_080A0FAC: .4byte gUnk_03001160 - - thumb_func_start sub_080A0FB0 -sub_080A0FB0: @ 0x080A0FB0 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080A11C0 - adds r1, r0, #0 - cmp r1, #0 - beq _080A0FF8 - adds r0, r5, #0 - adds r0, #0x68 - ldrb r0, [r0] - cmp r0, #0 - bne _080A0FFE - ldr r1, _080A0FF4 @ =gUnk_03001160 - ldrh r0, [r5, #0x2e] - movs r4, #0 - strh r0, [r1, #0x2e] - ldrh r0, [r5, #0x32] - strh r0, [r1, #0x32] - movs r0, #3 - bl sub_08078A90 - bl sub_08078B48 - bl sub_0805E544 - movs r0, #0x89 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #2 - strb r0, [r5, #0xc] - strb r4, [r5, #0xd] - b _080A0FFE - .align 2, 0 -_080A0FF4: .4byte gUnk_03001160 -_080A0FF8: - adds r0, r5, #0 - adds r0, #0x68 - strb r1, [r0] -_080A0FFE: - pop {r4, r5, pc} - - thumb_func_start sub_080A1000 -sub_080A1000: @ 0x080A1000 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xd] - cmp r1, #1 - beq _080A102A - cmp r1, #1 - bgt _080A1014 - cmp r1, #0 - beq _080A101E - b _080A1088 -_080A1014: - cmp r1, #2 - beq _080A1038 - cmp r1, #3 - beq _080A1064 - b _080A1088 -_080A101E: - movs r0, #0x1e - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - b _080A10D4 -_080A102A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A10D4 - b _080A1070 -_080A1038: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A1056 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - adds r0, #0xf5 - bl sub_080A3268 - b _080A10D4 -_080A1056: - ldr r0, _080A1060 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - b _080A10C2 - .align 2, 0 -_080A1060: .4byte gUnk_030010A0 -_080A1064: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A107C -_080A1070: - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - b _080A10D4 -_080A107C: - ldr r0, _080A1084 @ =gUnk_030010A0 - ldr r0, [r0] - b _080A10C2 - .align 2, 0 -_080A1084: .4byte gUnk_030010A0 -_080A1088: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A10BC - ldr r0, _080A10B4 @ =gUnk_03000BF0 - ldrb r0, [r0, #4] - cmp r0, #3 - bne _080A10A2 - movs r0, #0xf9 - bl sub_0807CCB4 -_080A10A2: - ldrb r1, [r4, #0xb] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _080A10B8 @ =gUnk_0813ADEC - adds r0, r0, r1 - bl sub_08080840 - b _080A10D4 - .align 2, 0 -_080A10B4: .4byte gUnk_03000BF0 -_080A10B8: .4byte gUnk_0813ADEC -_080A10BC: - ldr r0, _080A10D8 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 -_080A10C2: - ands r0, r1 - cmp r0, #0 - bne _080A10D4 - ldr r0, _080A10DC @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - adds r1, #2 - movs r2, #6 - ands r1, r2 - strb r1, [r0, #0x14] -_080A10D4: - pop {r4, pc} - .align 2, 0 -_080A10D8: .4byte gUnk_030010A0 -_080A10DC: .4byte gUnk_03001160 - - thumb_func_start sub_080A10E0 -sub_080A10E0: @ 0x080A10E0 - push {r4, lr} - adds r2, r0, #0 - ldrb r1, [r2, #0xd] - cmp r1, #1 - beq _080A110E - cmp r1, #1 - bgt _080A10F4 - cmp r1, #0 - beq _080A10FE - b _080A1180 -_080A10F4: - cmp r1, #2 - beq _080A1124 - cmp r1, #3 - beq _080A1148 - b _080A1180 -_080A10FE: - movs r0, #1 - strb r0, [r2, #0xd] - movs r0, #0x1e - strb r0, [r2, #0xe] - adds r0, #0xf6 - bl sub_080A3268 - b _080A11BA -_080A110E: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _080A1130 - ldr r0, _080A1120 @ =gUnk_030010A0 - ldr r0, [r0] - b _080A1162 - .align 2, 0 -_080A1120: .4byte gUnk_030010A0 -_080A1124: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A113C -_080A1130: - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] - movs r0, #0x1e - strb r0, [r2, #0xe] - b _080A11BA -_080A113C: - ldr r0, _080A1144 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #3 - b _080A1162 - .align 2, 0 -_080A1144: .4byte gUnk_030010A0 -_080A1148: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A115C - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] - b _080A11BA -_080A115C: - ldr r0, _080A1178 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 -_080A1162: - ands r0, r1 - cmp r0, #0 - bne _080A11BA - ldr r0, _080A117C @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - adds r1, #2 - movs r2, #6 - ands r1, r2 - strb r1, [r0, #0x14] - b _080A11BA - .align 2, 0 -_080A1178: .4byte gUnk_030010A0 -_080A117C: .4byte gUnk_03001160 -_080A1180: - ldr r4, _080A11A0 @ =gUnk_03001160 - ldrb r3, [r4, #0x14] - cmp r3, #4 - beq _080A11A8 - ldr r0, _080A11A4 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _080A11BA - adds r0, r3, #2 - movs r1, #6 - ands r0, r1 - strb r0, [r4, #0x14] - b _080A11BA - .align 2, 0 -_080A11A0: .4byte gUnk_03001160 -_080A11A4: .4byte gUnk_030010A0 -_080A11A8: - movs r0, #0 - movs r1, #1 - strb r1, [r2, #0xc] - strb r0, [r2, #0xd] - ldr r0, _080A11BC @ =gUnk_03003F80 - adds r0, #0x8b - strb r1, [r0] - bl sub_0805E564 -_080A11BA: - pop {r4, pc} - .align 2, 0 -_080A11BC: .4byte gUnk_03003F80 - - thumb_func_start sub_080A11C0 -sub_080A11C0: @ 0x080A11C0 - push {lr} - adds r1, r0, #0 - ldr r0, _080A11D8 @ =gUnk_03001160 - movs r2, #0x36 - ldrsh r0, [r0, r2] - cmp r0, #0 - bne _080A11DC - adds r0, r1, #0 - bl sub_08017850 - b _080A11DE - .align 2, 0 -_080A11D8: .4byte gUnk_03001160 -_080A11DC: - movs r0, #0 -_080A11DE: - pop {pc} - - thumb_func_start sub_080A11E0 -sub_080A11E0: @ 0x080A11E0 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x59 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A1202 - movs r0, #8 - strb r0, [r1] - ldrb r0, [r2, #0x1e] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r2, #0x1e] -_080A1202: - pop {pc} - - thumb_func_start sub_080A1204 -sub_080A1204: @ 0x080A1204 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r5, r0, #0 - cmp r5, #0 - bne _080A1260 - adds r0, #1 - strb r0, [r4, #0xc] - bl sub_080A1514 - lsls r0, r0, #2 - ldr r1, _080A126C @ =gUnk_08124C20 - adds r0, r0, r1 - ldrh r2, [r0] - lsls r1, r2, #4 - subs r1, r1, r2 - lsls r1, r1, #2 - adds r2, r4, #0 - adds r2, #0x68 - strh r1, [r2] - adds r1, r4, #0 - adds r1, #0x6a - strh r5, [r1] - ldrh r1, [r0, #2] - adds r0, r4, #0 - adds r0, #0x6c - strh r1, [r0] - adds r1, r4, #0 - adds r1, #0x6e - movs r0, #1 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x70 - movs r2, #0 - movs r1, #9 -_080A124A: - strb r2, [r0] - adds r0, #1 - subs r1, #1 - cmp r1, #0 - bge _080A124A - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - bl sub_0806EC20 -_080A1260: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - pop {r4, r5, pc} - .align 2, 0 -_080A126C: .4byte gUnk_08124C20 - - thumb_func_start sub_080A1270 -sub_080A1270: @ 0x080A1270 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov sb, r0 - movs r6, #0 - ldr r0, [r0, #0x64] - str r0, [sp, #4] - mov r4, sb - adds r4, #0x70 - ldr r0, _080A12F8 @ =gUnk_03000BF0 - movs r2, #0xd8 - lsls r2, r2, #2 - adds r1, r2, #0 - ldrh r3, [r0, #6] - adds r1, r1, r3 - movs r7, #0xd4 - lsls r7, r7, #2 - adds r2, r7, #0 - ldrh r0, [r0, #8] - adds r2, r2, r0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - mov r8, r1 - lsls r2, r2, #0x10 - asrs r3, r2, #0x10 - movs r0, #9 - mov sl, r0 - movs r1, #1 - rsbs r1, r1, #0 - adds r5, r1, #0 -_080A12B2: - ldr r7, [sp, #4] - ldr r2, [r7] - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _080A1300 - ldr r0, [r2, #4] - cmp r0, #0 - beq _080A132C - cmp r2, #0 - beq _080A132C - movs r1, #0x2e - ldrsh r0, [r2, r1] - cmp r8, r0 - bgt _080A132E - movs r7, #0x32 - ldrsh r0, [r2, r7] - cmp r3, r0 - bgt _080A132E - ldrb r0, [r2, #0xa] - adds r0, #1 - strb r0, [r4] - movs r0, #1 - strb r0, [r2, #0xb] - adds r6, #1 - ldr r1, _080A12FC @ =gUnk_08124EC8 - ldrb r0, [r2, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - str r3, [sp] - bl sub_080A3268 - ldr r3, [sp] - b _080A132E - .align 2, 0 -_080A12F8: .4byte gUnk_03000BF0 -_080A12FC: .4byte gUnk_08124EC8 -_080A1300: - cmp r0, #0 - ble _080A132E - adds r6, #1 - ldr r0, [r2, #4] - cmp r0, #0 - beq _080A132C - cmp r2, #0 - beq _080A132C - mov r1, r8 - adds r1, #4 - movs r7, #0x2e - ldrsh r0, [r2, r7] - cmp r1, r0 - ble _080A131E - strh r1, [r2, #0x2e] -_080A131E: - adds r1, r3, #4 - movs r7, #0x32 - ldrsh r0, [r2, r7] - cmp r1, r0 - ble _080A132E - strh r1, [r2, #0x32] - b _080A132E -_080A132C: - strb r5, [r4] -_080A132E: - movs r0, #1 - rsbs r0, r0, #0 - add sl, r0 - adds r4, #1 - ldr r1, [sp, #4] - adds r1, #4 - str r1, [sp, #4] - mov r2, sl - cmp r2, #0 - bge _080A12B2 - mov r0, sb - adds r0, #0x6a - strh r6, [r0] - ldr r0, _080A136C @ =gUnk_03003F80 - adds r0, #0x27 - movs r1, #0xff - strb r1, [r0] - mov r1, sb - adds r1, #0x68 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bgt _080A1370 - movs r0, #0xe2 - bl sub_080A3268 - bl sub_08050384 - b _080A1376 - .align 2, 0 -_080A136C: .4byte gUnk_03003F80 -_080A1370: - ldr r1, _080A1384 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_080A1376: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A1384: .4byte gUnk_02033280 - - thumb_func_start sub_080A1388 -sub_080A1388: @ 0x080A1388 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r5, #0x70 - ldr r4, [r0, #0x64] - movs r6, #9 -_080A1392: - ldr r1, [r4] - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - blt _080A13A6 - cmp r1, #0 - beq _080A13A6 - adds r0, r1, #0 - bl sub_0805E79C -_080A13A6: - subs r6, #1 - adds r5, #1 - adds r4, #4 - cmp r6, #0 - bge _080A1392 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A13B4 -sub_080A13B4: @ 0x080A13B4 - push {r4, lr} - adds r4, r1, #0 - adds r1, r0, #0 - adds r1, #0x6a - adds r0, #0x6c - movs r2, #0 - ldrsh r1, [r1, r2] - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r1, r0 - blt _080A13D8 - ldr r0, _080A13D4 @ =0x0000300C - bl sub_08056378 - movs r0, #1 - b _080A13E0 - .align 2, 0 -_080A13D4: .4byte 0x0000300C -_080A13D8: - ldr r0, _080A13E4 @ =0x00003005 - bl sub_08056378 - movs r0, #0 -_080A13E0: - str r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_080A13E4: .4byte 0x00003005 - - thumb_func_start sub_080A13E8 -sub_080A13E8: @ 0x080A13E8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_080A1514 - lsls r0, r0, #2 - ldr r1, _080A1408 @ =gUnk_08124EA0 - adds r4, r0, r1 - movs r6, #0 - ldrb r0, [r4] - cmp r0, #0x5c - beq _080A141C - cmp r0, #0x5c - bgt _080A140C - cmp r0, #0x3f - beq _080A1412 - b _080A1444 - .align 2, 0 -_080A1408: .4byte gUnk_08124EA0 -_080A140C: - cmp r0, #0x63 - beq _080A1430 - b _080A1444 -_080A1412: - ldr r0, _080A1418 @ =gUnk_02002A40 - adds r0, #0xbb - b _080A1424 - .align 2, 0 -_080A1418: .4byte gUnk_02002A40 -_080A141C: - ldr r0, _080A142C @ =gUnk_02002A40 - movs r1, #0x8b - lsls r1, r1, #1 - adds r0, r0, r1 -_080A1424: - ldrb r0, [r0] - cmp r0, #0 - beq _080A1444 - b _080A1454 - .align 2, 0 -_080A142C: .4byte gUnk_02002A40 -_080A1430: - movs r0, #0x4f - bl sub_0807CC30 - cmp r0, #0 - bne _080A1442 - movs r0, #0x4f - bl sub_0807CD04 - b _080A1444 -_080A1442: - movs r6, #1 -_080A1444: - cmp r6, #0 - bne _080A1454 - ldrb r0, [r4] - ldrb r1, [r4, #1] - movs r2, #0 - bl sub_080A7C18 - b _080A145C -_080A1454: - adds r1, r5, #0 - adds r1, #0x6e - movs r0, #2 - strh r0, [r1] -_080A145C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A1460 -sub_080A1460: @ 0x080A1460 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080A1514 - adds r1, r5, #0 - adds r1, #0x70 - movs r4, #0 - ldr r3, _080A149C @ =gUnk_08124ECC - movs r2, #9 -_080A1472: - movs r0, #0 - ldrsb r0, [r1, r0] - adds r0, r0, r3 - ldrb r0, [r0] - adds r4, r4, r0 - adds r1, #1 - subs r2, #1 - cmp r2, #0 - bge _080A1472 - adds r0, r4, #0 - bl sub_080526CC - ldr r0, _080A14A0 @ =0x00003007 - adds r1, r5, #0 - bl sub_08056398 - ldr r1, _080A14A4 @ =gUnk_02000050 - lsls r0, r4, #0x10 - lsrs r0, r0, #0x10 - str r0, [r1, #0x10] - pop {r4, r5, pc} - .align 2, 0 -_080A149C: .4byte gUnk_08124ECC -_080A14A0: .4byte 0x00003007 -_080A14A4: .4byte gUnk_02000050 - - thumb_func_start sub_080A14A8 -sub_080A14A8: @ 0x080A14A8 - push {r4, lr} - bl sub_080A1514 - adds r4, r0, #0 - adds r4, #1 - cmp r4, #9 - ble _080A14B8 - movs r4, #9 -_080A14B8: - movs r0, #1 - ands r0, r4 - cmp r0, #0 - beq _080A14C8 - movs r0, #0x4b - bl sub_0807CD04 - b _080A14CE -_080A14C8: - movs r0, #0x4b - bl sub_0807CD80 -_080A14CE: - movs r0, #2 - ands r0, r4 - cmp r0, #0 - beq _080A14DE - movs r0, #0x4c - bl sub_0807CD04 - b _080A14E4 -_080A14DE: - movs r0, #0x4c - bl sub_0807CD80 -_080A14E4: - movs r0, #4 - ands r0, r4 - cmp r0, #0 - beq _080A14F4 - movs r0, #0x4d - bl sub_0807CD04 - b _080A14FA -_080A14F4: - movs r0, #0x4d - bl sub_0807CD80 -_080A14FA: - movs r0, #8 - ands r0, r4 - cmp r0, #0 - beq _080A150A - movs r0, #0x4e - bl sub_0807CD04 - b _080A1510 -_080A150A: - movs r0, #0x4e - bl sub_0807CD80 -_080A1510: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A1514 -sub_080A1514: @ 0x080A1514 - push {r4, lr} - movs r0, #0x4b - bl sub_0807CC30 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f - movs r0, #0x4c - bl sub_0807CC30 - cmp r0, #0 - beq _080A1530 - movs r0, #2 - orrs r4, r0 -_080A1530: - movs r0, #0x4d - bl sub_0807CC30 - cmp r0, #0 - beq _080A153E - movs r0, #4 - orrs r4, r0 -_080A153E: - movs r0, #0x4e - bl sub_0807CC30 - cmp r0, #0 - beq _080A154C - movs r0, #8 - orrs r4, r0 -_080A154C: - adds r0, r4, #0 - pop {r4, pc} - - thumb_func_start sub_080A1550 -sub_080A1550: @ 0x080A1550 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov r8, r1 - movs r0, #0 - str r0, [r1, #0x14] - movs r0, #0xb9 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080A15FE - movs r0, #0x28 - bl sub_0801D8E0 - str r0, [r4, #0x64] - cmp r0, #0 - bne _080A1582 - adds r0, r4, #0 - bl sub_0805E79C - b _080A15FE -_080A1582: - mov r0, r8 - ldr r1, [r0, #4] - adds r0, r4, #0 - bl sub_0807DAD0 - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - bl sub_080A1514 - lsls r1, r0, #4 - subs r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _080A15B4 @ =gUnk_08124C48 - adds r5, r1, r0 - ldr r4, [r4, #0x64] - mov sb, r4 - ldr r7, _080A15B8 @ =gUnk_03000BF0 - movs r6, #9 -_080A15A8: - movs r1, #0 - ldrsh r0, [r5, r1] - cmp r0, #0 - bgt _080A15BC - movs r4, #0 - b _080A15E6 - .align 2, 0 -_080A15B4: .4byte gUnk_08124C48 -_080A15B8: .4byte gUnk_03000BF0 -_080A15BC: - movs r0, #0 - ldrsh r1, [r5, r0] - subs r1, #1 - movs r0, #0x41 - bl sub_0804AA60 - adds r4, r0, #0 - cmp r4, #0 - beq _080A15E6 - ldrh r0, [r5, #2] - ldrh r1, [r7, #6] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - ldrh r0, [r5, #4] - ldrh r1, [r7, #8] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] -_080A15E6: - mov r0, sb - adds r0, #4 - mov sb, r0 - subs r0, #4 - stm r0!, {r4} - subs r6, #1 - adds r5, #6 - cmp r6, #0 - bge _080A15A8 - movs r0, #1 - mov r1, r8 - str r0, [r1, #0x14] -_080A15FE: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080A1608 -sub_080A1608: @ 0x080A1608 - push {r4, lr} - ldr r4, _080A163C @ =0x00003002 - movs r0, #1 - bl sub_0807CC3C - cmp r0, #0 - beq _080A1618 - adds r4, #4 -_080A1618: - adds r0, r4, #0 - bl sub_08056378 - ldr r4, _080A1640 @ =gUnk_02000050 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #6] - strb r1, [r4, #7] - bl sub_080A1514 - lsls r0, r0, #2 - ldr r1, _080A1644 @ =gUnk_08124C20 - adds r0, r0, r1 - ldrh r1, [r0] - str r1, [r4, #0x10] - ldrh r0, [r0, #2] - str r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_080A163C: .4byte 0x00003002 -_080A1640: .4byte gUnk_02000050 -_080A1644: .4byte gUnk_08124C20 - - thumb_func_start sub_080A1648 -sub_080A1648: @ 0x080A1648 - push {r4, lr} - ldr r4, _080A1684 @ =0x0000407F - ldr r1, _080A1688 @ =0x00000D36 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _080A168C @ =0x00000D37 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _080A1690 @ =0x00000D38 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - subs r4, #1 - ldr r1, _080A1694 @ =0x00000D75 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - ldr r1, _080A1698 @ =0x00000E75 - adds r0, r4, #0 - movs r2, #1 - bl sub_0807B314 - pop {r4, pc} - .align 2, 0 -_080A1684: .4byte 0x0000407F -_080A1688: .4byte 0x00000D36 -_080A168C: .4byte 0x00000D37 -_080A1690: .4byte 0x00000D38 -_080A1694: .4byte 0x00000D75 -_080A1698: .4byte 0x00000E75 - - thumb_func_start sub_080A169C -sub_080A169C: @ 0x080A169C - push {lr} - ldr r0, _080A16C8 @ =0x00000D36 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _080A16CC @ =0x00000D37 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _080A16D0 @ =0x00000D38 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _080A16D4 @ =0x00000D75 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _080A16D8 @ =0x00000E75 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_080A16C8: .4byte 0x00000D36 -_080A16CC: .4byte 0x00000D37 -_080A16D0: .4byte 0x00000D38 -_080A16D4: .4byte 0x00000D75 -_080A16D8: .4byte 0x00000E75 - - thumb_func_start sub_080A16DC -sub_080A16DC: @ 0x080A16DC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080A1700 @ =gUnk_08124ED0 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080A1DCC - adds r0, r4, #0 - bl sub_080A1C9C - pop {r4, pc} - .align 2, 0 -_080A1700: .4byte gUnk_08124ED0 - - thumb_func_start sub_080A1704 -sub_080A1704: @ 0x080A1704 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov sl, r0 - movs r0, #0x7b - bl sub_0807CBE4 - cmp r0, #0 - beq _080A171E - bl sub_0805E780 -_080A171E: - ldr r0, _080A1828 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x45 - bhi _080A181C - movs r0, #0x40 - bl sub_0801D8E0 - adds r7, r0, #0 - cmp r7, #0 - beq _080A181C - movs r6, #0 - movs r0, #1 - mov sb, r0 - mov r2, sb - mov r1, sl - strb r2, [r1, #0xc] - str r7, [r1, #0x64] - adds r1, #0x6e - movs r3, #0 - mov r8, r3 - movs r0, #0x96 - lsls r0, r0, #2 - strh r0, [r1] - mov r0, sl - adds r0, #0x6c - strh r6, [r0] - mov r0, sl - str r0, [r7] - movs r0, #0x5c - movs r1, #0 - bl sub_0804AA60 - adds r1, r0, #0 - str r7, [r1, #0x64] - str r1, [r7, #4] - movs r0, #0x5d - movs r1, #0 - bl sub_0804AA60 - adds r1, r0, #0 - ldr r4, _080A182C @ =gUnk_03000BF0 - movs r2, #0x80 - lsls r2, r2, #2 - adds r5, r2, #0 - ldrh r3, [r4, #6] - adds r0, r5, r3 - strh r0, [r1, #0x2e] - movs r2, #0xcc - lsls r2, r2, #2 - adds r0, r2, #0 - ldrh r3, [r4, #8] - adds r0, r0, r3 - strh r0, [r1, #0x32] - str r7, [r1, #0x64] - str r1, [r7, #8] - movs r0, #0x5d - movs r1, #1 - bl sub_0804AA60 - adds r1, r0, #0 - movs r2, #0x98 - lsls r2, r2, #2 - adds r0, r2, #0 - ldrh r3, [r4, #6] - adds r0, r0, r3 - strh r0, [r1, #0x2e] - adds r2, #0xb0 - adds r0, r2, #0 - ldrh r3, [r4, #8] - adds r0, r0, r3 - strh r0, [r1, #0x32] - str r7, [r1, #0x64] - str r1, [r7, #0xc] - ldr r2, _080A1830 @ =gUnk_03000F50 - ldr r0, _080A1834 @ =0x00001E07 - strh r0, [r2, #0x2c] - ldrh r0, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - mov r0, sl - adds r0, #0x70 - strh r6, [r0] - adds r0, #2 - strh r6, [r0] - adds r0, #2 - mov r1, r8 - strb r1, [r0] - adds r0, #6 - strb r1, [r0] - subs r0, #4 - movs r1, #0xc0 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - ldr r0, _080A1838 @ =gUnk_030010A0 - adds r0, #0x39 - mov r2, sb - strb r2, [r0] - ldr r2, _080A183C @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xa - orrs r0, r1 - str r0, [r2, #0x30] - ldrh r3, [r4, #6] - adds r5, r5, r3 - strh r5, [r2, #0x16] - movs r1, #0x84 - lsls r1, r1, #2 - adds r0, r1, #0 - ldrh r4, [r4, #8] - adds r0, r0, r4 - strh r0, [r2, #0x18] - ldr r0, _080A1840 @ =0x80100000 - bl sub_080A3268 - ldr r0, _080A1844 @ =gUnk_02033A90 - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - ldr r3, _080A1848 @ =0x00000864 - adds r0, r0, r3 - ldr r0, [r0] - str r0, [r1] -_080A181C: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A1828: .4byte gUnk_03003DBC -_080A182C: .4byte gUnk_03000BF0 -_080A1830: .4byte gUnk_03000F50 -_080A1834: .4byte 0x00001E07 -_080A1838: .4byte gUnk_030010A0 -_080A183C: .4byte gUnk_03003F80 -_080A1840: .4byte 0x80100000 -_080A1844: .4byte gUnk_02033A90 -_080A1848: .4byte 0x00000864 - - thumb_func_start sub_080A184C -sub_080A184C: @ 0x080A184C - push {lr} - adds r3, r0, #0 - adds r1, r3, #0 - adds r1, #0x6e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A1874 - movs r0, #2 - strb r0, [r3, #0xc] - subs r1, #2 - movs r2, #8 - movs r0, #8 - strh r0, [r1] - ldr r0, [r3, #0x64] - ldr r0, [r0, #4] - adds r0, #0x45 - strb r2, [r0] -_080A1874: - ldr r2, _080A1894 @ =gUnk_03003F80 - ldr r1, _080A1898 @ =gUnk_03000BF0 - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x16] - movs r3, #0x84 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x18] - pop {pc} - .align 2, 0 -_080A1894: .4byte gUnk_03003F80 -_080A1898: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A189C -sub_080A189C: @ 0x080A189C - push {lr} - adds r3, r0, #0 - ldr r0, [r3, #0x64] - ldr r0, [r0, #4] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080A18E6 - movs r0, #3 - strb r0, [r3, #0xc] - movs r0, #0x23 - strb r0, [r3, #0xe] - adds r1, r3, #0 - adds r1, #0x6c - movs r2, #1 - movs r0, #1 - strh r0, [r1] - adds r1, #0xc - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0x7b - strb r2, [r0] - ldr r0, [r3, #0x64] - ldr r0, [r0, #8] - adds r0, #0x45 - movs r1, #0xc - strb r1, [r0] - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0x96 - movs r1, #1 - bl sub_08080964 -_080A18E6: - ldr r2, _080A1904 @ =gUnk_03003F80 - ldr r1, _080A1908 @ =gUnk_03000BF0 - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x16] - movs r3, #0x84 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x18] - pop {pc} - .align 2, 0 -_080A1904: .4byte gUnk_03003F80 -_080A1908: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A190C -sub_080A190C: @ 0x080A190C - push {r4, lr} - adds r4, r0, #0 - bl sub_080A1FF0 - ldr r3, [r4, #0x64] - ldr r2, [r3, #8] - adds r0, r2, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080A197C - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_080A20B8 - cmp r0, #0 - beq _080A1956 - movs r0, #4 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x6c - movs r0, #0x10 - strh r0, [r1] - adds r1, #0xc - movs r0, #0xc0 - strh r0, [r1] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - ldrb r1, [r0, #0x14] - adds r0, r4, #0 - bl sub_080A1D70 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - adds r0, #0x45 - movs r1, #0x18 - strb r1, [r0] -_080A1956: - ldr r2, _080A1974 @ =gUnk_03003F80 - ldr r1, _080A1978 @ =gUnk_03000BF0 - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x16] - movs r3, #0x84 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x18] - b _080A1988 - .align 2, 0 -_080A1974: .4byte gUnk_03003F80 -_080A1978: .4byte gUnk_03000BF0 -_080A197C: - ldr r1, _080A198C @ =gUnk_03003F80 - ldrh r0, [r2, #0x2e] - strh r0, [r1, #0x16] - ldr r0, [r3, #8] - ldrh r0, [r0, #0x32] - strh r0, [r1, #0x18] -_080A1988: - pop {r4, pc} - .align 2, 0 -_080A198C: .4byte gUnk_03003F80 - - thumb_func_start sub_080A1990 -sub_080A1990: @ 0x080A1990 - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #0x64] - ldr r0, [r1, #4] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080A19D6 - ldr r0, [r1, #8] - adds r0, #0x45 - movs r1, #0xc - strb r1, [r0] - movs r0, #5 - strb r0, [r2, #0xc] - movs r0, #0x23 - strb r0, [r2, #0xe] - adds r1, r2, #0 - adds r1, #0x6c - movs r0, #2 - strh r0, [r1] - adds r1, #0xc - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r1] - adds r1, #3 - movs r0, #1 - strb r0, [r1] - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0x96 - movs r1, #1 - bl sub_08080964 -_080A19D6: - ldr r2, _080A19F4 @ =gUnk_03003F80 - ldr r1, _080A19F8 @ =gUnk_03000BF0 - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x16] - movs r3, #0x84 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x18] - pop {pc} - .align 2, 0 -_080A19F4: .4byte gUnk_03003F80 -_080A19F8: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A19FC -sub_080A19FC: @ 0x080A19FC - push {r4, lr} - adds r4, r0, #0 - bl sub_080A1FF0 - ldr r3, [r4, #0x64] - ldr r2, [r3, #0xc] - adds r0, r2, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080A1A6C - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_080A20B8 - cmp r0, #0 - beq _080A1A46 - movs r0, #6 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x6c - movs r0, #0x20 - strh r0, [r1] - adds r1, #0xc - movs r0, #0xc0 - strh r0, [r1] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - ldrb r1, [r0, #0x14] - adds r0, r4, #0 - bl sub_080A1D70 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - adds r0, #0x45 - movs r1, #0x18 - strb r1, [r0] -_080A1A46: - ldr r2, _080A1A64 @ =gUnk_03003F80 - ldr r1, _080A1A68 @ =gUnk_03000BF0 - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x16] - movs r3, #0x84 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x18] - b _080A1A78 - .align 2, 0 -_080A1A64: .4byte gUnk_03003F80 -_080A1A68: .4byte gUnk_03000BF0 -_080A1A6C: - ldr r1, _080A1A7C @ =gUnk_03003F80 - ldrh r0, [r2, #0x2e] - strh r0, [r1, #0x16] - ldr r0, [r3, #0xc] - ldrh r0, [r0, #0x32] - strh r0, [r1, #0x18] -_080A1A78: - pop {r4, pc} - .align 2, 0 -_080A1A7C: .4byte gUnk_03003F80 - - thumb_func_start sub_080A1A80 -sub_080A1A80: @ 0x080A1A80 - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #0x64] - ldr r0, [r1, #4] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080A1AC0 - ldr r0, [r1, #0xc] - adds r0, #0x45 - movs r1, #0xc - strb r1, [r0] - movs r0, #7 - strb r0, [r2, #0xc] - movs r0, #0x23 - strb r0, [r2, #0xe] - adds r1, r2, #0 - adds r1, #0x6c - adds r0, #0xe1 - strh r0, [r1] - adds r1, #0xc - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r1] - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0x96 - movs r1, #1 - bl sub_08080964 -_080A1AC0: - ldr r2, _080A1AE0 @ =gUnk_03003F80 - ldr r1, _080A1AE4 @ =gUnk_03000BF0 - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x16] - movs r3, #0x84 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x18] - pop {pc} - .align 2, 0 -_080A1AE0: .4byte gUnk_03003F80 -_080A1AE4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A1AE8 -sub_080A1AE8: @ 0x080A1AE8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080A1FF0 - ldr r0, [r4, #0x64] - ldr r1, [r0, #0xc] - adds r0, r1, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080A1B24 - adds r0, r4, #0 - bl sub_080A20B8 - cmp r0, #0 - beq _080A1B24 - movs r0, #8 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x6c - movs r0, #0x40 - strh r0, [r1] - adds r1, #0xc - movs r0, #0xc0 - strh r0, [r1] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - adds r0, #0x45 - movs r1, #0xc - strb r1, [r0] -_080A1B24: - ldr r2, _080A1B44 @ =gUnk_03003F80 - ldr r1, _080A1B48 @ =gUnk_03000BF0 - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x16] - movs r3, #0x84 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x18] - pop {r4, pc} - .align 2, 0 -_080A1B44: .4byte gUnk_03003F80 -_080A1B48: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A1B4C -sub_080A1B4C: @ 0x080A1B4C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - adds r0, #0x45 - ldrb r7, [r0] - cmp r7, #0 - bne _080A1BD0 - adds r5, r4, #0 - adds r5, #0x6c - ldrh r0, [r5] - cmp r0, #0 - beq _080A1B80 - movs r0, #0x2d - movs r1, #1 - bl sub_08080964 - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0xc0 - lsls r0, r0, #3 - strh r0, [r1] -_080A1B80: - movs r6, #0 - strh r7, [r5] - ldr r0, _080A1BF0 @ =gUnk_030010A0 - adds r0, #0x39 - strb r6, [r0] - bl sub_08079F8C - cmp r0, #0 - beq _080A1BD0 - ldr r3, _080A1BF4 @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r3, r1] - cmp r0, #0 - bne _080A1BD0 - movs r0, #9 - strb r0, [r4, #0xc] - strb r6, [r4, #0xe] - movs r0, #0xf0 - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x6e - adds r0, #0xb4 - strh r0, [r1] - strb r6, [r4, #0x15] - movs r0, #0x60 - strh r0, [r4, #0x24] - ldr r2, _080A1BF8 @ =gUnk_03003F80 - ldr r0, [r2, #0x30] - ldr r1, _080A1BFC @ =0xFFFDFFFF - ands r0, r1 - str r0, [r2, #0x30] - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r0, _080A1C00 @ =gUnk_03000BF0 - str r4, [r0, #0x30] - movs r0, #2 - bl sub_08078A90 -_080A1BD0: - ldr r2, _080A1BF8 @ =gUnk_03003F80 - ldr r1, _080A1C00 @ =gUnk_03000BF0 - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x16] - movs r3, #0x84 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x18] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A1BF0: .4byte gUnk_030010A0 -_080A1BF4: .4byte gUnk_03001160 -_080A1BF8: .4byte gUnk_03003F80 -_080A1BFC: .4byte 0xFFFDFFFF -_080A1C00: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A1C04 -sub_080A1C04: @ 0x080A1C04 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x6e - ldrh r0, [r1] - cmp r0, #0 - bne _080A1C52 - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_080A1E54 - ldrb r0, [r4, #0xf] - subs r1, r0, #1 - strb r1, [r4, #0xf] - lsls r0, r1, #0x18 - cmp r0, #0 - bne _080A1C40 - movs r0, #0x7b - bl sub_0807CCC8 - ldr r0, _080A1C3C @ =gUnk_0813ABD0 - movs r1, #8 - bl sub_0808091C - b _080A1C9A - .align 2, 0 -_080A1C3C: .4byte gUnk_0813ABD0 -_080A1C40: - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3c - bne _080A1C9A - movs r0, #7 - movs r1, #4 - bl sub_08050054 - b _080A1C9A -_080A1C52: - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xb3 - bhi _080A1C66 - adds r0, r4, #0 - bl sub_080A1E54 - b _080A1C9A -_080A1C66: - ldrh r1, [r1] - cmp r1, #0xb4 - beq _080A1C76 - movs r0, #0x96 - lsls r0, r0, #1 - cmp r1, r0 - beq _080A1C8A - b _080A1C9A -_080A1C76: - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0xb4 - lsls r0, r0, #2 - movs r1, #2 - bl sub_08080964 - b _080A1C9A -_080A1C8A: - movs r0, #0x94 - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #0x4b - movs r1, #1 - bl sub_08080964 -_080A1C9A: - pop {r4, pc} - - thumb_func_start sub_080A1C9C -sub_080A1C9C: @ 0x080A1C9C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x7a - ldrb r0, [r5] - cmp r0, #0 - beq _080A1D04 - adds r0, r4, #0 - adds r0, #0x74 - adds r7, r4, #0 - adds r7, #0x75 - ldrb r1, [r0] - adds r6, r0, #0 - ldrb r0, [r7] - cmp r1, r0 - beq _080A1CE4 - subs r5, #2 - movs r0, #0 - strh r0, [r5] - adds r0, r4, #0 - movs r1, #0xc - bl sub_080A1D8C - adds r0, r4, #0 - adds r0, #0x76 - ldrh r1, [r0] - adds r2, r0, #0 - cmp r1, #0 - bne _080A1D14 - ldrb r0, [r7] - strb r0, [r6] - adds r0, r4, #0 - adds r0, #0x7c - ldrh r0, [r0] - strh r0, [r5] - b _080A1D14 -_080A1CE4: - adds r0, r4, #0 - movs r1, #0xc - bl sub_080A1D8C - adds r0, r4, #0 - adds r0, #0x78 - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r0] - adds r2, r1, #0 - ldrh r1, [r2] - cmp r0, r1 - bne _080A1D14 - movs r0, #0 - strb r0, [r5] - b _080A1D14 -_080A1D04: - adds r0, r4, #0 - movs r1, #8 - bl sub_080A1D8C - adds r6, r4, #0 - adds r6, #0x74 - adds r2, r4, #0 - adds r2, #0x76 -_080A1D14: - adds r3, r4, #0 - adds r3, #0x70 - ldr r5, _080A1D68 @ =gUnk_080C9160 - ldrb r0, [r6] - lsls r0, r0, #1 - adds r0, r0, r5 - movs r7, #0 - ldrsh r1, [r0, r7] - ldrh r0, [r2] - muls r0, r1, r0 - cmp r0, #0 - bge _080A1D2E - adds r0, #0xff -_080A1D2E: - asrs r0, r0, #8 - ldrh r1, [r3] - adds r0, r0, r1 - strh r0, [r3] - adds r4, #0x72 - ldrb r0, [r6] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r5 - movs r5, #0 - ldrsh r1, [r0, r5] - ldrh r0, [r2] - muls r0, r1, r0 - cmp r0, #0 - bge _080A1D4E - adds r0, #0xff -_080A1D4E: - asrs r0, r0, #8 - ldrh r1, [r4] - subs r1, r1, r0 - strh r1, [r4] - ldr r2, _080A1D6C @ =gUnk_03000F50 - ldrh r0, [r3] - lsrs r0, r0, #8 - strh r0, [r2, #0x2e] - lsls r1, r1, #0x10 - lsrs r1, r1, #0x18 - strh r1, [r2, #0x30] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A1D68: .4byte gUnk_080C9160 -_080A1D6C: .4byte gUnk_03000F50 - - thumb_func_start sub_080A1D70 -sub_080A1D70: @ 0x080A1D70 - adds r2, r0, #0 - adds r0, #0x75 - strb r1, [r0] - adds r1, r2, #0 - adds r1, #0x7a - movs r0, #1 - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x78 - ldrh r1, [r0] - adds r0, #4 - strh r1, [r0] - bx lr - .align 2, 0 - - thumb_func_start sub_080A1D8C -sub_080A1D8C: @ 0x080A1D8C - push {r4, lr} - adds r4, r1, #0 - adds r3, r0, #0 - adds r3, #0x78 - adds r2, r0, #0 - adds r2, #0x76 - ldrh r1, [r3] - ldrh r0, [r2] - cmp r1, r0 - beq _080A1DC8 - cmp r1, r0 - bls _080A1DB6 - adds r3, r0, #0 - subs r0, r1, r3 - cmp r4, r0 - bge _080A1DB2 - adds r0, r3, r4 - strh r0, [r2] - b _080A1DC8 -_080A1DB2: - strh r1, [r2] - b _080A1DC8 -_080A1DB6: - ldrh r1, [r2] - ldrh r3, [r3] - subs r0, r1, r3 - cmp r4, r0 - bge _080A1DC6 - subs r0, r1, r4 - strh r0, [r2] - b _080A1DC8 -_080A1DC6: - strh r3, [r2] -_080A1DC8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A1DCC -sub_080A1DCC: @ 0x080A1DCC - push {r4, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x64] - ldr r3, [r1, #8] - cmp r3, #0 - bne _080A1DDE - ldr r3, [r1, #0xc] - cmp r3, #0 - beq _080A1E24 -_080A1DDE: - adds r0, r3, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - beq _080A1E24 - ldrb r0, [r3, #0x19] - lsrs r0, r0, #6 - cmp r0, #2 - bne _080A1E24 - ldr r3, [r1, #0x10] - ldrb r2, [r3, #0x10] - movs r1, #0x7f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r3, #0x10] - ldr r0, [r4, #0x64] - ldr r3, [r0, #0x14] - ldrb r2, [r3, #0x10] - adds r0, r1, #0 - ands r0, r2 - strb r0, [r3, #0x10] - ldr r3, [r3, #0x54] - ldrb r2, [r3, #0x10] - adds r0, r1, #0 - ands r0, r2 - strb r0, [r3, #0x10] - ldr r3, [r3, #0x54] - ldrb r2, [r3, #0x10] - adds r0, r1, #0 - ands r0, r2 - strb r0, [r3, #0x10] - ldr r3, [r3, #0x54] - ldrb r0, [r3, #0x10] - ands r1, r0 - b _080A1E50 -_080A1E24: - ldr r0, [r4, #0x64] - ldr r2, [r0, #0x10] - ldrb r0, [r2, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - ldr r0, [r4, #0x64] - ldr r3, [r0, #0x14] - ldrb r0, [r3, #0x10] - orrs r0, r1 - strb r0, [r3, #0x10] - ldr r3, [r3, #0x54] - ldrb r0, [r3, #0x10] - orrs r0, r1 - strb r0, [r3, #0x10] - ldr r3, [r3, #0x54] - ldrb r0, [r3, #0x10] - orrs r0, r1 - strb r0, [r3, #0x10] - ldr r3, [r3, #0x54] - ldrb r0, [r3, #0x10] - orrs r1, r0 -_080A1E50: - strb r1, [r3, #0x10] - pop {r4, pc} - - thumb_func_start sub_080A1E54 -sub_080A1E54: @ 0x080A1E54 - push {r4, r5, lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - adds r0, #1 - strb r0, [r2, #0xe] - movs r1, #0xff - ands r0, r1 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _080A1ECA - adds r0, r2, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _080A1ECA - bl sub_08000E50 - ldr r3, _080A1ECC @ =gUnk_03000BF0 - movs r1, #0xf0 - adds r2, r0, #0 - ands r2, r1 - movs r5, #0x80 - lsls r5, r5, #2 - adds r1, r5, #0 - adds r2, r2, r1 - ldrh r1, [r3, #6] - adds r1, r1, r2 - subs r1, #0x78 - strh r1, [r4, #0x2e] - lsrs r0, r0, #8 - movs r1, #0x70 - ands r0, r1 - movs r1, #0x84 - lsls r1, r1, #2 - adds r0, r0, r1 - ldrh r3, [r3, #8] - adds r0, r0, r3 - subs r0, #0x38 - strh r0, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #5 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 -_080A1ECA: - pop {r4, r5, pc} - .align 2, 0 -_080A1ECC: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A1ED0 -sub_080A1ED0: @ 0x080A1ED0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - mov sb, r1 - adds r5, r2, #0 - movs r1, #0 - str r1, [sp] - ldr r4, _080A1F60 @ =gUnk_08124EF8 - lsls r1, r5, #2 - adds r1, r1, r4 - ldrh r2, [r1] - ldr r3, _080A1F64 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - adds r2, r2, r1 - mov sl, r2 - lsls r1, r5, #1 - adds r1, #1 - lsls r1, r1, #1 - adds r1, r1, r4 - ldrh r2, [r1] - ldrh r1, [r3, #8] - adds r2, r2, r1 - mov r8, r2 - ldr r1, _080A1F68 @ =gUnk_08124FF0 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r4, [r0] - movs r1, #0 - ldrsh r0, [r4, r1] - cmp r0, #1 - beq _080A1FB0 - lsls r7, r5, #3 - movs r0, #0x10 - adds r6, r7, #0 - eors r6, r0 -_080A1F1C: - movs r0, #0x60 - mov r1, sb - bl sub_0804AA60 - adds r2, r0, #0 - cmp r2, #0 - beq _080A1FA6 - mov r0, sp - ldrb r0, [r0] - strb r0, [r2, #0xb] - ldr r1, [sp] - adds r1, #1 - str r1, [sp] - mov r0, sl - strh r0, [r2, #0x2e] - mov r1, r8 - strh r1, [r2, #0x32] - strb r7, [r2, #0x15] - adds r0, r2, #0 - adds r0, #0x7a - strb r6, [r0] - ldrh r1, [r4, #4] - subs r0, #2 - strh r1, [r0] - cmp r5, #1 - beq _080A1F7A - cmp r5, #1 - blo _080A1F6C - cmp r5, #2 - beq _080A1F80 - cmp r5, #3 - beq _080A1F94 - b _080A1FA6 - .align 2, 0 -_080A1F60: .4byte gUnk_08124EF8 -_080A1F64: .4byte gUnk_03000BF0 -_080A1F68: .4byte gUnk_08124FF0 -_080A1F6C: - ldrh r1, [r4] - adds r0, r2, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r4, #2] - rsbs r0, r0, #0 - b _080A1F8C -_080A1F7A: - ldrh r0, [r4, #2] - adds r0, #0xf0 - b _080A1F98 -_080A1F80: - ldrh r1, [r4] - adds r0, r2, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r4, #2] - adds r0, #0xa0 -_080A1F8C: - adds r1, r2, #0 - adds r1, #0x76 - strh r0, [r1] - b _080A1FA6 -_080A1F94: - ldrh r0, [r4, #2] - rsbs r0, r0, #0 -_080A1F98: - adds r1, r2, #0 - adds r1, #0x74 - strh r0, [r1] - ldrh r1, [r4] - adds r0, r2, #0 - adds r0, #0x76 - strh r1, [r0] -_080A1FA6: - adds r4, #6 - movs r1, #0 - ldrsh r0, [r4, r1] - cmp r0, #1 - bne _080A1F1C -_080A1FB0: - mov r0, sb - cmp r0, #0 - bne _080A1FE4 - movs r0, #0xf - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _080A1FE4 - mov r1, sl - strh r1, [r2, #0x2e] - mov r0, r8 - strh r0, [r2, #0x32] - ldrb r0, [r2, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r2, #0x1b] - ldrb r0, [r2, #0x19] - orrs r0, r1 - strb r0, [r2, #0x19] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] -_080A1FE4: - add sp, #4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080A1FF0 -sub_080A1FF0: @ 0x080A1FF0 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _080A2066 - subs r1, r0, #1 - strb r1, [r5, #0xe] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x20 - bhi _080A2066 - movs r0, #0xf - ands r1, r0 - cmp r1, #0 - bne _080A2066 - adds r0, r5, #0 - movs r1, #0x51 - movs r2, #0 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _080A2066 - bl sub_08000E50 - ldr r3, _080A209C @ =gUnk_03000BF0 - movs r1, #0x78 - ands r0, r1 - movs r1, #0x80 - lsls r1, r1, #2 - adds r2, r1, #0 - adds r2, r0, r2 - ldrh r1, [r3, #6] - adds r1, r1, r2 - subs r1, #0x3c - strh r1, [r4, #0x2e] - movs r1, #0x84 - lsls r1, r1, #2 - adds r0, r0, r1 - ldrh r3, [r3, #8] - adds r0, r0, r3 - subs r0, #0x3c - strh r0, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 -_080A2066: - adds r4, r5, #0 - adds r4, #0x7b - ldrb r0, [r4] - cmp r0, #0 - beq _080A20B4 - ldr r0, _080A20A0 @ =gUnk_03001160 - ldr r2, _080A209C @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - movs r3, #0x80 - lsls r3, r3, #2 - adds r1, r1, r3 - ldrh r2, [r2, #8] - adds r3, #0x10 - adds r2, r2, r3 - movs r3, #0x80 - lsls r3, r3, #1 - bl sub_0806FCB8 - cmp r0, #0 - beq _080A20B2 - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _080A20A4 - movs r0, #0x78 - strb r0, [r5, #0xe] - b _080A20B4 - .align 2, 0 -_080A209C: .4byte gUnk_03000BF0 -_080A20A0: .4byte gUnk_03001160 -_080A20A4: - cmp r0, #0x23 - bne _080A20B4 - movs r0, #0x1e - movs r1, #0 - bl sub_08080964 - b _080A20B4 -_080A20B2: - strb r0, [r4] -_080A20B4: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A20B8 -sub_080A20B8: @ 0x080A20B8 - push {r4, lr} - adds r4, r1, #0 - cmp r4, #0 - bne _080A20C4 - movs r0, #1 - b _080A20FA -_080A20C4: - bl sub_08079F8C - cmp r0, #0 - beq _080A20F8 - ldr r0, _080A20F0 @ =gUnk_03001160 - movs r1, #0x36 - ldrsh r0, [r0, r1] - cmp r0, #0 - bne _080A20F8 - movs r1, #0 - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - bne _080A20EC - ldr r0, _080A20F4 @ =gUnk_03003F80 - ldrb r1, [r0, #0x14] - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r1, r0, #0x1f -_080A20EC: - adds r0, r1, #0 - b _080A20FA - .align 2, 0 -_080A20F0: .4byte gUnk_03001160 -_080A20F4: .4byte gUnk_03003F80 -_080A20F8: - movs r0, #0 -_080A20FA: - pop {r4, pc} - - thumb_func_start sub_080A20FC -sub_080A20FC: @ 0x080A20FC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r1, r0, #0 - cmp r1, #0 - bne _080A2114 - adds r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0x1e] - adds r0, r4, #0 - bl sub_0807DD64 -_080A2114: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - pop {r4, pc} - - thumb_func_start sub_080A2124 -sub_080A2124: @ 0x080A2124 - push {lr} - ldr r3, _080A2134 @ =gUnk_08125010 - movs r1, #1 - movs r2, #0xe - bl sub_08078850 - pop {pc} - .align 2, 0 -_080A2134: .4byte gUnk_08125010 - - thumb_func_start sub_080A2138 -sub_080A2138: @ 0x080A2138 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x72 - bl sub_080A3268 - ldr r2, _080A2160 @ =gUnk_02002A40 - ldrb r0, [r4, #0xb] - adds r0, #0x18 - movs r1, #1 - lsls r1, r0 - ldr r0, [r2, #0x40] - orrs r0, r1 - str r0, [r2, #0x40] - adds r0, r4, #0 - movs r1, #0x46 - movs r2, #0 - bl sub_080A29AC - pop {r4, pc} - .align 2, 0 -_080A2160: .4byte gUnk_02002A40 - - thumb_func_start sub_080A2164 -sub_080A2164: @ 0x080A2164 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080A21DC - adds r1, r4, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _080A2180 - bl sub_0807CBE4 - cmp r0, #0 - beq _080A224E -_080A2180: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x19] - subs r0, #0xe - ands r0, r1 - movs r1, #8 - orrs r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r4, #0x19] - movs r0, #3 - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - ldr r0, _080A21D4 @ =gUnk_03000BF0 - ldrb r0, [r0, #5] - strb r0, [r4, #0xf] - movs r0, #2 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x68 - ldr r0, _080A21D8 @ =0x0000FFFE - strh r0, [r1] - adds r1, #2 - movs r0, #0x80 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0x80 - movs r2, #0x80 - movs r3, #0 - bl sub_0805EC9C - b _080A221E - .align 2, 0 -_080A21D4: .4byte gUnk_03000BF0 -_080A21D8: .4byte 0x0000FFFE -_080A21DC: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A221E - movs r0, #2 - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x6a - adds r2, r4, #0 - adds r2, #0x68 - ldrh r0, [r2] - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x77 - bhi _080A2208 - movs r0, #1 - strh r0, [r2] -_080A2208: - ldrh r0, [r1] - cmp r0, #0x88 - bls _080A2212 - ldr r0, _080A2250 @ =0x0000FFFF - strh r0, [r2] -_080A2212: - ldrh r2, [r1] - adds r0, r4, #0 - adds r1, r2, #0 - movs r3, #0 - bl sub_0805EC9C -_080A221E: - ldr r2, _080A2254 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #8 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - adds r2, #0x62 - ldrb r0, [r2] - movs r3, #0xdc - lsls r3, r3, #6 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _080A2258 @ =gUnk_03000BF0 - ldrb r0, [r1, #5] - ldrb r4, [r4, #0xf] - cmp r0, r4 - beq _080A224E - ldrh r0, [r1] - cmp r0, #0 - bne _080A224E - bl sub_0805E780 -_080A224E: - pop {r4, pc} - .align 2, 0 -_080A2250: .4byte 0x0000FFFF -_080A2254: .4byte gUnk_03000F50 -_080A2258: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A225C -sub_080A225C: @ 0x080A225C - push {lr} - ldr r2, _080A2270 @ =gUnk_0812503C - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A2270: .4byte gUnk_0812503C - - thumb_func_start sub_080A2274 -sub_080A2274: @ 0x080A2274 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _080A22AE - adds r0, r1, #0 - bl sub_080A2340 - movs r0, #0xbd - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #3 - cmp r0, #1 - bne _080A229C - movs r1, #2 -_080A229C: - movs r0, #0xbd - movs r2, #0 - bl sub_080A2960 - movs r0, #0xbd - movs r1, #4 - movs r2, #0 - bl sub_080A2960 -_080A22AE: - pop {pc} - - thumb_func_start sub_080A22B0 -sub_080A22B0: @ 0x080A22B0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _080A22C0 - adds r0, r1, #0 - bl sub_080A2340 -_080A22C0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A22C4 -sub_080A22C4: @ 0x080A22C4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #0 - beq _080A22FC - cmp r5, #1 - beq _080A231C - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A233E - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xf] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0xf] - ldrb r1, [r4, #0xd] - adds r0, r1, r0 - strb r0, [r4, #0x1e] - lsls r1, r1, #0x18 - lsls r0, r0, #0x18 - cmp r1, r0 - bne _080A233E - b _080A233A -_080A22FC: - adds r0, r4, #0 - bl sub_080A2340 - movs r0, #8 - strb r0, [r4, #0xe] - strb r5, [r4, #0xf] - ldrb r0, [r4, #0x1e] - strb r0, [r4, #0xd] - bl sub_08000E50 - movs r1, #3 - ands r0, r1 - lsls r0, r0, #4 - adds r0, #0x1e - strh r0, [r4, #0x24] - b _080A233E -_080A231C: - ldrh r0, [r4, #0x24] - subs r0, #1 - strh r0, [r4, #0x24] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A233E - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - lsls r0, r0, #4 - adds r0, #0x1e - strh r0, [r4, #0x24] - movs r0, #2 - b _080A233C -_080A233A: - movs r0, #1 -_080A233C: - strb r0, [r4, #0xc] -_080A233E: - pop {r4, r5, pc} - - thumb_func_start sub_080A2340 -sub_080A2340: @ 0x080A2340 - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - ldr r2, _080A239C @ =gUnk_08125014 - adds r1, r1, r2 - ldrh r2, [r1] - strh r2, [r0, #0x2e] - ldrh r2, [r1, #2] - strh r2, [r0, #0x32] - ldrh r2, [r1, #4] - strb r2, [r0, #0x1e] - ldrb r1, [r1, #6] - movs r2, #0x29 - adds r2, r2, r0 - mov ip, r2 - movs r2, #7 - ands r2, r1 - mov r1, ip - ldrb r3, [r1] - movs r1, #8 - rsbs r1, r1, #0 - ands r1, r3 - orrs r1, r2 - mov r2, ip - strb r1, [r2] - ldrb r3, [r0, #0x19] - movs r2, #0x3f - adds r1, r2, #0 - ands r1, r3 - movs r3, #0x40 - orrs r1, r3 - strb r1, [r0, #0x19] - ldrb r1, [r0, #0x1b] - ands r2, r1 - orrs r2, r3 - strb r2, [r0, #0x1b] - ldrb r2, [r0, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r2 - movs r2, #2 - orrs r1, r2 - strb r1, [r0, #0x18] - movs r1, #1 - strb r1, [r0, #0xc] - bx lr - .align 2, 0 -_080A239C: .4byte gUnk_08125014 - - thumb_func_start sub_080A23A0 -sub_080A23A0: @ 0x080A23A0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _080A23C0 - ldr r0, _080A23D4 @ =gUnk_020342F8 - subs r1, #1 - bl sub_0801D5A8 - cmp r0, #0 - bne _080A23C0 - bl sub_0805E780 -_080A23C0: - ldr r0, _080A23D8 @ =gUnk_0812505C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080A23D4: .4byte gUnk_020342F8 -_080A23D8: .4byte gUnk_0812505C - - thumb_func_start sub_080A23DC -sub_080A23DC: @ 0x080A23DC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080A240C @ =gUnk_08125050 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - adds r2, r4, #0 - adds r2, #0x68 - strh r0, [r2] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r2] - bl sub_0807CBD0 - cmp r0, #0 - beq _080A2410 - movs r0, #2 - b _080A2412 - .align 2, 0 -_080A240C: .4byte gUnk_08125050 -_080A2410: - movs r0, #1 -_080A2412: - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A2420 -sub_080A2420: @ 0x080A2420 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x68 - ldrh r0, [r0] - bl sub_0807CBD0 - cmp r0, #0 - beq _080A243A - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_080A29BC -_080A243A: - pop {r4, pc} - - thumb_func_start sub_080A243C -sub_080A243C: @ 0x080A243C - push {lr} - bl sub_08004274 - pop {pc} - - thumb_func_start nullsub_538 -nullsub_538: @ 0x080A2444 - bx lr - .align 2, 0 - - thumb_func_start sub_080A2448 -sub_080A2448: @ 0x080A2448 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080A245E - adds r0, r5, #0 - bl sub_080A2500 -_080A245E: - ldrb r0, [r5, #0xc] - adds r1, r0, #0 - cmp r1, #0 - bne _080A24CE - adds r0, #1 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0xe] - strb r0, [r5, #0xa] - str r1, [r5, #0x54] - ldr r2, _080A24B4 @ =gUnk_03003D90 - ldr r4, [r2, #4] - cmp r4, r2 - beq _080A24BE -_080A2478: - ldrb r0, [r4, #8] - cmp r0, #3 - bne _080A24B8 - ldrb r0, [r5, #0xb] - ldrb r1, [r4, #9] - cmp r0, r1 - bne _080A24B8 - movs r3, #0x2e - ldrsh r0, [r4, r3] - movs r3, #0x2e - ldrsh r1, [r5, r3] - subs r0, r0, r1 - adds r0, #0x10 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x1f - bhi _080A24B8 - movs r1, #0x32 - ldrsh r0, [r4, r1] - movs r3, #0x32 - ldrsh r1, [r5, r3] - subs r0, r0, r1 - adds r0, #0x10 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x1f - bhi _080A24B8 - str r4, [r5, #0x54] - b _080A24BE - .align 2, 0 -_080A24B4: .4byte gUnk_03003D90 -_080A24B8: - ldr r4, [r4, #4] - cmp r4, r2 - bne _080A2478 -_080A24BE: - ldr r0, [r5, #0x54] - cmp r0, #0 - bne _080A24CA - adds r0, r5, #0 - bl sub_080A2534 -_080A24CA: - bl sub_08054564 -_080A24CE: - ldr r4, [r5, #0x54] - cmp r4, #0 - beq _080A24F6 - movs r2, #0x80 - lsls r2, r2, #0xb - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA48 - ldrh r0, [r5, #0x36] - subs r0, #4 - strh r0, [r5, #0x36] - ldr r0, [r4, #4] - cmp r0, #0 - bne _080A24F6 - adds r0, r5, #0 - bl sub_080A2508 -_080A24F6: - adds r0, r5, #0 - bl sub_08080CB4 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A2500 -sub_080A2500: @ 0x080A2500 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_080A2508 -sub_080A2508: @ 0x080A2508 - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xa] - movs r1, #0 - movs r3, #0 - bl sub_080A2988 - adds r2, r0, #0 - cmp r2, #0 - beq _080A252C - movs r0, #5 - strb r0, [r2, #0xe] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x86 - strh r1, [r0] -_080A252C: - adds r0, r4, #0 - bl sub_080A2500 - pop {r4, pc} - - thumb_func_start sub_080A2534 -sub_080A2534: @ 0x080A2534 - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xa] - movs r1, #0 - movs r3, #0 - bl sub_080A2988 - adds r2, r0, #0 - cmp r2, #0 - beq _080A2558 - movs r0, #4 - strb r0, [r2, #0xe] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r1, [r0] - adds r0, r2, #0 - adds r0, #0x86 - strh r1, [r0] -_080A2558: - adds r0, r4, #0 - bl sub_080A2500 - pop {r4, pc} - - thumb_func_start sub_080A2560 -sub_080A2560: @ 0x080A2560 - push {lr} - ldr r2, _080A2574 @ =gUnk_08125084 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A2574: .4byte gUnk_08125084 - - thumb_func_start sub_080A2578 -sub_080A2578: @ 0x080A2578 - push {lr} - movs r1, #8 - strb r1, [r0, #0xc] - bl sub_080A259C - pop {pc} - - thumb_func_start sub_080A2584 -sub_080A2584: @ 0x080A2584 - push {lr} - bl sub_0805E564 - ldr r1, _080A2598 @ =gUnk_02034490 - movs r0, #0 - strb r0, [r1] - bl sub_0805E780 - pop {pc} - .align 2, 0 -_080A2598: .4byte gUnk_02034490 - - thumb_func_start sub_080A259C -sub_080A259C: @ 0x080A259C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r5, _080A25DC @ =gUnk_03001160 - ldrb r1, [r5, #0x10] - movs r7, #0x7f - adds r0, r7, #0 - ands r0, r1 - strb r0, [r5, #0x10] - ldrb r1, [r5, #0x18] - movs r6, #4 - rsbs r6, r6, #0 - adds r0, r6, #0 - ands r0, r1 - strb r0, [r5, #0x18] - ldrb r1, [r5, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r0, [r4, #0xd] - cmp r0, #1 - beq _080A269C - cmp r0, #1 - bgt _080A25E0 - cmp r0, #0 - beq _080A25E6 - b _080A273C - .align 2, 0 -_080A25DC: .4byte gUnk_03001160 -_080A25E0: - cmp r0, #2 - beq _080A26B4 - b _080A273C -_080A25E6: - movs r0, #1 - movs r2, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x18] - adds r0, r6, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r3, r4, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1d - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r5, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r5, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x1b] - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #4 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _080A2670 @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _080A2678 - ldrb r0, [r4, #0xa] - bl sub_080542AC - ldr r1, _080A2674 @ =0x0000045B - cmp r0, #0 - beq _080A2688 - adds r1, #3 - b _080A2688 - .align 2, 0 -_080A2670: .4byte gUnk_03003F80 -_080A2674: .4byte 0x0000045B -_080A2678: - ldrb r0, [r4, #0xa] - bl sub_080542AC - ldr r1, _080A2698 @ =0x000001B9 - cmp r0, #0 - beq _080A2688 - movs r1, #0xb8 - lsls r1, r1, #2 -_080A2688: - lsrs r0, r1, #8 - strh r0, [r4, #0x12] - movs r0, #0xff - ands r1, r0 - adds r0, r4, #0 - bl sub_080042AC - b _080A273C - .align 2, 0 -_080A2698: .4byte 0x000001B9 -_080A269C: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - beq _080A273C - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - b _080A273C -_080A26B4: - adds r0, r4, #0 - bl sub_080042B8 - ldr r0, _080A2764 @ =gUnk_02000050 - ldrb r1, [r0] - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - bne _080A2762 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A273C - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x69 - ldrb r0, [r0] - strb r0, [r5, #0x10] - adds r0, r4, #0 - adds r0, #0x68 - ldrb r1, [r0] - movs r0, #3 - ands r1, r0 - ldrb r2, [r5, #0x18] - adds r0, r6, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r0, r4, #0 - adds r0, #0x6a - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x3d - strb r1, [r0] - ldr r1, _080A2768 @ =gUnk_03003F80 - adds r0, r4, #0 - adds r0, #0x6b - ldrb r0, [r0] - strb r0, [r1, #7] - adds r0, r4, #0 - adds r0, #0x6c - ldrb r0, [r0] - strb r0, [r1, #0xb] - adds r0, r4, #0 - adds r0, #0x6d - ldrb r0, [r0] - strb r0, [r1, #0xa] - adds r0, r4, #0 - adds r0, #0x6e - ldrb r0, [r0] - adds r2, r1, #0 - adds r2, #0x27 - strb r0, [r2] - adds r0, r4, #0 - adds r0, #0x6f - ldrb r0, [r0] - strb r0, [r1, #0x1a] - ldr r0, [r4, #0x70] - str r0, [r1, #0x30] - adds r0, r4, #0 - adds r0, #0x74 - ldrb r0, [r0] - adds r1, #0x8a - strb r0, [r1] -_080A273C: - ldr r5, [r4, #0x50] - cmp r5, #0 - beq _080A2762 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA30 - ldrh r0, [r4, #0x12] - ldrb r1, [r4, #0x1e] - bl sub_080700C8 - ldrb r1, [r0] - adds r2, r5, #0 - adds r2, #0x62 - strb r1, [r2] - ldrb r1, [r0, #1] - adds r0, r5, #0 - adds r0, #0x63 - strb r1, [r0] -_080A2762: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A2764: .4byte gUnk_02000050 -_080A2768: .4byte gUnk_03003F80 - - thumb_func_start sub_080A276C -sub_080A276C: @ 0x080A276C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r4, r1, #0 - adds r7, r2, #0 - bl sub_0805E744 - adds r6, r0, #0 - cmp r6, #0 - beq _080A2820 - movs r0, #0xc1 - strb r0, [r6, #9] - movs r0, #6 - mov r8, r0 - mov r1, r8 - strb r1, [r6, #8] - strb r4, [r6, #0xa] - strb r7, [r6, #0xb] - str r5, [r6, #0x50] - adds r0, r6, #0 - movs r1, #6 - bl sub_0805EA2C - adds r0, r6, #0 - movs r1, #6 - bl sub_0805EA78 - ldr r4, _080A2828 @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_0806FA24 - ldr r0, _080A282C @ =gUnk_03003DC0 - mov r1, r8 - strb r1, [r0] - ldr r1, _080A2830 @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - ldrb r0, [r4, #0x10] - adds r1, r6, #0 - adds r1, #0x69 - strb r0, [r1] - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - subs r1, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - adds r1, #2 - strb r0, [r1] - ldr r1, _080A2834 @ =gUnk_03003F80 - ldrb r0, [r1, #7] - adds r2, r6, #0 - adds r2, #0x6b - strb r0, [r2] - ldrb r2, [r1, #0xb] - adds r0, r6, #0 - adds r0, #0x6c - strb r2, [r0] - ldrb r0, [r1, #0xa] - adds r2, r6, #0 - adds r2, #0x6d - strb r0, [r2] - adds r0, r1, #0 - adds r0, #0x27 - ldrb r0, [r0] - adds r2, #1 - strb r0, [r2] - ldrb r0, [r1, #0x1a] - adds r2, #1 - strb r0, [r2] - ldr r0, [r1, #0x30] - str r0, [r6, #0x70] - adds r1, #0x8a - ldrb r1, [r1] - adds r0, r6, #0 - adds r0, #0x74 - strb r1, [r0] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_080A2820: - adds r0, r6, #0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A2828: .4byte gUnk_03001160 -_080A282C: .4byte gUnk_03003DC0 -_080A2830: .4byte gUnk_02034490 -_080A2834: .4byte gUnk_03003F80 - - thumb_func_start sub_080A2838 -sub_080A2838: @ 0x080A2838 - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #9] - lsls r2, r2, #3 - ldr r0, _080A2858 @ =gUnk_08126798 - adds r2, r2, r0 - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_080A285C - cmp r0, #2 - bne _080A2856 - adds r0, r4, #0 - bl sub_08016A04 -_080A2856: - pop {r4, pc} - .align 2, 0 -_080A2858: .4byte gUnk_08126798 - - thumb_func_start sub_080A285C -sub_080A285C: @ 0x080A285C - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r2, #0 - ldrb r3, [r4, #0x10] - movs r0, #1 - ands r0, r3 - cmp r0, #0 - beq _080A2870 - movs r0, #1 - b _080A2958 -_080A2870: - ldrb r2, [r5] - movs r0, #3 - ands r0, r2 - cmp r0, #0 - bne _080A288C - lsls r0, r2, #0x1c - lsrs r0, r0, #0x1e - lsls r0, r0, #2 - movs r1, #1 - orrs r0, r1 - orrs r0, r3 - strb r0, [r4, #0x10] - movs r0, #1 - b _080A2958 -_080A288C: - subs r0, #2 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _080A289C - lsls r1, r1, #3 - ldr r0, [r5, #4] - adds r5, r0, r1 -_080A289C: - ldrh r0, [r5, #2] - lsls r0, r0, #0x16 - lsrs r2, r0, #0x16 - adds r1, r2, #0 - ldrb r0, [r5, #3] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1e - cmp r0, #1 - beq _080A28BA - cmp r0, #2 - bne _080A28C4 - adds r0, r4, #0 - adds r0, #0x60 - strh r2, [r0] - b _080A28D2 -_080A28BA: - adds r0, r4, #0 - movs r2, #0 - bl sub_080AE008 - b _080A28CA -_080A28C4: - adds r0, r4, #0 - bl sub_080ADF80 -_080A28CA: - cmp r0, #0 - bne _080A28D2 - movs r0, #0 - b _080A2958 -_080A28D2: - ldrh r0, [r5, #4] - lsls r0, r0, #0x16 - lsrs r1, r0, #0x16 - adds r0, r4, #0 - bl sub_0801D040 - movs r1, #0xff - adds r0, r4, #0 - adds r0, #0x58 - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x40 - movs r0, #0x48 - strb r0, [r1] - ldrh r0, [r5, #6] - lsls r0, r0, #0x16 - lsrs r0, r0, #0x16 - strh r0, [r4, #0x12] - ldrb r0, [r5, #5] - movs r3, #3 - movs r1, #0x30 - ands r1, r0 - ldrb r2, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r5, #7] - lsls r1, r1, #0x1b - movs r0, #0x29 - adds r0, r0, r4 - mov ip, r0 - lsrs r1, r1, #0x1d - lsls r1, r1, #3 - ldrb r2, [r0] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - mov r1, ip - strb r0, [r1] - ldrb r1, [r5, #7] - lsrs r1, r1, #5 - ands r1, r3 - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldr r1, _080A295C @ =gUnk_08125104 - ldrb r0, [r5, #1] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r4, #0x48] - ldrb r0, [r5] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1e - lsls r0, r0, #2 - movs r1, #1 - orrs r0, r1 - ldrb r1, [r4, #0x10] - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #2 -_080A2958: - pop {r4, r5, pc} - .align 2, 0 -_080A295C: .4byte gUnk_08125104 - - thumb_func_start sub_080A2960 -sub_080A2960: @ 0x080A2960 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r2, #0 - bl sub_0805E678 - adds r4, r0, #0 - cmp r4, #0 - beq _080A2984 - movs r0, #6 - strb r0, [r4, #8] - strb r5, [r4, #9] - strb r6, [r4, #0xa] - strb r7, [r4, #0xb] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805EA2C -_080A2984: - adds r0, r4, #0 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080A2988 -sub_080A2988: @ 0x080A2988 - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, r1, #0 - adds r1, r2, #0 - adds r2, r3, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080A29A6 - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_080A29A6: - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A29AC -sub_080A29AC: @ 0x080A29AC - push {r4, lr} - adds r4, r1, #0 - adds r3, r2, #0 - movs r1, #0xf - adds r2, r4, #0 - bl sub_080A2988 - pop {r4, pc} - - thumb_func_start sub_080A29BC -sub_080A29BC: @ 0x080A29BC - push {lr} - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - pop {pc} - - thumb_func_start sub_080A29C8 -sub_080A29C8: @ 0x080A29C8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - movs r0, #0xf - movs r1, #2 - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _080A29F4 - ldr r1, _080A29F8 @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - adds r0, r0, r4 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - adds r0, r0, r5 - strh r0, [r2, #0x32] - adds r0, r2, #0 - adds r0, #0x38 - strb r6, [r0] -_080A29F4: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A29F8: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A29FC -sub_080A29FC: @ 0x080A29FC - push {lr} - movs r1, #0x11 - movs r2, #0 - bl sub_080A29AC - pop {pc} - - thumb_func_start sub_080A2A08 -sub_080A2A08: @ 0x080A2A08 - push {lr} - movs r1, #6 - movs r2, #0 - bl sub_080A29AC - pop {pc} - - thumb_func_start sub_080A2A14 -sub_080A2A14: @ 0x080A2A14 - push {lr} - movs r1, #0xb - movs r2, #0 - bl sub_080A29AC - pop {pc} - - thumb_func_start sub_080A2A20 -sub_080A2A20: @ 0x080A2A20 - push {r4, lr} - adds r4, r1, #0 - adds r3, r2, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _080A2A38 - movs r0, #5 - strb r0, [r1, #0xe] -_080A2A38: - adds r0, r1, #0 - pop {r4, pc} - - thumb_func_start sub_080A2A3C -sub_080A2A3C: @ 0x080A2A3C - push {r4, r5, r6, lr} - adds r4, r1, #0 - adds r5, r2, #0 - adds r6, r3, #0 - movs r1, #0 - adds r2, r4, #0 - adds r3, r5, #0 - bl sub_080A2988 - adds r1, r0, #0 - cmp r1, #0 - beq _080A2A5E - movs r0, #5 - strb r0, [r1, #0xe] - adds r0, r1, #0 - adds r0, #0x86 - strh r6, [r0] -_080A2A5E: - adds r0, r1, #0 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A2A64 -sub_080A2A64: @ 0x080A2A64 - push {lr} - movs r1, #0x20 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _080A2A80 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] -_080A2A80: - adds r0, r2, #0 - pop {pc} - - thumb_func_start sub_080A2A84 -sub_080A2A84: @ 0x080A2A84 - push {r4, r5, r6, r7, lr} - adds r5, r1, #0 - bl sub_080A2A64 - adds r6, r0, #0 - cmp r6, #0 - beq _080A2AD2 - bl sub_08000E50 - adds r4, r0, #0 - adds r5, #1 - adds r1, r5, #0 - bl __modsi3 - adds r1, r0, #0 - lsrs r4, r4, #8 - movs r7, #1 - adds r0, r4, #0 - ands r0, r7 - cmp r0, #0 - beq _080A2AB0 - rsbs r1, r1, #0 -_080A2AB0: - ldrh r0, [r6, #0x2e] - adds r0, r0, r1 - strh r0, [r6, #0x2e] - lsrs r4, r4, #8 - adds r0, r4, #0 - adds r1, r5, #0 - bl __modsi3 - adds r1, r0, #0 - lsrs r4, r4, #8 - ands r4, r7 - cmp r4, #0 - beq _080A2ACC - rsbs r1, r1, #0 -_080A2ACC: - ldrh r0, [r6, #0x32] - adds r0, r0, r1 - strh r0, [r6, #0x32] -_080A2AD2: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080A2AD4 -sub_080A2AD4: @ 0x080A2AD4 - push {lr} - movs r1, #0x21 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _080A2AF0 - adds r3, r2, #0 - adds r3, #0x29 - ldrb r0, [r3] - movs r1, #7 - orrs r0, r1 - strb r0, [r3] -_080A2AF0: - adds r0, r2, #0 - pop {pc} - - thumb_func_start sub_080A2AF4 -sub_080A2AF4: @ 0x080A2AF4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r1, #0 - adds r4, r2, #0 - bl sub_080A2AD4 - adds r6, r0, #0 - cmp r6, #0 - beq _080A2B74 - bl sub_08000E50 - adds r7, r0, #0 - subs r1, r4, r5 - adds r1, #1 - bl __modsi3 - adds r4, r0, #0 - adds r4, r4, r5 - asrs r7, r7, #0x10 - movs r0, #0xff - ands r7, r0 - ldr r0, _080A2B7C @ =gUnk_080C9160 - mov r8, r0 - lsls r0, r7, #1 - add r0, r8 - movs r1, #0 - ldrsh r0, [r0, r1] - lsls r4, r4, #0x18 - asrs r4, r4, #0x10 - adds r1, r4, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r5, #0x80 - lsls r5, r5, #1 - adds r1, r5, #0 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r6, #0x2c] - adds r1, r1, r0 - str r1, [r6, #0x2c] - adds r0, r7, #0 - adds r0, #0x40 - lsls r0, r0, #1 - add r0, r8 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r4, #0 - bl sub_0806F9EC - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - adds r1, r5, #0 - bl sub_0806FA04 - lsls r0, r0, #0x10 - asrs r0, r0, #8 - ldr r1, [r6, #0x30] - subs r1, r1, r0 - str r1, [r6, #0x30] -_080A2B74: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A2B7C: .4byte gUnk_080C9160 - - thumb_func_start sub_080A2B80 -sub_080A2B80: @ 0x080A2B80 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0xf - movs r1, #0x26 - movs r2, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080A2BE0 - bl sub_08000E50 - adds r3, r0, #0 - movs r1, #0xf - adds r2, r3, #0 - ands r2, r1 - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _080A2BAA - rsbs r2, r2, #0 -_080A2BAA: - lsrs r0, r3, #8 - ands r0, r1 - cmp r0, #4 - ble _080A2BB4 - rsbs r0, r0, #0 -_080A2BB4: - lsls r2, r2, #0x10 - lsls r3, r0, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 - adds r0, r5, #0 - adds r0, #0x62 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x63 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x63 - strb r1, [r0] -_080A2BE0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A2BE4 -sub_080A2BE4: @ 0x080A2BE4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080A2CBA - lsrs r0, r1, #3 - cmp r0, #1 - beq _080A2C3C - cmp r0, #1 - bgt _080A2C04 - cmp r0, #0 - beq _080A2C0E - b _080A2CBA -_080A2C04: - cmp r0, #2 - beq _080A2C68 - cmp r0, #3 - beq _080A2C94 - b _080A2CBA -_080A2C0E: - ldrh r5, [r4, #0x32] - adds r0, r4, #0 - bl sub_0806F69C - ldrh r1, [r4, #0x32] - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - subs r0, r0, r1 - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - cmp r1, #0 - beq _080A2CBA - cmp r6, #0 - beq _080A2CBA - ldr r0, _080A2C38 @ =gUnk_03001160 - lsls r1, r1, #8 - movs r2, #0 - bl sub_080044AE - b _080A2CBA - .align 2, 0 -_080A2C38: .4byte gUnk_03001160 -_080A2C3C: - ldrh r5, [r4, #0x2e] - adds r0, r4, #0 - bl sub_0806F69C - ldrh r1, [r4, #0x2e] - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - subs r1, r1, r0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0 - beq _080A2CBA - cmp r6, #0 - beq _080A2CBA - ldr r0, _080A2C64 @ =gUnk_03001160 - lsls r1, r1, #8 - movs r2, #8 - bl sub_080044AE - b _080A2CBA - .align 2, 0 -_080A2C64: .4byte gUnk_03001160 -_080A2C68: - ldrh r5, [r4, #0x32] - adds r0, r4, #0 - bl sub_0806F69C - ldrh r1, [r4, #0x32] - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - subs r1, r1, r0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - cmp r1, #0 - beq _080A2CBA - cmp r6, #0 - beq _080A2CBA - ldr r0, _080A2C90 @ =gUnk_03001160 - lsls r1, r1, #8 - movs r2, #0x10 - bl sub_080044AE - b _080A2CBA - .align 2, 0 -_080A2C90: .4byte gUnk_03001160 -_080A2C94: - ldrh r5, [r4, #0x2e] - adds r0, r4, #0 - bl sub_0806F69C - ldrh r1, [r4, #0x2e] - lsls r0, r5, #0x10 - asrs r0, r0, #0x10 - subs r0, r0, r1 - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - cmp r1, #0 - beq _080A2CBA - cmp r6, #0 - beq _080A2CBA - ldr r0, _080A2CBC @ =gUnk_03001160 - lsls r1, r1, #8 - movs r2, #0x18 - bl sub_080044AE -_080A2CBA: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A2CBC: .4byte gUnk_03001160 - - thumb_func_start sub_080A2CC0 -sub_080A2CC0: @ 0x080A2CC0 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r3, [r5] - cmp r3, #0 - beq _080A2CF8 - ldrh r0, [r3] - cmp r0, #0xfe - bne _080A2CDC - ldrh r1, [r3, #2] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - subs r3, r3, r0 -_080A2CDC: - ldrh r0, [r3] - cmp r0, #0xff - bne _080A2CEA - movs r0, #0xff - strb r0, [r4, #0x15] - movs r0, #0 - b _080A2CEE -_080A2CEA: - strb r0, [r4, #0x15] - ldrh r0, [r3, #4] -_080A2CEE: - strh r0, [r4, #0x24] - ldrh r0, [r3, #2] - strh r0, [r2] - adds r0, r3, #6 - str r0, [r5] -_080A2CF8: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A2CFC -sub_080A2CFC: @ 0x080A2CFC - push {r4, lr} - adds r4, r1, #0 - adds r3, r2, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_080A2D2C - pop {r4, pc} - - thumb_func_start sub_080A2D0C -sub_080A2D0C: @ 0x080A2D0C - push {r4, lr} - adds r4, r1, #0 - adds r3, r2, #0 - movs r1, #1 - adds r2, r4, #0 - bl sub_080A2D2C - pop {r4, pc} - - thumb_func_start sub_080A2D1C -sub_080A2D1C: @ 0x080A2D1C - push {r4, lr} - adds r4, r1, #0 - adds r3, r2, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_080A2D2C - pop {r4, pc} - - thumb_func_start sub_080A2D2C -sub_080A2D2C: @ 0x080A2D2C - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - adds r7, r3, #0 - movs r0, #0x56 - movs r1, #0 - adds r2, r4, #0 - bl sub_080A2960 - adds r4, r0, #0 - cmp r4, #0 - beq _080A2D6E - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FAB0 - str r5, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x62 - strb r6, [r0] - adds r0, #1 - strb r7, [r0] - ldrb r1, [r5, #0x11] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - adds r0, r4, #0 - bl sub_0805E3A0 -_080A2D6E: - adds r0, r4, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080A2D74 -sub_080A2D74: @ 0x080A2D74 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x6c] - cmp r0, #0 - beq _080A2D82 - subs r0, #1 - str r0, [r2, #0x6c] -_080A2D82: - ldr r0, _080A2D94 @ =gUnk_081271D4 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A2D94: .4byte gUnk_081271D4 - - thumb_func_start sub_080A2D98 -sub_080A2D98: @ 0x080A2D98 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080A2DD0 @ =gUnk_03003F80 - str r4, [r0, #0x2c] - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x11] - subs r0, #0x11 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4, #0x11] - movs r0, #0xff - strb r0, [r4, #0x1e] - adds r0, r4, #0 - adds r0, #0x68 - ldrb r0, [r0] - cmp r0, #0xe - bne _080A2DD8 - movs r0, #0x27 - str r0, [r4, #0x70] - ldr r1, _080A2DD4 @ =gUnk_081271DC - ldrb r0, [r1, #1] - str r0, [r4, #0x78] - str r2, [r4, #0x74] - str r1, [r4, #0x7c] - b _080A2DDA - .align 2, 0 -_080A2DD0: .4byte gUnk_03003F80 -_080A2DD4: .4byte gUnk_081271DC -_080A2DD8: - str r2, [r4, #0x70] -_080A2DDA: - ldr r0, _080A2DFC @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - movs r0, #0xe - ands r0, r1 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08079BD8 - adds r0, r4, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 - adds r0, r4, #0 - bl sub_080A2E00 - pop {r4, pc} - .align 2, 0 -_080A2DFC: .4byte gUnk_03001160 - - thumb_func_start sub_080A2E00 -sub_080A2E00: @ 0x080A2E00 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r0, _080A2E90 @ =gUnk_03001160 - mov ip, r0 - mov r1, ip - adds r1, #0x3d - ldrb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _080A2E1A - lsrs r0, r0, #0x18 - cmp r0, #0x81 - bne _080A2E40 -_080A2E1A: - adds r5, r4, #0 - adds r5, #0x3d - ldrb r0, [r5] - movs r2, #0 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - mov r1, ip - adds r1, #0x3e - strb r0, [r1] - adds r3, r4, #0 - adds r3, #0x42 - ldrb r1, [r3] - mov r0, ip - adds r0, #0x42 - strb r1, [r0] - strb r2, [r3] - strb r2, [r5] -_080A2E40: - ldr r0, _080A2E94 @ =gUnk_03003F80 - ldrb r3, [r0, #3] - adds r7, r0, #0 - cmp r3, #0 - beq _080A2F20 - ldr r0, [r7, #0x2c] - cmp r4, r0 - bne _080A2F20 - movs r2, #0x80 - adds r0, r2, #0 - ands r0, r3 - cmp r0, #0 - beq _080A2E9C - ldr r1, _080A2E98 @ =gUnk_08127240 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r4, #0x48] - ldr r0, _080A2E90 @ =gUnk_03001160 - adds r0, #0x3c - ldrb r0, [r0] - adds r0, #1 - movs r1, #0x20 - adds r2, r4, #0 - adds r2, #0x3c - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x7f - ands r0, r3 - strb r0, [r7, #3] - adds r0, r4, #0 - bl sub_080176E4 - b _080A2F30 - .align 2, 0 -_080A2E90: .4byte gUnk_03001160 -_080A2E94: .4byte gUnk_03003F80 -_080A2E98: .4byte gUnk_08127240 -_080A2E9C: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080A2F30 - movs r0, #0x7f - ands r0, r1 - cmp r0, #0x42 - bne _080A2F06 - adds r0, r4, #0 - adds r0, #0x68 - ldrb r1, [r0] - adds r5, r0, #0 - cmp r1, #0xe - bne _080A2F06 - movs r0, #0x40 - ands r0, r3 - lsls r0, r0, #0x18 - lsrs r6, r0, #0x18 - cmp r6, #0 - bne _080A2F06 - ldrb r3, [r5] - movs r0, #0x15 - movs r1, #0 - movs r2, #0 - bl sub_08077CB8 - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _080A2EF4 - movs r0, #1 - strb r0, [r1, #0xf] - ldr r2, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - movs r1, #0x10 - eors r0, r1 - strb r0, [r2, #0x15] - ldr r0, [r4, #0x54] - str r4, [r0, #0x50] -_080A2EF4: - ldr r1, _080A2F1C @ =gUnk_08127220 - ldrb r0, [r1, #1] - str r0, [r4, #0x78] - str r6, [r4, #0x74] - str r1, [r4, #0x7c] - ldrb r0, [r7, #3] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r7, #3] -_080A2F06: - ldr r0, [r4, #0x6c] - cmp r0, #0 - bne _080A2F30 - movs r0, #0x8c - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #8 - str r0, [r4, #0x6c] - b _080A2F30 - .align 2, 0 -_080A2F1C: .4byte gUnk_08127220 -_080A2F20: - movs r1, #0 - strb r1, [r7, #3] - ldr r0, [r7, #0x2c] - cmp r0, r4 - bne _080A2F2C - str r1, [r7, #0x2c] -_080A2F2C: - bl sub_0805E780 -_080A2F30: - ldr r6, _080A301C @ =gUnk_03001160 - ldrh r0, [r6, #0x12] - cmp r0, #1 - beq _080A2F3E - cmp r0, #4 - beq _080A2F3E - b _080A3064 -_080A2F3E: - ldrb r0, [r6, #0x1e] - subs r0, #0x25 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3e - bls _080A2F4C - b _080A3064 -_080A2F4C: - ldrb r2, [r6, #0x18] - movs r1, #0x40 - ands r1, r2 - ldrb r3, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - lsrs r2, r2, #7 - lsls r2, r2, #7 - movs r3, #0x7f - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrb r2, [r6, #0x1e] - ldr r1, [r4, #0x70] - adds r0, r1, #0 - subs r0, #0x25 - adds r0, r2, r0 - adds r5, r4, #0 - adds r5, #0x68 - ldrb r7, [r4, #0x1e] - cmp r0, r7 - beq _080A2FA2 - adds r0, r1, #0 - adds r0, #0xdb - adds r0, r2, r0 - strb r0, [r4, #0x1e] - ldrb r0, [r5] - cmp r0, #0xe - bne _080A2F98 - adds r0, r6, #0 - adds r0, #0x5a - ldrb r1, [r0] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _080A2FA2 -_080A2F98: - ldrb r1, [r4, #0x1e] - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 -_080A2FA2: - ldrb r0, [r5] - cmp r0, #0xe - bne _080A303E - ldr r0, _080A301C @ =gUnk_03001160 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _080A303E - ldr r0, [r4, #0x78] - subs r3, r0, #1 - str r3, [r4, #0x78] - cmp r3, #0 - bne _080A303E - ldr r0, [r4, #0x74] - adds r0, #1 - str r0, [r4, #0x74] - lsls r0, r0, #2 - ldr r1, [r4, #0x7c] - adds r2, r1, r0 - ldrb r0, [r2] - ldr r7, _080A3020 @ =gUnk_03003F80 - cmp r0, #0xff - bne _080A2FEC - ldrb r1, [r7, #3] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080A2FE8 - ldr r0, _080A3024 @ =gUnk_081271DC - str r0, [r4, #0x7c] - movs r0, #0xbf - ands r0, r1 - strb r0, [r7, #3] -_080A2FE8: - str r3, [r4, #0x74] - ldr r1, [r4, #0x7c] -_080A2FEC: - ldr r0, [r4, #0x74] - lsls r0, r0, #2 - adds r2, r1, r0 - ldrb r0, [r2, #1] - str r0, [r4, #0x78] - ldrb r1, [r7, #3] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080A3028 - ldr r0, _080A301C @ =gUnk_03001160 - adds r0, #0x5a - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - adds r1, #8 - ldrb r2, [r2] - adds r1, r1, r2 - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 - b _080A303E - .align 2, 0 -_080A301C: .4byte gUnk_03001160 -_080A3020: .4byte gUnk_03003F80 -_080A3024: .4byte gUnk_081271DC -_080A3028: - ldr r0, _080A3060 @ =gUnk_03001160 - adds r0, #0x5a - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - ldrb r2, [r2] - adds r1, r1, r2 - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 -_080A303E: - ldr r1, _080A3060 @ =gUnk_03001160 - adds r0, r1, #0 - adds r0, #0x5a - ldrb r0, [r0] - adds r2, r4, #0 - adds r2, #0x5a - strb r0, [r2] - adds r0, r1, #0 - adds r0, #0x5b - ldrb r0, [r0] - adds r2, #1 - strb r0, [r2] - adds r0, r4, #0 - bl sub_08078E84 - b _080A3068 - .align 2, 0 -_080A3060: .4byte gUnk_03001160 -_080A3064: - movs r0, #0xff - strb r0, [r4, #0x1e] -_080A3068: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080A306C -sub_080A306C: @ 0x080A306C - push {lr} - ldr r2, _080A3080 @ =gUnk_08127270 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A3080: .4byte gUnk_08127270 - - thumb_func_start sub_080A3084 -sub_080A3084: @ 0x080A3084 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r5, #1 - strb r5, [r4, #0xc] - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080A30F8 - ldr r0, _080A30EC @ =gUnk_03001160 - adds r0, #0x3c - ldrb r0, [r0] - adds r0, #1 - adds r1, r4, #0 - adds r1, #0x3c - strb r0, [r1] - ldr r0, _080A30F0 @ =gUnk_08127278 - str r0, [r4, #0x48] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #2 - bne _080A30CC - strb r5, [r4, #0xb] -_080A30CC: - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - movs r0, #0x3c - str r0, [r4, #0x6c] - adds r0, r4, #0 - bl sub_0801766C - adds r0, r4, #0 - bl sub_0806F69C - ldr r0, _080A30F4 @ =0x0000013F - bl sub_080A3268 - b _080A30FC - .align 2, 0 -_080A30EC: .4byte gUnk_03001160 -_080A30F0: .4byte gUnk_08127278 -_080A30F4: .4byte 0x0000013F -_080A30F8: - movs r0, #6 - strb r0, [r4, #0xe] -_080A30FC: - adds r0, r4, #0 - movs r1, #0x18 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080A310C - pop {r4, r5, pc} - - thumb_func_start sub_080A310C -sub_080A310C: @ 0x080A310C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080A312A - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080A3200 - bl sub_0805E780 - b _080A3200 -_080A312A: - adds r0, r4, #0 - bl sub_08004274 - ldr r0, [r4, #0x6c] - subs r0, #1 - str r0, [r4, #0x6c] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - beq _080A31FC - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080A315C - adds r0, r4, #0 - bl sub_0800451C -_080A315C: - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _080A31F0 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - ldr r1, _080A31F4 @ =gUnk_03001160 - adds r1, #0x38 - ldrb r1, [r1] - movs r2, #0x80 - bl sub_080002F0 - cmp r0, #0 - bne _080A31AE - ldr r1, _080A31F8 @ =gUnk_08003E44 - movs r0, #0x2e - ldrsh r2, [r4, r0] - movs r5, #0x32 - ldrsh r3, [r4, r5] - adds r0, r4, #0 - bl sub_080040D8 - cmp r0, #0 - beq _080A31AE - adds r0, r4, #0 - movs r1, #0x19 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080A31AE: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0 - beq _080A31C6 - adds r0, r4, #0 - movs r1, #0x19 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080A31C6: - adds r0, r4, #0 - movs r1, #0xc - bl sub_08008790 - cmp r0, #0 - beq _080A31D6 - bl sub_0805E780 -_080A31D6: - adds r0, r4, #0 - adds r0, #0x68 - ldrb r3, [r0] - movs r0, #0x15 - movs r1, #1 - movs r2, #0 - bl sub_08077CB8 - str r0, [r4, #0x54] - cmp r0, #0 - beq _080A3200 - str r4, [r0, #0x50] - b _080A3200 - .align 2, 0 -_080A31F0: .4byte gUnk_03000BF0 -_080A31F4: .4byte gUnk_03001160 -_080A31F8: .4byte gUnk_08003E44 -_080A31FC: - bl sub_0805E780 -_080A3200: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A3204 -sub_080A3204: @ 0x080A3204 - push {lr} - bl sub_080A3210 - bl m4aSoundInit - pop {pc} - - thumb_func_start sub_080A3210 -sub_080A3210: @ 0x080A3210 - push {r4, lr} - ldr r4, _080A3230 @ =gUnk_02021EE0 - adds r0, r4, #0 - movs r1, #0x18 - bl sub_0801D630 - bl sub_080A35C8 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x12] - strh r0, [r4, #4] - bl m4aMPlayAllStop - pop {r4, pc} - .align 2, 0 -_080A3230: .4byte gUnk_02021EE0 - - thumb_func_start sub_080A3234 -sub_080A3234: @ 0x080A3234 - push {lr} - ldr r1, _080A3244 @ =gUnk_02021EE0 - strh r0, [r1, #8] - strh r0, [r1, #0xa] - ldrh r0, [r1, #0x14] - bl sub_080A353C - pop {pc} - .align 2, 0 -_080A3244: .4byte gUnk_02021EE0 - - thumb_func_start sub_080A3248 -sub_080A3248: @ 0x080A3248 - push {lr} - ldr r1, _080A3258 @ =gUnk_02021EE0 - strh r0, [r1, #0x10] - strh r0, [r1, #0xe] - ldrh r0, [r1, #0x14] - bl sub_080A353C - pop {pc} - .align 2, 0 -_080A3258: .4byte gUnk_02021EE0 - - thumb_func_start sub_080A325C -sub_080A325C: @ 0x080A325C - ldr r1, _080A3264 @ =gUnk_02021EE0 - strh r0, [r1, #0x12] - bx lr - .align 2, 0 -_080A3264: .4byte gUnk_02021EE0 - - thumb_func_start sub_080A3268 -sub_080A3268: @ 0x080A3268 - push {r4, r5, lr} - adds r3, r0, #0 - ldr r0, _080A32AC @ =gUnk_03001000 - ldrb r2, [r0, #7] - cmp r2, #0 - beq _080A3276 - b _080A347C -_080A3276: - ldr r5, _080A32B0 @ =gUnk_02021EE0 - ldr r4, _080A32B4 @ =0x0000FFFF - ands r4, r3 - ldr r1, _080A32B8 @ =0xFFFF0000 - ands r1, r3 - ldr r0, _080A32BC @ =0x80090000 - cmp r1, r0 - bne _080A3288 - b _080A33A0 -_080A3288: - cmp r1, r0 - bhi _080A3310 - ldr r0, _080A32C0 @ =0x80040000 - cmp r1, r0 - bne _080A3294 - b _080A33F4 -_080A3294: - cmp r1, r0 - bhi _080A32D8 - ldr r0, _080A32C4 @ =0x80020000 - cmp r1, r0 - bne _080A32A0 - b _080A3384 -_080A32A0: - cmp r1, r0 - bhi _080A32CC - ldr r0, _080A32C8 @ =0x80010000 - cmp r1, r0 - beq _080A337C - b _080A3458 - .align 2, 0 -_080A32AC: .4byte gUnk_03001000 -_080A32B0: .4byte gUnk_02021EE0 -_080A32B4: .4byte 0x0000FFFF -_080A32B8: .4byte 0xFFFF0000 -_080A32BC: .4byte 0x80090000 -_080A32C0: .4byte 0x80040000 -_080A32C4: .4byte 0x80020000 -_080A32C8: .4byte 0x80010000 -_080A32CC: - ldr r0, _080A32D4 @ =0x80030000 - cmp r1, r0 - beq _080A338C - b _080A3458 - .align 2, 0 -_080A32D4: .4byte 0x80030000 -_080A32D8: - ldr r0, _080A32F0 @ =0x80060000 - cmp r1, r0 - bne _080A32E0 - b _080A340A -_080A32E0: - cmp r1, r0 - bhi _080A32F8 - ldr r0, _080A32F4 @ =0x80050000 - cmp r1, r0 - bne _080A32EC - b _080A33FE -_080A32EC: - b _080A3458 - .align 2, 0 -_080A32F0: .4byte 0x80060000 -_080A32F4: .4byte 0x80050000 -_080A32F8: - ldr r0, _080A3308 @ =0x80070000 - cmp r1, r0 - bne _080A3300 - b _080A340E -_080A3300: - ldr r0, _080A330C @ =0x80080000 - cmp r1, r0 - beq _080A3398 - b _080A3458 - .align 2, 0 -_080A3308: .4byte 0x80070000 -_080A330C: .4byte 0x80080000 -_080A3310: - ldr r0, _080A3330 @ =0x800D0000 - cmp r1, r0 - bne _080A3318 - b _080A343A -_080A3318: - cmp r1, r0 - bhi _080A3348 - ldr r0, _080A3334 @ =0x800B0000 - cmp r1, r0 - bne _080A3324 - b _080A3420 -_080A3324: - cmp r1, r0 - bhi _080A333C - ldr r0, _080A3338 @ =0x800A0000 - cmp r1, r0 - beq _080A33B6 - b _080A3458 - .align 2, 0 -_080A3330: .4byte 0x800D0000 -_080A3334: .4byte 0x800B0000 -_080A3338: .4byte 0x800A0000 -_080A333C: - ldr r0, _080A3344 @ =0x800C0000 - cmp r1, r0 - beq _080A33CC - b _080A3458 - .align 2, 0 -_080A3344: .4byte 0x800C0000 -_080A3348: - ldr r0, _080A335C @ =0x800F0000 - cmp r1, r0 - bne _080A3350 - b _080A344E -_080A3350: - cmp r1, r0 - bhi _080A3364 - ldr r0, _080A3360 @ =0x800E0000 - cmp r1, r0 - beq _080A3446 - b _080A3458 - .align 2, 0 -_080A335C: .4byte 0x800F0000 -_080A3360: .4byte 0x800E0000 -_080A3364: - ldr r0, _080A3374 @ =0x80100000 - cmp r1, r0 - beq _080A343E - ldr r0, _080A3378 @ =0x80110000 - cmp r1, r0 - beq _080A3454 - b _080A3458 - .align 2, 0 -_080A3374: .4byte 0x80100000 -_080A3378: .4byte 0x80110000 -_080A337C: - strh r2, [r5, #0x14] - bl m4aMPlayAllStop - b _080A347C -_080A3384: - movs r0, #0 - bl sub_080A3234 - b _080A347C -_080A338C: - bl sub_080A35C8 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r5, #0x12] - b _080A3418 -_080A3398: - ldrh r0, [r5, #0x14] - bl sub_080A35B4 - b _080A347C -_080A33A0: - cmp r4, #0 - bne _080A33A6 - ldrh r4, [r5, #0x14] -_080A33A6: - subs r0, r4, #1 - cmp r0, #0x62 - bhi _080A347C - strh r4, [r5, #0x14] - adds r0, r4, #0 - bl m4aSongNumStart - b _080A33C4 -_080A33B6: - subs r0, r4, #1 - cmp r0, #0x62 - bhi _080A347C - strh r4, [r5, #0x14] - adds r0, r4, #0 - bl m4aSongNumStartOrContinue -_080A33C4: - adds r0, r4, #0 - bl sub_080A35A0 - b _080A347C -_080A33CC: - ldr r2, _080A33EC @ =gUnk_08A11C3C - ldr r1, _080A33F0 @ =gUnk_08A11DBC - ldrh r0, [r5, #0x14] - lsls r0, r0, #3 - adds r0, r0, r1 - ldrh r1, [r0, #4] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r0, [r0] - adds r1, r4, #0 - bl m4aMPlayTempoControl - b _080A347C - .align 2, 0 -_080A33EC: .4byte gUnk_08A11C3C -_080A33F0: .4byte gUnk_08A11DBC -_080A33F4: - bl m4aMPlayAllStop - bl m4aSoundVSyncOff - b _080A347C -_080A33FE: - ldrh r0, [r5, #0x14] - cmp r0, #0 - beq _080A347C - bl m4aSongNumStop - b _080A347C -_080A340A: - bl m4aSoundVSyncOn -_080A340E: - ldrh r0, [r5, #0x14] - cmp r0, #0 - beq _080A347C - bl m4aSongNumStartOrContinue -_080A3418: - ldrh r0, [r5, #0x14] - bl sub_080A353C - b _080A347C -_080A3420: - subs r0, r4, #1 - cmp r0, #0x62 - bhi _080A347C - strh r4, [r5, #0x14] - adds r0, r4, #0 - bl m4aSongNumStartOrContinue - bl sub_080A35C8 - adds r0, r4, #0 - bl sub_080A353C - b _080A347C -_080A343A: - strh r2, [r5, #0x10] - b _080A347C -_080A343E: - strh r2, [r5, #0x10] - movs r0, #1 - strb r0, [r5, #2] - b _080A347C -_080A3446: - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r5, #0x10] - b _080A347C -_080A344E: - bl sub_080A35C8 - b _080A347C -_080A3454: - strh r2, [r5, #0x14] - b _080A347C -_080A3458: - cmp r4, #0 - beq _080A347C - subs r0, r4, #1 - cmp r0, #0x62 - bhi _080A3470 - strh r4, [r5, #0x14] - adds r0, r4, #0 - bl m4aSongNumStart - bl sub_080A35C8 - b _080A3476 -_080A3470: - adds r0, r4, #0 - bl m4aSongNumStart -_080A3476: - adds r0, r4, #0 - bl sub_080A353C -_080A347C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A3480 -sub_080A3480: @ 0x080A3480 - push {r4, lr} - ldr r4, _080A34A4 @ =gUnk_02021EE0 - movs r0, #0xa - ldrsh r1, [r4, r0] - movs r2, #8 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _080A34C4 - adds r0, r1, #0 - movs r2, #8 - ldrsh r1, [r4, r2] - bl sub_080A3518 - adds r1, r0, #0 - cmp r1, #0 - bne _080A34A8 - ldrh r0, [r4, #0xa] - b _080A34AC - .align 2, 0 -_080A34A4: .4byte gUnk_02021EE0 -_080A34A8: - ldrh r0, [r4, #8] - adds r0, r0, r1 -_080A34AC: - strh r0, [r4, #8] - movs r1, #8 - ldrsh r0, [r4, r1] - cmp r0, #0 - bge _080A34BC - movs r0, #0 - strh r0, [r4, #0xa] - strh r0, [r4, #8] -_080A34BC: - ldrh r0, [r4, #0x14] - bl sub_080A353C - b _080A3516 -_080A34C4: - movs r2, #0x10 - ldrsh r1, [r4, r2] - movs r2, #0xe - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _080A3516 - adds r0, r1, #0 - movs r2, #0xe - ldrsh r1, [r4, r2] - bl sub_080A3518 - adds r1, r0, #0 - cmp r1, #0 - bne _080A34FC - ldrb r0, [r4, #2] - ldrh r2, [r4, #0x10] - cmp r0, #0 - beq _080A34F8 - cmp r2, #0 - bne _080A34F8 - strb r1, [r4, #2] - strh r1, [r4, #0x14] - movs r0, #0 - bl m4aSongNumStop - b _080A3502 -_080A34F8: - strh r2, [r4, #0xe] - b _080A3502 -_080A34FC: - ldrh r0, [r4, #0xe] - adds r0, r0, r1 - strh r0, [r4, #0xe] -_080A3502: - movs r1, #0xe - ldrsh r0, [r4, r1] - cmp r0, #0 - bge _080A3510 - movs r0, #0 - strh r0, [r4, #0x10] - strh r0, [r4, #0xe] -_080A3510: - ldrh r0, [r4, #0x14] - bl sub_080A353C -_080A3516: - pop {r4, pc} - - thumb_func_start sub_080A3518 -sub_080A3518: @ 0x080A3518 - push {lr} - adds r2, r0, #0 - subs r0, r2, r1 - cmp r0, #0 - ble _080A352C - adds r1, #4 - cmp r2, r1 - ble _080A3532 - movs r0, #4 - b _080A353A -_080A352C: - subs r1, #4 - cmp r2, r1 - blt _080A3536 -_080A3532: - movs r0, #0 - b _080A353A -_080A3536: - movs r0, #4 - rsbs r0, r0, #0 -_080A353A: - pop {pc} - - thumb_func_start sub_080A353C -sub_080A353C: @ 0x080A353C - push {r4, r5, lr} - adds r3, r0, #0 - cmp r3, #0 - beq _080A358C - subs r0, r3, #1 - cmp r0, #0x62 - bhi _080A3558 - ldr r0, _080A3554 @ =gUnk_02021EE0 - movs r1, #0xe - ldrsh r5, [r0, r1] - b _080A355E - .align 2, 0 -_080A3554: .4byte gUnk_02021EE0 -_080A3558: - ldr r0, _080A3590 @ =gUnk_02021EE0 - movs r1, #0x12 - ldrsh r5, [r0, r1] -_080A355E: - movs r1, #8 - ldrsh r0, [r0, r1] - muls r0, r5, r0 - lsrs r5, r0, #8 - ldr r2, _080A3594 @ =gUnk_08A11C3C - ldr r1, _080A3598 @ =gUnk_08A11DBC - lsls r0, r3, #3 - adds r0, r0, r1 - ldrh r1, [r0, #4] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r4, [r0] - adds r0, r4, #0 - bl m4aMPlayImmInit - ldr r1, _080A359C @ =0x0000FFFF - lsls r2, r5, #0x10 - lsrs r2, r2, #0x10 - adds r0, r4, #0 - bl m4aMPlayVolumeControl -_080A358C: - pop {r4, r5, pc} - .align 2, 0 -_080A3590: .4byte gUnk_02021EE0 -_080A3594: .4byte gUnk_08A11C3C -_080A3598: .4byte gUnk_08A11DBC -_080A359C: .4byte 0x0000FFFF - - thumb_func_start sub_080A35A0 -sub_080A35A0: @ 0x080A35A0 - push {lr} - ldr r2, _080A35B0 @ =gUnk_02021EE0 - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r2, #0xa] - bl sub_080A353C - pop {pc} - .align 2, 0 -_080A35B0: .4byte gUnk_02021EE0 - - thumb_func_start sub_080A35B4 -sub_080A35B4: @ 0x080A35B4 - push {lr} - ldr r2, _080A35C4 @ =gUnk_02021EE0 - movs r1, #0 - strh r1, [r2, #0xa] - bl sub_080A353C - pop {pc} - .align 2, 0 -_080A35C4: .4byte gUnk_02021EE0 - - thumb_func_start sub_080A35C8 -sub_080A35C8: @ 0x080A35C8 - ldr r1, _080A35DC @ =gUnk_02021EE0 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r1, #6] - strh r0, [r1, #8] - strh r0, [r1, #0xa] - strh r0, [r1, #0xc] - strh r0, [r1, #0xe] - strh r0, [r1, #0x10] - bx lr - .align 2, 0 -_080A35DC: .4byte gUnk_02021EE0 - - thumb_func_start sub_080A35E0 -sub_080A35E0: @ 0x080A35E0 - push {lr} - ldr r1, _080A35FC @ =gUnk_030010A0 - ldr r0, [r1] - adds r0, #1 - str r0, [r1] - ldr r1, _080A3600 @ =gUnk_08127D00 - ldr r0, _080A3604 @ =gUnk_03001000 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A35FC: .4byte gUnk_030010A0 -_080A3600: .4byte gUnk_08127D00 -_080A3604: .4byte gUnk_03001000 - - thumb_func_start sub_080A3608 -sub_080A3608: @ 0x080A3608 - push {r4, r5, lr} - ldr r0, _080A3640 @ =gUnk_02002A40 - movs r5, #0 - movs r4, #1 - strb r4, [r0, #6] - movs r0, #0x55 - bl sub_0807CD04 - ldr r0, _080A3644 @ =gUnk_03001000 - strb r4, [r0, #3] - ldr r2, _080A3648 @ =gUnk_02000080 - strb r5, [r2, #5] - movs r1, #0 - movs r0, #0xb4 - strh r0, [r2, #8] - movs r0, #5 - strb r0, [r2, #0x16] - movs r0, #4 - strb r0, [r2, #0x17] - strb r1, [r2, #0x1a] - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #1 - bls _080A3650 - ldr r0, _080A364C @ =gUnk_08127998 - b _080A365E - .align 2, 0 -_080A3640: .4byte gUnk_02002A40 -_080A3644: .4byte gUnk_03001000 -_080A3648: .4byte gUnk_02000080 -_080A364C: .4byte gUnk_08127998 -_080A3650: - cmp r0, #1 - bne _080A365C - ldr r0, _080A3658 @ =gUnk_08127644 - b _080A365E - .align 2, 0 -_080A3658: .4byte gUnk_08127644 -_080A365C: - ldr r0, _080A36B0 @ =gUnk_081272F0 -_080A365E: - str r0, [r2, #0xc] - movs r0, #0 - bl sub_0801DA90 - movs r0, #0xb - bl sub_0801D714 - movs r0, #0xc - bl sub_0801D714 - movs r0, #0 - movs r1, #0 - bl sub_0801D79C - ldr r2, _080A36B4 @ =gUnk_03000F50 - movs r0, #0xc8 - lsls r0, r0, #3 - strh r0, [r2] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _080A36B8 @ =0x00002442 - strh r0, [r1] - adds r1, #2 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - ldr r0, _080A36BC @ =0x00001E4D - strh r0, [r2, #0x14] - subs r0, #0x8a - strh r0, [r2, #0x20] - bl sub_080A3210 - bl sub_0805E5B4 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl sub_08050054 - pop {r4, r5, pc} - .align 2, 0 -_080A36B0: .4byte gUnk_081272F0 -_080A36B4: .4byte gUnk_03000F50 -_080A36B8: .4byte 0x00002442 -_080A36BC: .4byte 0x00001E4D - - thumb_func_start sub_080A36C0 -sub_080A36C0: @ 0x080A36C0 - push {lr} - ldr r1, _080A36D4 @ =gUnk_08127D10 - ldr r0, _080A36D8 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A36D4: .4byte gUnk_08127D10 -_080A36D8: .4byte gUnk_02000080 - - thumb_func_start sub_080A36DC -sub_080A36DC: @ 0x080A36DC - push {lr} - ldr r1, _080A36F4 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A36F0 - bl sub_080A3954 -_080A36F0: - pop {pc} - .align 2, 0 -_080A36F4: .4byte gUnk_02000080 - - thumb_func_start sub_080A36F8 -sub_080A36F8: @ 0x080A36F8 - push {r4, r5, lr} - ldr r0, _080A3754 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A3752 - ldr r5, _080A3758 @ =gUnk_02000080 - movs r0, #0x10 - ldrsh r4, [r5, r0] - lsls r4, r4, #1 - ldr r0, _080A375C @ =gUnk_08127CEC - adds r4, r4, r0 - ldrb r0, [r4] - bl sub_0801D714 - ldrb r0, [r4, #1] - bl sub_0801D7EC - ldr r0, _080A3760 @ =gUnk_02021F30 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - ldr r1, _080A3764 @ =gUnk_03000F50 - movs r2, #0 - movs r0, #1 - strh r0, [r1, #0x1a] - ldrh r0, [r5, #0x12] - strh r0, [r1, #0x22] - adds r1, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - strb r2, [r5, #5] - ldrb r0, [r5, #0x1a] - cmp r0, #0 - bne _080A374A - movs r0, #1 - strb r0, [r5, #0x1a] - movs r0, #9 - bl sub_080A3268 -_080A374A: - movs r0, #4 - movs r1, #8 - bl sub_08050054 -_080A3752: - pop {r4, r5, pc} - .align 2, 0 -_080A3754: .4byte gUnk_03000FD0 -_080A3758: .4byte gUnk_02000080 -_080A375C: .4byte gUnk_08127CEC -_080A3760: .4byte gUnk_02021F30 -_080A3764: .4byte gUnk_03000F50 - - thumb_func_start sub_080A3768 -sub_080A3768: @ 0x080A3768 - push {r4, lr} - ldr r4, _080A377C @ =gUnk_02000080 - ldrb r1, [r4, #6] - cmp r1, #1 - beq _080A37C4 - cmp r1, #1 - bgt _080A3780 - cmp r1, #0 - beq _080A378A - b _080A384C - .align 2, 0 -_080A377C: .4byte gUnk_02000080 -_080A3780: - cmp r1, #2 - beq _080A3804 - cmp r1, #3 - beq _080A3812 - b _080A384C -_080A378A: - ldr r0, _080A37B8 @ =gUnk_02021F30 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - movs r1, #0x10 - ldrsh r0, [r4, r1] - ldr r2, _080A37BC @ =gUnk_081272E0 - ldrb r1, [r4, #0x19] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl sub_0805F46C - ldr r1, _080A37C0 @ =gUnk_03000F50 - movs r2, #0 - movs r0, #1 - strh r0, [r1, #0x1a] - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - strb r2, [r4, #0x18] - b _080A385E - .align 2, 0 -_080A37B8: .4byte gUnk_02021F30 -_080A37BC: .4byte gUnk_081272E0 -_080A37C0: .4byte gUnk_03000F50 -_080A37C4: - ldr r0, _080A37F8 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A385E - ldr r0, _080A37FC @ =gUnk_030010A0 - ldr r0, [r0] - ands r0, r1 - cmp r0, #0 - bne _080A385E - ldrb r1, [r4, #0x18] - adds r1, #1 - strb r1, [r4, #0x18] - lsls r0, r1, #0x18 - lsrs r3, r0, #0x18 - ldr r2, _080A3800 @ =gUnk_03000F50 - movs r0, #0x10 - subs r0, r0, r3 - lsls r0, r0, #8 - orrs r0, r3 - adds r2, #0x68 - strh r0, [r2] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0xf - bls _080A385E - b _080A383C - .align 2, 0 -_080A37F8: .4byte gUnk_03000FD0 -_080A37FC: .4byte gUnk_030010A0 -_080A3800: .4byte gUnk_03000F50 -_080A3804: - ldrh r0, [r4, #8] - subs r0, #1 - strh r0, [r4, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A385E - b _080A383C -_080A3812: - ldr r0, _080A3844 @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _080A385E - ldrb r1, [r4, #0x18] - subs r1, #1 - strb r1, [r4, #0x18] - lsls r0, r1, #0x18 - lsrs r3, r0, #0x18 - ldr r2, _080A3848 @ =gUnk_03000F50 - movs r0, #0x10 - subs r0, r0, r3 - lsls r0, r0, #8 - orrs r0, r3 - adds r2, #0x68 - strh r0, [r2] - lsls r1, r1, #0x18 - cmp r1, #0 - bne _080A385E -_080A383C: - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - b _080A385E - .align 2, 0 -_080A3844: .4byte gUnk_030010A0 -_080A3848: .4byte gUnk_03000F50 -_080A384C: - ldr r1, _080A3860 @ =gUnk_03000FD0 - ldrb r0, [r1] - cmp r0, #0 - bne _080A385E - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1, #4] - bl sub_080A3954 -_080A385E: - pop {r4, pc} - .align 2, 0 -_080A3860: .4byte gUnk_03000FD0 - - thumb_func_start sub_080A3864 -sub_080A3864: @ 0x080A3864 - push {lr} - ldr r1, _080A3884 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A3880 - bl sub_080A3954 - movs r0, #5 - movs r1, #8 - bl sub_08050054 -_080A3880: - pop {pc} - .align 2, 0 -_080A3884: .4byte gUnk_02000080 - - thumb_func_start sub_080A3888 -sub_080A3888: @ 0x080A3888 - push {lr} - ldr r1, _080A38A8 @ =gUnk_03000FD0 - ldr r0, _080A38AC @ =0xFFFF7FFF - str r0, [r1, #4] - movs r0, #5 - movs r1, #4 - bl sub_08050054 - ldr r0, _080A38B0 @ =gUnk_02000080 - ldrh r0, [r0, #8] - bl sub_08050038 - bl sub_080A3954 - pop {pc} - .align 2, 0 -_080A38A8: .4byte gUnk_03000FD0 -_080A38AC: .4byte 0xFFFF7FFF -_080A38B0: .4byte gUnk_02000080 - - thumb_func_start sub_080A38B4 -sub_080A38B4: @ 0x080A38B4 - push {lr} - movs r0, #4 - movs r1, #4 - bl sub_08050054 - ldr r0, _080A38CC @ =gUnk_02000080 - ldrh r0, [r0, #8] - bl sub_08050038 - bl sub_080A3954 - pop {pc} - .align 2, 0 -_080A38CC: .4byte gUnk_02000080 - - thumb_func_start sub_080A38D0 -sub_080A38D0: @ 0x080A38D0 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - ldr r0, _080A391C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A3914 - ldr r0, _080A3920 @ =gUnk_02021F30 - movs r6, #0x80 - lsls r6, r6, #4 - adds r1, r6, #0 - bl sub_0801D630 - ldr r4, _080A3924 @ =gUnk_03000F50 - movs r0, #0 - mov r8, r0 - movs r5, #1 - strh r5, [r4, #0x1a] - ldr r0, _080A3928 @ =gUnk_020344B0 - adds r1, r6, #0 - bl sub_0801D630 - strh r5, [r4, #0x26] - adds r4, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r4] - ldr r0, _080A392C @ =gUnk_02000080 - mov r1, r8 - strb r1, [r0, #5] - movs r0, #4 - movs r1, #8 - bl sub_08050054 -_080A3914: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_080A391C: .4byte gUnk_03000FD0 -_080A3920: .4byte gUnk_02021F30 -_080A3924: .4byte gUnk_03000F50 -_080A3928: .4byte gUnk_020344B0 -_080A392C: .4byte gUnk_02000080 - - thumb_func_start sub_080A3930 -sub_080A3930: @ 0x080A3930 - push {lr} - ldr r0, _080A394C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A3948 - movs r0, #7 - movs r1, #8 - bl sub_08050054 - ldr r1, _080A3950 @ =gUnk_03001000 - movs r0, #2 - strb r0, [r1, #3] -_080A3948: - pop {pc} - .align 2, 0 -_080A394C: .4byte gUnk_03000FD0 -_080A3950: .4byte gUnk_03001000 - - thumb_func_start sub_080A3954 -sub_080A3954: @ 0x080A3954 - ldr r2, _080A397C @ =gUnk_02000080 - ldr r1, [r2, #0xc] - ldrb r0, [r1] - movs r3, #0 - strb r0, [r2, #5] - strb r3, [r2, #6] - ldrh r0, [r1, #6] - strh r0, [r2, #0x10] - ldrh r0, [r1, #4] - strh r0, [r2, #8] - ldrh r0, [r1, #8] - strh r0, [r2, #0x12] - ldrh r0, [r1, #0xa] - strh r0, [r2, #0x14] - ldrb r0, [r1, #1] - strb r0, [r2, #0x19] - adds r1, #0xc - str r1, [r2, #0xc] - bx lr - .align 2, 0 -_080A397C: .4byte gUnk_02000080 - - thumb_func_start sub_080A3980 -sub_080A3980: @ 0x080A3980 - push {lr} - ldr r0, _080A3990 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A398E - bl sub_080560A8 -_080A398E: - pop {pc} - .align 2, 0 -_080A3990: .4byte gUnk_03000FD0 - - thumb_func_start sub_080A3994 -sub_080A3994: @ 0x080A3994 - push {r4, r5, lr} - ldr r0, _080A39AC @ =gUnk_02000080 - ldrb r1, [r0, #6] - adds r2, r0, #0 - cmp r1, #4 - bls _080A39A2 - b _080A3B14 -_080A39A2: - lsls r0, r1, #2 - ldr r1, _080A39B0 @ =_080A39B4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A39AC: .4byte gUnk_02000080 -_080A39B0: .4byte _080A39B4 -_080A39B4: @ jump table - .4byte _080A39C8 @ case 0 - .4byte _080A3A38 @ case 1 - .4byte _080A3AB8 @ case 2 - .4byte _080A3AEE @ case 3 - .4byte _080A3B14 @ case 4 -_080A39C8: - movs r5, #1 - strb r5, [r2, #6] - movs r4, #0 - movs r0, #0x1e - strh r0, [r2, #8] - strb r4, [r2, #3] - movs r0, #1 - bl sub_0801DA90 - bl sub_080A3210 - bl sub_080A4D34 - movs r0, #0xa - bl sub_0801D714 - movs r0, #0 - movs r1, #0 - bl sub_0801D79C - movs r0, #4 - bl sub_0801D7EC - movs r0, #0xc0 - lsls r0, r0, #0x13 - movs r1, #0x20 - bl sub_0801D630 - movs r0, #0 - movs r1, #0 - bl sub_08052418 - ldr r2, _080A3A2C @ =gUnk_03000F50 - ldrh r0, [r2] - movs r3, #0xc0 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _080A3A30 @ =0x00001C01 - strh r0, [r2, #0x14] - ldr r0, _080A3A34 @ =0x00001D05 - strh r0, [r2, #0x20] - strh r5, [r2, #0x26] - movs r0, #4 - movs r1, #8 - bl sub_08050054 - b _080A3B36 - .align 2, 0 -_080A3A2C: .4byte gUnk_03000F50 -_080A3A30: .4byte 0x00001C01 -_080A3A34: .4byte 0x00001D05 -_080A3A38: - ldr r0, _080A3A50 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - beq _080A3A42 - b _080A3B36 -_080A3A42: - ldrh r0, [r2, #8] - cmp r0, #0 - beq _080A3A54 - subs r0, #1 - strh r0, [r2, #8] - b _080A3B36 - .align 2, 0 -_080A3A50: .4byte gUnk_03000FD0 -_080A3A54: - ldrb r4, [r2, #3] - ldr r0, _080A3A68 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #0x40 - beq _080A3A72 - cmp r0, #0x40 - bgt _080A3A6C - cmp r0, #1 - beq _080A3A7A - b _080A3A9A - .align 2, 0 -_080A3A68: .4byte gUnk_03000FF0 -_080A3A6C: - cmp r0, #0x80 - beq _080A3A76 - b _080A3A9A -_080A3A72: - movs r4, #0 - b _080A3A9A -_080A3A76: - movs r4, #1 - b _080A3A9A -_080A3A7A: - cmp r4, #0 - beq _080A3A82 - movs r0, #4 - b _080A3A8C -_080A3A82: - movs r0, #8 - movs r1, #0 - bl sub_08050318 - movs r0, #2 -_080A3A8C: - ldr r1, _080A3AB4 @ =gUnk_02000080 - strb r0, [r1, #6] - movs r0, #0x3c - strh r0, [r1, #8] - movs r0, #0x6a - bl sub_080A3268 -_080A3A9A: - ldr r1, _080A3AB4 @ =gUnk_02000080 - ldrb r0, [r1, #3] - cmp r0, r4 - beq _080A3B36 - strb r4, [r1, #3] - movs r0, #0 - adds r1, r4, #0 - bl sub_08052418 - movs r0, #0x69 - bl sub_080A3268 - b _080A3B36 - .align 2, 0 -_080A3AB4: .4byte gUnk_02000080 -_080A3AB8: - movs r0, #0 - bl sub_0807CDA4 - adds r1, r0, #0 - ldr r4, _080A3AD8 @ =gUnk_02000080 - strb r1, [r4] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _080A3ADC - cmp r1, #1 - bne _080A3B36 - movs r0, #4 - strb r0, [r4, #6] - b _080A3B36 - .align 2, 0 -_080A3AD8: .4byte gUnk_02000080 -_080A3ADC: - movs r0, #0x3c - strh r0, [r4, #8] - movs r0, #9 - movs r1, #0 - bl sub_08050318 - movs r0, #3 - strb r0, [r4, #6] - b _080A3B36 -_080A3AEE: - adds r1, r2, #0 - ldrh r0, [r1, #8] - cmp r0, #0 - beq _080A3AFC - subs r0, #1 - strh r0, [r1, #8] - b _080A3B36 -_080A3AFC: - ldr r0, _080A3B10 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #0xb - ands r0, r1 - cmp r0, #0 - beq _080A3B36 - movs r0, #1 - strb r0, [r2, #6] - b _080A3B36 - .align 2, 0 -_080A3B10: .4byte gUnk_03000FF0 -_080A3B14: - ldr r2, _080A3B38 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _080A3B3C @ =0x0000FDFF - ands r0, r1 - movs r4, #0 - strh r0, [r2] - bl sub_08050384 - movs r0, #7 - movs r1, #8 - bl sub_08050054 - ldr r1, _080A3B40 @ =gUnk_03001000 - movs r0, #3 - strb r0, [r1, #3] - ldr r0, _080A3B44 @ =gUnk_02000080 - strb r4, [r0, #6] -_080A3B36: - pop {r4, r5, pc} - .align 2, 0 -_080A3B38: .4byte gUnk_03000F50 -_080A3B3C: .4byte 0x0000FDFF -_080A3B40: .4byte gUnk_03001000 -_080A3B44: .4byte gUnk_02000080 - - thumb_func_start sub_080A3B48 -sub_080A3B48: @ 0x080A3B48 - push {lr} - movs r1, #0 - ldr r0, _080A3B6C @ =gUnk_02002A40 - ldr r3, _080A3B70 @ =0x0000012B - adds r2, r0, r3 - ldrb r0, [r2] - cmp r0, #0 - beq _080A3B66 -_080A3B58: - adds r1, #1 - cmp r1, #0x12 - bhi _080A3B66 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, #0 - bne _080A3B58 -_080A3B66: - adds r0, r1, #0 - pop {pc} - .align 2, 0 -_080A3B6C: .4byte gUnk_02002A40 -_080A3B70: .4byte 0x0000012B - - thumb_func_start sub_080A3B74 -sub_080A3B74: @ 0x080A3B74 - ldr r0, _080A3B80 @ =gUnk_02000080 - adds r0, #0x2f - movs r1, #0 - strb r1, [r0] - bx lr - .align 2, 0 -_080A3B80: .4byte gUnk_02000080 - - thumb_func_start sub_080A3B84 -sub_080A3B84: @ 0x080A3B84 - push {r4, r5, lr} - ldr r4, _080A3BC4 @ =gUnk_030010A0 - adds r4, #0x2c - movs r5, #0 - movs r0, #2 - strb r0, [r4] - bl sub_080AD90C - ldr r1, _080A3BC8 @ =gUnk_081280C4 - ldr r0, _080A3BCC @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080A3B74 - bl sub_080A4054 - bl sub_0801C1D4 - bl sub_0801C208 - bl sub_0805E5C0 - bl sub_080AD9B0 - bl sub_080AD918 - strb r5, [r4] - pop {r4, r5, pc} - .align 2, 0 -_080A3BC4: .4byte gUnk_030010A0 -_080A3BC8: .4byte gUnk_081280C4 -_080A3BCC: .4byte gUnk_02000080 - - thumb_func_start sub_080A3BD0 -sub_080A3BD0: @ 0x080A3BD0 - push {r4, lr} - ldr r0, _080A3C54 @ =gUnk_02000080 - movs r1, #0 - movs r4, #1 - strb r4, [r0, #1] - adds r0, #0x2a - strb r1, [r0] - bl sub_080A4D34 - movs r0, #0xcb - bl sub_0801D714 - movs r0, #0x75 - bl sub_0801D7EC - bl sub_080A4494 - adds r1, r0, #7 - cmp r1, #0 - bge _080A3BFA - adds r1, #7 -_080A3BFA: - asrs r0, r1, #3 - subs r0, #6 - cmp r0, #0 - bge _080A3C04 - movs r0, #0 -_080A3C04: - cmp r0, #6 - ble _080A3C0A - movs r0, #6 -_080A3C0A: - adds r0, #0x76 - bl sub_0801D7EC - ldr r1, _080A3C58 @ =gUnk_03000F50 - ldrh r2, [r1] - movs r3, #0xf0 - lsls r3, r3, #5 - adds r0, r3, #0 - orrs r0, r2 - strh r0, [r1] - ldr r0, _080A3C5C @ =0x00001C01 - strh r0, [r1, #0x14] - ldr r0, _080A3C60 @ =0x00001D02 - strh r0, [r1, #0x20] - ldr r0, _080A3C64 @ =0x00001E0B - strh r0, [r1, #0x2c] - strh r4, [r1, #0x1a] - strh r4, [r1, #0x26] - strh r4, [r1, #0x32] - bl sub_080A4528 - bl sub_080A4398 - movs r0, #0 - bl sub_0801E738 - ldr r0, _080A3C68 @ =gUnk_081280DC - bl sub_080A70AC - movs r0, #1 - bl sub_080A7114 - movs r0, #6 - movs r1, #8 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_080A3C54: .4byte gUnk_02000080 -_080A3C58: .4byte gUnk_03000F50 -_080A3C5C: .4byte 0x00001C01 -_080A3C60: .4byte 0x00001D02 -_080A3C64: .4byte 0x00001E0B -_080A3C68: .4byte gUnk_081280DC - - thumb_func_start sub_080A3C6C -sub_080A3C6C: @ 0x080A3C6C - push {r4, r5, lr} - ldr r0, _080A3C9C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - beq _080A3C78 - b _080A3DA8 -_080A3C78: - ldr r5, _080A3CA0 @ =gUnk_02000080 - movs r0, #2 - strb r0, [r5, #1] - adds r0, r5, #0 - adds r0, #0x28 - ldrb r0, [r0] - lsls r2, r0, #0x10 - ldr r0, [r5, #0x10] - subs r4, r2, r0 - adds r1, r4, #0 - cmp r4, #0 - bge _080A3C92 - rsbs r1, r4, #0 -_080A3C92: - ldr r0, _080A3CA4 @ =0x00001FFD - cmp r1, r0 - bhi _080A3CA8 - str r2, [r5, #0x10] - b _080A3CDE - .align 2, 0 -_080A3C9C: .4byte gUnk_03000FD0 -_080A3CA0: .4byte gUnk_02000080 -_080A3CA4: .4byte 0x00001FFD -_080A3CA8: - movs r0, #1 - strb r0, [r5, #1] - adds r0, r4, #0 - bl sub_08000E44 - adds r2, r0, #0 - adds r0, r4, #0 - cmp r0, #0 - bge _080A3CBE - ldr r1, _080A3D18 @ =0x0001FFFF - adds r0, r0, r1 -_080A3CBE: - asrs r4, r0, #0x11 - cmp r4, #0 - bge _080A3CC6 - rsbs r4, r4, #0 -_080A3CC6: - cmp r4, #5 - ble _080A3CCC - movs r4, #5 -_080A3CCC: - ldr r0, _080A3D1C @ =gUnk_081280EE - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, _080A3D20 @ =0x00000666 - muls r0, r2, r0 - muls r1, r0, r1 - ldr r0, [r5, #0x10] - adds r0, r0, r1 - str r0, [r5, #0x10] -_080A3CDE: - adds r3, r5, #0 - adds r3, #0x29 - ldrb r2, [r3] - ldr r0, [r5, #0x10] - adds r1, r0, #0 - cmp r0, #0 - bge _080A3CF0 - ldr r4, _080A3D24 @ =0x0000FFFF - adds r1, r0, r4 -_080A3CF0: - asrs r1, r1, #0x10 - cmp r2, r1 - beq _080A3CFE - strb r1, [r3] - movs r0, #0x69 - bl sub_080A3268 -_080A3CFE: - ldr r2, _080A3D28 @ =gUnk_03000FF0 - ldrh r1, [r2, #2] - ldr r0, _080A3D2C @ =0x0000020A - ands r0, r1 - cmp r0, #0 - beq _080A3D30 - movs r0, #2 - bl sub_080A7114 - movs r0, #0x6c - bl sub_080A3268 - b _080A3DA8 - .align 2, 0 -_080A3D18: .4byte 0x0001FFFF -_080A3D1C: .4byte gUnk_081280EE -_080A3D20: .4byte 0x00000666 -_080A3D24: .4byte 0x0000FFFF -_080A3D28: .4byte gUnk_03000FF0 -_080A3D2C: .4byte 0x0000020A -_080A3D30: - adds r0, r5, #0 - adds r0, #0x28 - ldrb r4, [r0] - ldrh r1, [r2, #4] - adds r5, r0, #0 - cmp r1, #0x20 - beq _080A3D56 - cmp r1, #0x20 - bgt _080A3D4C - cmp r1, #1 - beq _080A3D5E - cmp r1, #0x10 - beq _080A3D5A - b _080A3D8A -_080A3D4C: - cmp r1, #0x40 - beq _080A3D56 - cmp r1, #0x80 - beq _080A3D5A - b _080A3D8A -_080A3D56: - subs r4, #1 - b _080A3D8A -_080A3D5A: - adds r4, #1 - b _080A3D8A -_080A3D5E: - ldr r2, _080A3DAC @ =gUnk_02000080 - ldrb r0, [r2, #1] - cmp r0, #2 - bne _080A3D8A - ldr r0, [r2, #0x10] - cmp r0, #0 - bge _080A3D70 - ldr r1, _080A3DB0 @ =0x0000FFFF - adds r0, r0, r1 -_080A3D70: - asrs r4, r0, #0x10 - ldr r0, _080A3DB4 @ =gUnk_02002A40 - movs r1, #0x8c - lsls r1, r1, #1 - adds r0, r0, r1 - adds r0, r4, r0 - ldrb r1, [r0] - adds r0, r2, #0 - adds r0, #0x2a - strb r1, [r0] - movs r0, #3 - bl sub_080A7114 -_080A3D8A: - bl sub_080A3B48 - cmp r0, r4 - bgt _080A3D94 - subs r4, r0, #1 -_080A3D94: - cmp r0, #1 - bgt _080A3D9A - movs r4, #0 -_080A3D9A: - cmp r4, #0 - bge _080A3DA0 - movs r4, #0 -_080A3DA0: - ldrb r0, [r5] - cmp r0, r4 - beq _080A3DA8 - strb r4, [r5] -_080A3DA8: - pop {r4, r5, pc} - .align 2, 0 -_080A3DAC: .4byte gUnk_02000080 -_080A3DB0: .4byte 0x0000FFFF -_080A3DB4: .4byte gUnk_02002A40 - - thumb_func_start sub_080A3DB8 -sub_080A3DB8: @ 0x080A3DB8 - push {lr} - ldr r0, _080A3DDC @ =gUnk_02000080 - ldrb r1, [r0, #1] - cmp r1, #6 - bne _080A3DEE - ldr r0, _080A3DE0 @ =gUnk_02022740 - strb r1, [r0] - ldrb r0, [r0, #3] - lsls r0, r0, #3 - ldr r1, _080A3DE4 @ =gUnk_080C9CBC - adds r1, r0, r1 - ldrb r0, [r1, #3] - cmp r0, #0 - beq _080A3DE8 - ldrb r1, [r1, #4] - bl sub_080A7138 - b _080A3DF8 - .align 2, 0 -_080A3DDC: .4byte gUnk_02000080 -_080A3DE0: .4byte gUnk_02022740 -_080A3DE4: .4byte gUnk_080C9CBC -_080A3DE8: - bl sub_080A71DC - b _080A3DF8 -_080A3DEE: - ldr r1, _080A3DFC @ =gUnk_02022740 - movs r0, #5 - strb r0, [r1] - bl sub_080A71DC -_080A3DF8: - pop {pc} - .align 2, 0 -_080A3DFC: .4byte gUnk_02022740 - - thumb_func_start sub_080A3E00 -sub_080A3E00: @ 0x080A3E00 - push {lr} - ldr r1, _080A3E18 @ =gUnk_02000080 - movs r0, #3 - strb r0, [r1, #1] - ldr r2, _080A3E1C @ =gUnk_081280F4 - ldrb r0, [r1, #6] - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A3E18: .4byte gUnk_02000080 -_080A3E1C: .4byte gUnk_081280F4 - - thumb_func_start sub_080A3E20 -sub_080A3E20: @ 0x080A3E20 - push {lr} - ldr r2, _080A3E44 @ =gUnk_02000080 - movs r0, #0 - strh r0, [r2, #0x18] - adds r1, r2, #0 - adds r1, #0x2c - ldrb r0, [r1] - adds r0, #2 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0x45 - ble _080A3E42 - movs r0, #0x46 - strb r0, [r1] - movs r0, #1 - strb r0, [r2, #6] -_080A3E42: - pop {pc} - .align 2, 0 -_080A3E44: .4byte gUnk_02000080 - - thumb_func_start sub_080A3E48 -sub_080A3E48: @ 0x080A3E48 - push {r4, lr} - ldr r2, _080A3E78 @ =gUnk_080C9CBC - ldr r3, _080A3E7C @ =gUnk_02000080 - adds r0, r3, #0 - adds r0, #0x2a - ldrb r0, [r0] - lsls r0, r0, #3 - adds r0, r0, r2 - ldrb r1, [r0, #5] - ldr r0, _080A3E80 @ =gUnk_02022740 - ldrb r0, [r0, #3] - lsls r0, r0, #3 - adds r0, r0, r2 - ldrb r0, [r0, #5] - cmp r1, r0 - beq _080A3E84 - movs r0, #0x8c - lsls r0, r0, #1 - bl sub_080A3268 - movs r0, #4 - bl sub_080A7114 - b _080A3EC8 - .align 2, 0 -_080A3E78: .4byte gUnk_080C9CBC -_080A3E7C: .4byte gUnk_02000080 -_080A3E80: .4byte gUnk_02022740 -_080A3E84: - movs r2, #0 - movs r0, #2 - strb r0, [r3, #6] - movs r0, #0x14 - strh r0, [r3, #8] - ldr r3, _080A3ECC @ =gUnk_03000F50 - ldrh r0, [r3] - movs r4, #0x80 - lsls r4, r4, #6 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r3] - adds r1, r3, #0 - adds r1, #0x58 - ldr r0, _080A3ED0 @ =0x00006887 - strh r0, [r1] - adds r1, #4 - ldr r0, _080A3ED4 @ =0x0000405F - strh r0, [r1] - adds r1, #4 - movs r0, #0x3f - strh r0, [r1] - adds r1, #2 - movs r0, #0x1f - strh r0, [r1] - adds r1, #4 - ldr r0, _080A3ED8 @ =0x00003F90 - strh r0, [r1] - adds r0, r3, #0 - adds r0, #0x6a - strh r2, [r0] - movs r0, #0xfa - bl sub_080A3268 -_080A3EC8: - pop {r4, pc} - .align 2, 0 -_080A3ECC: .4byte gUnk_03000F50 -_080A3ED0: .4byte 0x00006887 -_080A3ED4: .4byte 0x0000405F -_080A3ED8: .4byte 0x00003F90 - - thumb_func_start sub_080A3EDC -sub_080A3EDC: @ 0x080A3EDC - push {lr} - ldr r2, _080A3F08 @ =gUnk_03000F50 - adds r1, r2, #0 - adds r1, #0x6a - ldrh r0, [r1] - adds r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xe - bls _080A3F04 - movs r0, #0 - strh r0, [r1] - ldrh r1, [r2] - ldr r0, _080A3F0C @ =0x0000DFFF - ands r0, r1 - strh r0, [r2] - movs r0, #5 - bl sub_080A7114 -_080A3F04: - pop {pc} - .align 2, 0 -_080A3F08: .4byte gUnk_03000F50 -_080A3F0C: .4byte 0x0000DFFF - - thumb_func_start sub_080A3F10 -sub_080A3F10: @ 0x080A3F10 - push {r4, lr} - ldr r2, _080A3F48 @ =gUnk_02000080 - movs r0, #4 - strb r0, [r2, #1] - adds r3, r2, #0 - adds r3, #0x2c - ldrb r1, [r3] - subs r1, #3 - strb r1, [r3] - movs r4, #0x80 - lsls r4, r4, #1 - adds r0, r4, #0 - ldrh r4, [r2, #0x18] - adds r0, r0, r4 - strh r0, [r2, #0x18] - lsls r1, r1, #0x18 - cmp r1, #0 - bge _080A3F46 - movs r0, #0 - strh r0, [r2, #0x18] - strb r0, [r3] - movs r0, #1 - bl sub_080A7114 - movs r0, #0x6d - bl sub_080A3268 -_080A3F46: - pop {r4, pc} - .align 2, 0 -_080A3F48: .4byte gUnk_02000080 - - thumb_func_start sub_080A3F4C -sub_080A3F4C: @ 0x080A3F4C - push {lr} - ldr r1, _080A3F60 @ =gUnk_08128100 - ldr r0, _080A3F64 @ =gUnk_02000080 - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A3F60: .4byte gUnk_08128100 -_080A3F64: .4byte gUnk_02000080 - - thumb_func_start sub_080A3F68 -sub_080A3F68: @ 0x080A3F68 - push {r4, r5, lr} - ldr r5, _080A3FB4 @ =gUnk_02000080 - movs r0, #5 - strb r0, [r5, #1] - ldr r4, _080A3FB8 @ =gUnk_02002C81 - ldr r0, _080A3FBC @ =gUnk_02022740 - ldrb r1, [r0, #3] - adds r0, r4, #0 - bl sub_0801D5BC - ldr r0, _080A3FC0 @ =0xFFFFFED6 - adds r1, r4, r0 - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x63 - bls _080A3F96 - ldr r0, _080A3FC4 @ =0xFFFFFED5 - adds r1, r4, r0 - movs r0, #1 - strb r0, [r1] -_080A3F96: - bl sub_080A4468 - movs r0, #0xcd - bl sub_080A3268 - ldr r0, _080A3FC8 @ =0x00000702 - movs r1, #0xe - bl sub_080563C8 - movs r0, #1 - strb r0, [r5, #6] - movs r0, #0x78 - strh r0, [r5, #8] - pop {r4, r5, pc} - .align 2, 0 -_080A3FB4: .4byte gUnk_02000080 -_080A3FB8: .4byte gUnk_02002C81 -_080A3FBC: .4byte gUnk_02022740 -_080A3FC0: .4byte 0xFFFFFED6 -_080A3FC4: .4byte 0xFFFFFED5 -_080A3FC8: .4byte 0x00000702 - - thumb_func_start sub_080A3FCC -sub_080A3FCC: @ 0x080A3FCC - push {lr} - ldr r0, _080A3FE8 @ =gUnk_02000050 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _080A3FE6 - ldr r0, _080A3FEC @ =gUnk_02000080 - movs r1, #2 - strb r1, [r0, #6] - ldr r0, _080A3FF0 @ =0x00000147 - bl sub_080A3268 -_080A3FE6: - pop {pc} - .align 2, 0 -_080A3FE8: .4byte gUnk_02000050 -_080A3FEC: .4byte gUnk_02000080 -_080A3FF0: .4byte 0x00000147 - - thumb_func_start sub_080A3FF4 -sub_080A3FF4: @ 0x080A3FF4 - push {lr} - ldr r2, _080A4014 @ =gUnk_02000080 - ldrh r0, [r2, #8] - subs r0, #1 - strh r0, [r2, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _080A4018 - ldrh r0, [r2, #0x1a] - ldrh r3, [r2, #0x18] - adds r1, r0, r3 - strh r1, [r2, #0x18] - adds r0, #0x20 - strh r0, [r2, #0x1a] - b _080A4036 - .align 2, 0 -_080A4014: .4byte gUnk_02000080 -_080A4018: - movs r0, #6 - strb r0, [r2, #1] - movs r0, #3 - strb r0, [r2, #6] - movs r0, #0x4f - strh r0, [r2, #8] - movs r0, #0xb3 - movs r1, #1 - movs r2, #0 - bl sub_080A2960 - movs r0, #0xe5 - lsls r0, r0, #1 - bl sub_080A3268 -_080A4036: - pop {pc} - - thumb_func_start sub_080A4038 -sub_080A4038: @ 0x080A4038 - push {lr} - ldr r1, _080A4050 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _080A404E - movs r0, #2 - bl sub_080A7114 -_080A404E: - pop {pc} - .align 2, 0 -_080A4050: .4byte gUnk_02000080 - - thumb_func_start sub_080A4054 -sub_080A4054: @ 0x080A4054 - push {lr} - bl sub_080A422C - bl sub_080A414C - bl sub_080A4080 - movs r2, #0 - ldr r0, _080A407C @ =gUnk_02019EE0 - adds r1, r0, #1 -_080A4068: - ldrb r0, [r1] - cmp r0, #0 - beq _080A4072 - subs r0, #1 - strb r0, [r1] -_080A4072: - adds r1, #4 - adds r2, #1 - cmp r2, #0xf - bls _080A4068 - pop {pc} - .align 2, 0 -_080A407C: .4byte gUnk_02019EE0 - - thumb_func_start sub_080A4080 -sub_080A4080: @ 0x080A4080 - push {r4, r5, r6, r7, lr} - ldr r4, _080A4134 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r4, #4] - strh r0, [r4, #6] - ldr r5, _080A4138 @ =gUnk_02000080 - adds r0, r5, #0 - adds r0, #0x2f - movs r1, #0 - ldrsb r1, [r0, r1] - movs r0, #0x10 - subs r0, r0, r1 - strh r0, [r4, #2] - movs r0, #0x40 - strh r0, [r4] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r4, #8] - ldr r0, _080A413C @ =0x000001FB - movs r1, #0 - bl sub_080ADA14 - movs r0, #0x94 - strh r0, [r4, #2] - movs r0, #0x50 - strh r0, [r4] - movs r0, #0x90 - lsls r0, r0, #3 - strh r0, [r4, #8] - movs r7, #0xfd - lsls r7, r7, #1 - adds r0, r7, #0 - movs r1, #0 - bl sub_080ADA14 - movs r0, #0xb8 - strh r0, [r4] - movs r0, #0x94 - lsls r0, r0, #3 - strh r0, [r4, #8] - adds r0, r7, #0 - movs r1, #1 - bl sub_080ADA14 - ldr r0, _080A4140 @ =gUnk_03001000 - ldrh r0, [r0, #0xc] - lsrs r0, r0, #2 - movs r1, #0xe - ands r0, r1 - ldr r1, _080A4144 @ =gUnk_08128110 - adds r6, r0, r1 - ldrb r1, [r6] - movs r0, #0xa - subs r0, r0, r1 - strh r0, [r4] - movs r0, #0x9c - lsls r0, r0, #3 - strh r0, [r4, #8] - bl sub_080A3B48 - subs r0, #1 - cmp r0, #0 - ble _080A4130 - ldr r1, [r5, #0x10] - cmp r1, #0 - bge _080A4108 - ldr r2, _080A4148 @ =0x0000FFFF - adds r1, r1, r2 -_080A4108: - asrs r5, r1, #0x10 - cmp r5, r0 - beq _080A411C - ldrb r0, [r6, #1] - adds r0, #0x77 - strh r0, [r4, #2] - adds r0, r7, #0 - movs r1, #3 - bl sub_080ADA14 -_080A411C: - cmp r5, #0 - beq _080A4130 - ldrb r1, [r6, #1] - movs r0, #0x27 - subs r0, r0, r1 - strh r0, [r4, #2] - adds r0, r7, #0 - movs r1, #2 - bl sub_080ADA14 -_080A4130: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A4134: .4byte gUnk_03001010 -_080A4138: .4byte gUnk_02000080 -_080A413C: .4byte 0x000001FB -_080A4140: .4byte gUnk_03001000 -_080A4144: .4byte gUnk_08128110 -_080A4148: .4byte 0x0000FFFF - - thumb_func_start sub_080A414C -sub_080A414C: @ 0x080A414C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r4, _080A4210 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r4, #4] - strh r0, [r4, #6] - ldr r0, _080A4214 @ =gUnk_02000080 - ldrh r0, [r0, #0x10] - ldr r1, _080A4218 @ =0x00000B21 - bl __divsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - movs r5, #3 - rsbs r5, r5, #0 - movs r1, #0xff - mov r8, r1 - adds r7, r4, #0 - ldr r6, _080A421C @ =gUnk_080C9160 - rsbs r0, r0, #0 - adds r4, r0, #0 - subs r4, #0x45 - ldr r2, _080A4220 @ =gUnk_02002B6B - mov sb, r2 -_080A4180: - adds r2, r4, #0 - mov r3, r8 - ands r2, r3 - lsls r0, r2, #1 - adds r0, r0, r6 - movs r3, #0 - ldrsh r1, [r0, r3] - lsls r0, r1, #4 - adds r0, r0, r1 - lsls r0, r0, #2 - cmp r0, #0 - bge _080A419A - adds r0, #0xff -_080A419A: - asrs r0, r0, #8 - adds r0, #0x4f - strh r0, [r7, #2] - adds r0, r2, #0 - adds r0, #0x40 - mov r1, r8 - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r6 - movs r2, #0 - ldrsh r1, [r0, r2] - lsls r0, r1, #5 - adds r0, r0, r1 - lsls r0, r0, #1 - cmp r0, #0 - bge _080A41BC - adds r0, #0xff -_080A41BC: - asrs r0, r0, #8 - subs r0, #0x10 - strh r0, [r7] - ldr r2, _080A4214 @ =gUnk_02000080 - ldr r0, [r2, #0x10] - cmp r0, #0 - bge _080A41CE - ldr r3, _080A4224 @ =0x0000FFFF - adds r0, r0, r3 -_080A41CE: - asrs r0, r0, #0x10 - adds r3, r0, r5 - cmp r3, #0 - blt _080A4200 - mov r1, sb - adds r0, r3, r1 - ldrb r1, [r0] - ldr r0, _080A4228 @ =gUnk_02002A40 - cmp r5, #0 - bne _080A41EE - ldrb r2, [r2, #1] - cmp r2, #4 - bgt _080A41EE - cmp r2, #3 - blt _080A41EE - subs r1, #1 -_080A41EE: - cmp r1, #0 - ble _080A4200 - movs r2, #0x8c - lsls r2, r2, #1 - adds r0, r0, r2 - adds r0, r3, r0 - ldrb r0, [r0] - bl sub_080A42E0 -_080A4200: - adds r4, #0x17 - adds r5, #1 - cmp r5, #3 - ble _080A4180 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A4210: .4byte gUnk_03001010 -_080A4214: .4byte gUnk_02000080 -_080A4218: .4byte 0x00000B21 -_080A421C: .4byte gUnk_080C9160 -_080A4220: .4byte gUnk_02002B6B -_080A4224: .4byte 0x0000FFFF -_080A4228: .4byte gUnk_02002A40 - - thumb_func_start sub_080A422C -sub_080A422C: @ 0x080A422C - push {r4, r5, lr} - ldr r5, _080A42A4 @ =gUnk_02000080 - ldrh r0, [r5, #0x18] - lsrs r0, r0, #8 - movs r1, #0x1b - bl __modsi3 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - ldr r1, _080A42A8 @ =gUnk_08128120 - adds r0, r0, r1 - movs r1, #0 - ldrsb r1, [r0, r1] - lsls r1, r1, #4 - movs r4, #0x80 - lsls r4, r4, #1 - movs r0, #0 - adds r2, r4, #0 - movs r3, #0 - bl sub_0805ECEC - ldr r1, _080A42AC @ =gUnk_03001010 - movs r0, #0 - strh r4, [r1, #4] - strh r0, [r1, #6] - movs r0, #0x4f - strh r0, [r1, #2] - adds r0, r5, #0 - adds r0, #0x2a - ldrb r2, [r0] - adds r4, #0x80 - ldrb r0, [r5, #1] - cmp r0, #5 - beq _080A42B6 - cmp r0, #5 - bgt _080A42B0 - cmp r0, #3 - blt _080A42C4 - adds r4, r5, #0 - adds r4, #0x2c - movs r0, #0 - ldrsb r0, [r4, r0] - adds r0, #0x32 - strh r0, [r1] - adds r0, r2, #0 - movs r1, #0 - bl sub_080A42E0 - movs r1, #0 - ldrsb r1, [r4, r1] - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #1 - movs r1, #0x46 - bl __divsi3 - movs r1, #0x8a - subs r4, r1, r0 - b _080A42C6 - .align 2, 0 -_080A42A4: .4byte gUnk_02000080 -_080A42A8: .4byte gUnk_08128120 -_080A42AC: .4byte gUnk_03001010 -_080A42B0: - cmp r0, #6 - beq _080A42C6 - b _080A42C4 -_080A42B6: - movs r0, #0x78 - strh r0, [r1] - adds r0, r2, #0 - movs r1, #0xff - bl sub_080A42E0 - b _080A42C6 -_080A42C4: - movs r4, #0x8a -_080A42C6: - ldr r0, _080A42D8 @ =gUnk_03001010 - strh r4, [r0] - ldr r0, _080A42DC @ =gUnk_02022740 - ldrb r0, [r0, #3] - movs r1, #0 - bl sub_080A42E0 - pop {r4, r5, pc} - .align 2, 0 -_080A42D8: .4byte gUnk_03001010 -_080A42DC: .4byte gUnk_02022740 - - thumb_func_start sub_080A42E0 -sub_080A42E0: @ 0x080A42E0 - push {r4, r5, r6, r7, lr} - adds r4, r1, #0 - lsls r0, r0, #3 - ldr r1, _080A42F4 @ =gUnk_080C9CBC - adds r7, r0, r1 - cmp r4, #0xff - bne _080A42F8 - ldrb r0, [r7, #2] - b _080A42FA - .align 2, 0 -_080A42F4: .4byte gUnk_080C9CBC -_080A42F8: - ldrb r0, [r7, #1] -_080A42FA: - bl sub_080A43A8 - adds r6, r0, #0 - cmp r4, #0 - beq _080A4372 - cmp r4, #0xff - beq _080A4372 - lsls r1, r6, #2 - ldr r0, _080A4348 @ =gUnk_02019EE0 - adds r1, r1, r0 - lsls r5, r6, #1 - ldrb r0, [r1, #2] - cmp r4, r0 - beq _080A4324 - strb r4, [r1, #2] - movs r1, #0xb8 - lsls r1, r1, #2 - adds r0, r5, r1 - adds r1, r4, #0 - bl sub_0801C2F0 -_080A4324: - ldr r1, _080A434C @ =gUnk_03001010 - ldr r2, _080A4350 @ =0x00003AE0 - adds r0, r5, r2 - strh r0, [r1, #8] - movs r0, #0 - ldrsh r4, [r1, r0] - movs r2, #2 - ldrsh r5, [r1, r2] - ldr r0, _080A4354 @ =gUnk_02000080 - ldrb r0, [r0, #1] - cmp r0, #0 - bne _080A4358 - ldrh r0, [r1] - adds r0, #0x10 - strh r0, [r1] - ldrh r0, [r1, #2] - adds r0, #9 - b _080A4362 - .align 2, 0 -_080A4348: .4byte gUnk_02019EE0 -_080A434C: .4byte gUnk_03001010 -_080A4350: .4byte 0x00003AE0 -_080A4354: .4byte gUnk_02000080 -_080A4358: - ldrh r0, [r1] - adds r0, #8 - strh r0, [r1] - ldrh r0, [r1, #2] - adds r0, #0xa -_080A4362: - strh r0, [r1, #2] - movs r0, #0 - movs r1, #5 - bl sub_080ADA14 - ldr r0, _080A4394 @ =gUnk_03001010 - strh r4, [r0] - strh r5, [r0, #2] -_080A4372: - ldrb r1, [r7] - lsls r1, r1, #0xc - movs r0, #0x80 - lsls r0, r0, #4 - orrs r1, r0 - lsls r0, r6, #4 - movs r2, #0xc0 - lsls r2, r2, #2 - adds r0, r0, r2 - orrs r1, r0 - ldr r0, _080A4394 @ =gUnk_03001010 - strh r1, [r0, #8] - movs r0, #0 - movs r1, #3 - bl sub_080ADA14 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A4394: .4byte gUnk_03001010 - - thumb_func_start sub_080A4398 -sub_080A4398: @ 0x080A4398 - push {lr} - ldr r0, _080A43A4 @ =gUnk_02019EE0 - movs r1, #0x40 - bl sub_0801D630 - pop {pc} - .align 2, 0 -_080A43A4: .4byte gUnk_02019EE0 - - thumb_func_start sub_080A43A8 -sub_080A43A8: @ 0x080A43A8 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080A43DC - adds r4, r0, #0 - cmp r4, #0xf - bls _080A43C8 - movs r0, #0xf - ands r4, r0 - lsls r1, r4, #4 - movs r0, #0xc0 - lsls r0, r0, #2 - adds r1, r1, r0 - adds r0, r5, #0 - bl sub_080A4418 -_080A43C8: - lsls r0, r4, #2 - ldr r1, _080A43D8 @ =gUnk_02019EE0 - adds r0, r0, r1 - strb r5, [r0] - movs r1, #2 - strb r1, [r0, #1] - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 -_080A43D8: .4byte gUnk_02019EE0 - - thumb_func_start sub_080A43DC -sub_080A43DC: @ 0x080A43DC - push {lr} - movs r1, #0 - ldr r2, _080A43EC @ =gUnk_02019EE0 -_080A43E2: - ldrb r3, [r2] - cmp r0, r3 - bne _080A43F0 - adds r0, r1, #0 - b _080A4416 - .align 2, 0 -_080A43EC: .4byte gUnk_02019EE0 -_080A43F0: - adds r2, #4 - adds r1, #1 - cmp r1, #0xf - bls _080A43E2 - movs r1, #0 - ldr r2, _080A4408 @ =gUnk_02019EE0 -_080A43FC: - ldrb r0, [r2, #1] - cmp r0, #0 - bne _080A440C - adds r0, r1, #0 - adds r0, #0x10 - b _080A4416 - .align 2, 0 -_080A4408: .4byte gUnk_02019EE0 -_080A440C: - adds r2, #4 - adds r1, #1 - cmp r1, #0xf - bls _080A43FC - movs r0, #0 -_080A4416: - pop {pc} - - thumb_func_start sub_080A4418 -sub_080A4418: @ 0x080A4418 - push {lr} - lsls r1, r1, #5 - ldr r2, _080A4444 @ =0x06010000 - adds r3, r1, r2 - ldr r1, _080A4448 @ =gUnk_080CA06C - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - movs r2, #0x80 - lsls r2, r2, #0x18 - ands r2, r1 - mvns r0, r2 - ands r0, r1 - ldr r1, _080A444C @ =gUnk_085A2E80 - adds r1, r0, r1 - cmp r2, #0 - beq _080A4450 - adds r0, r1, #0 - adds r1, r3, #0 - bl LZ77UnCompVram - b _080A445C - .align 2, 0 -_080A4444: .4byte 0x06010000 -_080A4448: .4byte gUnk_080CA06C -_080A444C: .4byte gUnk_085A2E80 -_080A4450: - ldr r0, _080A4460 @ =0x040000D4 - str r1, [r0] - str r3, [r0, #4] - ldr r1, _080A4464 @ =0x84000080 - str r1, [r0, #8] - ldr r0, [r0, #8] -_080A445C: - pop {pc} - .align 2, 0 -_080A4460: .4byte 0x040000D4 -_080A4464: .4byte 0x84000080 - - thumb_func_start sub_080A4468 -sub_080A4468: @ 0x080A4468 - push {lr} - ldr r0, _080A4488 @ =gUnk_03003DF0 - movs r1, #0 - strb r1, [r0, #2] - ldr r0, [r0, #4] - strb r1, [r0, #3] - ldr r0, _080A448C @ =gUnk_02022740 - ldrb r0, [r0, #3] - bl sub_0801E6C8 - ldr r0, _080A4490 @ =gUnk_02000080 - adds r0, #0x2a - ldrb r0, [r0] - bl sub_0801E798 - pop {pc} - .align 2, 0 -_080A4488: .4byte gUnk_03003DF0 -_080A448C: .4byte gUnk_02022740 -_080A4490: .4byte gUnk_02000080 - - thumb_func_start sub_080A4494 -sub_080A4494: @ 0x080A4494 - push {r4, r5, lr} - bl sub_0805F2C8 - adds r4, r0, #0 - cmp r4, #0 - beq _080A44D0 - ldr r0, _080A44D4 @ =gUnk_02000D00 - str r0, [r4, #8] - movs r1, #0 - strb r1, [r4, #2] - movs r0, #5 - strb r0, [r4, #3] - strb r1, [r4, #1] - ldr r1, _080A44D8 @ =gUnk_02002AC0 - adds r0, r4, #0 - movs r2, #0x80 - bl sub_080A44E0 - ldr r0, _080A44DC @ =gUnk_02022740 - ldr r0, [r0, #0xc] - bl sub_08002632 - adds r0, r4, #0 - movs r2, #0xa0 - bl sub_080A44E0 - adds r5, r0, #0 - adds r0, r4, #0 - bl sub_0805F300 -_080A44D0: - adds r0, r5, #0 - pop {r4, r5, pc} - .align 2, 0 -_080A44D4: .4byte gUnk_02000D00 -_080A44D8: .4byte gUnk_02002AC0 -_080A44DC: .4byte gUnk_02022740 - - thumb_func_start sub_080A44E0 -sub_080A44E0: @ 0x080A44E0 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - adds r4, r0, #0 - adds r6, r1, #0 - adds r5, r2, #0 - movs r0, #0 - strh r0, [r4, #6] - movs r0, #0x60 - strh r0, [r4, #4] - movs r0, #0xc0 - lsls r0, r0, #2 - mov r8, r0 - ldr r0, [r4, #8] - mov r1, r8 - bl sub_0801D630 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0805F76C - adds r6, r0, #0 - ldr r0, [r4, #8] - lsls r5, r5, #5 - ldr r1, _080A4524 @ =0x06010000 - adds r5, r5, r1 - adds r1, r5, #0 - mov r2, r8 - bl sub_0801D66C - adds r0, r6, #0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_080A4524: .4byte 0x06010000 - - thumb_func_start sub_080A4528 -sub_080A4528: @ 0x080A4528 - push {r4, lr} - ldr r0, _080A4540 @ =gUnk_02022740 - ldr r2, [r0, #0xc] - ldrb r0, [r2, #8] - cmp r0, #7 - bne _080A4544 - ldrb r0, [r2, #9] - ldrb r1, [r2, #0xa] - ldrb r2, [r2, #0xb] - bl sub_0806ED50 - b _080A4550 - .align 2, 0 -_080A4540: .4byte gUnk_02022740 -_080A4544: - cmp r0, #3 - bne _080A45A2 - ldrb r0, [r2, #9] - ldrb r1, [r2, #0xa] - bl sub_0804AA60 -_080A4550: - adds r4, r0, #0 - cmp r4, #0 - beq _080A45A2 - ldrb r0, [r4, #8] - cmp r0, #7 - bne _080A456A - adds r0, r4, #0 - bl sub_0806EC78 - ldrb r0, [r4, #9] - strb r0, [r4, #0xf] - movs r0, #0x56 - b _080A4576 -_080A456A: - adds r0, r4, #0 - bl sub_0804A57C - ldrb r0, [r4, #9] - strb r0, [r4, #0xf] - movs r0, #0x66 -_080A4576: - strb r0, [r4, #9] - movs r2, #0 - movs r0, #0xcc - strh r0, [r4, #0x2e] - movs r0, #0x60 - strh r0, [r4, #0x32] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - subs r0, #0x99 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - str r2, [r4, #0x48] -_080A45A2: - pop {r4, pc} - - thumb_func_start sub_080A45A4 -sub_080A45A4: @ 0x080A45A4 - push {lr} - bl sub_080AD90C - ldr r0, _080A45C4 @ =gUnk_02032EC0 - ldrb r0, [r0, #3] - cmp r0, #0xff - bne _080A45D0 - ldr r1, _080A45C8 @ =gUnk_0812815C - ldr r0, _080A45CC @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - b _080A45E0 - .align 2, 0 -_080A45C4: .4byte gUnk_02032EC0 -_080A45C8: .4byte gUnk_0812815C -_080A45CC: .4byte gUnk_02000080 -_080A45D0: - ldr r1, _080A4600 @ =gUnk_0812814C - ldr r0, _080A4604 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 -_080A45E0: - bl sub_0805E5C0 - bl sub_0801C1D4 - bl sub_0801C208 - bl sub_080AD9B0 - bl sub_080A4978 - bl sub_080AD918 - bl sub_080A4B44 - pop {pc} - .align 2, 0 -_080A4600: .4byte gUnk_0812814C -_080A4604: .4byte gUnk_02000080 - - thumb_func_start sub_080A4608 -sub_080A4608: @ 0x080A4608 - push {r4, lr} - movs r0, #0x80 - bl sub_080A3248 - movs r0, #3 - bl sub_080A4DA8 - ldr r4, _080A46A0 @ =gUnk_020176A0 - movs r1, #0xfb - lsls r1, r1, #1 - adds r0, r4, r1 - ldrh r1, [r0] - movs r0, #0 - bl sub_0801D79C - movs r0, #0xae - lsls r0, r0, #1 - movs r2, #0xd3 - lsls r2, r2, #1 - adds r1, r4, r2 - ldrh r1, [r1] - bl sub_0801D79C - ldr r0, _080A46A4 @ =gUnk_02034CB0 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - ldr r0, _080A46A8 @ =gUnk_02001A40 - movs r1, #0x80 - lsls r1, r1, #5 - bl sub_0801D630 - ldr r2, _080A46AC @ =gUnk_03000F50 - adds r1, r2, #0 - adds r1, #0x58 - movs r0, #0xf0 - strh r0, [r1] - adds r1, #4 - ldr r0, _080A46B0 @ =0x00007898 - strh r0, [r1] - adds r1, #4 - movs r0, #0x1f - strh r0, [r1] - adds r1, #2 - movs r0, #0x1d - strh r0, [r1] - movs r0, #1 - strh r0, [r2, #0x1a] - movs r2, #0xee - ldr r3, _080A46B4 @ =gUnk_02000080 - movs r1, #0xf - adds r0, r3, #0 - adds r0, #0x1f -_080A4674: - strb r2, [r0] - subs r0, #1 - subs r1, #1 - cmp r1, #0 - bge _080A4674 - ldr r0, _080A46B8 @ =gUnk_02032EC0 - ldrb r1, [r0, #3] - ldr r0, _080A46BC @ =gUnk_02002A40 - ldrb r0, [r0, #6] - movs r2, #0x88 - cmp r0, #0 - bne _080A468E - movs r2, #0x82 -_080A468E: - cmp r2, r1 - bge _080A4694 - movs r1, #1 -_080A4694: - strb r1, [r3, #0x1c] - movs r0, #4 - movs r1, #8 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_080A46A0: .4byte gUnk_020176A0 -_080A46A4: .4byte gUnk_02034CB0 -_080A46A8: .4byte gUnk_02001A40 -_080A46AC: .4byte gUnk_03000F50 -_080A46B0: .4byte 0x00007898 -_080A46B4: .4byte gUnk_02000080 -_080A46B8: .4byte gUnk_02032EC0 -_080A46BC: .4byte gUnk_02002A40 - - thumb_func_start sub_080A46C0 -sub_080A46C0: @ 0x080A46C0 - push {lr} - movs r0, #0x80 - lsls r0, r0, #1 - bl sub_080A3248 - movs r0, #0x6c - bl sub_080A3268 - movs r0, #2 - bl sub_0807CD8C - bl sub_080A71DC - pop {pc} - - thumb_func_start sub_080A46DC -sub_080A46DC: @ 0x080A46DC - push {lr} - bl sub_080A4608 - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A46EC -sub_080A46EC: @ 0x080A46EC - push {lr} - ldr r0, _080A4714 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A4710 - ldr r1, _080A4718 @ =gUnk_080FC3E4 - ldr r0, _080A471C @ =gUnk_02000080 - ldrb r0, [r0, #0x1c] - lsls r0, r0, #3 - adds r0, r0, r1 - ldrb r1, [r0, #7] - movs r0, #0xa2 - movs r2, #0 - bl sub_080A2960 - movs r0, #2 - bl sub_080A7114 -_080A4710: - pop {pc} - .align 2, 0 -_080A4714: .4byte gUnk_03000FD0 -_080A4718: .4byte gUnk_080FC3E4 -_080A471C: .4byte gUnk_02000080 - - thumb_func_start sub_080A4720 -sub_080A4720: @ 0x080A4720 - push {r4, lr} - ldr r4, _080A4744 @ =gUnk_02000080 - ldrb r0, [r4] - cmp r0, #0 - beq _080A47C4 - adds r1, r4, #0 - adds r1, #0x20 - ldrb r0, [r1] - adds r0, #1 - movs r3, #0 - strb r0, [r1] - ldrb r0, [r1] - cmp r0, #0x40 - beq _080A4748 - cmp r0, #0x80 - beq _080A4788 - b _080A475A - .align 2, 0 -_080A4744: .4byte gUnk_02000080 -_080A4748: - ldr r0, _080A477C @ =gUnk_02002B0E - ldrb r1, [r4, #0x1c] - bl sub_0801D5BC - adds r1, r4, #0 - adds r1, #0x21 - strb r0, [r1] - movs r0, #1 - strb r0, [r4, #1] -_080A475A: - ldr r0, _080A4780 @ =gUnk_02000080 - adds r0, #0x20 - ldrb r0, [r0] - lsrs r1, r0, #2 - cmp r1, #0x10 - bls _080A476A - movs r0, #0x20 - subs r1, r0, r1 -_080A476A: - ldr r0, _080A4784 @ =gUnk_03000F50 - adds r2, r0, #0 - adds r2, #0x6a - strh r1, [r2] - adds r0, #0x66 - movs r1, #0xbf - strh r1, [r0] - b _080A47C4 - .align 2, 0 -_080A477C: .4byte gUnk_02002B0E -_080A4780: .4byte gUnk_02000080 -_080A4784: .4byte gUnk_03000F50 -_080A4788: - ldr r2, _080A47C8 @ =gUnk_03000F50 - adds r0, r2, #0 - adds r0, #0x6a - strh r3, [r0] - subs r0, #4 - strh r3, [r0] - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #6 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - movs r0, #3 - bl sub_080A7114 - ldr r0, _080A47CC @ =gUnk_0812813C - bl sub_080A70AC - movs r0, #0x15 - strb r0, [r4, #1] - adds r0, r4, #0 - adds r0, #0x21 - ldrb r0, [r0] - movs r1, #0x6d - cmp r0, #0 - bne _080A47BE - adds r1, #0x9c -_080A47BE: - adds r0, r1, #0 - bl sub_080A3268 -_080A47C4: - pop {r4, pc} - .align 2, 0 -_080A47C8: .4byte gUnk_03000F50 -_080A47CC: .4byte gUnk_0812813C - - thumb_func_start sub_080A47D0 -sub_080A47D0: @ 0x080A47D0 - push {r4, lr} - ldr r0, _080A47EC @ =gUnk_02000080 - movs r4, #0x1f - ldrsb r4, [r0, r4] - ldr r0, _080A47F0 @ =gUnk_03000FF0 - ldrh r0, [r0, #4] - cmp r0, #8 - beq _080A47FE - cmp r0, #8 - bgt _080A47F4 - cmp r0, #2 - beq _080A47FE - b _080A480A - .align 2, 0 -_080A47EC: .4byte gUnk_02000080 -_080A47F0: .4byte gUnk_03000FF0 -_080A47F4: - cmp r0, #0x10 - beq _080A4804 - cmp r0, #0x20 - beq _080A4808 - b _080A480A -_080A47FE: - bl sub_080A46C0 - b _080A480A -_080A4804: - adds r4, #8 - b _080A480A -_080A4808: - subs r4, #8 -_080A480A: - ldr r1, _080A4828 @ =gUnk_02000080 - ldrb r0, [r1, #0x1e] - cmp r4, #0 - bge _080A4814 - movs r4, #0 -_080A4814: - cmp r0, r4 - bge _080A481A - adds r4, r0, #0 -_080A481A: - strb r4, [r1, #0x1f] - ldr r1, _080A482C @ =gUnk_03000F50 - adds r0, r4, #0 - subs r0, #0x70 - strh r0, [r1, #0x18] - pop {r4, pc} - .align 2, 0 -_080A4828: .4byte gUnk_02000080 -_080A482C: .4byte gUnk_03000F50 - - thumb_func_start sub_080A4830 -sub_080A4830: @ 0x080A4830 - push {lr} - bl sub_080A4608 - ldr r2, _080A4858 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #6 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _080A485C @ =gUnk_0812813C - bl sub_080A70AC - ldr r1, _080A4860 @ =gUnk_02000080 - movs r0, #0xff - strb r0, [r1, #1] - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_080A4858: .4byte gUnk_03000F50 -_080A485C: .4byte gUnk_0812813C -_080A4860: .4byte gUnk_02000080 - - thumb_func_start sub_080A4864 -sub_080A4864: @ 0x080A4864 - push {r4, r5, r6, lr} - ldr r0, _080A4894 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A4926 - ldr r0, _080A4898 @ =gUnk_02000080 - movs r5, #0x1f - ldrsb r5, [r0, r5] - ldrb r4, [r0, #0x1c] - ldr r0, _080A489C @ =gUnk_03000FF0 - ldrh r1, [r0, #4] - cmp r1, #0x20 - beq _080A48DC - cmp r1, #0x20 - bgt _080A48A0 - cmp r1, #2 - beq _080A48C0 - cmp r1, #2 - ble _080A48DE - cmp r1, #8 - beq _080A48C0 - cmp r1, #0x10 - beq _080A48D8 - b _080A48DE - .align 2, 0 -_080A4894: .4byte gUnk_03000FD0 -_080A4898: .4byte gUnk_02000080 -_080A489C: .4byte gUnk_03000FF0 -_080A48A0: - cmp r1, #0x80 - beq _080A48D4 - cmp r1, #0x80 - bgt _080A48AE - cmp r1, #0x40 - beq _080A48D0 - b _080A48DE -_080A48AE: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _080A48CC - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - beq _080A48C8 - b _080A48DE -_080A48C0: - movs r0, #3 - bl sub_080A7114 - b _080A48DE -_080A48C8: - subs r4, #5 - b _080A48DE -_080A48CC: - adds r4, #5 - b _080A48DE -_080A48D0: - subs r4, #1 - b _080A48DE -_080A48D4: - adds r4, #1 - b _080A48DE -_080A48D8: - adds r5, #8 - b _080A48DE -_080A48DC: - subs r5, #8 -_080A48DE: - ldr r0, _080A4928 @ =gUnk_02002A40 - ldrb r0, [r0, #6] - movs r1, #0x88 - cmp r0, #0 - bne _080A48EA - movs r1, #0x82 -_080A48EA: - cmp r4, #0 - bgt _080A48F0 - movs r4, #1 -_080A48F0: - cmp r1, r4 - bge _080A48F6 - adds r4, r1, #0 -_080A48F6: - ldr r6, _080A492C @ =gUnk_02000080 - ldrb r0, [r6, #0x1c] - cmp r0, r4 - beq _080A490E - strb r4, [r6, #0x1c] - movs r0, #0x69 - bl sub_080A3268 - movs r0, #2 - bl sub_080A7114 - movs r5, #0 -_080A490E: - ldrb r0, [r6, #0x1e] - cmp r5, #0 - bge _080A4916 - movs r5, #0 -_080A4916: - cmp r0, r5 - bge _080A491C - adds r5, r0, #0 -_080A491C: - strb r5, [r6, #0x1f] - ldr r1, _080A4930 @ =gUnk_03000F50 - adds r0, r5, #0 - subs r0, #0x70 - strh r0, [r1, #0x18] -_080A4926: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A4928: .4byte gUnk_02002A40 -_080A492C: .4byte gUnk_02000080 -_080A4930: .4byte gUnk_03000F50 - - thumb_func_start sub_080A4934 -sub_080A4934: @ 0x080A4934 - push {lr} - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A4940 -sub_080A4940: @ 0x080A4940 - push {lr} - bl sub_080A46C0 - pop {pc} - - thumb_func_start sub_080A4948 -sub_080A4948: @ 0x080A4948 - push {r4, lr} - adds r1, r0, #0 - movs r4, #0 - ldr r3, _080A4974 @ =gUnk_02002A40 - ldrb r0, [r3, #6] - movs r2, #0x88 - cmp r0, #0 - bne _080A495A - movs r2, #0x82 -_080A495A: - cmp r1, #0 - bgt _080A4962 - cmp r2, r1 - blt _080A4970 -_080A4962: - adds r0, r3, #0 - adds r0, #0xce - bl sub_0801D5A8 - cmp r0, #0 - beq _080A4970 - movs r4, #1 -_080A4970: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_080A4974: .4byte gUnk_02002A40 - - thumb_func_start sub_080A4978 -sub_080A4978: @ 0x080A4978 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r5, _080A4B1C @ =gUnk_03001010 - movs r0, #0 - strh r0, [r5, #4] - strh r0, [r5, #6] - movs r0, #0x80 - lsls r0, r0, #4 - strh r0, [r5, #8] - movs r0, #0x9c - strh r0, [r5] - movs r0, #0x48 - strh r0, [r5, #2] - movs r7, #0xfe - lsls r7, r7, #1 - adds r0, r7, #0 - movs r1, #0 - bl sub_080ADA14 - ldr r0, _080A4B20 @ =gUnk_02002A40 - ldrb r0, [r0, #6] - movs r2, #0x88 - cmp r0, #0 - bne _080A49AC - movs r2, #0x82 -_080A49AC: - ldr r3, _080A4B24 @ =gUnk_02000080 - ldrb r1, [r3, #1] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080A4A10 - ldrb r4, [r3, #0x1c] - cmp r2, r4 - blt _080A4A10 - movs r6, #0xe8 - strh r6, [r5] - movs r0, #0xa0 - lsls r0, r0, #7 - adds r1, r2, #0 - bl __divsi3 - subs r1, r4, #1 - muls r0, r1, r0 - cmp r0, #0 - bge _080A49D6 - adds r0, #0xff -_080A49D6: - asrs r0, r0, #8 - adds r0, #0x20 - strh r0, [r5, #2] - adds r0, r7, #0 - movs r1, #1 - bl sub_080ADA14 - ldr r0, _080A4B28 @ =gUnk_03001000 - ldrh r1, [r0, #0xc] - movs r0, #0x10 - ands r0, r1 - movs r4, #2 - cmp r0, #0 - beq _080A49F4 - movs r4, #4 -_080A49F4: - strh r6, [r5] - movs r0, #0x1a - strh r0, [r5, #2] - adds r0, r7, #0 - adds r1, r4, #0 - bl sub_080ADA14 - strh r6, [r5] - movs r0, #0x76 - strh r0, [r5, #2] - adds r1, r4, #1 - adds r0, r7, #0 - bl sub_080ADA14 -_080A4A10: - ldr r0, _080A4B28 @ =gUnk_03001000 - ldrh r1, [r0, #0xc] - movs r2, #0x10 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080A4A6A - ldr r5, _080A4B24 @ =gUnk_02000080 - ldrb r1, [r5, #1] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080A4A6A - ldrb r0, [r5, #0x1e] - cmp r0, #0 - beq _080A4A6A - ldr r4, _080A4B1C @ =gUnk_03001010 - strh r2, [r4, #2] - movs r0, #0x1f - ldrsb r0, [r5, r0] - cmp r0, #0 - ble _080A4A4E - movs r0, #6 - strh r0, [r4] - movs r0, #0x9c - strh r0, [r4, #2] - movs r0, #0xfe - lsls r0, r0, #1 - movs r1, #6 - bl sub_080ADA14 -_080A4A4E: - ldrb r1, [r5, #0x1e] - movs r0, #0x1f - ldrsb r0, [r5, r0] - cmp r1, r0 - ble _080A4A6A - movs r0, #0xea - strh r0, [r4] - movs r0, #0x9c - strh r0, [r4, #2] - movs r0, #0xfe - lsls r0, r0, #1 - movs r1, #7 - bl sub_080ADA14 -_080A4A6A: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _080A4ABE - ldr r2, _080A4B24 @ =gUnk_02000080 - ldrb r1, [r2, #1] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _080A4ABE - ldr r1, _080A4B1C @ =gUnk_03001010 - movs r0, #0x10 - strh r0, [r1, #2] - ldrb r4, [r2, #0x1c] - movs r6, #2 - adds r7, r1, #0 - movs r5, #0x6b -_080A4A8E: - strh r5, [r7] - adds r0, r4, #0 - movs r1, #0xa - bl __modsi3 - lsls r0, r0, #1 - movs r2, #0x9e - lsls r2, r2, #4 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r7, #8] - movs r0, #0 - movs r1, #9 - bl sub_080ADA14 - adds r0, r4, #0 - movs r1, #0xa - bl __divsi3 - adds r4, r0, #0 - subs r5, #7 - subs r6, #1 - cmp r6, #0 - bge _080A4A8E -_080A4ABE: - ldr r4, _080A4B24 @ =gUnk_02000080 - ldrb r1, [r4, #1] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080A4B3A - ldrb r0, [r4, #0x1c] - bl sub_080A4948 - cmp r0, #0 - beq _080A4B3A - ldr r1, _080A4B1C @ =gUnk_03001010 - movs r0, #0x2c - strh r0, [r1] - movs r0, #0x48 - strh r0, [r1, #2] - movs r0, #0xd4 - lsls r0, r0, #7 - strh r0, [r1, #8] - movs r0, #0xfc - lsls r0, r0, #1 - ldrb r1, [r4, #0x1c] - subs r1, #1 - bl sub_080ADA14 - ldrb r1, [r4, #0x1c] - ldrb r0, [r4, #0x1d] - cmp r0, r1 - beq _080A4B3A - strb r1, [r4, #0x1d] - ldrb r4, [r4, #0x1c] - lsls r4, r4, #4 - ldr r0, _080A4B2C @ =gUnk_081281A8 - adds r4, r4, r0 - ldr r0, [r4] - movs r1, #0x16 - movs r2, #9 - bl sub_0801D754 - ldr r0, [r4, #4] - ldr r2, [r4, #8] - cmp r2, #0 - bge _080A4B34 - ldr r1, _080A4B30 @ =0x06014000 - bl LZ77UnCompVram - b _080A4B3A - .align 2, 0 -_080A4B1C: .4byte gUnk_03001010 -_080A4B20: .4byte gUnk_02002A40 -_080A4B24: .4byte gUnk_02000080 -_080A4B28: .4byte gUnk_03001000 -_080A4B2C: .4byte gUnk_081281A8 -_080A4B30: .4byte 0x06014000 -_080A4B34: - ldr r1, _080A4B40 @ =0x06014000 - bl sub_08000E96 -_080A4B3A: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A4B40: .4byte 0x06014000 - - thumb_func_start sub_080A4B44 -sub_080A4B44: @ 0x080A4B44 - push {r4, r5, lr} - ldr r5, _080A4B9C @ =gUnk_02000080 - ldrb r4, [r5, #0x1c] - ldrb r1, [r5, #1] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _080A4B5C - adds r0, r4, #0 - bl sub_080A4CBC - strb r0, [r5, #0x1e] -_080A4B5C: - ldrb r1, [r5, #1] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _080A4B6E - adds r0, r4, #0 - movs r1, #2 - bl sub_080A4BA0 -_080A4B6E: - ldrb r1, [r5, #1] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080A4B98 - subs r0, r4, #2 - movs r1, #0 - bl sub_080A4BA0 - subs r0, r4, #1 - movs r1, #1 - bl sub_080A4BA0 - adds r0, r4, #1 - movs r1, #3 - bl sub_080A4BA0 - adds r0, r4, #2 - movs r1, #4 - bl sub_080A4BA0 -_080A4B98: - pop {r4, r5, pc} - .align 2, 0 -_080A4B9C: .4byte gUnk_02000080 - - thumb_func_start sub_080A4BA0 -sub_080A4BA0: @ 0x080A4BA0 - push {r4, r5, r6, lr} - sub sp, #0x54 - adds r5, r0, #0 - adds r6, r1, #0 - add r0, sp, #0x18 - movs r1, #0x30 - bl sub_0801D630 - ldr r0, _080A4C08 @ =gUnk_0812816C - mov r1, sp - movs r2, #0x18 - bl sub_0801D66C - ldr r0, _080A4C0C @ =gUnk_08128184 - add r4, sp, #0x48 - adds r1, r4, #0 - movs r2, #0xc - bl sub_0801D66C - lsls r1, r6, #1 - adds r1, r1, r6 - lsls r2, r1, #9 - ldr r0, [sp, #4] - adds r0, r0, r2 - str r0, [sp, #4] - mov r2, sp - mov r0, sp - lsls r1, r1, #4 - ldrh r0, [r0, #0x10] - adds r1, r1, r0 - strh r1, [r2, #0x10] - lsls r1, r6, #7 - ldr r0, [sp] - adds r0, r0, r1 - str r0, [sp] - cmp r6, #2 - bne _080A4BEE - mov r0, sp - strb r6, [r0, #0x14] -_080A4BEE: - ldr r0, _080A4C10 @ =gUnk_02002A40 - ldrb r0, [r0, #6] - movs r1, #0x88 - cmp r0, #0 - bne _080A4BFA - movs r1, #0x82 -_080A4BFA: - cmp r5, #0 - ble _080A4C02 - cmp r1, r5 - bge _080A4C14 -_080A4C02: - movs r5, #1 - rsbs r5, r5, #0 - b _080A4C3E - .align 2, 0 -_080A4C08: .4byte gUnk_0812816C -_080A4C0C: .4byte gUnk_08128184 -_080A4C10: .4byte gUnk_02002A40 -_080A4C14: - ldr r1, _080A4C30 @ =gUnk_020227E8 - ldr r2, _080A4C34 @ =0x00303030 - adds r0, r5, #0 - bl sub_08057044 - adds r0, r5, #0 - bl sub_080A4948 - cmp r0, #0 - bne _080A4C38 - movs r0, #0x80 - lsls r0, r0, #8 - b _080A4C3C - .align 2, 0 -_080A4C30: .4byte gUnk_020227E8 -_080A4C34: .4byte 0x00303030 -_080A4C38: - movs r0, #0x80 - lsls r0, r0, #4 -_080A4C3C: - adds r5, r5, r0 -_080A4C3E: - ldr r0, _080A4C94 @ =gUnk_02000080 - lsls r1, r6, #1 - adds r0, #0x10 - adds r1, r1, r0 - ldrh r0, [r1] - cmp r0, r5 - beq _080A4CB2 - strh r5, [r1] - ldr r0, _080A4C98 @ =0x0000F00B - cmp r6, #2 - bne _080A4C56 - subs r0, #7 -_080A4C56: - ldr r1, [sp] - movs r2, #0x80 - bl sub_0801D5EC - cmp r5, #0 - ble _080A4CAC - ldr r0, _080A4C9C @ =0x00007FFF - cmp r5, r0 - ble _080A4C6A - ldr r5, _080A4CA0 @ =0x00000889 -_080A4C6A: - adds r0, r5, #0 - cmp r5, #0 - bge _080A4C72 - adds r0, #0xff -_080A4C72: - asrs r0, r0, #8 - strb r0, [r4, #8] - strb r5, [r4, #9] - ldr r0, [sp] - adds r0, #0x16 - str r0, [sp] - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - bne _080A4CA4 - adds r0, r4, #0 - mov r1, sp - bl sub_0805F46C - b _080A4CAC - .align 2, 0 -_080A4C94: .4byte gUnk_02000080 -_080A4C98: .4byte 0x0000F00B -_080A4C9C: .4byte 0x00007FFF -_080A4CA0: .4byte 0x00000889 -_080A4CA4: - adds r0, r5, #0 - mov r1, sp - bl sub_0805F46C -_080A4CAC: - ldr r1, _080A4CB8 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0x32] -_080A4CB2: - add sp, #0x54 - pop {r4, r5, r6, pc} - .align 2, 0 -_080A4CB8: .4byte gUnk_03000F50 - - thumb_func_start sub_080A4CBC -sub_080A4CBC: @ 0x080A4CBC - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r1, _080A4D0C @ =gUnk_02000080 - ldrb r0, [r1, #0x1a] - cmp r0, r6 - beq _080A4CFE - strb r6, [r1, #0x1a] - ldr r4, _080A4D10 @ =gUnk_02021F30 - movs r5, #0x80 - lsls r5, r5, #4 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0801D630 - ldr r1, _080A4D14 @ =0x0600E000 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_0801D66C - adds r0, r6, #0 - bl sub_080A4948 - cmp r0, #0 - beq _080A4CF8 - movs r1, #0x90 - lsls r1, r1, #4 - adds r0, r6, r1 - ldr r1, _080A4D18 @ =gUnk_08128190 - bl sub_0805F46C -_080A4CF8: - ldr r1, _080A4D1C @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0x1a] -_080A4CFE: - ldr r0, _080A4D18 @ =gUnk_08128190 - ldr r0, [r0] - movs r2, #0x80 - lsls r2, r2, #1 - adds r1, r0, r2 - movs r2, #0 - b _080A4D28 - .align 2, 0 -_080A4D0C: .4byte gUnk_02000080 -_080A4D10: .4byte gUnk_02021F30 -_080A4D14: .4byte 0x0600E000 -_080A4D18: .4byte gUnk_08128190 -_080A4D1C: .4byte gUnk_03000F50 -_080A4D20: - adds r1, #0x40 - adds r2, #1 - cmp r2, #0x13 - bhi _080A4D2E -_080A4D28: - ldrh r0, [r1] - cmp r0, #0 - bne _080A4D20 -_080A4D2E: - lsls r0, r2, #3 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A4D34 -sub_080A4D34: @ 0x080A4D34 - push {lr} - bl sub_08053320 - movs r0, #0xb5 - bl sub_0801D714 - ldr r1, _080A4D50 @ =gUnk_02002A40 - adds r2, r1, #0 - adds r2, #0xaa - ldrb r0, [r2] - cmp r0, #8 - bhi _080A4D54 - movs r1, #2 - b _080A4D66 - .align 2, 0 -_080A4D50: .4byte gUnk_02002A40 -_080A4D54: - adds r0, r1, #0 - adds r0, #0xab - ldrb r0, [r0] - ldrb r1, [r2] - subs r0, r0, r1 - movs r1, #1 - cmp r0, #8 - bgt _080A4D66 - movs r1, #0 -_080A4D66: - adds r0, r1, #0 - adds r0, #0x56 - bl sub_0801D7EC - ldr r1, _080A4D80 @ =gUnk_03000F50 - movs r0, #0 - strh r0, [r1, #0x2e] - strh r0, [r1, #0x30] - ldr r0, _080A4D84 @ =0x00001E0B - strh r0, [r1, #0x2c] - movs r0, #1 - strh r0, [r1, #0x32] - pop {pc} - .align 2, 0 -_080A4D80: .4byte gUnk_03000F50 -_080A4D84: .4byte 0x00001E0B - - thumb_func_start sub_080A4D88 -sub_080A4D88: @ 0x080A4D88 - push {lr} - ldr r0, _080A4DA4 @ =gUnk_020344A0 - movs r1, #8 - bl sub_0801D630 - movs r0, #1 - movs r1, #0 - bl sub_080A7138 - movs r0, #0x80 - bl sub_080A3248 - pop {pc} - .align 2, 0 -_080A4DA4: .4byte gUnk_020344A0 - - thumb_func_start sub_080A4DA8 -sub_080A4DA8: @ 0x080A4DA8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080A4D34 - adds r0, r4, #0 - bl sub_080A4DB8 - pop {r4, pc} - - thumb_func_start sub_080A4DB8 -sub_080A4DB8: @ 0x080A4DB8 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08056250 - ldr r0, _080A4E58 @ =gUnk_02034CB0 - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _080A4E5C @ =gUnk_02021F30 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _080A4E60 @ =gUnk_020344B0 - adds r1, r4, #0 - bl sub_0801D630 - ldr r0, _080A4E64 @ =gUnk_0200AF34 - movs r1, #0xc0 - lsls r1, r1, #2 - bl sub_0801D630 - ldr r4, _080A4E68 @ =gUnk_02000080 - adds r0, r4, #0 - movs r1, #0x30 - bl sub_0801D630 - ldr r0, _080A4E6C @ =0x0000FFFF - strh r0, [r4, #0x2e] - ldr r0, _080A4E70 @ =gUnk_02034490 - adds r0, #2 - adds r0, r5, r0 - ldrb r0, [r0] - movs r3, #0 - strb r0, [r4, #3] - ldr r0, _080A4E74 @ =gUnk_08128A38 - lsls r5, r5, #3 - adds r5, r5, r0 - ldrb r0, [r5] - lsls r0, r0, #3 - ldr r1, _080A4E78 @ =gUnk_08128AD8 - adds r4, r0, r1 - ldr r1, _080A4E7C @ =gUnk_03000F50 - ldrh r2, [r4, #2] - movs r5, #0xca - lsls r5, r5, #5 - adds r0, r5, #0 - orrs r0, r2 - strh r0, [r1] - strh r3, [r1, #0xa] - strh r3, [r1, #0xc] - movs r2, #1 - strh r2, [r1, #0xe] - strh r3, [r1, #0x16] - strh r3, [r1, #0x18] - ldrh r0, [r4, #4] - strh r0, [r1, #0x14] - strh r2, [r1, #0x1a] - strh r3, [r1, #0x22] - strh r3, [r1, #0x24] - ldrh r0, [r4, #6] - strh r0, [r1, #0x20] - strh r2, [r1, #0x26] - strh r3, [r1, #0x2e] - strh r3, [r1, #0x30] - ldr r0, _080A4E80 @ =0x00001E0B - strh r0, [r1, #0x2c] - ldrb r0, [r4] - cmp r0, #0 - beq _080A4E4A - bl sub_0801D714 -_080A4E4A: - ldrb r0, [r4, #1] - cmp r0, #0 - beq _080A4E54 - bl sub_0801D7EC -_080A4E54: - pop {r4, r5, pc} - .align 2, 0 -_080A4E58: .4byte gUnk_02034CB0 -_080A4E5C: .4byte gUnk_02021F30 -_080A4E60: .4byte gUnk_020344B0 -_080A4E64: .4byte gUnk_0200AF34 -_080A4E68: .4byte gUnk_02000080 -_080A4E6C: .4byte 0x0000FFFF -_080A4E70: .4byte gUnk_02034490 -_080A4E74: .4byte gUnk_08128A38 -_080A4E78: .4byte gUnk_08128AD8 -_080A4E7C: .4byte gUnk_03000F50 -_080A4E80: .4byte 0x00001E0B - - thumb_func_start sub_080A4E84 -sub_080A4E84: @ 0x080A4E84 - ldr r1, _080A4E8C @ =gUnk_02034490 - strb r0, [r1, #0x14] - bx lr - .align 2, 0 -_080A4E8C: .4byte gUnk_02034490 - - thumb_func_start sub_080A4E90 -sub_080A4E90: @ 0x080A4E90 - ldr r1, _080A4E9C @ =gUnk_02034490 - movs r2, #0 - strb r0, [r1, #0x11] - strb r2, [r1, #0x12] - bx lr - .align 2, 0 -_080A4E9C: .4byte gUnk_02034490 - - thumb_func_start sub_080A4EA0 -sub_080A4EA0: @ 0x080A4EA0 - push {r4, lr} - ldr r4, _080A4EB8 @ =gUnk_02034490 - ldrb r0, [r4, #0x11] - cmp r0, #6 - bne _080A4EBC - movs r0, #0x80 - lsls r0, r0, #1 - bl sub_080A3248 - bl sub_080A71DC - b _080A4F14 - .align 2, 0 -_080A4EB8: .4byte gUnk_02034490 -_080A4EBC: - bl sub_080AD90C - ldr r1, _080A4F18 @ =gUnk_08128B30 - ldrb r0, [r4, #0x11] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080A5128 - bl sub_0801C1D4 - bl sub_0801C208 - ldrb r0, [r4, #0x11] - cmp r0, #4 - beq _080A4EF0 - ldr r0, _080A4F1C @ =gUnk_08128A38 - ldrb r1, [r4, #1] - lsls r1, r1, #3 - adds r0, #4 - adds r1, r1, r0 - ldr r0, [r1] - bl _call_via_r0 -_080A4EF0: - bl sub_080AD918 - movs r3, #0x16 - ldrsb r3, [r4, r3] - movs r1, #0 - cmp r3, #0 - beq _080A4F00 - ldr r1, _080A4F20 @ =0x00000E46 -_080A4F00: - ldr r2, _080A4F24 @ =gUnk_03000F50 - adds r0, r2, #0 - adds r0, #0x66 - strh r1, [r0] - lsls r1, r3, #8 - movs r0, #0x10 - subs r0, r0, r3 - orrs r1, r0 - adds r2, #0x68 - strh r1, [r2] -_080A4F14: - pop {r4, pc} - .align 2, 0 -_080A4F18: .4byte gUnk_08128B30 -_080A4F1C: .4byte gUnk_08128A38 -_080A4F20: .4byte 0x00000E46 -_080A4F24: .4byte gUnk_03000F50 - - thumb_func_start sub_080A4F28 -sub_080A4F28: @ 0x080A4F28 - push {r4, lr} - bl sub_0801E8D4 - bl sub_080A4D34 - movs r1, #4 - ldr r3, _080A4F90 @ =gUnk_02034492 - movs r2, #0 -_080A4F38: - adds r0, r1, r3 - strb r2, [r0] - adds r1, #1 - cmp r1, #0xd - ble _080A4F38 - ldr r1, _080A4F94 @ =gUnk_030010A0 - ldrh r0, [r1, #0x20] - ldrh r1, [r1, #0x22] - bl sub_080A6A80 - ldr r4, _080A4F98 @ =gUnk_02034490 - ldrb r0, [r0, #4] - strb r0, [r4, #6] - bl sub_0801DB94 - strb r0, [r4, #7] - movs r0, #0x10 - bl sub_0805436C - movs r1, #0xf - cmp r0, #2 - beq _080A4F66 - movs r1, #0x10 -_080A4F66: - strb r1, [r4, #0x15] - ldr r1, _080A4F9C @ =gUnk_08128A38 - ldrb r0, [r4, #1] - lsls r0, r0, #3 - adds r0, r0, r1 - ldrb r0, [r0, #1] - bl sub_080A50A0 - strb r0, [r4, #1] - strb r0, [r4, #0x14] - bl sub_080A4DB8 - movs r0, #4 - movs r1, #0x20 - bl sub_08050054 - movs r0, #1 - bl sub_080A4E90 - pop {r4, pc} - .align 2, 0 -_080A4F90: .4byte gUnk_02034492 -_080A4F94: .4byte gUnk_030010A0 -_080A4F98: .4byte gUnk_02034490 -_080A4F9C: .4byte gUnk_08128A38 - - thumb_func_start sub_080A4FA0 -sub_080A4FA0: @ 0x080A4FA0 - push {lr} - ldr r0, _080A4FB4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A4FB0 - movs r0, #2 - bl sub_080A4E90 -_080A4FB0: - pop {pc} - .align 2, 0 -_080A4FB4: .4byte gUnk_03000FD0 - - thumb_func_start sub_080A4FB8 -sub_080A4FB8: @ 0x080A4FB8 - push {r4, r5, lr} - bl sub_080A51F4 - cmp r0, #0 - beq _080A5052 - ldr r0, _080A4FE4 @ =gUnk_02000080 - ldr r1, [r0, #0xc] - adds r2, r0, #0 - cmp r1, #0 - beq _080A5052 - movs r4, #1 - rsbs r4, r4, #0 - ldr r0, _080A4FE8 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - cmp r1, #8 - beq _080A4FFE - cmp r1, #8 - bgt _080A4FEC - cmp r1, #2 - beq _080A500A - b _080A500C - .align 2, 0 -_080A4FE4: .4byte gUnk_02000080 -_080A4FE8: .4byte gUnk_03000FF0 -_080A4FEC: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _080A5006 - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - beq _080A5002 - b _080A500C -_080A4FFE: - movs r4, #0 - b _080A5010 -_080A5002: - movs r4, #1 - b _080A5010 -_080A5006: - movs r4, #2 - b _080A5010 -_080A500A: - movs r4, #3 -_080A500C: - cmp r4, #0 - blt _080A5052 -_080A5010: - ldr r0, [r2, #0xc] - adds r0, r0, r4 - ldrb r5, [r0] - cmp r5, #6 - bgt _080A5024 - cmp r5, #4 - bge _080A5028 - cmp r5, #0 - beq _080A5052 - b _080A5042 -_080A5024: - cmp r5, #0xf - bne _080A5042 -_080A5028: - movs r0, #0x47 - bl sub_0807CA84 - cmp r0, #0 - bne _080A5042 - movs r1, #1 - cmp r4, #1 - bne _080A503A - movs r1, #2 -_080A503A: - ldr r0, _080A5078 @ =gUnk_02000080 - ldr r0, [r0, #0xc] - adds r0, r0, r1 - ldrb r5, [r0] -_080A5042: - ldr r0, _080A507C @ =gUnk_02034490 - movs r4, #0 - strb r5, [r0, #0x14] - movs r0, #0x65 - bl sub_080A3268 - ldr r0, _080A5078 @ =gUnk_02000080 - str r4, [r0, #0xc] -_080A5052: - ldr r4, _080A507C @ =gUnk_02034490 - movs r0, #0x14 - ldrsb r0, [r4, r0] - bl sub_080A50A0 - adds r5, r0, #0 - ldrb r0, [r4, #1] - cmp r0, r5 - beq _080A5096 - strb r5, [r4, #0x14] - bl sub_080A51D4 - cmp r5, #0xe - bne _080A5080 - movs r0, #6 - bl sub_080A4E90 - b _080A5096 - .align 2, 0 -_080A5078: .4byte gUnk_02000080 -_080A507C: .4byte gUnk_02034490 -_080A5080: - movs r0, #3 - bl sub_080A4E90 - ldr r0, _080A5098 @ =gUnk_02034CB0 - movs r1, #0x80 - lsls r1, r1, #4 - bl sub_0801D630 - ldr r1, _080A509C @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0xe] -_080A5096: - pop {r4, r5, pc} - .align 2, 0 -_080A5098: .4byte gUnk_02034CB0 -_080A509C: .4byte gUnk_03000F50 - - thumb_func_start sub_080A50A0 -sub_080A50A0: @ 0x080A50A0 - push {lr} - adds r1, r0, #0 - cmp r1, #0xf - bne _080A50B4 - bl sub_08052690 - movs r1, #4 - cmp r0, #0 - beq _080A50B4 - movs r1, #5 -_080A50B4: - adds r0, r1, #0 - pop {pc} - - thumb_func_start sub_080A50B8 -sub_080A50B8: @ 0x080A50B8 - push {r4, lr} - ldr r4, _080A50DC @ =gUnk_02034490 - movs r0, #0x16 - ldrsb r0, [r4, r0] - adds r0, #2 - cmp r0, #0x10 - ble _080A50D8 - ldr r2, _080A50E0 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _080A50E4 @ =0x0000F8FF - ands r0, r1 - strh r0, [r2] - movs r0, #4 - bl sub_080A4E90 - movs r0, #0x10 -_080A50D8: - strb r0, [r4, #0x16] - pop {r4, pc} - .align 2, 0 -_080A50DC: .4byte gUnk_02034490 -_080A50E0: .4byte gUnk_03000F50 -_080A50E4: .4byte 0x0000F8FF - - thumb_func_start sub_080A50E8 -sub_080A50E8: @ 0x080A50E8 - push {lr} - ldr r1, _080A5104 @ =gUnk_02034490 - movs r0, #0x10 - strb r0, [r1, #0x16] - movs r0, #0x14 - ldrsb r0, [r1, r0] - strb r0, [r1, #1] - bl sub_080A4DB8 - movs r0, #5 - bl sub_080A4E90 - pop {pc} - .align 2, 0 -_080A5104: .4byte gUnk_02034490 - - thumb_func_start sub_080A5108 -sub_080A5108: @ 0x080A5108 - push {r4, lr} - ldr r4, _080A5124 @ =gUnk_02034490 - movs r0, #0x16 - ldrsb r0, [r4, r0] - subs r0, #2 - cmp r0, #0 - bge _080A511E - movs r0, #2 - bl sub_080A4E90 - movs r0, #0 -_080A511E: - strb r0, [r4, #0x16] - pop {r4, pc} - .align 2, 0 -_080A5124: .4byte gUnk_02034490 - - thumb_func_start sub_080A5128 -sub_080A5128: @ 0x080A5128 - push {r4, r5, lr} - sub sp, #0x18 - ldr r0, _080A5140 @ =gUnk_02034490 - ldrb r1, [r0, #1] - adds r2, r0, #0 - cmp r1, #7 - blt _080A515A - cmp r1, #8 - ble _080A5144 - cmp r1, #0xb - bgt _080A515A - b _080A51C6 - .align 2, 0 -_080A5140: .4byte gUnk_02034490 -_080A5144: - movs r0, #0x60 - str r0, [sp] - movs r0, #0x18 - str r0, [sp, #4] - subs r0, #0x28 - str r0, [sp, #8] - movs r1, #0x48 - str r1, [sp, #0xc] - movs r0, #0x80 - lsls r0, r0, #1 - b _080A5182 -_080A515A: - movs r0, #0x40 - str r0, [sp] - movs r0, #0x16 - ldrsb r0, [r2, r0] - lsls r0, r0, #1 - movs r4, #0x10 - subs r0, r4, r0 - str r0, [sp, #4] - movs r0, #0x16 - ldrsb r0, [r2, r0] - movs r1, #3 - bl __divsi3 - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r4, r4, r0 - str r4, [sp, #8] - movs r1, #0x48 - str r1, [sp, #0xc] - adds r0, #0xe0 -_080A5182: - str r0, [sp, #0x10] - str r1, [sp, #0x14] - ldr r4, _080A51CC @ =gUnk_03001010 - movs r0, #0 - strh r0, [r4, #4] - strh r0, [r4, #6] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r4, #8] - ldr r0, [sp] - strh r0, [r4] - ldr r0, [sp, #4] - strh r0, [r4, #2] - ldr r5, _080A51D0 @ =0x000001FB - adds r0, r5, #0 - movs r1, #0 - bl sub_080ADA14 - ldr r0, [sp, #8] - strh r0, [r4] - ldr r0, [sp, #0xc] - strh r0, [r4, #2] - adds r0, r5, #0 - movs r1, #1 - bl sub_080ADA14 - ldr r0, [sp, #0x10] - strh r0, [r4] - ldr r0, [sp, #0x14] - strh r0, [r4, #2] - adds r0, r5, #0 - movs r1, #2 - bl sub_080ADA14 -_080A51C6: - add sp, #0x18 - pop {r4, r5, pc} - .align 2, 0 -_080A51CC: .4byte gUnk_03001010 -_080A51D0: .4byte 0x000001FB - - thumb_func_start sub_080A51D4 -sub_080A51D4: @ 0x080A51D4 - push {lr} - ldr r0, _080A51EC @ =gUnk_02034490 - ldrb r1, [r0, #1] - cmp r1, #0xd - bhi _080A51E8 - adds r0, #2 - adds r0, r1, r0 - ldr r1, _080A51F0 @ =gUnk_02000080 - ldrb r1, [r1, #3] - strb r1, [r0] -_080A51E8: - pop {pc} - .align 2, 0 -_080A51EC: .4byte gUnk_02034490 -_080A51F0: .4byte gUnk_02000080 - - thumb_func_start sub_080A51F4 -sub_080A51F4: @ 0x080A51F4 - push {lr} - movs r1, #1 - ldr r0, _080A5210 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - beq _080A5202 - movs r1, #0 -_080A5202: - ldr r0, _080A5214 @ =gUnk_02034490 - ldrb r0, [r0, #0x11] - cmp r0, #2 - beq _080A520C - movs r1, #0 -_080A520C: - adds r0, r1, #0 - pop {pc} - .align 2, 0 -_080A5210: .4byte gUnk_03000FD0 -_080A5214: .4byte gUnk_02034490 - - thumb_func_start sub_080A5218 -sub_080A5218: @ 0x080A5218 - push {lr} - ldr r1, _080A5230 @ =gUnk_08128B48 - ldr r0, _080A5234 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080A5384 - pop {pc} - .align 2, 0 -_080A5230: .4byte gUnk_08128B48 -_080A5234: .4byte gUnk_02000080 - - thumb_func_start sub_080A5238 -sub_080A5238: @ 0x080A5238 - push {r4, r5, lr} - ldr r4, _080A528C @ =gUnk_02000080 - movs r0, #0 - str r0, [r4, #0xc] - ldr r0, _080A5290 @ =gUnk_08128B50 - bl sub_080A70AC - movs r5, #1 - adds r4, #0x10 -_080A524A: - adds r0, r5, #0 - bl sub_0807CA84 - cmp r0, #1 - bne _080A527E - ldr r1, _080A5294 @ =gUnk_080FD5B4 - lsls r0, r5, #3 - adds r0, r0, r1 - ldrb r1, [r0] - cmp r1, #0x11 - bhi _080A527E - cmp r5, #0x10 - bhi _080A526C - cmp r5, #0xf - blo _080A526C - ldr r0, _080A5298 @ =gUnk_02034490 - ldrb r5, [r0, #0x15] -_080A526C: - adds r0, r1, r4 - strb r5, [r0] - lsls r1, r1, #3 - movs r0, #0xd8 - lsls r0, r0, #2 - adds r1, r1, r0 - adds r0, r5, #0 - bl sub_080A5F48 -_080A527E: - adds r5, #1 - cmp r5, #0x1f - bls _080A524A - movs r0, #1 - bl sub_080A7114 - pop {r4, r5, pc} - .align 2, 0 -_080A528C: .4byte gUnk_02000080 -_080A5290: .4byte gUnk_08128B50 -_080A5294: .4byte gUnk_080FD5B4 -_080A5298: .4byte gUnk_02034490 - - thumb_func_start sub_080A529C -sub_080A529C: @ 0x080A529C - push {r4, r5, lr} - bl sub_080A51F4 - cmp r0, #0 - beq _080A5380 - ldr r1, _080A52D0 @ =gUnk_02000080 - ldr r0, _080A52D4 @ =gUnk_08128BF4 - str r0, [r1, #0xc] - ldrb r4, [r1, #3] - lsls r1, r4, #3 - ldr r0, _080A52D8 @ =gUnk_08128B64 - adds r1, r1, r0 - ldr r0, _080A52DC @ =gUnk_03000FF0 - ldrh r2, [r0, #2] - adds r3, r0, #0 - cmp r2, #1 - beq _080A52E0 - cmp r2, #2 - beq _080A52EC - ldrh r0, [r3, #4] - cmp r0, #0x20 - beq _080A5330 - cmp r0, #0x20 - bgt _080A531E - b _080A5318 - .align 2, 0 -_080A52D0: .4byte gUnk_02000080 -_080A52D4: .4byte gUnk_08128BF4 -_080A52D8: .4byte gUnk_08128B64 -_080A52DC: .4byte gUnk_03000FF0 -_080A52E0: - cmp r4, #0x10 - bne _080A52EC - movs r0, #0xb - bl sub_080A4E84 - b _080A530A -_080A52EC: - ldr r0, _080A5314 @ =gUnk_02000080 - adds r0, #0x10 - adds r2, r4, r0 - ldrb r0, [r2] - cmp r0, #0 - beq _080A5336 - ldrh r0, [r3, #2] - movs r1, #1 - eors r0, r1 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - ldrb r0, [r2] - bl sub_08054414 -_080A530A: - movs r0, #0x6a - bl sub_080A3268 - b _080A5336 - .align 2, 0 -_080A5314: .4byte gUnk_02000080 -_080A5318: - cmp r0, #0x10 - beq _080A5334 - b _080A5336 -_080A531E: - cmp r0, #0x40 - beq _080A5328 - cmp r0, #0x80 - beq _080A532C - b _080A5336 -_080A5328: - ldrb r4, [r1] - b _080A5336 -_080A532C: - ldrb r4, [r1, #1] - b _080A5336 -_080A5330: - ldrb r4, [r1, #2] - b _080A5336 -_080A5334: - ldrb r4, [r1, #3] -_080A5336: - ldr r5, _080A535C @ =gUnk_02000080 - ldrb r0, [r5, #3] - cmp r0, r4 - beq _080A5346 - strb r4, [r5, #3] - movs r0, #0x69 - bl sub_080A3268 -_080A5346: - adds r0, r5, #0 - adds r0, #0x10 - adds r0, r4, r0 - ldrb r1, [r0] - cmp r4, #0xc - blo _080A5376 - cmp r4, #0xf - bls _080A5360 - cmp r4, #0x10 - beq _080A5374 - b _080A5376 - .align 2, 0 -_080A535C: .4byte gUnk_02000080 -_080A5360: - cmp r1, #0 - beq _080A5376 - ldr r0, _080A5370 @ =gUnk_02002A40 - adds r0, r0, r1 - adds r0, #0x9a - ldrb r1, [r0] - b _080A5376 - .align 2, 0 -_080A5370: .4byte gUnk_02002A40 -_080A5374: - movs r1, #0x73 -_080A5376: - movs r0, #0x80 - lsls r0, r0, #3 - adds r0, r1, r0 - bl sub_080A6F6C -_080A5380: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A5384 -sub_080A5384: @ 0x080A5384 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, _080A5400 @ =gUnk_03001010 - movs r2, #0 - movs r1, #0x80 - lsls r1, r1, #3 - strh r1, [r0, #4] - strh r2, [r0, #6] - strh r2, [r0, #8] - movs r5, #0 - ldr r4, _080A5404 @ =gUnk_02002A40 - movs r0, #0xb6 - adds r0, r0, r4 - mov sl, r0 - movs r1, #0xac - adds r1, r1, r4 - mov sb, r1 - movs r2, #0xad - adds r2, r2, r4 - mov r8, r2 - movs r6, #0 -_080A53B4: - ldr r0, _080A5408 @ =gUnk_02000080 - adds r0, #0x10 - adds r2, r5, r0 - ldrb r0, [r2] - cmp r0, #0 - beq _080A5456 - ldr r0, _080A540C @ =gUnk_08128B64 - adds r1, r6, r0 - ldrb r0, [r1, #6] - ldr r3, _080A5400 @ =gUnk_03001010 - strh r0, [r3] - ldrb r0, [r1, #7] - strh r0, [r3, #2] - ldrb r3, [r2] - cmp r3, #0x1f - bhi _080A53E0 - cmp r3, #0x1c - blo _080A53E0 - adds r0, r3, #0 - subs r0, #0x1c - add r0, sl - ldrb r3, [r0] -_080A53E0: - movs r2, #3 - cmp r3, #7 - blo _080A542E - cmp r3, #8 - bhi _080A5414 - ldr r0, _080A5410 @ =gUnk_080FD5A0 - adds r1, r4, #0 - adds r1, #0xae - ldrb r1, [r1] - adds r1, r1, r0 - ldrb r0, [r1] - mov r7, sb - ldrb r7, [r7] - cmp r0, r7 - bhi _080A542E - b _080A542C - .align 2, 0 -_080A5400: .4byte gUnk_03001010 -_080A5404: .4byte gUnk_02002A40 -_080A5408: .4byte gUnk_02000080 -_080A540C: .4byte gUnk_08128B64 -_080A5410: .4byte gUnk_080FD5A0 -_080A5414: - cmp r3, #0xa - bhi _080A542E - ldr r0, _080A552C @ =gUnk_080FD5A4 - adds r1, r4, #0 - adds r1, #0xaf - ldrb r1, [r1] - adds r1, r1, r0 - ldrb r0, [r1] - mov r1, r8 - ldrb r1, [r1] - cmp r0, r1 - bhi _080A542E -_080A542C: - movs r2, #4 -_080A542E: - lsls r2, r2, #0xc - movs r7, #0xd8 - lsls r7, r7, #2 - adds r0, r6, r7 - movs r7, #0x80 - lsls r7, r7, #4 - adds r1, r7, #0 - orrs r0, r1 - orrs r2, r0 - ldr r0, _080A5530 @ =gUnk_03001010 - strh r2, [r0, #8] - ldr r1, _080A5534 @ =gUnk_080FDFD8 - lsls r0, r3, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldrb r1, [r0] - movs r0, #0xa1 - lsls r0, r0, #1 - bl sub_080ADA14 -_080A5456: - adds r6, #8 - adds r5, #1 - cmp r5, #0x10 - bls _080A53B4 - ldr r0, _080A5530 @ =gUnk_03001010 - movs r1, #0x80 - lsls r1, r1, #4 - strh r1, [r0, #8] - ldr r1, _080A5538 @ =gUnk_02000080 - ldrb r1, [r1, #3] - mov sb, r0 - cmp r1, #0x10 - bne _080A547C - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _080A547C - movs r1, #0x11 -_080A547C: - lsls r0, r1, #3 - ldr r1, _080A553C @ =gUnk_08128B64 - mov r8, r1 - adds r1, r0, r1 - mov r4, sb - ldrb r0, [r1, #6] - strh r0, [r4] - ldrb r0, [r1, #7] - strh r0, [r4, #2] - ldrb r2, [r1, #4] - ldr r0, _080A5540 @ =gUnk_03001000 - ldrh r1, [r0, #0xc] - movs r0, #0x10 - ands r0, r1 - adds r1, r2, #4 - cmp r0, #0 - beq _080A54A0 - adds r1, r2, #3 -_080A54A0: - ldr r6, _080A5544 @ =0x000001FB - adds r0, r6, #0 - bl sub_080ADA14 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #0x11 - cmp r0, #0 - beq _080A54B6 - movs r1, #0x10 -_080A54B6: - lsls r0, r1, #3 - mov r2, r8 - adds r1, r0, r2 - ldrb r0, [r1, #6] - strh r0, [r4] - ldrb r0, [r1, #7] - strh r0, [r4, #2] - movs r0, #0x80 - lsls r0, r0, #4 - strh r0, [r4, #8] - adds r0, r6, #0 - movs r1, #0x22 - bl sub_080ADA14 - ldr r7, _080A5548 @ =gUnk_02002A40 - adds r0, r7, #0 - adds r0, #0xb4 - ldrb r0, [r0] - bl sub_080A554C - adds r5, r0, #0 - cmp r5, #0x10 - bhi _080A54FA - lsls r0, r5, #3 - mov r3, r8 - adds r1, r0, r3 - ldrb r0, [r1, #6] - strh r0, [r4] - ldrb r0, [r1, #7] - strh r0, [r4, #2] - adds r0, r6, #0 - movs r1, #3 - bl sub_080ADA14 -_080A54FA: - adds r0, r7, #0 - adds r0, #0xb5 - ldrb r0, [r0] - bl sub_080A554C - adds r5, r0, #0 - cmp r5, #0x10 - bhi _080A5522 - lsls r0, r5, #3 - mov r7, r8 - adds r1, r0, r7 - ldrb r0, [r1, #6] - mov r2, sb - strh r0, [r2] - ldrb r0, [r1, #7] - strh r0, [r2, #2] - adds r0, r6, #0 - movs r1, #3 - bl sub_080ADA14 -_080A5522: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A552C: .4byte gUnk_080FD5A4 -_080A5530: .4byte gUnk_03001010 -_080A5534: .4byte gUnk_080FDFD8 -_080A5538: .4byte gUnk_02000080 -_080A553C: .4byte gUnk_08128B64 -_080A5540: .4byte gUnk_03001000 -_080A5544: .4byte 0x000001FB -_080A5548: .4byte gUnk_02002A40 - - thumb_func_start sub_080A554C -sub_080A554C: @ 0x080A554C - push {lr} - adds r2, r0, #0 - cmp r2, #0 - beq _080A556E - movs r1, #0 - ldr r3, _080A5564 @ =gUnk_02000090 -_080A5558: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bne _080A5568 - adds r0, r1, #0 - b _080A5570 - .align 2, 0 -_080A5564: .4byte gUnk_02000090 -_080A5568: - adds r1, #1 - cmp r1, #0x10 - bls _080A5558 -_080A556E: - movs r0, #0x11 -_080A5570: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A5574 -sub_080A5574: @ 0x080A5574 - push {lr} - ldr r1, _080A558C @ =gUnk_08128BF8 - ldr r0, _080A5590 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080A57F4 - pop {pc} - .align 2, 0 -_080A558C: .4byte gUnk_08128BF8 -_080A5590: .4byte gUnk_02000080 - - thumb_func_start sub_080A5594 -sub_080A5594: @ 0x080A5594 - push {r4, r5, r6, r7, lr} - ldr r4, _080A5620 @ =gUnk_02000080 - ldr r0, _080A5624 @ =gUnk_08128C00 - str r0, [r4, #0xc] - ldr r0, _080A5628 @ =gUnk_08128C04 - bl sub_080A70AC - movs r6, #6 - movs r5, #0x34 - adds r7, r4, #0 - adds r7, #0x10 -_080A55AA: - adds r0, r5, #0 - bl sub_0807CA84 - cmp r0, #1 - bne _080A55EA - ldr r1, _080A562C @ =gUnk_080FD5B4 - lsls r0, r5, #3 - adds r0, r0, r1 - ldrb r1, [r0] - cmp r1, #3 - bne _080A55C8 - ldrb r0, [r4, #0x13] - cmp r0, #0 - beq _080A55C8 - movs r1, #0x63 -_080A55C8: - cmp r1, #0x63 - beq _080A55EA - cmp r1, #1 - bne _080A55D8 - adds r1, r6, #0 - cmp r1, #7 - bhi _080A55D8 - adds r6, r1, #1 -_080A55D8: - adds r0, r1, r7 - strb r5, [r0] - lsls r1, r1, #3 - movs r0, #0xe0 - lsls r0, r0, #2 - adds r1, r1, r0 - adds r0, r5, #0 - bl sub_080A5F48 -_080A55EA: - adds r5, #1 - cmp r5, #0x46 - bls _080A55AA - movs r0, #0x3d - bl sub_0807CA84 - cmp r0, #0 - bne _080A564A - movs r5, #0 - movs r0, #0x67 - bl sub_0807CA84 - cmp r0, #0 - beq _080A5646 - movs r4, #0 - ldr r1, _080A5630 @ =gUnk_02002B6B -_080A560A: - adds r0, r4, r1 - ldrb r0, [r0] - adds r5, r5, r0 - adds r4, #1 - cmp r4, #0x12 - bls _080A560A - cmp r5, #0x4f - ble _080A5634 - movs r5, #4 - b _080A5646 - .align 2, 0 -_080A5620: .4byte gUnk_02000080 -_080A5624: .4byte gUnk_08128C00 -_080A5628: .4byte gUnk_08128C04 -_080A562C: .4byte gUnk_080FD5B4 -_080A5630: .4byte gUnk_02002B6B -_080A5634: - cmp r5, #0x27 - ble _080A563C - movs r5, #3 - b _080A5646 -_080A563C: - cmp r5, #9 - ble _080A5644 - movs r5, #2 - b _080A5646 -_080A5644: - movs r5, #1 -_080A5646: - ldr r0, _080A5698 @ =gUnk_02000080 - strb r5, [r0, #0x10] -_080A564A: - ldr r0, _080A5698 @ =gUnk_02000080 - ldr r1, _080A569C @ =gUnk_02002A40 - adds r1, #0xa9 - ldrb r1, [r1] - adds r1, #1 - strb r1, [r0, #0x11] - movs r5, #0 - movs r4, #0x48 -_080A565A: - adds r0, r4, #0 - bl sub_0807CA84 - cmp r0, #0 - beq _080A5666 - adds r5, #1 -_080A5666: - adds r4, #1 - cmp r4, #0x4f - bls _080A565A - ldr r4, _080A5698 @ =gUnk_02000080 - strb r5, [r4, #0x12] - movs r0, #0x3e - bl sub_0807CA84 - cmp r0, #0 - bne _080A5688 - movs r0, #0x3f - bl sub_0807CA84 - cmp r0, #0 - beq _080A5688 - movs r0, #0x3f - strb r0, [r4, #0x13] -_080A5688: - ldr r1, _080A5698 @ =gUnk_02000080 - movs r0, #1 - strb r0, [r1, #0x14] - strb r0, [r1, #0x15] - bl sub_080A7114 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A5698: .4byte gUnk_02000080 -_080A569C: .4byte gUnk_02002A40 - - thumb_func_start sub_080A56A0 -sub_080A56A0: @ 0x080A56A0 - push {r4, lr} - bl sub_080A51F4 - cmp r0, #0 - bne _080A56AC - b _080A57F0 -_080A56AC: - ldr r2, _080A56D0 @ =gUnk_02000080 - ldr r0, _080A56D4 @ =gUnk_08128C00 - str r0, [r2, #0xc] - ldrb r0, [r2, #3] - lsls r0, r0, #3 - ldr r1, _080A56D8 @ =gUnk_08128C14 - adds r4, r0, r1 - movs r3, #0xff - ldr r0, _080A56DC @ =gUnk_03000FF0 - ldrh r1, [r0, #4] - cmp r1, #0x20 - beq _080A56F2 - cmp r1, #0x20 - bgt _080A56E0 - cmp r1, #0x10 - beq _080A56F6 - b _080A56F8 - .align 2, 0 -_080A56D0: .4byte gUnk_02000080 -_080A56D4: .4byte gUnk_08128C00 -_080A56D8: .4byte gUnk_08128C14 -_080A56DC: .4byte gUnk_03000FF0 -_080A56E0: - cmp r1, #0x40 - beq _080A56EA - cmp r1, #0x80 - beq _080A56EE - b _080A56F8 -_080A56EA: - ldrb r3, [r4] - b _080A56F8 -_080A56EE: - ldrb r3, [r4, #1] - b _080A56F8 -_080A56F2: - ldrb r3, [r4, #2] - b _080A56F8 -_080A56F6: - ldrb r3, [r4, #3] -_080A56F8: - cmp r3, #0xff - beq _080A570C - ldr r0, _080A5708 @ =gUnk_02000080 - strb r3, [r0, #3] - movs r0, #0x69 - bl sub_080A3268 - b _080A575E - .align 2, 0 -_080A5708: .4byte gUnk_02000080 -_080A570C: - ldrh r0, [r0, #2] - cmp r0, #1 - bne _080A575E - ldrb r3, [r2, #3] - movs r1, #0 - cmp r3, #2 - beq _080A572E - cmp r3, #2 - bhi _080A5724 - cmp r3, #0 - beq _080A572E - b _080A574E -_080A5724: - cmp r3, #4 - beq _080A5748 - cmp r3, #5 - beq _080A574C - b _080A574E -_080A572E: - ldr r0, _080A5744 @ =gUnk_02000080 - adds r0, #0x10 - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, #0 - beq _080A574E - movs r1, #8 - cmp r3, #0 - bne _080A574E - movs r1, #7 - b _080A5752 - .align 2, 0 -_080A5744: .4byte gUnk_02000080 -_080A5748: - movs r1, #9 - b _080A5752 -_080A574C: - movs r1, #0xa -_080A574E: - cmp r1, #0 - beq _080A575E -_080A5752: - adds r0, r1, #0 - bl sub_080A4E84 - movs r0, #0x6a - bl sub_080A3268 -_080A575E: - ldr r0, _080A5780 @ =gUnk_02000080 - ldrb r1, [r0, #3] - adds r2, r0, #0 - cmp r1, #0 - beq _080A576C - cmp r1, #2 - bne _080A5788 -_080A576C: - adds r0, r2, #0 - adds r0, #0x10 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, #0 - beq _080A5788 - ldr r1, _080A5784 @ =gUnk_0200AF00 - movs r0, #0x10 - b _080A578C - .align 2, 0 -_080A5780: .4byte gUnk_02000080 -_080A5784: .4byte gUnk_0200AF00 -_080A5788: - ldr r1, _080A57AC @ =gUnk_0200AF00 - ldr r0, _080A57B0 @ =0x0000FFF0 -_080A578C: - strh r0, [r1, #0x1c] - ldrb r3, [r2, #3] - adds r0, r2, #0 - adds r0, #0x10 - adds r0, r3, r0 - ldrb r2, [r0] - cmp r2, #0 - beq _080A57E6 - cmp r3, #5 - bhi _080A57E6 - lsls r0, r3, #2 - ldr r1, _080A57B4 @ =_080A57B8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A57AC: .4byte gUnk_0200AF00 -_080A57B0: .4byte 0x0000FFF0 -_080A57B4: .4byte _080A57B8 -_080A57B8: @ jump table - .4byte _080A57D0 @ case 0 - .4byte _080A57D8 @ case 1 - .4byte _080A57DC @ case 2 - .4byte _080A57E6 @ case 3 - .4byte _080A57E0 @ case 4 - .4byte _080A57E4 @ case 5 -_080A57D0: - cmp r2, #0x3d - beq _080A57E6 - movs r2, #0x67 - b _080A57E6 -_080A57D8: - movs r2, #0x63 - b _080A57E6 -_080A57DC: - movs r2, #0x70 - b _080A57E6 -_080A57E0: - movs r2, #0x74 - b _080A57E6 -_080A57E4: - movs r2, #0x73 -_080A57E6: - movs r0, #0x80 - lsls r0, r0, #3 - adds r0, r2, r0 - bl sub_080A6F6C -_080A57F0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A57F4 -sub_080A57F4: @ 0x080A57F4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - ldr r2, _080A5890 @ =gUnk_03001010 - movs r1, #0 - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r2, #4] - strh r1, [r2, #6] - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - ldr r1, _080A5894 @ =gUnk_08128C94 - mov sb, r1 - cmp r0, #0 - bne _080A581A - ldr r3, _080A5898 @ =gUnk_08128C14 - mov sb, r3 -_080A581A: - ldr r0, _080A589C @ =gUnk_02000080 - ldrb r0, [r0, #3] - lsls r0, r0, #3 - mov r1, sb - adds r3, r1, r0 - movs r0, #0x80 - lsls r0, r0, #4 - strh r0, [r2, #8] - ldrb r0, [r3, #6] - strh r0, [r2] - ldrb r0, [r3, #7] - strh r0, [r2, #2] - ldrb r2, [r3, #4] - ldr r0, _080A58A0 @ =gUnk_03001000 - ldrh r1, [r0, #0xc] - movs r0, #0x10 - ands r0, r1 - adds r1, r2, #0 - adds r1, #0xa - cmp r0, #0 - bne _080A5846 - adds r1, #1 -_080A5846: - ldr r0, _080A58A4 @ =0x000001FB - bl sub_080ADA14 - movs r3, #0 - mov r8, r3 - mov r7, sb - adds r7, #5 -_080A5854: - ldr r0, _080A589C @ =gUnk_02000080 - adds r0, #0x10 - mov r1, r8 - adds r6, r1, r0 - ldrb r1, [r6] - cmp r1, #0 - beq _080A58E8 - mov r3, r8 - lsls r5, r3, #3 - mov r0, sb - adds r3, r0, r5 - ldr r4, _080A5890 @ =gUnk_03001010 - ldrb r0, [r7, #1] - strh r0, [r4] - ldrb r2, [r7, #2] - strh r2, [r4, #2] - movs r0, #0xe8 - lsls r0, r0, #8 - strh r0, [r4, #8] - cmp r1, #0x33 - bhi _080A58B8 - mov r1, r8 - cmp r1, #2 - bne _080A58A8 - ldrb r0, [r7] - adds r1, r0, #0 - adds r1, #0xa - ldr r0, _080A58A4 @ =0x000001FB - b _080A58E4 - .align 2, 0 -_080A5890: .4byte gUnk_03001010 -_080A5894: .4byte gUnk_08128C94 -_080A5898: .4byte gUnk_08128C14 -_080A589C: .4byte gUnk_02000080 -_080A58A0: .4byte gUnk_03001000 -_080A58A4: .4byte 0x000001FB -_080A58A8: - ldrb r0, [r6] - adds r0, #9 - ldrb r3, [r3, #5] - adds r1, r0, r3 - ldr r0, _080A58B4 @ =0x000001FB - b _080A58E4 - .align 2, 0 -_080A58B4: .4byte 0x000001FB -_080A58B8: - ldr r3, _080A58CC @ =0x0000EB80 - adds r0, r5, r3 - strh r0, [r4, #8] - cmp r1, #0x3d - beq _080A58D0 - cmp r1, #0x3e - bne _080A58D6 - adds r0, r2, #0 - adds r0, #8 - b _080A58D4 - .align 2, 0 -_080A58CC: .4byte 0x0000EB80 -_080A58D0: - adds r0, r2, #0 - adds r0, #0xd -_080A58D4: - strh r0, [r4, #2] -_080A58D6: - ldr r0, _080A5980 @ =gUnk_080FDFD8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - ldrb r1, [r0] - movs r0, #0xa1 - lsls r0, r0, #1 -_080A58E4: - bl sub_080ADA14 -_080A58E8: - adds r7, #8 - movs r0, #1 - add r8, r0 - mov r1, r8 - cmp r1, #0xf - bls _080A5854 - ldr r4, _080A5984 @ =gUnk_02000080 - ldrb r0, [r4, #0x12] - cmp r0, #0 - beq _080A5920 - ldr r2, _080A5988 @ =gUnk_03001010 - movs r3, #0x80 - lsls r3, r3, #4 - adds r1, r3, #0 - adds r0, r0, r1 - strh r0, [r2, #8] - mov r3, sb - adds r3, #0x10 - ldrb r0, [r3, #6] - adds r0, #9 - strh r0, [r2] - ldrb r0, [r3, #7] - adds r0, #7 - strh r0, [r2, #2] - movs r0, #0 - movs r1, #1 - bl sub_080ADA14 -_080A5920: - ldrb r0, [r4, #0x13] - cmp r0, #0x3f - bne _080A5976 - mov r3, sb - adds r3, #0x18 - ldr r1, _080A5988 @ =gUnk_03001010 - ldrb r0, [r3, #6] - adds r0, #8 - strh r0, [r1] - ldrb r0, [r3, #7] - adds r0, #8 - strh r0, [r1, #2] - ldr r0, _080A598C @ =gUnk_02002A40 - adds r0, #0xc2 - ldrh r4, [r0] - movs r0, #0 - mov r8, r0 - adds r5, r1, #0 -_080A5944: - adds r0, r4, #0 - movs r1, #0xa - bl __modsi3 - movs r1, #0x80 - lsls r1, r1, #4 - adds r0, r0, r1 - strh r0, [r5, #8] - movs r0, #0 - movs r1, #1 - bl sub_080ADA14 - adds r0, r4, #0 - movs r1, #0xa - bl __divsi3 - adds r4, r0, #0 - ldrh r0, [r5] - subs r0, #8 - strh r0, [r5] - movs r3, #1 - add r8, r3 - mov r0, r8 - cmp r0, #2 - bls _080A5944 -_080A5976: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A5980: .4byte gUnk_080FDFD8 -_080A5984: .4byte gUnk_02000080 -_080A5988: .4byte gUnk_03001010 -_080A598C: .4byte gUnk_02002A40 - - thumb_func_start sub_080A5990 -sub_080A5990: @ 0x080A5990 - push {lr} - ldr r1, _080A59A4 @ =gUnk_08128D14 - ldr r0, _080A59A8 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A59A4: .4byte gUnk_08128D14 -_080A59A8: .4byte gUnk_02000080 - - thumb_func_start sub_080A59AC -sub_080A59AC: @ 0x080A59AC - push {lr} - ldr r1, _080A59C4 @ =gUnk_02000080 - movs r0, #0 - strb r0, [r1, #3] - movs r1, #0 - bl sub_08052418 - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_080A59C4: .4byte gUnk_02000080 - - thumb_func_start sub_080A59C8 -sub_080A59C8: @ 0x080A59C8 - push {lr} - bl sub_080A51F4 - cmp r0, #0 - beq _080A5A52 - ldr r1, _080A59EC @ =gUnk_02000080 - ldrb r2, [r1, #3] - movs r3, #0 - ldr r0, _080A59F0 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #2 - beq _080A5A02 - cmp r0, #2 - bgt _080A59F4 - cmp r0, #1 - beq _080A5A0A - b _080A5A0C - .align 2, 0 -_080A59EC: .4byte gUnk_02000080 -_080A59F0: .4byte gUnk_03000FF0 -_080A59F4: - cmp r0, #0x40 - beq _080A59FE - cmp r0, #0x80 - beq _080A5A06 - b _080A5A0C -_080A59FE: - movs r2, #0 - b _080A5A0C -_080A5A02: - cmp r2, #0 - bne _080A5A10 -_080A5A06: - movs r2, #1 - b _080A5A0C -_080A5A0A: - movs r3, #1 -_080A5A0C: - cmp r3, #0 - beq _080A5A3C -_080A5A10: - movs r0, #0xff - strh r0, [r1, #8] - cmp r2, #0 - bne _080A5A2E - movs r0, #8 - movs r1, #0 - bl sub_08050318 - movs r0, #2 - bl sub_080A7114 - movs r0, #0x6a - bl sub_080A3268 - b _080A5A52 -_080A5A2E: - movs r0, #3 - bl sub_080A7114 - movs r0, #0x6c - bl sub_080A3268 - b _080A5A52 -_080A5A3C: - ldrb r0, [r1, #3] - cmp r0, r2 - beq _080A5A52 - strb r2, [r1, #3] - movs r0, #0 - adds r1, r2, #0 - bl sub_08052418 - movs r0, #0x69 - bl sub_080A3268 -_080A5A52: - pop {pc} - - thumb_func_start sub_080A5A54 -sub_080A5A54: @ 0x080A5A54 - push {lr} - movs r0, #0 - bl sub_0807CDA4 - adds r1, r0, #0 - cmp r1, #0 - beq _080A5A8A - cmp r1, #0 - bgt _080A5A70 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _080A5A76 - b _080A5A8A -_080A5A70: - cmp r1, #1 - beq _080A5A84 - b _080A5A8A -_080A5A76: - movs r0, #9 - movs r1, #0 - bl sub_08050318 - ldr r1, _080A5A8C @ =gUnk_02000080 - movs r0, #0x3c - strh r0, [r1, #8] -_080A5A84: - movs r0, #3 - bl sub_080A7114 -_080A5A8A: - pop {pc} - .align 2, 0 -_080A5A8C: .4byte gUnk_02000080 - - thumb_func_start sub_080A5A90 -sub_080A5A90: @ 0x080A5A90 - push {lr} - ldr r2, _080A5AA4 @ =gUnk_02000080 - ldrh r0, [r2, #8] - cmp r0, #0 - beq _080A5AA8 - cmp r0, #0xff - beq _080A5AC0 - subs r0, #1 - strh r0, [r2, #8] - b _080A5AD2 - .align 2, 0 -_080A5AA4: .4byte gUnk_02000080 -_080A5AA8: - ldr r0, _080A5ABC @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #0xb - ands r0, r1 - cmp r0, #0 - beq _080A5AD2 - movs r0, #0xff - strh r0, [r2, #8] - b _080A5AD2 - .align 2, 0 -_080A5ABC: .4byte gUnk_03000FF0 -_080A5AC0: - ldr r0, _080A5AD4 @ =gUnk_02034490 - ldrb r0, [r0, #1] - movs r1, #1 - cmp r0, #0xa - bne _080A5ACC - movs r1, #2 -_080A5ACC: - adds r0, r1, #0 - bl sub_080A4E84 -_080A5AD2: - pop {pc} - .align 2, 0 -_080A5AD4: .4byte gUnk_02034490 - - thumb_func_start sub_080A5AD8 -sub_080A5AD8: @ 0x080A5AD8 - push {lr} - ldr r1, _080A5AEC @ =gUnk_08128D24 - ldr r0, _080A5AF0 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A5AEC: .4byte gUnk_08128D24 -_080A5AF0: .4byte gUnk_02000080 - - thumb_func_start sub_080A5AF4 -sub_080A5AF4: @ 0x080A5AF4 - push {r4, lr} - ldr r0, _080A5B18 @ =gUnk_02000080 - movs r4, #0 - strb r4, [r0, #3] - movs r0, #2 - movs r1, #0 - bl sub_08052418 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - bne _080A5B24 - ldr r1, _080A5B1C @ =gUnk_03000F50 - ldr r0, _080A5B20 @ =0x0000FFFC - strh r0, [r1, #0x18] - b _080A5B28 - .align 2, 0 -_080A5B18: .4byte gUnk_02000080 -_080A5B1C: .4byte gUnk_03000F50 -_080A5B20: .4byte 0x0000FFFC -_080A5B24: - ldr r0, _080A5B30 @ =gUnk_03000F50 - strh r4, [r0, #0x18] -_080A5B28: - movs r0, #1 - bl sub_080A7114 - pop {r4, pc} - .align 2, 0 -_080A5B30: .4byte gUnk_03000F50 - - thumb_func_start sub_080A5B34 -sub_080A5B34: @ 0x080A5B34 - push {r4, r5, r6, lr} - bl sub_080A51F4 - cmp r0, #0 - beq _080A5BB6 - ldr r1, _080A5B58 @ =gUnk_02000080 - ldrb r4, [r1, #3] - movs r5, #0 - ldr r0, _080A5B5C @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - adds r6, r1, #0 - cmp r0, #2 - beq _080A5B6C - cmp r0, #2 - bgt _080A5B60 - cmp r0, #1 - beq _080A5B74 - b _080A5B76 - .align 2, 0 -_080A5B58: .4byte gUnk_02000080 -_080A5B5C: .4byte gUnk_03000FF0 -_080A5B60: - cmp r0, #0x10 - beq _080A5B70 - cmp r0, #0x20 - bne _080A5B76 - movs r4, #0 - b _080A5B76 -_080A5B6C: - cmp r4, #0 - bne _080A5B74 -_080A5B70: - movs r4, #1 - b _080A5B76 -_080A5B74: - movs r5, #1 -_080A5B76: - adds r1, r6, #0 - ldrb r0, [r1, #3] - cmp r0, r4 - beq _080A5B8E - strb r4, [r1, #3] - movs r0, #2 - adds r1, r4, #0 - bl sub_08052418 - movs r0, #0x69 - bl sub_080A3268 -_080A5B8E: - cmp r5, #0 - beq _080A5BB6 - cmp r4, #0 - bne _080A5BAA - movs r0, #7 - movs r1, #0x20 - bl sub_08050054 - movs r0, #0x3c - strh r0, [r6, #8] - movs r0, #2 - bl sub_080A7114 - b _080A5BB6 -_080A5BAA: - movs r0, #0x6c - bl sub_080A3268 - movs r0, #2 - bl sub_080A4E84 -_080A5BB6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080A5BB8 -sub_080A5BB8: @ 0x080A5BB8 - push {lr} - ldr r0, _080A5BE4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A5BE2 - bl sub_08050384 - ldr r1, _080A5BE8 @ =gUnk_03001000 - ldrb r0, [r1, #1] - movs r0, #1 - strb r0, [r1, #1] - movs r0, #6 - movs r1, #8 - bl sub_08050054 - movs r0, #2 - bl sub_080A4E84 - ldr r1, _080A5BEC @ =gUnk_02034490 - movs r0, #0x10 - strb r0, [r1, #0x16] -_080A5BE2: - pop {pc} - .align 2, 0 -_080A5BE4: .4byte gUnk_03000FD0 -_080A5BE8: .4byte gUnk_03001000 -_080A5BEC: .4byte gUnk_02034490 - - thumb_func_start sub_080A5BF0 -sub_080A5BF0: @ 0x080A5BF0 - push {r4, r5, lr} - ldr r1, _080A5C30 @ =gUnk_08128D30 - ldr r0, _080A5C34 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080A5D1C - ldr r0, _080A5C38 @ =gUnk_03001000 - ldrh r0, [r0, #0xc] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _080A5C2E - ldr r4, _080A5C3C @ =gUnk_02017830 - ldrh r5, [r4] - adds r0, r4, #2 - adds r1, r4, #0 - movs r2, #0xe - bl sub_0801D66C - strh r5, [r4, #0xe] - ldr r2, _080A5C40 @ =gUnk_0200B644 - ldr r0, [r2] - movs r1, #0x80 - lsls r1, r1, #5 - orrs r0, r1 - str r0, [r2] -_080A5C2E: - pop {r4, r5, pc} - .align 2, 0 -_080A5C30: .4byte gUnk_08128D30 -_080A5C34: .4byte gUnk_02000080 -_080A5C38: .4byte gUnk_03001000 -_080A5C3C: .4byte gUnk_02017830 -_080A5C40: .4byte gUnk_0200B644 - - thumb_func_start sub_080A5C44 -sub_080A5C44: @ 0x080A5C44 - push {r4, lr} - ldr r1, _080A5C88 @ =gUnk_02000080 - ldr r0, _080A5C8C @ =gUnk_08128D38 - str r0, [r1, #0xc] - ldrb r0, [r1, #3] - bl sub_080A5CFC - movs r0, #0x81 - bl sub_0801D7EC - ldr r4, _080A5C90 @ =gUnk_02033A90 - ldrb r0, [r4, #3] - movs r1, #1 - bl sub_080A6FB4 - movs r0, #1 - bl sub_080A7114 - ldrb r1, [r4, #3] - lsls r1, r1, #1 - ldr r0, _080A5C94 @ =gUnk_08128D43 - adds r1, r1, r0 - ldr r2, _080A5C98 @ =gUnk_03000F50 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r3, [r2, #0x16] - adds r0, r0, r3 - strh r0, [r2, #0x16] - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r1, [r2, #0x18] - adds r0, r0, r1 - strh r0, [r2, #0x18] - pop {r4, pc} - .align 2, 0 -_080A5C88: .4byte gUnk_02000080 -_080A5C8C: .4byte gUnk_08128D38 -_080A5C90: .4byte gUnk_02033A90 -_080A5C94: .4byte gUnk_08128D43 -_080A5C98: .4byte gUnk_03000F50 - - thumb_func_start sub_080A5C9C -sub_080A5C9C: @ 0x080A5C9C - push {lr} - bl sub_080A51F4 - cmp r0, #0 - beq _080A5CFA - ldr r0, _080A5CC4 @ =gUnk_02033A90 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - ldr r1, _080A5CC8 @ =gUnk_080C9C6C - adds r3, r0, r1 - ldr r1, _080A5CCC @ =gUnk_02000080 - ldrb r2, [r1, #3] - ldr r0, _080A5CD0 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #0x40 - beq _080A5CD4 - cmp r0, #0x80 - beq _080A5CDC - b _080A5CE6 - .align 2, 0 -_080A5CC4: .4byte gUnk_02033A90 -_080A5CC8: .4byte gUnk_080C9C6C -_080A5CCC: .4byte gUnk_02000080 -_080A5CD0: .4byte gUnk_03000FF0 -_080A5CD4: - cmp r2, #0 - ble _080A5CE6 - subs r2, #1 - b _080A5CE6 -_080A5CDC: - ldrb r0, [r3] - subs r0, #1 - cmp r0, r2 - ble _080A5CE6 - adds r2, #1 -_080A5CE6: - ldrb r0, [r1, #3] - cmp r0, r2 - beq _080A5CFA - strb r2, [r1, #3] - adds r0, r2, #0 - bl sub_080A5CFC - movs r0, #0x69 - bl sub_080A3268 -_080A5CFA: - pop {pc} - - thumb_func_start sub_080A5CFC -sub_080A5CFC: @ 0x080A5CFC - push {r4, lr} - adds r4, r0, #0 - bl sub_0801DDA0 - bl sub_0801DD88 - ldr r1, _080A5D18 @ =gUnk_02019EE0 - movs r2, #0x80 - lsls r2, r2, #3 - adds r0, r4, #0 - bl sub_0801DBA0 - pop {r4, pc} - .align 2, 0 -_080A5D18: .4byte gUnk_02019EE0 - - thumb_func_start sub_080A5D1C -sub_080A5D1C: @ 0x080A5D1C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r0, _080A5E98 @ =gUnk_02033A90 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - ldr r1, _080A5E9C @ =gUnk_080C9C6C - adds r7, r0, r1 - ldr r1, _080A5EA0 @ =gUnk_08128D3C - ldrb r0, [r7] - adds r0, r0, r1 - ldrb r6, [r0] - bl sub_0801DB94 - mov r8, r0 - ldr r5, _080A5EA4 @ =gUnk_03001010 - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r5, #4] - movs r0, #0 - strh r0, [r5, #6] - strh r0, [r5, #8] - movs r0, #0x34 - strh r0, [r5] - ldr r0, _080A5EA8 @ =gUnk_02000080 - ldrb r1, [r0, #3] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r6, r0 - strh r0, [r5, #2] - ldr r1, _080A5EAC @ =gUnk_03001000 - mov sl, r1 - ldrh r1, [r1, #0xc] - movs r0, #0x10 - ands r0, r1 - movs r1, #0x74 - cmp r0, #0 - bne _080A5D70 - movs r1, #0x75 -_080A5D70: - ldr r0, _080A5EB0 @ =0x000001FB - bl sub_080ADA14 - movs r0, #0x20 - mov sb, r0 - mov r1, sb - strh r1, [r5] - mov r1, r8 - lsls r0, r1, #1 - add r0, r8 - lsls r0, r0, #2 - adds r0, r6, r0 - strh r0, [r5, #2] - mov r0, sl - ldrh r1, [r0, #0xc] - mov r0, sb - ands r0, r1 - movs r1, #0x79 - cmp r0, #0 - beq _080A5D9A - movs r1, #0x78 -_080A5D9A: - ldr r0, _080A5EB0 @ =0x000001FB - bl sub_080ADA14 - movs r0, #0x7e - strh r0, [r5, #2] - movs r0, #0x87 - lsls r0, r0, #7 - strh r0, [r5, #8] - bl sub_080527CC - cmp r0, #0 - beq _080A5DCC - movs r0, #0x18 - strh r0, [r5] - ldr r0, _080A5EB4 @ =gUnk_080FDFD8 - movs r1, #0xa0 - lsls r1, r1, #1 - adds r0, r0, r1 - ldr r0, [r0] - ldrb r4, [r0] - movs r0, #0xa2 - lsls r0, r0, #1 - adds r1, r4, #0 - bl sub_080ADA14 -_080A5DCC: - bl sub_08052764 - cmp r0, #0 - beq _080A5DEE - movs r0, #0x2e - strh r0, [r5] - ldr r0, _080A5EB4 @ =gUnk_080FDFD8 - movs r1, #0xa4 - lsls r1, r1, #1 - adds r0, r0, r1 - ldr r0, [r0] - ldrb r4, [r0] - movs r0, #0xa2 - lsls r0, r0, #1 - adds r1, r4, #0 - bl sub_080ADA14 -_080A5DEE: - bl sub_0805279C - cmp r0, #0 - beq _080A5E48 - movs r0, #0x45 - strh r0, [r5] - movs r0, #0xe0 - lsls r0, r0, #2 - strh r0, [r5, #8] - ldr r1, _080A5EB4 @ =gUnk_080FDFD8 - movs r0, #0xa2 - lsls r0, r0, #1 - adds r1, r1, r0 - ldr r1, [r1] - ldrb r4, [r1] - adds r1, r4, #0 - bl sub_080ADA14 - bl sub_080A5F24 - cmp r0, #0 - beq _080A5E48 - movs r0, #0 - strh r0, [r5, #8] - movs r0, #0x46 - strh r0, [r5] - ldrb r1, [r7, #1] - ldrb r0, [r7, #2] - subs r1, r1, r0 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r6, r0 - strh r0, [r5, #2] - mov r0, sl - ldrh r1, [r0, #0xc] - mov r0, sb - ands r0, r1 - movs r1, #0x7b - cmp r0, #0 - beq _080A5E42 - movs r1, #0x7a -_080A5E42: - ldr r0, _080A5EB0 @ =0x000001FB - bl sub_080ADA14 -_080A5E48: - ldr r1, _080A5EA4 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r1, #8] - movs r0, #0x34 - strh r0, [r1] - strh r6, [r1, #2] - ldrb r0, [r7, #1] - adds r4, r0, #0 - adds r4, #0x82 - movs r5, #0 - ldrb r0, [r7] - cmp r5, r0 - bhs _080A5E7C - adds r6, r1, #0 -_080A5E64: - ldr r0, _080A5EB0 @ =0x000001FB - adds r1, r4, #0 - bl sub_080ADA14 - subs r4, #1 - ldrh r0, [r6, #2] - adds r0, #0xc - strh r0, [r6, #2] - adds r5, #1 - ldrb r1, [r7] - cmp r5, r1 - blo _080A5E64 -_080A5E7C: - ldr r5, _080A5EB8 @ =gUnk_02019EE0 - ldrb r0, [r5] - cmp r0, #0 - beq _080A5F14 - ldr r7, _080A5EA4 @ =gUnk_03001010 - ldr r6, _080A5EBC @ =gUnk_03000F50 -_080A5E88: - ldrb r0, [r5] - cmp r0, #2 - beq _080A5EDC - cmp r0, #2 - bgt _080A5EC0 - cmp r0, #1 - beq _080A5ECA - b _080A5EEE - .align 2, 0 -_080A5E98: .4byte gUnk_02033A90 -_080A5E9C: .4byte gUnk_080C9C6C -_080A5EA0: .4byte gUnk_08128D3C -_080A5EA4: .4byte gUnk_03001010 -_080A5EA8: .4byte gUnk_02000080 -_080A5EAC: .4byte gUnk_03001000 -_080A5EB0: .4byte 0x000001FB -_080A5EB4: .4byte gUnk_080FDFD8 -_080A5EB8: .4byte gUnk_02019EE0 -_080A5EBC: .4byte gUnk_03000F50 -_080A5EC0: - cmp r0, #3 - beq _080A5EE0 - cmp r0, #4 - beq _080A5EE4 - b _080A5EEE -_080A5ECA: - movs r4, #0x7d - ldr r0, _080A5ED8 @ =gUnk_02000080 - ldrb r0, [r0, #3] - cmp r8, r0 - beq _080A5EF0 - movs r4, #0x7e - b _080A5EF0 - .align 2, 0 -_080A5ED8: .4byte gUnk_02000080 -_080A5EDC: - movs r4, #0x80 - b _080A5EF0 -_080A5EE0: - movs r4, #0x81 - b _080A5EF0 -_080A5EE4: - bl sub_080A5F24 - movs r4, #0x7f - cmp r0, #0 - bne _080A5EF0 -_080A5EEE: - movs r4, #0xff -_080A5EF0: - ldrb r0, [r5, #1] - adds r0, #0x50 - ldrh r1, [r6, #0x16] - subs r0, r0, r1 - strh r0, [r7] - ldrb r0, [r5, #2] - adds r0, #0x10 - ldrh r1, [r6, #0x18] - subs r0, r0, r1 - strh r0, [r7, #2] - ldr r0, _080A5F20 @ =0x000001FB - adds r1, r4, #0 - bl sub_080ADA14 - adds r5, #3 - ldrb r0, [r5] - cmp r0, #0 - bne _080A5E88 -_080A5F14: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A5F20: .4byte 0x000001FB - - thumb_func_start sub_080A5F24 -sub_080A5F24: @ 0x080A5F24 - push {r4, lr} - movs r4, #1 - ldr r0, _080A5F44 @ =gUnk_02033A90 - ldrb r0, [r0, #3] - cmp r0, #6 - bne _080A5F40 - movs r0, #0x8c - lsls r0, r0, #4 - movs r1, #0x7b - bl sub_0807CB10 - cmp r0, #0 - beq _080A5F40 - movs r4, #0 -_080A5F40: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_080A5F44: .4byte gUnk_02033A90 - - thumb_func_start sub_080A5F48 -sub_080A5F48: @ 0x080A5F48 - push {r4, r5, lr} - adds r4, r0, #0 - cmp r4, #0x1f - bhi _080A5F5C - cmp r4, #0x1c - blo _080A5F5C - ldr r0, _080A5F9C @ =gUnk_02002A40 - adds r0, r0, r4 - adds r0, #0x9a - ldrb r4, [r0] -_080A5F5C: - lsls r0, r1, #5 - ldr r1, _080A5FA0 @ =0x06010000 - adds r5, r0, r1 - ldr r1, _080A5FA4 @ =gUnk_080FDFD8 - lsls r0, r4, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldrb r1, [r0] - ldr r3, _080A5FA8 @ =gUnk_08003DD4 - lsls r1, r1, #2 - ldr r0, [r3, #4] - adds r0, r0, r1 - ldr r2, _080A5FAC @ =0x040000D4 - ldrh r1, [r0, #2] - lsls r1, r1, #5 - ldr r0, [r3, #8] - adds r0, r0, r1 - str r0, [r2] - str r5, [r2, #4] - ldr r0, _080A5FB0 @ =0x84000040 - str r0, [r2, #8] - ldr r0, [r2, #8] - movs r0, #1 - rsbs r0, r0, #0 - cmp r4, #7 - blo _080A5FBE - cmp r4, #8 - bhi _080A5FB4 - ldr r0, _080A5F9C @ =gUnk_02002A40 - adds r0, #0xac - b _080A5FBC - .align 2, 0 -_080A5F9C: .4byte gUnk_02002A40 -_080A5FA0: .4byte 0x06010000 -_080A5FA4: .4byte gUnk_080FDFD8 -_080A5FA8: .4byte gUnk_08003DD4 -_080A5FAC: .4byte 0x040000D4 -_080A5FB0: .4byte 0x84000040 -_080A5FB4: - cmp r4, #0xa - bhi _080A5FBE - ldr r0, _080A5FF8 @ =gUnk_02002A40 - adds r0, #0xad -_080A5FBC: - ldrb r0, [r0] -_080A5FBE: - cmp r0, #0 - blt _080A5FF6 - movs r1, #0xa - bl Div - adds r4, r1, #0 - cmp r0, #9 - ble _080A5FD0 - movs r0, #9 -_080A5FD0: - ldr r1, _080A5FFC @ =0x040000D4 - lsls r0, r0, #5 - ldr r2, _080A6000 @ =gUnk_085C4620 - adds r0, r0, r2 - str r0, [r1] - str r5, [r1, #4] - ldr r3, _080A6004 @ =0x84000008 - str r3, [r1, #8] - ldr r0, [r1, #8] - adds r0, r4, #0 - adds r0, #0xa - lsls r0, r0, #5 - adds r0, r0, r2 - str r0, [r1] - adds r0, r5, #0 - adds r0, #0x20 - str r0, [r1, #4] - str r3, [r1, #8] - ldr r0, [r1, #8] -_080A5FF6: - pop {r4, r5, pc} - .align 2, 0 -_080A5FF8: .4byte gUnk_02002A40 -_080A5FFC: .4byte 0x040000D4 -_080A6000: .4byte gUnk_085C4620 -_080A6004: .4byte 0x84000008 - - thumb_func_start sub_080A6008 -sub_080A6008: @ 0x080A6008 - push {lr} - ldr r1, _080A601C @ =gUnk_08128D58 - ldr r0, _080A6020 @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A601C: .4byte gUnk_08128D58 -_080A6020: .4byte gUnk_02000080 - - thumb_func_start sub_080A6024 -sub_080A6024: @ 0x080A6024 - push {lr} - ldr r0, _080A6040 @ =gUnk_08128D60 - bl sub_080A70AC - movs r0, #0 - bl sub_0801E738 - bl sub_080A4398 - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_080A6040: .4byte gUnk_08128D60 - - thumb_func_start sub_080A6044 -sub_080A6044: @ 0x080A6044 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - bl sub_080A51F4 - cmp r0, #0 - beq _080A60C2 - ldr r0, _080A60CC @ =gUnk_02000080 - ldr r1, _080A60D0 @ =gUnk_08128D51 - str r1, [r0, #0xc] - ldr r1, _080A60D4 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r1, #4] - strh r0, [r1, #6] - movs r5, #0 - movs r4, #0 - ldr r0, _080A60D8 @ =gUnk_02002A40 - movs r2, #0x8c - lsls r2, r2, #1 - adds r3, r0, r2 - ldrb r2, [r3] - cmp r2, #0 - beq _080A60C2 - adds r6, r1, #0 - movs r1, #0 - mov sb, r1 - adds r7, r0, #0 - mov r8, r3 -_080A607E: - movs r1, #3 - ands r1, r5 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #4 - adds r0, #0x2b - strh r0, [r6] - lsrs r1, r5, #2 - lsls r0, r1, #3 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, #0x34 - strh r0, [r6, #2] - ldr r3, _080A60DC @ =0x0000012B - adds r0, r7, r3 - adds r0, r4, r0 - ldrb r1, [r0] - ldr r0, _080A60CC @ =gUnk_02000080 - mov r3, sb - strb r3, [r0, #1] - adds r0, r2, #0 - bl sub_080A42E0 - adds r5, #1 - cmp r5, #0xa - bhi _080A60C2 - adds r4, #1 - cmp r4, #0x11 - bhi _080A60C2 - mov r1, r8 - adds r0, r4, r1 - ldrb r2, [r0] - cmp r2, #0 - bne _080A607E -_080A60C2: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A60CC: .4byte gUnk_02000080 -_080A60D0: .4byte gUnk_08128D51 -_080A60D4: .4byte gUnk_03001010 -_080A60D8: .4byte gUnk_02002A40 -_080A60DC: .4byte 0x0000012B - - thumb_func_start sub_080A60E0 -sub_080A60E0: @ 0x080A60E0 - push {r4, lr} - ldr r1, _080A6100 @ =gUnk_08128DB0 - ldr r4, _080A6104 @ =gUnk_02000080 - ldrb r0, [r4, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080A617C - ldrb r0, [r4, #3] - bl sub_080A7040 - pop {r4, pc} - .align 2, 0 -_080A6100: .4byte gUnk_08128DB0 -_080A6104: .4byte gUnk_02000080 - - thumb_func_start sub_080A6108 -sub_080A6108: @ 0x080A6108 - push {lr} - ldr r0, _080A6120 @ =gUnk_02000080 - ldr r1, _080A6124 @ =gUnk_08128DB8 - str r1, [r0, #0xc] - ldr r0, _080A6128 @ =gUnk_08128DBC - bl sub_080A70AC - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_080A6120: .4byte gUnk_02000080 -_080A6124: .4byte gUnk_08128DB8 -_080A6128: .4byte gUnk_08128DBC - - thumb_func_start sub_080A612C -sub_080A612C: @ 0x080A612C - push {lr} - bl sub_080A51F4 - cmp r0, #0 - beq _080A6178 - ldr r1, _080A614C @ =gUnk_02000080 - ldrb r2, [r1, #3] - ldr r0, _080A6150 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #0x10 - beq _080A6154 - cmp r0, #0x20 - bne _080A6156 - subs r2, #1 - b _080A6156 - .align 2, 0 -_080A614C: .4byte gUnk_02000080 -_080A6150: .4byte gUnk_03000FF0 -_080A6154: - adds r2, #1 -_080A6156: - adds r3, r2, #0 - adds r3, #8 - adds r0, r3, #0 - cmp r3, #0 - bge _080A6164 - adds r0, r2, #0 - adds r0, #0xf -_080A6164: - asrs r2, r0, #3 - lsls r0, r2, #3 - subs r2, r3, r0 - ldrb r0, [r1, #3] - cmp r0, r2 - beq _080A6178 - strb r2, [r1, #3] - movs r0, #0x69 - bl sub_080A3268 -_080A6178: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A617C -sub_080A617C: @ 0x080A617C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r6, _080A6260 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r6, #4] - strh r0, [r6, #6] - movs r7, #0xc0 - lsls r7, r7, #4 - strh r7, [r6, #8] - movs r0, #0x2f - mov r8, r0 - mov r2, r8 - strh r2, [r6, #2] - ldr r4, _080A6264 @ =gUnk_02000080 - ldrb r1, [r4, #3] - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #2 - subs r0, r0, r1 - adds r0, #0x1a - strh r0, [r6] - ldr r0, _080A6268 @ =gUnk_03001000 - ldrh r1, [r0, #0xc] - movs r0, #0x20 - ands r0, r1 - movs r1, #9 - cmp r0, #0 - beq _080A61B8 - movs r1, #8 -_080A61B8: - movs r5, #0xfe - lsls r5, r5, #1 - adds r0, r5, #0 - bl sub_080ADA14 - ldrb r0, [r4, #3] - lsls r0, r0, #3 - ldr r1, _080A626C @ =gUnk_08128D70 - adds r4, r0, r1 - ldrb r0, [r4] - bl sub_0807CA84 - cmp r0, #0 - beq _080A621C - strh r7, [r6, #8] - movs r0, #0xcc - strh r0, [r6] - movs r0, #0x88 - strh r0, [r6, #2] - adds r0, r5, #0 - movs r1, #0xb - bl sub_080ADA14 - movs r0, #0x30 - strh r0, [r6] - movs r0, #0x6c - strh r0, [r6, #2] - ldrb r0, [r4, #1] - lsls r0, r0, #0xc - movs r2, #0xd8 - lsls r2, r2, #4 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r6, #8] - ldrb r1, [r4, #2] - adds r0, r5, #0 - bl sub_080ADA14 - ldrb r0, [r4, #1] - lsls r0, r0, #0xc - orrs r0, r7 - strh r0, [r6, #8] - movs r0, #0x78 - strh r0, [r6] - movs r0, #0x68 - strh r0, [r6, #2] - adds r0, r5, #0 - movs r1, #0xc - bl sub_080ADA14 -_080A621C: - mov r0, r8 - strh r0, [r6, #2] - movs r5, #0 - adds r7, r6, #0 - movs r6, #0x18 -_080A6226: - lsls r1, r5, #3 - ldr r0, _080A626C @ =gUnk_08128D70 - adds r4, r1, r0 - ldrb r0, [r4] - bl sub_0807CA84 - cmp r0, #0 - beq _080A6250 - ldrb r0, [r4, #1] - lsls r0, r0, #0xc - movs r2, #0xc0 - lsls r2, r2, #4 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r7, #8] - strh r6, [r7] - movs r0, #0xfe - lsls r0, r0, #1 - movs r1, #0xa - bl sub_080ADA14 -_080A6250: - adds r6, #0x1b - adds r5, #1 - cmp r5, #7 - bls _080A6226 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A6260: .4byte gUnk_03001010 -_080A6264: .4byte gUnk_02000080 -_080A6268: .4byte gUnk_03001000 -_080A626C: .4byte gUnk_08128D70 - - thumb_func_start sub_080A6270 -sub_080A6270: @ 0x080A6270 - push {lr} - ldr r1, _080A6288 @ =gUnk_08128DCC - ldr r0, _080A628C @ =gUnk_02000080 - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl sub_080A6378 - pop {pc} - .align 2, 0 -_080A6288: .4byte gUnk_08128DCC -_080A628C: .4byte gUnk_02000080 - - thumb_func_start sub_080A6290 -sub_080A6290: @ 0x080A6290 - push {r4, lr} - ldr r0, _080A62C4 @ =gUnk_08128DD8 - bl sub_080A70AC - ldr r4, _080A62C8 @ =gUnk_02000080 - ldr r0, _080A62CC @ =gUnk_08128DD4 - str r0, [r4, #0xc] - movs r0, #0x81 - bl sub_0801D7EC - ldr r1, _080A62D0 @ =gUnk_03000F50 - ldr r0, _080A62D4 @ =0x0000FFFC - strh r0, [r1, #0x18] - strh r0, [r1, #0x24] - ldr r2, _080A62D8 @ =gUnk_02002A40 - ldr r0, [r2, #0x40] - ldr r1, _080A62DC @ =0x00010780 - orrs r0, r1 - str r0, [r2, #0x40] - bl sub_080A6F40 - strh r0, [r4, #0x10] - movs r0, #1 - strb r0, [r4, #5] - pop {r4, pc} - .align 2, 0 -_080A62C4: .4byte gUnk_08128DD8 -_080A62C8: .4byte gUnk_02000080 -_080A62CC: .4byte gUnk_08128DD4 -_080A62D0: .4byte gUnk_03000F50 -_080A62D4: .4byte 0x0000FFFC -_080A62D8: .4byte gUnk_02002A40 -_080A62DC: .4byte 0x00010780 - - thumb_func_start sub_080A62E0 -sub_080A62E0: @ 0x080A62E0 - push {r4, lr} - bl sub_080A51F4 - cmp r0, #0 - beq _080A6372 - ldr r0, _080A6310 @ =gUnk_02000080 - ldrb r3, [r0, #3] - lsls r1, r3, #3 - ldr r0, _080A6314 @ =gUnk_08128DE8 - adds r1, r1, r0 - movs r4, #1 - rsbs r4, r4, #0 - ldr r0, _080A6318 @ =gUnk_03000FF0 - ldrh r2, [r0, #2] - cmp r2, #0x20 - beq _080A634E - cmp r2, #0x20 - bgt _080A631C - cmp r2, #1 - beq _080A6326 - cmp r2, #0x10 - beq _080A6354 - b _080A635A - .align 2, 0 -_080A6310: .4byte gUnk_02000080 -_080A6314: .4byte gUnk_08128DE8 -_080A6318: .4byte gUnk_03000FF0 -_080A631C: - cmp r2, #0x40 - beq _080A6344 - cmp r2, #0x80 - beq _080A634A - b _080A635A -_080A6326: - ldr r0, _080A6340 @ =gUnk_02002A40 - lsls r2, r3 - ldr r0, [r0, #0x40] - ands r0, r2 - cmp r0, #0 - beq _080A635A - movs r0, #0x6a - bl sub_080A3268 - movs r0, #6 - bl sub_080A4E84 - b _080A635A - .align 2, 0 -_080A6340: .4byte gUnk_02002A40 -_080A6344: - ldrb r0, [r1] - lsls r0, r0, #0x1b - b _080A6358 -_080A634A: - ldrh r0, [r1] - b _080A6356 -_080A634E: - ldrb r0, [r1, #2] - lsls r0, r0, #0x1b - b _080A6358 -_080A6354: - ldrh r0, [r1, #2] -_080A6356: - lsls r0, r0, #0x16 -_080A6358: - lsrs r4, r0, #0x1b -_080A635A: - cmp r4, #0 - blt _080A6368 - ldr r0, _080A6374 @ =gUnk_02000080 - strb r4, [r0, #3] - movs r0, #0x69 - bl sub_080A3268 -_080A6368: - ldr r0, _080A6374 @ =gUnk_02000080 - ldrb r0, [r0, #3] - movs r1, #0 - bl sub_080A6FB4 -_080A6372: - pop {r4, pc} - .align 2, 0 -_080A6374: .4byte gUnk_02000080 - - thumb_func_start sub_080A6378 -sub_080A6378: @ 0x080A6378 - push {r4, r5, r6, lr} - ldr r0, _080A6420 @ =gUnk_02000080 - adds r4, r0, #0 - adds r4, #0x2c - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - movs r6, #0x20 - ands r0, r6 - cmp r0, #0 - beq _080A6392 - bl sub_080A6438 -_080A6392: - ldr r5, _080A6424 @ =gUnk_03001010 - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r5, #4] - movs r0, #0 - strh r0, [r5, #6] - movs r0, #0xe0 - lsls r0, r0, #7 - strh r0, [r5, #8] - ldrb r1, [r4] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - bne _080A63EA - ldr r4, _080A6428 @ =gUnk_030010A0 - ldrh r1, [r4, #0x20] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #5 - movs r1, #0xf9 - lsls r1, r1, #4 - bl __divsi3 - adds r0, #0x28 - strh r0, [r5] - ldrh r0, [r4, #0x22] - lsls r0, r0, #7 - movs r1, #0xc6 - lsls r1, r1, #4 - bl __divsi3 - adds r0, #0xc - strh r0, [r5, #2] - ldr r0, _080A642C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #8 - ands r0, r1 - movs r1, #0x59 - cmp r0, #0 - beq _080A63E4 - movs r1, #0x5a -_080A63E4: - ldr r0, _080A6430 @ =0x000001FB - bl sub_080ADA14 -_080A63EA: - ldr r3, _080A6420 @ =gUnk_02000080 - ldrb r0, [r3, #3] - lsls r0, r0, #3 - ldr r1, _080A6434 @ =gUnk_08128DE8 - adds r0, r0, r1 - ldr r2, _080A6424 @ =gUnk_03001010 - ldrb r1, [r0, #6] - strh r1, [r2] - ldrb r0, [r0, #7] - strh r0, [r2, #2] - ldrb r0, [r3, #3] - lsls r2, r0, #1 - adds r2, r2, r0 - adds r2, #0x26 - adds r3, #0x2c - ldrb r1, [r3] - lsrs r1, r1, #4 - movs r0, #1 - bics r0, r1 - adds r1, r2, r0 - ldr r0, _080A6430 @ =0x000001FB - bl sub_080ADA14 - bl sub_080A6498 - pop {r4, r5, r6, pc} - .align 2, 0 -_080A6420: .4byte gUnk_02000080 -_080A6424: .4byte gUnk_03001010 -_080A6428: .4byte gUnk_030010A0 -_080A642C: .4byte gUnk_03003F80 -_080A6430: .4byte 0x000001FB -_080A6434: .4byte gUnk_08128DE8 - - thumb_func_start sub_080A6438 -sub_080A6438: @ 0x080A6438 - push {r4, r5, r6, r7, lr} - ldr r2, _080A6484 @ =gUnk_03001010 - movs r1, #0 - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r2, #4] - strh r1, [r2, #6] - strh r1, [r2, #8] - ldr r0, _080A6488 @ =gUnk_02002A40 - ldr r1, _080A648C @ =gUnk_02000080 - ldrh r0, [r0, #0x20] - ldrh r5, [r1, #0x10] - ands r5, r0 - ldr r4, _080A6490 @ =gUnk_08128F58 - movs r6, #0 - ldrb r0, [r4] - cmp r0, #0 - beq _080A6482 - adds r7, r2, #0 -_080A645E: - movs r0, #1 - lsls r0, r6 - ands r0, r5 - cmp r0, #0 - beq _080A6478 - ldrb r0, [r4, #1] - strh r0, [r7] - ldrb r0, [r4, #2] - strh r0, [r7, #2] - ldrb r1, [r4] - ldr r0, _080A6494 @ =0x000001FB - bl sub_080ADA14 -_080A6478: - adds r6, #1 - adds r4, #8 - ldrb r0, [r4] - cmp r0, #0 - bne _080A645E -_080A6482: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A6484: .4byte gUnk_03001010 -_080A6488: .4byte gUnk_02002A40 -_080A648C: .4byte gUnk_02000080 -_080A6490: .4byte gUnk_08128F58 -_080A6494: .4byte 0x000001FB - - thumb_func_start sub_080A6498 -sub_080A6498: @ 0x080A6498 - push {r4, r5, r6, r7, lr} - ldr r0, _080A64E4 @ =gUnk_03001010 - movs r2, #0 - movs r1, #0x80 - lsls r1, r1, #4 - strh r1, [r0, #4] - strh r2, [r0, #6] - strh r2, [r0, #8] - movs r4, #0 - ldr r7, _080A64E8 @ =gUnk_02002A40 - adds r6, r0, #0 - movs r5, #0x28 -_080A64B0: - movs r1, #1 - lsls r1, r4 - ldr r0, [r7, #0x40] - ands r0, r1 - cmp r0, #0 - bne _080A64D2 - lsls r1, r4, #3 - ldr r0, _080A64EC @ =gUnk_08128DE8 - adds r1, r1, r0 - ldrb r0, [r1, #6] - strh r0, [r6] - ldrb r0, [r1, #7] - strh r0, [r6, #2] - ldr r0, _080A64F0 @ =0x000001FB - adds r1, r5, #0 - bl sub_080ADA14 -_080A64D2: - adds r5, #3 - adds r4, #1 - cmp r4, #0x10 - bls _080A64B0 - ldr r0, _080A64F4 @ =gUnk_03000F50 - adds r0, #0x62 - ldr r1, _080A64F8 @ =0x00003D3F - strh r1, [r0] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A64E4: .4byte gUnk_03001010 -_080A64E8: .4byte gUnk_02002A40 -_080A64EC: .4byte gUnk_08128DE8 -_080A64F0: .4byte 0x000001FB -_080A64F4: .4byte gUnk_03000F50 -_080A64F8: .4byte 0x00003D3F - - thumb_func_start sub_080A64FC -sub_080A64FC: @ 0x080A64FC - push {r4, lr} - bl sub_080AD90C - ldr r1, _080A652C @ =gUnk_08128E70 - ldr r4, _080A6530 @ =gUnk_02000080 - ldrb r0, [r4, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - adds r4, #0x2c - ldrb r1, [r4] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080A6522 - bl sub_080A6438 -_080A6522: - bl sub_080A6498 - bl sub_080AD918 - pop {r4, pc} - .align 2, 0 -_080A652C: .4byte gUnk_08128E70 -_080A6530: .4byte gUnk_02000080 - - thumb_func_start sub_080A6534 -sub_080A6534: @ 0x080A6534 - push {r4, lr} - bl sub_080A4D34 - movs r0, #4 - bl sub_080A4DB8 - bl sub_080A6290 - ldr r2, _080A6590 @ =gUnk_03000F50 - ldrh r1, [r2] - ldr r0, _080A6594 @ =0x0000F7FF - ands r0, r1 - movs r4, #0 - strh r0, [r2] - ldr r0, _080A6598 @ =gUnk_020176A0 - adds r0, #0xa2 - ldrh r1, [r0] - movs r0, #0 - bl sub_0801D79C - ldr r1, _080A659C @ =gUnk_08128F4C - ldr r0, _080A65A0 @ =gUnk_02032EC0 - ldrb r0, [r0, #3] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r2, [r0] - ldr r3, _080A65A4 @ =gUnk_02002A40 - ldrh r1, [r3, #0x20] - adds r0, r2, #0 - orrs r0, r1 - strh r0, [r3, #0x20] - ldr r1, _080A65A8 @ =gUnk_02000080 - ldrh r0, [r1, #0x10] - ands r2, r0 - strh r2, [r1, #0x12] - strh r4, [r1, #0x10] - movs r0, #0x3c - strh r0, [r1, #8] - movs r0, #1 - bl sub_080A7114 - movs r0, #4 - movs r1, #8 - bl sub_08050054 - pop {r4, pc} - .align 2, 0 -_080A6590: .4byte gUnk_03000F50 -_080A6594: .4byte 0x0000F7FF -_080A6598: .4byte gUnk_020176A0 -_080A659C: .4byte gUnk_08128F4C -_080A65A0: .4byte gUnk_02032EC0 -_080A65A4: .4byte gUnk_02002A40 -_080A65A8: .4byte gUnk_02000080 - - thumb_func_start sub_080A65AC -sub_080A65AC: @ 0x080A65AC - push {r4, lr} - ldr r0, _080A65E4 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A6600 - ldr r4, _080A65E8 @ =gUnk_02000080 - adds r1, r4, #0 - adds r1, #0x2c - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - ldrh r0, [r4, #8] - cmp r0, #0 - beq _080A65EC - cmp r0, #0x1e - bne _080A65DA - ldrh r0, [r4, #0x12] - strh r0, [r4, #0x10] - movs r0, #0x20 - strb r0, [r1] - adds r0, #0xe3 - bl sub_080A3268 -_080A65DA: - ldrh r0, [r4, #8] - subs r0, #1 - strh r0, [r4, #8] - b _080A6600 - .align 2, 0 -_080A65E4: .4byte gUnk_03000FD0 -_080A65E8: .4byte gUnk_02000080 -_080A65EC: - ldr r0, _080A6604 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #1 - blt _080A6600 - cmp r0, #2 - ble _080A65FC - cmp r0, #8 - bne _080A6600 -_080A65FC: - bl sub_080A71DC -_080A6600: - pop {r4, pc} - .align 2, 0 -_080A6604: .4byte gUnk_03000FF0 - - thumb_func_start sub_080A6608 -sub_080A6608: @ 0x080A6608 - push {r4, lr} - ldr r1, _080A6640 @ =gUnk_08128E78 - ldr r4, _080A6644 @ =gUnk_02000080 - ldrb r0, [r4, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldrb r1, [r4, #3] - lsls r1, r1, #3 - ldr r0, _080A6648 @ =gUnk_08128E94 - adds r1, r1, r0 - ldr r2, _080A664C @ =gUnk_03000F50 - movs r0, #5 - ldrsb r0, [r1, r0] - rsbs r0, r0, #0 - strh r0, [r2, #0x18] - ldrb r1, [r1, #6] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - ldrh r0, [r4, #0xa] - subs r0, r0, r1 - strh r0, [r2, #0x24] - bl sub_080A66D0 - pop {r4, pc} - .align 2, 0 -_080A6640: .4byte gUnk_08128E78 -_080A6644: .4byte gUnk_02000080 -_080A6648: .4byte gUnk_08128E94 -_080A664C: .4byte gUnk_03000F50 - - thumb_func_start sub_080A6650 -sub_080A6650: @ 0x080A6650 - push {lr} - ldr r0, _080A6670 @ =gUnk_08128E84 - bl sub_080A70AC - ldr r0, _080A6674 @ =gUnk_02034490 - ldrb r0, [r0, #6] - ldr r1, _080A6678 @ =gUnk_02000080 - strb r0, [r1, #3] - bl sub_080A67C4 - bl sub_080A68D4 - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_080A6670: .4byte gUnk_08128E84 -_080A6674: .4byte gUnk_02034490 -_080A6678: .4byte gUnk_02000080 - - thumb_func_start sub_080A667C -sub_080A667C: @ 0x080A667C - push {lr} - ldr r2, _080A669C @ =gUnk_02000080 - ldr r0, _080A66A0 @ =gUnk_08128E80 - str r0, [r2, #0xc] - ldrb r0, [r2, #3] - lsls r0, r0, #3 - ldr r1, _080A66A4 @ =gUnk_08128E94 - adds r3, r0, r1 - ldrh r1, [r2, #0xa] - ldr r0, _080A66A8 @ =gUnk_03000FF0 - ldrh r0, [r0] - cmp r0, #0x40 - beq _080A66AC - cmp r0, #0x80 - beq _080A66B4 - b _080A66C2 - .align 2, 0 -_080A669C: .4byte gUnk_02000080 -_080A66A0: .4byte gUnk_08128E80 -_080A66A4: .4byte gUnk_08128E94 -_080A66A8: .4byte gUnk_03000FF0 -_080A66AC: - cmp r1, #0 - beq _080A66C2 - subs r1, #2 - b _080A66C2 -_080A66B4: - ldrb r0, [r3, #2] - cmp r0, r1 - bls _080A66BC - adds r1, #2 -_080A66BC: - cmp r0, r1 - bhs _080A66C2 - adds r1, r0, #0 -_080A66C2: - strh r1, [r2, #0xa] - ldrb r0, [r2, #3] - movs r1, #0 - bl sub_080A6FB4 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A66D0 -sub_080A66D0: @ 0x080A66D0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - ldr r6, _080A677C @ =gUnk_03001010 - movs r0, #0 - strh r0, [r6, #4] - strh r0, [r6, #6] - movs r0, #0x78 - strh r0, [r6] - ldr r4, _080A6780 @ =gUnk_02000080 - ldrb r0, [r4, #3] - lsls r0, r0, #3 - ldr r1, _080A6784 @ =gUnk_08128E94 - adds r5, r0, r1 - adds r1, r4, #0 - adds r1, #0x2c - ldrb r0, [r1] - adds r2, r0, #1 - strb r2, [r1] - adds r0, r4, #0 - adds r0, #0x2b - ldrb r0, [r0] - cmp r0, #1 - beq _080A6738 - movs r0, #0x10 - ands r2, r0 - cmp r2, #0 - beq _080A6738 - movs r0, #0x80 - lsls r0, r0, #4 - strh r0, [r6, #8] - ldrh r0, [r4, #0xa] - cmp r0, #0 - beq _080A6724 - movs r0, #0xc - strh r0, [r6, #2] - ldr r0, _080A6788 @ =0x000001FB - movs r1, #0x71 - bl sub_080ADA14 -_080A6724: - ldrb r0, [r5, #2] - ldrh r4, [r4, #0xa] - cmp r0, r4 - bls _080A6738 - movs r0, #0x84 - strh r0, [r6, #2] - ldr r0, _080A6788 @ =0x000001FB - movs r1, #0x72 - bl sub_080ADA14 -_080A6738: - ldrb r0, [r5, #7] - mov sl, r0 - ldrb r5, [r5, #3] - mov sb, r5 - ldr r1, _080A6780 @ =gUnk_02000080 - ldrh r0, [r1, #0xa] - mov r8, r0 - ldr r2, _080A677C @ =gUnk_03001010 - movs r0, #0 - strh r0, [r2, #4] - strh r0, [r2, #6] - movs r0, #0xc0 - lsls r0, r0, #4 - strh r0, [r2, #8] - adds r1, #0x2c - ldrb r1, [r1] - movs r0, #0x20 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r6, r0, #0x18 - ldr r4, _080A678C @ =gUnk_02019EE0 - ldrh r0, [r4, #2] - cmp r0, #0 - beq _080A67BA - rsbs r5, r6, #0 - orrs r5, r6 - adds r7, r2, #0 -_080A676E: - movs r1, #0 - ldrb r0, [r4] - cmp r0, #1 - bne _080A6790 - lsrs r1, r5, #0x1f - b _080A6796 - .align 2, 0 -_080A677C: .4byte gUnk_03001010 -_080A6780: .4byte gUnk_02000080 -_080A6784: .4byte gUnk_08128E94 -_080A6788: .4byte 0x000001FB -_080A678C: .4byte gUnk_02019EE0 -_080A6790: - cmp r6, #0 - bne _080A6796 - movs r1, #1 -_080A6796: - cmp r1, #0 - beq _080A67B2 - ldrh r0, [r4, #4] - add r0, sl - strh r0, [r7] - ldrh r0, [r4, #6] - add r0, sb - mov r1, r8 - subs r0, r0, r1 - strh r0, [r7, #2] - ldrh r0, [r4, #2] - ldrb r1, [r4, #1] - bl sub_080ADA14 -_080A67B2: - adds r4, #8 - ldrh r0, [r4, #2] - cmp r0, #0 - bne _080A676E -_080A67BA: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080A67C4 -sub_080A67C4: @ 0x080A67C4 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0xba - bl sub_0801D714 - adds r5, r4, #0 - adds r5, #0x5f - cmp r4, #0xb - beq _080A67F4 - cmp r4, #0xb - bhi _080A67E0 - cmp r4, #9 - beq _080A67E6 - b _080A6822 -_080A67E0: - cmp r4, #0xe - beq _080A6802 - b _080A6822 -_080A67E6: - movs r0, #0x18 - bl sub_0807CC30 - cmp r0, #0 - beq _080A6822 - movs r5, #0x70 - b _080A6822 -_080A67F4: - movs r0, #0xe - bl sub_0801E7F4 - cmp r0, #0 - beq _080A6822 - movs r5, #0x71 - b _080A6822 -_080A6802: - ldr r1, _080A68AC @ =gUnk_02032EC0 - adds r0, r1, #0 - adds r0, #0x20 - ldrb r0, [r0] - cmp r0, #8 - bne _080A6822 - adds r0, r1, #0 - adds r0, #0x21 - ldrb r0, [r0] - movs r1, #3 - bl __modsi3 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r5, r0, #0 - adds r5, #0x72 -_080A6822: - adds r0, r5, #0 - bl sub_0801D7EC - lsls r1, r4, #3 - ldr r0, _080A68B0 @ =gUnk_08128E94 - adds r4, r1, r0 - ldr r0, _080A68B4 @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _080A68B8 @ =gUnk_02017AA0 - adds r1, r0, r1 - ldr r2, _080A68BC @ =0x00001E0A - adds r0, r2, #0 - movs r2, #7 -_080A6842: - strh r0, [r1] - adds r1, #2 - subs r2, #1 - cmp r2, #0 - bge _080A6842 - movs r2, #8 - movs r0, #5 - ldrsb r0, [r4, r0] - ldrb r3, [r4, #4] - adds r0, r0, r3 - ldr r5, _080A68B4 @ =gUnk_03003DE4 - ldr r6, _080A68B8 @ =gUnk_02017AA0 - cmp r2, r0 - bge _080A6874 - ldr r7, _080A68C0 @ =0x00001E0B - adds r3, r7, #0 -_080A6862: - strh r3, [r1] - adds r1, #2 - adds r2, #1 - movs r0, #5 - ldrsb r0, [r4, r0] - ldrb r7, [r4, #4] - adds r0, r0, r7 - cmp r2, r0 - blt _080A6862 -_080A6874: - cmp r2, #0x9f - bgt _080A6886 - ldr r3, _080A68BC @ =0x00001E0A - adds r0, r3, #0 -_080A687C: - strh r0, [r1] - adds r1, #2 - adds r2, #1 - cmp r2, #0x9f - ble _080A687C -_080A6886: - ldrb r1, [r5] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - adds r0, r0, r6 - ldr r1, _080A68C4 @ =0x0400000E - ldr r2, _080A68C8 @ =0xA2600001 - bl sub_0805622C - ldr r1, _080A68CC @ =gUnk_02000080 - ldrb r0, [r4, #2] - lsrs r0, r0, #1 - strh r0, [r1, #0xa] - ldr r0, _080A68D0 @ =gUnk_02019EE0 - movs r1, #0x80 - lsls r1, r1, #3 - bl sub_0801D630 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A68AC: .4byte gUnk_02032EC0 -_080A68B0: .4byte gUnk_08128E94 -_080A68B4: .4byte gUnk_03003DE4 -_080A68B8: .4byte gUnk_02017AA0 -_080A68BC: .4byte 0x00001E0A -_080A68C0: .4byte 0x00001E0B -_080A68C4: .4byte 0x0400000E -_080A68C8: .4byte 0xA2600001 -_080A68CC: .4byte gUnk_02000080 -_080A68D0: .4byte gUnk_02019EE0 - - thumb_func_start sub_080A68D4 -sub_080A68D4: @ 0x080A68D4 - push {r4, r5, r6, lr} - ldr r0, _080A690C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #8 - ands r0, r1 - movs r4, #0x64 - cmp r0, #0 - beq _080A68E6 - movs r4, #0x65 -_080A68E6: - ldr r1, _080A6910 @ =gUnk_030010A0 - ldrh r0, [r1, #0x20] - ldrh r1, [r1, #0x22] - ldr r2, _080A6914 @ =0x000001FB - movs r3, #0x80 - lsls r3, r3, #1 - adds r3, r4, r3 - bl sub_080A698C - bl sub_080A6F40 - adds r6, r0, #0 - ldr r0, _080A6918 @ =gUnk_02002A40 - ldrh r0, [r0, #0x20] - ands r6, r0 - ldr r4, _080A691C @ =gUnk_08128F58 - movs r5, #0 - b _080A693A - .align 2, 0 -_080A690C: .4byte gUnk_03003F80 -_080A6910: .4byte gUnk_030010A0 -_080A6914: .4byte 0x000001FB -_080A6918: .4byte gUnk_02002A40 -_080A691C: .4byte gUnk_08128F58 -_080A6920: - movs r0, #1 - lsls r0, r5 - ands r0, r6 - cmp r0, #0 - beq _080A6936 - ldrh r0, [r4, #4] - ldrh r1, [r4, #6] - ldrb r3, [r4, #3] - ldr r2, _080A6980 @ =0x000001FB - bl sub_080A698C -_080A6936: - adds r5, #1 - adds r4, #8 -_080A693A: - ldrb r0, [r4] - cmp r0, #0 - bne _080A6920 - movs r5, #0xa -_080A6942: - adds r0, r5, #0 - bl sub_0801E7F4 - cmp r0, #0 - beq _080A6976 - adds r0, r5, #0 - bl sub_0801E810 - cmp r0, #0 - bne _080A6976 - ldr r1, _080A6984 @ =gUnk_080C9CBC - lsls r0, r5, #3 - adds r0, r0, r1 - ldrb r3, [r0, #7] - ldrb r0, [r0, #4] - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _080A6988 @ =gUnk_080FE320 - adds r1, r1, r0 - ldrh r0, [r1, #0xc] - ldrh r1, [r1, #0xe] - adds r3, #0x64 - ldr r2, _080A6980 @ =0x000001FB - bl sub_080A698C -_080A6976: - adds r5, #1 - cmp r5, #0x64 - bls _080A6942 - pop {r4, r5, r6, pc} - .align 2, 0 -_080A6980: .4byte 0x000001FB -_080A6984: .4byte gUnk_080C9CBC -_080A6988: .4byte gUnk_080FE320 - - thumb_func_start sub_080A698C -sub_080A698C: @ 0x080A698C - push {r4, r5, r6, lr} - adds r6, r2, #0 - adds r5, r3, #0 - bl sub_080A69E0 - adds r4, r0, #0 - cmp r4, #0 - ble _080A69D4 - ldr r2, _080A69D8 @ =gUnk_02000080 - adds r2, #0x2d - ldrb r0, [r2] - lsls r0, r0, #3 - ldr r3, _080A69DC @ =gUnk_02019EE0 - adds r0, r0, r3 - lsrs r1, r5, #8 - strb r1, [r0] - ldrb r0, [r2] - lsls r0, r0, #3 - adds r0, r0, r3 - strb r5, [r0, #1] - ldrb r0, [r2] - lsls r0, r0, #3 - adds r0, r0, r3 - strh r6, [r0, #2] - ldrb r0, [r2] - lsls r0, r0, #3 - adds r0, r0, r3 - strh r4, [r0, #4] - ldrb r0, [r2] - lsls r0, r0, #3 - adds r0, r0, r3 - asrs r1, r4, #0x10 - strh r1, [r0, #6] - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] -_080A69D4: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A69D8: .4byte gUnk_02000080 -_080A69DC: .4byte gUnk_02019EE0 - - thumb_func_start sub_080A69E0 -sub_080A69E0: @ 0x080A69E0 - push {r4, r5, r6, r7, lr} - sub sp, #4 - adds r7, r0, #0 - adds r6, r1, #0 - orrs r0, r6 - cmp r0, #0 - beq _080A6A06 - adds r0, r7, #0 - adds r1, r6, #0 - bl sub_080A6A80 - adds r3, r0, #0 - cmp r3, #0 - beq _080A6A06 - ldr r0, _080A6A0C @ =gUnk_02000080 - ldrb r1, [r0, #3] - ldrb r2, [r3, #4] - cmp r1, r2 - beq _080A6A10 -_080A6A06: - movs r0, #1 - rsbs r0, r0, #0 - b _080A6A74 - .align 2, 0 -_080A6A0C: .4byte gUnk_02000080 -_080A6A10: - ldrb r1, [r0, #3] - cmp r1, #7 - beq _080A6A26 - cmp r1, #7 - bgt _080A6A20 - cmp r1, #4 - beq _080A6A26 - b _080A6A48 -_080A6A20: - cmp r1, #0xf - beq _080A6A44 - b _080A6A48 -_080A6A26: - ldrb r0, [r0, #3] - movs r2, #7 - cmp r0, #4 - bne _080A6A30 - movs r2, #9 -_080A6A30: - ldr r1, _080A6A40 @ =gUnk_0811E214 - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldrh r0, [r0, #2] - subs r6, r6, r0 - b _080A6A48 - .align 2, 0 -_080A6A40: .4byte gUnk_0811E214 -_080A6A44: - ldr r0, _080A6A78 @ =0xFFFFFEF8 - adds r7, r7, r0 -_080A6A48: - ldrb r0, [r3] - lsls r0, r0, #4 - subs r0, r7, r0 - movs r4, #0x64 - muls r0, r4, r0 - ldr r5, _080A6A7C @ =0x0000023A - adds r1, r5, #0 - str r3, [sp] - bl __divsi3 - adds r7, r0, #0 - ldr r3, [sp] - ldrb r0, [r3, #1] - lsls r0, r0, #4 - subs r0, r6, r0 - muls r0, r4, r0 - adds r1, r5, #0 - bl __divsi3 - adds r6, r0, #0 - lsls r0, r6, #0x10 - orrs r0, r7 -_080A6A74: - add sp, #4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A6A78: .4byte 0xFFFFFEF8 -_080A6A7C: .4byte 0x0000023A - - thumb_func_start sub_080A6A80 -sub_080A6A80: @ 0x080A6A80 - push {lr} - adds r3, r0, #0 - lsrs r3, r3, #4 - lsrs r1, r1, #4 - ldr r2, _080A6A8C @ =gUnk_08127F94 - b _080A6AAE - .align 2, 0 -_080A6A8C: .4byte gUnk_08127F94 -_080A6A90: - ldrb r0, [r2] - cmp r0, r3 - bhi _080A6AAC - ldrb r0, [r2, #2] - cmp r0, r3 - blo _080A6AAC - ldrb r0, [r2, #1] - cmp r0, r1 - bhi _080A6AAC - ldrb r0, [r2, #3] - cmp r0, r1 - blo _080A6AAC - adds r0, r2, #0 - b _080A6AB6 -_080A6AAC: - adds r2, #8 -_080A6AAE: - ldrb r0, [r2] - cmp r0, #0xff - bne _080A6A90 - movs r0, #0 -_080A6AB6: - pop {pc} - - thumb_func_start sub_080A6AB8 -sub_080A6AB8: @ 0x080A6AB8 - push {r4, lr} - bl sub_080AD90C - ldr r1, _080A6AF4 @ =gUnk_08128F1C - ldr r4, _080A6AF8 @ =gUnk_02000080 - ldrb r0, [r4, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldrb r1, [r4, #3] - lsls r1, r1, #3 - ldr r0, _080A6AFC @ =gUnk_08128E94 - adds r1, r1, r0 - ldr r2, _080A6B00 @ =gUnk_03000F50 - movs r0, #5 - ldrsb r0, [r1, r0] - rsbs r0, r0, #0 - strh r0, [r2, #0x18] - ldrb r1, [r1, #6] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - ldrh r0, [r4, #0xa] - subs r0, r0, r1 - strh r0, [r2, #0x24] - bl sub_080AD918 - pop {r4, pc} - .align 2, 0 -_080A6AF4: .4byte gUnk_08128F1C -_080A6AF8: .4byte gUnk_02000080 -_080A6AFC: .4byte gUnk_08128E94 -_080A6B00: .4byte gUnk_03000F50 - - thumb_func_start sub_080A6B04 -sub_080A6B04: @ 0x080A6B04 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - bl sub_080A4D34 - movs r0, #6 - bl sub_080A4DB8 - ldr r0, _080A6BF0 @ =gUnk_02022740 - ldrb r2, [r0, #3] - lsls r2, r2, #3 - ldr r0, _080A6BF4 @ =gUnk_080C9CBC - adds r2, r2, r0 - ldrb r1, [r2, #4] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _080A6BF8 @ =gUnk_080FE320 - adds r0, r0, r1 - ldrb r2, [r2, #7] - mov r8, r2 - ldrh r6, [r0, #0xc] - ldrh r5, [r0, #0xe] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_080A6A80 - ldrb r4, [r0, #4] - ldr r7, _080A6BFC @ =gUnk_02000080 - strb r4, [r7, #3] - adds r1, r7, #0 - adds r1, #0x2b - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080A67C4 - adds r0, r4, #0 - movs r1, #2 - bl sub_080A6FB4 - ldr r4, _080A6C00 @ =0x0000475F - movs r0, #0 - adds r1, r4, #0 - bl sub_0801D79C - movs r0, #0x5f - adds r1, r4, #0 - bl sub_0801D79C - ldr r0, _080A6C04 @ =0x00005001 - ldr r1, _080A6C08 @ =gUnk_02001A40 - movs r2, #0x80 - lsls r2, r2, #5 - bl sub_0801D5EC - ldr r0, _080A6C0C @ =gUnk_03003F80 - ldr r0, [r0, #0x30] - movs r1, #8 - ands r0, r1 - movs r2, #0x64 - cmp r0, #0 - beq _080A6B84 - movs r2, #0x65 -_080A6B84: - ldr r1, _080A6C10 @ =gUnk_030010A0 - ldrh r0, [r1, #0x20] - ldrh r1, [r1, #0x22] - ldr r4, _080A6C14 @ =0x000001FB - movs r3, #0x80 - lsls r3, r3, #1 - adds r3, r2, r3 - adds r2, r4, #0 - bl sub_080A698C - mov r3, r8 - adds r3, #0x64 - adds r0, r6, #0 - adds r1, r5, #0 - adds r2, r4, #0 - bl sub_080A698C - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_080A69E0 - asrs r5, r0, #0x10 - ldrb r0, [r7, #3] - lsls r0, r0, #3 - ldr r1, _080A6C18 @ =gUnk_08128E94 - adds r1, r0, r1 - movs r0, #0 - strh r0, [r7, #0xa] - ldrb r0, [r1, #2] - cmp r0, #0 - beq _080A6BD4 - adds r0, r5, #0 - subs r0, #0x3c - cmp r0, #0 - ble _080A6BD4 - ldrb r1, [r1, #2] - cmp r1, r0 - bge _080A6BD2 - adds r0, r1, #0 -_080A6BD2: - strh r0, [r7, #0xa] -_080A6BD4: - ldr r1, _080A6BFC @ =gUnk_02000080 - movs r0, #0x1e - strh r0, [r1, #8] - movs r0, #1 - bl sub_080A7114 - movs r0, #4 - movs r1, #8 - bl sub_08050054 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A6BF0: .4byte gUnk_02022740 -_080A6BF4: .4byte gUnk_080C9CBC -_080A6BF8: .4byte gUnk_080FE320 -_080A6BFC: .4byte gUnk_02000080 -_080A6C00: .4byte 0x0000475F -_080A6C04: .4byte 0x00005001 -_080A6C08: .4byte gUnk_02001A40 -_080A6C0C: .4byte gUnk_03003F80 -_080A6C10: .4byte gUnk_030010A0 -_080A6C14: .4byte 0x000001FB -_080A6C18: .4byte gUnk_08128E94 - - thumb_func_start sub_080A6C1C -sub_080A6C1C: @ 0x080A6C1C - push {lr} - ldr r0, _080A6C34 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A6C6A - ldr r0, _080A6C38 @ =gUnk_02000080 - ldrh r0, [r0, #8] - cmp r0, #0 - beq _080A6C3C - cmp r0, #1 - beq _080A6C5C - b _080A6C62 - .align 2, 0 -_080A6C34: .4byte gUnk_03000FD0 -_080A6C38: .4byte gUnk_02000080 -_080A6C3C: - bl sub_080A66D0 - ldr r0, _080A6C58 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #1 - blt _080A6C6A - cmp r0, #2 - ble _080A6C50 - cmp r0, #8 - bne _080A6C6A -_080A6C50: - bl sub_080A71DC - b _080A6C6A - .align 2, 0 -_080A6C58: .4byte gUnk_03000FF0 -_080A6C5C: - ldr r0, _080A6C6C @ =0x00000103 - bl sub_080A3268 -_080A6C62: - ldr r1, _080A6C70 @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] -_080A6C6A: - pop {pc} - .align 2, 0 -_080A6C6C: .4byte 0x00000103 -_080A6C70: .4byte gUnk_02000080 - - thumb_func_start sub_080A6C74 -sub_080A6C74: @ 0x080A6C74 - push {r4, lr} - bl sub_080AD90C - ldr r1, _080A6CA0 @ =gUnk_08128F24 - ldr r4, _080A6CA4 @ =gUnk_02000080 - ldrb r0, [r4, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldrb r0, [r4] - cmp r0, #0 - beq _080A6C94 - bl sub_080A6E70 -_080A6C94: - bl sub_080A6498 - bl sub_080AD918 - pop {r4, pc} - .align 2, 0 -_080A6CA0: .4byte gUnk_08128F24 -_080A6CA4: .4byte gUnk_02000080 - - thumb_func_start sub_080A6CA8 -sub_080A6CA8: @ 0x080A6CA8 - push {lr} - bl sub_080A4D34 - movs r0, #0xd - bl sub_080A4DB8 - bl sub_080A6290 - movs r0, #0 - bl sub_080A6D74 - ldr r1, _080A6CD4 @ =gUnk_02000080 - strb r0, [r1, #3] - movs r0, #1 - bl sub_080A7114 - movs r0, #4 - movs r1, #8 - bl sub_08050054 - pop {pc} - .align 2, 0 -_080A6CD4: .4byte gUnk_02000080 - - thumb_func_start sub_080A6CD8 -sub_080A6CD8: @ 0x080A6CD8 - push {r4, lr} - ldr r0, _080A6D08 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A6D6E - ldr r1, _080A6D0C @ =gUnk_02000080 - movs r0, #1 - strb r0, [r1] - movs r4, #0 - ldr r0, _080A6D10 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - adds r2, r1, #0 - cmp r0, #0x10 - beq _080A6D34 - cmp r0, #0x10 - bgt _080A6D1A - cmp r0, #2 - beq _080A6D4C - cmp r0, #2 - bgt _080A6D14 - cmp r0, #1 - beq _080A6D38 - b _080A6D54 - .align 2, 0 -_080A6D08: .4byte gUnk_03000FD0 -_080A6D0C: .4byte gUnk_02000080 -_080A6D10: .4byte gUnk_03000FF0 -_080A6D14: - cmp r0, #8 - beq _080A6D38 - b _080A6D54 -_080A6D1A: - cmp r0, #0x40 - beq _080A6D2E - cmp r0, #0x40 - bgt _080A6D28 - cmp r0, #0x20 - beq _080A6D2E - b _080A6D54 -_080A6D28: - cmp r0, #0x80 - beq _080A6D34 - b _080A6D54 -_080A6D2E: - movs r4, #1 - rsbs r4, r4, #0 - b _080A6D58 -_080A6D34: - movs r4, #1 - b _080A6D58 -_080A6D38: - movs r0, #2 - strb r0, [r2] - bl sub_080A7114 - ldr r0, _080A6D48 @ =0x00000704 - bl sub_08056378 - b _080A6D54 - .align 2, 0 -_080A6D48: .4byte 0x00000704 -_080A6D4C: - movs r0, #3 - strb r0, [r1] - bl sub_080A7114 -_080A6D54: - cmp r4, #0 - beq _080A6D6E -_080A6D58: - adds r0, r4, #0 - bl sub_080A6D74 - ldr r1, _080A6D70 @ =gUnk_02000080 - ldrb r2, [r1, #3] - cmp r0, r2 - beq _080A6D6E - strb r0, [r1, #3] - movs r0, #0x69 - bl sub_080A3268 -_080A6D6E: - pop {r4, pc} - .align 2, 0 -_080A6D70: .4byte gUnk_02000080 - - thumb_func_start sub_080A6D74 -sub_080A6D74: @ 0x080A6D74 - push {r4, r5, lr} - adds r3, r0, #0 - ldr r0, _080A6DA4 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - lsrs r2, r0, #0x18 - ldr r0, _080A6DA8 @ =gUnk_02000080 - ldrb r1, [r0, #3] - cmp r3, #0 - bne _080A6DAC - movs r1, #0 - movs r0, #1 - ands r0, r2 - cmp r0, #0 - bne _080A6DC6 - movs r3, #1 -_080A6D92: - adds r1, #1 - cmp r1, #7 - bhi _080A6DC6 - adds r0, r3, #0 - lsls r0, r1 - ands r0, r2 - cmp r0, #0 - beq _080A6D92 - b _080A6DC6 - .align 2, 0 -_080A6DA4: .4byte gUnk_02002A40 -_080A6DA8: .4byte gUnk_02000080 -_080A6DAC: - cmp r2, #0 - beq _080A6DC6 - movs r4, #7 - movs r5, #1 -_080A6DB4: - adds r0, r1, r3 - adds r1, r0, #0 - adds r1, #8 - ands r1, r4 - adds r0, r5, #0 - lsls r0, r1 - ands r0, r2 - cmp r0, #0 - beq _080A6DB4 -_080A6DC6: - movs r0, #7 - ands r1, r0 - adds r0, r1, #0 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A6DD0 -sub_080A6DD0: @ 0x080A6DD0 - push {lr} - bl sub_08056338 - cmp r0, #0 - beq _080A6DE0 - cmp r0, #1 - beq _080A6DF0 - b _080A6DF6 -_080A6DE0: - ldr r1, _080A6DEC @ =gUnk_02000080 - movs r0, #2 - strb r0, [r1] - movs r0, #3 - b _080A6DF2 - .align 2, 0 -_080A6DEC: .4byte gUnk_02000080 -_080A6DF0: - movs r0, #1 -_080A6DF2: - bl sub_080A7114 -_080A6DF6: - pop {pc} - - thumb_func_start sub_080A6DF8 -sub_080A6DF8: @ 0x080A6DF8 - push {lr} - ldr r0, _080A6E14 @ =gUnk_02000080 - ldrb r0, [r0] - cmp r0, #2 - bne _080A6E18 - movs r0, #4 - bl sub_080A7114 - movs r0, #5 - movs r1, #8 - bl sub_08050054 - b _080A6E3A - .align 2, 0 -_080A6E14: .4byte gUnk_02000080 -_080A6E18: - bl sub_080791D0 - ldr r0, _080A6E3C @ =gUnk_03001160 - adds r1, r0, #0 - adds r1, #0x58 - ldrb r1, [r1] - ldrh r2, [r0, #0x12] - bl sub_080042D0 - bl sub_080A71DC - ldr r1, _080A6E40 @ =gUnk_02034490 - movs r0, #0 - strb r0, [r1] - movs r0, #0x6c - bl sub_080A3268 -_080A6E3A: - pop {pc} - .align 2, 0 -_080A6E3C: .4byte gUnk_03001160 -_080A6E40: .4byte gUnk_02034490 - - thumb_func_start sub_080A6E44 -sub_080A6E44: @ 0x080A6E44 - push {lr} - ldr r0, _080A6E64 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A6E60 - ldr r0, _080A6E68 @ =gUnk_02000080 - ldrb r1, [r0, #3] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _080A6E6C @ =gUnk_08128024 - adds r0, r0, r1 - bl sub_080A71F4 -_080A6E60: - pop {pc} - .align 2, 0 -_080A6E64: .4byte gUnk_03000FD0 -_080A6E68: .4byte gUnk_02000080 -_080A6E6C: .4byte gUnk_08128024 - - thumb_func_start sub_080A6E70 -sub_080A6E70: @ 0x080A6E70 - push {r4, r5, lr} - ldr r1, _080A6ED0 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r1, #4] - strh r0, [r1, #6] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r1, #8] - ldr r1, _080A6ED4 @ =gUnk_02000080 - adds r4, r1, #0 - adds r4, #0x2c - ldrb r0, [r4] - adds r0, #1 - strb r0, [r4] - ldrb r0, [r1, #3] - bl sub_080A6EE0 - ldrb r1, [r4] - movs r0, #0x10 - ands r0, r1 - movs r1, #0x5e - cmp r0, #0 - beq _080A6EA0 - movs r1, #0x5d -_080A6EA0: - ldr r0, _080A6ED8 @ =0x000001FB - bl sub_080ADA14 - movs r4, #0 - ldr r5, _080A6EDC @ =gUnk_02002A40 -_080A6EAA: - adds r0, r4, #0 - adds r0, #0x18 - movs r1, #1 - lsls r1, r0 - ldr r0, [r5, #0x40] - ands r0, r1 - cmp r0, #0 - beq _080A6EC8 - adds r0, r4, #0 - bl sub_080A6EE0 - ldr r0, _080A6ED8 @ =0x000001FB - movs r1, #0x5c - bl sub_080ADA14 -_080A6EC8: - adds r4, #1 - cmp r4, #7 - bls _080A6EAA - pop {r4, r5, pc} - .align 2, 0 -_080A6ED0: .4byte gUnk_03001010 -_080A6ED4: .4byte gUnk_02000080 -_080A6ED8: .4byte 0x000001FB -_080A6EDC: .4byte gUnk_02002A40 - - thumb_func_start sub_080A6EE0 -sub_080A6EE0: @ 0x080A6EE0 - push {r4, r5, r6, lr} - lsls r1, r0, #2 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _080A6F34 @ =gUnk_08128024 - adds r1, r1, r0 - ldrh r3, [r1, #6] - ldrh r4, [r1, #8] - ldr r0, _080A6F38 @ =gUnk_0811E214 - ldrb r2, [r1, #0xb] - lsls r2, r2, #2 - adds r2, r2, r0 - ldrb r1, [r1, #0xc] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - ldr r1, [r2] - adds r1, r1, r0 - ldrh r0, [r1] - adds r3, r3, r0 - ldrh r0, [r1, #2] - adds r4, r4, r0 - ldr r6, _080A6F3C @ =gUnk_03001010 - lsls r0, r3, #2 - adds r0, r0, r3 - lsls r0, r0, #5 - movs r5, #0xf9 - lsls r5, r5, #4 - adds r1, r5, #0 - bl __divsi3 - adds r0, #0x28 - strh r0, [r6] - lsls r0, r4, #2 - adds r0, r0, r4 - lsls r0, r0, #5 - adds r1, r5, #0 - bl __divsi3 - adds r0, #0xc - strh r0, [r6, #2] - pop {r4, r5, r6, pc} - .align 2, 0 -_080A6F34: .4byte gUnk_08128024 -_080A6F38: .4byte gUnk_0811E214 -_080A6F3C: .4byte gUnk_03001010 - - thumb_func_start sub_080A6F40 -sub_080A6F40: @ 0x080A6F40 - push {r4, r5, r6, lr} - movs r5, #0 - ldr r4, _080A6F4C @ =gUnk_08128F38 - movs r6, #0 - b _080A6F60 - .align 2, 0 -_080A6F4C: .4byte gUnk_08128F38 -_080A6F50: - ldrb r0, [r4] - ldrb r1, [r4, #1] - bl sub_0807CB24 - lsls r0, r5 - orrs r6, r0 - adds r5, #1 - adds r4, #2 -_080A6F60: - ldrb r0, [r4] - cmp r0, #0 - bne _080A6F50 - mvns r0, r6 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A6F6C -sub_080A6F6C: @ 0x080A6F6C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080A6FA4 @ =gUnk_02000080 - ldrh r0, [r1, #0x2e] - cmp r0, r4 - beq _080A6F9A - strh r4, [r1, #0x2e] - ldr r0, _080A6FA8 @ =gUnk_020350F0 - movs r1, #0x80 - lsls r1, r1, #1 - bl sub_0801D630 - movs r0, #0xff - ands r0, r4 - cmp r0, #0 - beq _080A6F94 - ldr r1, _080A6FAC @ =gUnk_08128FA8 - adds r0, r4, #0 - bl sub_0805F46C -_080A6F94: - ldr r1, _080A6FB0 @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0xe] -_080A6F9A: - ldr r1, _080A6FB0 @ =gUnk_03000F50 - movs r0, #2 - strh r0, [r1, #0xc] - pop {r4, pc} - .align 2, 0 -_080A6FA4: .4byte gUnk_02000080 -_080A6FA8: .4byte gUnk_020350F0 -_080A6FAC: .4byte gUnk_08128FA8 -_080A6FB0: .4byte gUnk_03000F50 - - thumb_func_start sub_080A6FB4 -sub_080A6FB4: @ 0x080A6FB4 - push {r4, r5, lr} - adds r2, r0, #0 - movs r4, #0 - cmp r1, #1 - beq _080A6FF0 - cmp r1, #1 - blo _080A6FC8 - cmp r1, #2 - beq _080A6FD6 - b _080A6FFA -_080A6FC8: - ldr r0, _080A6FE4 @ =gUnk_02002A40 - movs r1, #1 - lsls r1, r2 - ldr r0, [r0, #0x40] - ands r0, r1 - cmp r0, #0 - beq _080A6FFA -_080A6FD6: - ldr r1, _080A6FE8 @ =gUnk_08127F94 - lsls r0, r2, #3 - adds r0, r0, r1 - ldrh r4, [r0, #6] - ldr r5, _080A6FEC @ =gUnk_08128FC0 - b _080A6FFA - .align 2, 0 -_080A6FE4: .4byte gUnk_02002A40 -_080A6FE8: .4byte gUnk_08127F94 -_080A6FEC: .4byte gUnk_08128FC0 -_080A6FF0: - ldr r1, _080A702C @ =gUnk_08128FF0 - lsls r0, r2, #1 - adds r0, r0, r1 - ldrh r4, [r0] - ldr r5, _080A7030 @ =gUnk_08128FD8 -_080A6FFA: - ldr r1, _080A7034 @ =gUnk_02000080 - ldrh r0, [r1, #0x2e] - cmp r0, r4 - beq _080A7024 - strh r4, [r1, #0x2e] - ldr r0, _080A7038 @ =gUnk_020350F0 - movs r1, #0x80 - lsls r1, r1, #1 - bl sub_0801D630 - movs r0, #0xff - ands r0, r4 - cmp r0, #0 - beq _080A701E - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0805F46C -_080A701E: - ldr r1, _080A703C @ =gUnk_03000F50 - movs r0, #1 - strh r0, [r1, #0xe] -_080A7024: - ldr r1, _080A703C @ =gUnk_03000F50 - movs r0, #2 - strh r0, [r1, #0xc] - pop {r4, r5, pc} - .align 2, 0 -_080A702C: .4byte gUnk_08128FF0 -_080A7030: .4byte gUnk_08128FD8 -_080A7034: .4byte gUnk_02000080 -_080A7038: .4byte gUnk_020350F0 -_080A703C: .4byte gUnk_03000F50 - - thumb_func_start sub_080A7040 -sub_080A7040: @ 0x080A7040 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r1, _080A7090 @ =gUnk_02000080 - ldrh r0, [r1, #0x2e] - cmp r0, r5 - beq _080A708C - strh r5, [r1, #0x2e] - ldr r4, _080A7094 @ =gUnk_02022130 - movs r1, #0xc0 - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_0801D630 - ldr r0, _080A7098 @ =0xFFFFFE00 - adds r4, r4, r0 - ldr r1, _080A709C @ =0x0600E000 - movs r2, #0x80 - lsls r2, r2, #4 - adds r0, r4, #0 - bl sub_0801D66C - ldr r1, _080A70A0 @ =gUnk_08128D70 - lsls r0, r5, #3 - adds r4, r0, r1 - ldrb r0, [r4] - bl sub_0807CA84 - cmp r0, #0 - beq _080A7082 - ldrh r0, [r4, #6] - ldr r1, _080A70A4 @ =gUnk_08129004 - bl sub_0805F46C -_080A7082: - ldr r0, _080A70A8 @ =gUnk_03000F50 - movs r1, #3 - strh r1, [r0, #0x18] - movs r1, #1 - strh r1, [r0, #0x1a] -_080A708C: - pop {r4, r5, pc} - .align 2, 0 -_080A7090: .4byte gUnk_02000080 -_080A7094: .4byte gUnk_02022130 -_080A7098: .4byte 0xFFFFFE00 -_080A709C: .4byte 0x0600E000 -_080A70A0: .4byte gUnk_08128D70 -_080A70A4: .4byte gUnk_08129004 -_080A70A8: .4byte gUnk_03000F50 - - thumb_func_start sub_080A70AC -sub_080A70AC: @ 0x080A70AC - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A7110 @ =gUnk_0200AF34 - movs r1, #0xc0 - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_0801D630 - adds r2, r4, #0 - subs r2, #0x34 - movs r0, #0x7f - strb r0, [r2, #0x13] - strb r0, [r2, #0x14] - ldrb r0, [r5] - strh r0, [r2, #0x16] - movs r0, #1 - ldrsb r0, [r5, r0] - strh r0, [r2, #0x1c] - ldrb r1, [r5, #2] - subs r0, r4, #4 - strb r1, [r0] - ldrb r0, [r5, #3] - strh r0, [r2, #0x18] - movs r0, #4 - ldrsb r0, [r5, r0] - strh r0, [r2, #0x1e] - ldrb r1, [r5, #5] - subs r0, r4, #3 - strb r1, [r0] - ldrb r0, [r5, #6] - strh r0, [r2, #0x1a] - movs r0, #7 - ldrsb r0, [r5, r0] - strh r0, [r2, #0x20] - ldrb r0, [r5, #8] - subs r4, #2 - strb r0, [r4] - adds r5, #9 - movs r4, #1 - rsbs r4, r4, #0 -_080A70FC: - ldrb r0, [r5] - ldrb r1, [r5, #1] - bl sub_0801CA6C - adds r5, #2 - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, r4 - bne _080A70FC - pop {r4, r5, pc} - .align 2, 0 -_080A7110: .4byte gUnk_0200AF34 - - thumb_func_start sub_080A7114 -sub_080A7114: @ 0x080A7114 - ldr r1, _080A7120 @ =gUnk_02000080 - movs r2, #0 - strb r0, [r1, #5] - strb r2, [r1, #6] - strb r2, [r1, #7] - bx lr - .align 2, 0 -_080A7120: .4byte gUnk_02000080 - - thumb_func_start sub_080A7124 -sub_080A7124: @ 0x080A7124 - push {lr} - ldr r0, _080A7134 @ =gUnk_02032EC0 - movs r1, #0xed - lsls r1, r1, #2 - bl sub_0801D630 - pop {pc} - .align 2, 0 -_080A7134: .4byte gUnk_02032EC0 - - thumb_func_start sub_080A7138 -sub_080A7138: @ 0x080A7138 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r4, _080A715C @ =gUnk_02032EC0 - ldrb r0, [r4] - cmp r0, #0 - bne _080A7164 - movs r1, #0xed - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_0801D630 - strb r5, [r4, #2] - strb r6, [r4, #3] - ldr r0, _080A7160 @ =gUnk_03001000 - ldrb r0, [r0, #4] - strb r0, [r4, #7] - b _080A716C - .align 2, 0 -_080A715C: .4byte gUnk_02032EC0 -_080A7160: .4byte gUnk_03001000 -_080A7164: - strb r5, [r4, #4] - strb r6, [r4, #5] - movs r0, #1 - strb r0, [r4] -_080A716C: - ldr r1, _080A7194 @ =gUnk_02032EC0 - movs r0, #0 - strb r0, [r1, #6] - ldr r0, _080A7198 @ =0x0000FFFF - strh r0, [r1, #8] - movs r4, #0 - movs r0, #0x20 - strh r0, [r1, #0xa] - ldr r1, _080A719C @ =gUnk_03001000 - movs r0, #7 - strb r0, [r1, #4] - movs r0, #5 - movs r1, #0x20 - bl sub_08050054 - ldr r0, _080A71A0 @ =gUnk_02018EB0 - strb r4, [r0] - strb r4, [r0, #1] - pop {r4, r5, r6, pc} - .align 2, 0 -_080A7194: .4byte gUnk_02032EC0 -_080A7198: .4byte 0x0000FFFF -_080A719C: .4byte gUnk_03001000 -_080A71A0: .4byte gUnk_02018EB0 - - thumb_func_start sub_080A71A4 -sub_080A71A4: @ 0x080A71A4 - push {r4, lr} - adds r4, r0, #0 - ldr r3, _080A71B4 @ =gUnk_02032EC0 - ldrb r0, [r3] - cmp r0, #0 - bne _080A71B8 - strb r2, [r3, #0xe] - b _080A71BA - .align 2, 0 -_080A71B4: .4byte gUnk_02032EC0 -_080A71B8: - strb r2, [r3, #0xf] -_080A71BA: - adds r0, r4, #0 - bl sub_080A7138 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A71C4 -sub_080A71C4: @ 0x080A71C4 - push {r4, r5, lr} - adds r4, r2, #0 - adds r5, r3, #0 - bl sub_080A7138 - ldr r0, _080A71D8 @ =gUnk_02032EC0 - strh r4, [r0, #8] - strh r5, [r0, #0xa] - pop {r4, r5, pc} - .align 2, 0 -_080A71D8: .4byte gUnk_02032EC0 - - thumb_func_start sub_080A71DC -sub_080A71DC: @ 0x080A71DC - push {lr} - ldr r1, _080A71F0 @ =gUnk_02032EC0 - movs r0, #3 - strb r0, [r1] - movs r0, #5 - movs r1, #0x20 - bl sub_08050054 - pop {pc} - .align 2, 0 -_080A71F0: .4byte gUnk_02032EC0 - - thumb_func_start sub_080A71F4 -sub_080A71F4: @ 0x080A71F4 - push {lr} - cmp r0, #0 - beq _080A71FE - bl sub_08080840 -_080A71FE: - bl sub_0805E89C - bl sub_0805E974 - bl sub_0805E89C - ldr r0, _080A7218 @ =gUnk_03001000 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #3] - strb r2, [r0, #4] - pop {pc} - .align 2, 0 -_080A7218: .4byte gUnk_03001000 - - thumb_func_start sub_080A721C -sub_080A721C: @ 0x080A721C - push {lr} - ldr r0, _080A7248 @ =gUnk_02032EC0 - ldrb r1, [r0] - adds r2, r0, #0 - cmp r1, #2 - bhi _080A7238 - ldrb r3, [r2, #4] - cmp r3, #0 - beq _080A7238 - ldrb r0, [r2, #5] - movs r1, #0 - strb r0, [r2, #3] - strb r3, [r2, #2] - strb r1, [r2, #4] -_080A7238: - ldr r0, _080A724C @ =gUnk_0812901C - ldrb r1, [r2] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A7248: .4byte gUnk_02032EC0 -_080A724C: .4byte gUnk_0812901C - - thumb_func_start sub_080A7250 -sub_080A7250: @ 0x080A7250 - push {r4, lr} - ldr r0, _080A72E8 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A72E4 - ldr r0, _080A72EC @ =gUnk_03000F50 - ldr r1, _080A72F0 @ =gUnk_03001020 - movs r2, #0x7c - bl sub_0801D66C - ldr r0, _080A72F4 @ =gUnk_020176A0 - ldr r1, _080A72F8 @ =gUnk_02024090 - movs r2, #0x80 - lsls r2, r2, #3 - bl sub_0801D66C - ldr r0, _080A72FC @ =gUnk_02024490 - ldr r4, _080A7300 @ =gUnk_02032F14 - movs r2, #0x85 - lsls r2, r2, #2 - adds r1, r4, #0 - bl sub_0801D66C - ldr r0, _080A7304 @ =gUnk_02001A00 - movs r2, #0x85 - lsls r2, r2, #2 - adds r1, r4, r2 - movs r2, #0x40 - bl sub_0801D66C - ldr r0, _080A7308 @ =gUnk_03000BF0 - adds r1, r4, #0 - subs r1, #0x38 - movs r2, #0x38 - bl sub_0801D66C - ldr r0, _080A730C @ =gUnk_03000420 - movs r2, #0x95 - lsls r2, r2, #2 - adds r1, r4, r2 - movs r2, #0x80 - lsls r2, r2, #1 - bl sub_0801D66C - ldr r0, _080A7310 @ =gUnk_02033280 - movs r2, #0xd5 - lsls r2, r2, #2 - adds r1, r4, r2 - movs r2, #0xc - bl sub_0801D66C - bl sub_0805E958 - adds r1, r4, #0 - subs r1, #0x54 - ldr r0, _080A7314 @ =gUnk_030010A0 - adds r0, #0x2f - ldrb r0, [r0] - strb r0, [r1, #0xd] - ldr r0, _080A7318 @ =gUnk_03003F80 - adds r0, #0x8b - ldrb r0, [r0] - strb r0, [r1, #0xc] - ldr r0, _080A731C @ =gUnk_02017654 - ldr r0, [r0] - str r0, [r1, #0x10] - ldr r0, _080A7320 @ =gUnk_02025EB0 - ldr r0, [r0] - str r0, [r1, #0x14] - ldr r0, _080A7324 @ =gUnk_0200B650 - ldr r0, [r0] - str r0, [r1, #0x18] - movs r0, #1 - strb r0, [r1] -_080A72E4: - pop {r4, pc} - .align 2, 0 -_080A72E8: .4byte gUnk_03000FD0 -_080A72EC: .4byte gUnk_03000F50 -_080A72F0: .4byte gUnk_03001020 -_080A72F4: .4byte gUnk_020176A0 -_080A72F8: .4byte gUnk_02024090 -_080A72FC: .4byte gUnk_02024490 -_080A7300: .4byte gUnk_02032F14 -_080A7304: .4byte gUnk_02001A00 -_080A7308: .4byte gUnk_03000BF0 -_080A730C: .4byte gUnk_03000420 -_080A7310: .4byte gUnk_02033280 -_080A7314: .4byte gUnk_030010A0 -_080A7318: .4byte gUnk_03003F80 -_080A731C: .4byte gUnk_02017654 -_080A7320: .4byte gUnk_02025EB0 -_080A7324: .4byte gUnk_0200B650 - - thumb_func_start sub_080A7328 -sub_080A7328: @ 0x080A7328 - push {r4, lr} - ldr r0, _080A7388 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080A7384 - bl sub_0805E89C - ldr r0, _080A738C @ =gUnk_02000080 - movs r1, #0x30 - bl sub_0801D630 - ldr r0, _080A7390 @ =gUnk_03000BF0 - movs r1, #0x38 - bl sub_0801D630 - ldr r0, _080A7394 @ =gUnk_03000420 - movs r1, #0x80 - lsls r1, r1, #1 - bl sub_0801D630 - ldr r4, _080A7398 @ =gUnk_02033280 - adds r0, r4, #0 - movs r1, #0xc - bl sub_0801D630 - movs r0, #8 - strb r0, [r4, #8] - movs r0, #1 - bl sub_0801DA90 - bl sub_08056418 - bl sub_080ADD30 - movs r0, #0 - bl sub_0801CFA8 - ldr r0, _080A739C @ =gUnk_02024490 - movs r2, #1 - strb r2, [r0] - ldr r1, _080A73A0 @ =gUnk_02032EC0 - movs r0, #2 - strb r0, [r1] - ldr r0, _080A73A4 @ =gUnk_030010A0 - adds r0, #0x30 - strb r2, [r0] -_080A7384: - pop {r4, pc} - .align 2, 0 -_080A7388: .4byte gUnk_03000FD0 -_080A738C: .4byte gUnk_02000080 -_080A7390: .4byte gUnk_03000BF0 -_080A7394: .4byte gUnk_03000420 -_080A7398: .4byte gUnk_02033280 -_080A739C: .4byte gUnk_02024490 -_080A73A0: .4byte gUnk_02032EC0 -_080A73A4: .4byte gUnk_030010A0 - - thumb_func_start sub_080A73A8 -sub_080A73A8: @ 0x080A73A8 - push {r4, r5, lr} - ldr r0, _080A7468 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - beq _080A73B4 - b _080A74BC -_080A73B4: - bl sub_0805E89C - bl sub_0805E974 - ldr r1, _080A746C @ =gUnk_02017654 - ldr r5, _080A7470 @ =gUnk_02032EC0 - ldr r0, [r5, #0x10] - str r0, [r1] - ldr r0, _080A7474 @ =gUnk_03003F80 - ldrb r1, [r5, #0xc] - adds r0, #0x8b - strb r1, [r0] - ldr r1, _080A7478 @ =gUnk_02025EB0 - ldr r0, [r5, #0x14] - str r0, [r1] - ldr r1, _080A747C @ =gUnk_0200B650 - ldr r0, [r5, #0x18] - str r0, [r1] - movs r1, #0xea - lsls r1, r1, #2 - adds r0, r5, r1 - ldr r1, _080A7480 @ =gUnk_02033280 - movs r2, #0xc - bl sub_0801D66C - movs r1, #0xaa - lsls r1, r1, #2 - adds r0, r5, r1 - ldr r1, _080A7484 @ =gUnk_03000420 - movs r2, #0x80 - lsls r2, r2, #1 - bl sub_0801D66C - movs r1, #0x9a - lsls r1, r1, #2 - adds r0, r5, r1 - ldr r1, _080A7488 @ =gUnk_02001A00 - movs r2, #0x40 - bl sub_0801D66C - adds r0, r5, #0 - adds r0, #0x54 - ldr r1, _080A748C @ =gUnk_02024490 - movs r2, #0x85 - lsls r2, r2, #2 - bl sub_0801D66C - adds r0, r5, #0 - adds r0, #0x1c - ldr r4, _080A7490 @ =gUnk_03000BF0 - adds r1, r4, #0 - movs r2, #0x38 - bl sub_0801D66C - ldr r0, _080A7494 @ =gUnk_03001020 - ldr r1, _080A7498 @ =gUnk_03000F50 - movs r2, #0x7c - bl sub_0801D66C - ldrb r0, [r4, #4] - bl sub_08052D58 - ldr r4, _080A749C @ =gUnk_02033A90 - strh r0, [r4, #4] - bl sub_08052E8C - ldr r1, _080A74A0 @ =0x0000085C - adds r4, r4, r1 - str r0, [r4] - ldrb r0, [r5, #6] - bl sub_080527FC - ldrb r1, [r5, #0xd] - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - bl sub_0801D000 - bl sub_080A74F4 - ldrh r1, [r5, #8] - ldr r0, _080A74A4 @ =0x0000FFFF - cmp r1, r0 - beq _080A74A8 - adds r0, r1, #0 - ldrh r1, [r5, #0xa] - bl sub_08050054 - b _080A74AE - .align 2, 0 -_080A7468: .4byte gUnk_03000FD0 -_080A746C: .4byte gUnk_02017654 -_080A7470: .4byte gUnk_02032EC0 -_080A7474: .4byte gUnk_03003F80 -_080A7478: .4byte gUnk_02025EB0 -_080A747C: .4byte gUnk_0200B650 -_080A7480: .4byte gUnk_02033280 -_080A7484: .4byte gUnk_03000420 -_080A7488: .4byte gUnk_02001A00 -_080A748C: .4byte gUnk_02024490 -_080A7490: .4byte gUnk_03000BF0 -_080A7494: .4byte gUnk_03001020 -_080A7498: .4byte gUnk_03000F50 -_080A749C: .4byte gUnk_02033A90 -_080A74A0: .4byte 0x0000085C -_080A74A4: .4byte 0x0000FFFF -_080A74A8: - ldrh r0, [r5, #0xa] - bl sub_080500F4 -_080A74AE: - ldr r1, _080A74C0 @ =gUnk_02032EC0 - movs r2, #0 - movs r0, #4 - strb r0, [r1] - ldr r0, _080A74C4 @ =gUnk_030010A0 - adds r0, #0x30 - strb r2, [r0] -_080A74BC: - pop {r4, r5, pc} - .align 2, 0 -_080A74C0: .4byte gUnk_02032EC0 -_080A74C4: .4byte gUnk_030010A0 - - thumb_func_start sub_080A74C8 -sub_080A74C8: @ 0x080A74C8 - push {lr} - bl sub_080A74F4 - ldr r0, _080A74E8 @ =gUnk_03000FD0 - ldrb r3, [r0] - cmp r3, #0 - bne _080A74E6 - ldr r0, _080A74EC @ =gUnk_03001000 - ldr r1, _080A74F0 @ =gUnk_02032EC0 - ldrb r2, [r1, #7] - strb r2, [r0, #4] - strb r3, [r1] - strb r3, [r1, #2] - bl sub_0805E5B4 -_080A74E6: - pop {pc} - .align 2, 0 -_080A74E8: .4byte gUnk_03000FD0 -_080A74EC: .4byte gUnk_03001000 -_080A74F0: .4byte gUnk_02032EC0 - - thumb_func_start sub_080A74F4 -sub_080A74F4: @ 0x080A74F4 - push {lr} - bl sub_0805E5A8 - ldr r1, _080A7524 @ =gUnk_03001000 - movs r0, #0 - strb r0, [r1, #0xb] - bl sub_080AD90C - bl sub_0805E5C0 - bl sub_0805E5F8 - bl sub_0801C344 - bl sub_0801C208 - bl sub_08078CB4 - bl sub_080AD9B0 - bl sub_080AD918 - pop {pc} - .align 2, 0 -_080A7524: .4byte gUnk_03001000 - - thumb_func_start sub_080A7528 -sub_080A7528: @ 0x080A7528 - push {lr} - ldr r1, _080A753C @ =gUnk_08129030 - ldr r0, _080A7540 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A753C: .4byte gUnk_08129030 -_080A7540: .4byte gUnk_02032EC0 - - thumb_func_start sub_080A7544 -sub_080A7544: @ 0x080A7544 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080A7584 @ =gUnk_0812905C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080A7582 - ldr r1, _080A7588 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_08078E84 - ldr r1, [r4, #0x48] - adds r0, r4, #0 - adds r0, #0x62 - ldrb r0, [r0] - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - ldr r1, [r4, #0x48] - adds r0, r4, #0 - adds r0, #0x63 - ldrb r0, [r0] - ldrb r2, [r1, #1] - adds r0, r0, r2 - strb r0, [r1, #1] -_080A7582: - pop {r4, pc} - .align 2, 0 -_080A7584: .4byte gUnk_0812905C -_080A7588: .4byte gUnk_03001160 - - thumb_func_start sub_080A758C -sub_080A758C: @ 0x080A758C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _080A75AC - ldr r1, _080A7654 @ =gUnk_03003F80 - ldrb r0, [r1, #4] - cmp r0, #0 - bne _080A75AC - ldrb r1, [r1, #2] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - bne _080A75AC - bl sub_0805E780 -_080A75AC: - adds r0, r5, #0 - bl sub_0806FBD8 - cmp r0, #0 - bne _080A75BA - bl sub_0805E780 -_080A75BA: - adds r0, r5, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 - ldr r1, _080A7658 @ =gUnk_03001160 - adds r0, r1, #0 - adds r0, #0x3c - ldrb r0, [r0] - adds r0, #1 - movs r2, #0x20 - adds r3, r5, #0 - adds r3, #0x3c - movs r4, #0 - orrs r0, r2 - strb r0, [r3] - adds r1, #0x3b - ldrb r0, [r1] - adds r1, r5, #0 - adds r1, #0x3b - strb r0, [r1] - ldrb r1, [r5, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r5, #0x11] - adds r0, r5, #0 - adds r0, #0x41 - strb r4, [r0] - subs r0, #4 - strb r4, [r0] - adds r0, #5 - strb r4, [r0] - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - movs r0, #0xff - strb r0, [r5, #0x1e] - adds r0, r5, #0 - bl sub_0801766C - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _080A76BC - ldr r2, _080A7654 @ =gUnk_03003F80 - ldrb r1, [r2, #2] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080A767A - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - movs r0, #2 - strb r0, [r5, #0xb] - adds r0, r2, #0 - adds r0, #0x3e - ldrb r0, [r0] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1d - adds r0, #8 - adds r1, r5, #0 - adds r1, #0x44 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x68 - ldrb r0, [r0] - cmp r0, #1 - beq _080A765C - cmp r0, #6 - bne _080A7664 - subs r1, #4 - movs r0, #0x1a - b _080A766A - .align 2, 0 -_080A7654: .4byte gUnk_03003F80 -_080A7658: .4byte gUnk_03001160 -_080A765C: - adds r1, r5, #0 - adds r1, #0x40 - movs r0, #0x18 - b _080A766A -_080A7664: - adds r1, r5, #0 - adds r1, #0x40 - movs r0, #0x19 -_080A766A: - strb r0, [r1] - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - adds r0, r5, #0 - bl sub_080A7824 - b _080A7692 -_080A767A: - adds r0, r2, #0 - adds r0, #0x3e - ldrb r0, [r0] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1d - adds r0, #4 - adds r1, r5, #0 - adds r1, #0x44 - strb r0, [r1] - adds r0, r5, #0 - bl sub_080A76CC -_080A7692: - ldr r0, _080A76B0 @ =gUnk_03003F80 - str r5, [r0, #0x2c] - adds r0, r5, #0 - bl sub_08079BD8 - ldr r4, _080A76B4 @ =gUnk_0812906C - ldr r0, _080A76B8 @ =gUnk_08129068 - bl sub_080028F4 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - bl sub_080A3268 - b _080A76C2 - .align 2, 0 -_080A76B0: .4byte gUnk_03003F80 -_080A76B4: .4byte gUnk_0812906C -_080A76B8: .4byte gUnk_08129068 -_080A76BC: - adds r0, r5, #0 - bl sub_080A76CC -_080A76C2: - movs r0, #0x87 - lsls r0, r0, #1 - bl sub_080A3268 - pop {r4, r5, pc} - - thumb_func_start sub_080A76CC -sub_080A76CC: @ 0x080A76CC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080A76D8 - b _080A77DC -_080A76D8: - ldr r5, _080A771C @ =gUnk_03003F80 - ldr r0, [r5, #0x2c] - cmp r0, r4 - beq _080A76E4 - bl sub_0805E780 -_080A76E4: - ldrb r0, [r5, #4] - cmp r0, #0 - bne _080A76F2 - str r0, [r5, #0x2c] - strb r0, [r5, #0x1b] - bl sub_0805E780 -_080A76F2: - ldrb r2, [r5, #0x1b] - cmp r2, #0 - beq _080A7744 - adds r1, r4, #0 - adds r1, #0x40 - movs r0, #0xd - strb r0, [r1] - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _080A7728 - adds r0, r4, #0 - adds r0, #0x68 - ldrb r0, [r0] - cmp r0, #1 - beq _080A7720 - cmp r0, #6 - bne _080A7724 - movs r0, #0xa - b _080A7726 - .align 2, 0 -_080A771C: .4byte gUnk_03003F80 -_080A7720: - movs r0, #8 - b _080A7726 -_080A7724: - movs r0, #9 -_080A7726: - strb r0, [r1] -_080A7728: - ldr r0, _080A7740 @ =gUnk_03001160 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080A77C4 - movs r0, #0x8b - lsls r0, r0, #1 - bl sub_080A3268 - b _080A77C4 - .align 2, 0 -_080A7740: .4byte gUnk_03001160 -_080A7744: - ldr r0, [r5, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x14 - ands r0, r1 - cmp r0, #0 - beq _080A776A - adds r0, r4, #0 - adds r0, #0x68 - ldrb r0, [r0] - cmp r0, #6 - bne _080A7762 - adds r1, r4, #0 - adds r1, #0x40 - movs r0, #0xc - b _080A7768 -_080A7762: - adds r1, r4, #0 - adds r1, #0x40 - movs r0, #0xb -_080A7768: - strb r0, [r1] -_080A776A: - ldr r0, _080A77D0 @ =gUnk_03003F80 - adds r0, #0x3e - ldrb r0, [r0] - movs r2, #3 - ands r2, r0 - cmp r2, #0 - beq _080A77C4 - ldr r0, _080A77D4 @ =gUnk_03001160 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080A77C4 - movs r1, #0x12 - cmp r2, #1 - bne _080A778E - movs r1, #0x14 -_080A778E: - adds r0, r4, #0 - movs r2, #0 - bl sub_080A29AC - adds r2, r0, #0 - cmp r2, #0 - beq _080A77C4 - ldrb r1, [r4, #0x1e] - lsls r1, r1, #1 - ldr r0, _080A77D8 @ =gUnk_081292E2 - adds r1, r1, r0 - movs r0, #1 - ldrsb r0, [r1, r0] - ldrh r3, [r4, #0x32] - adds r0, r0, r3 - strh r0, [r2, #0x32] - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - bge _080A77BE - rsbs r1, r1, #0 -_080A77BE: - ldrh r0, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r2, #0x2e] -_080A77C4: - ldr r1, _080A77D4 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080A78B8 - b _080A7806 - .align 2, 0 -_080A77D0: .4byte gUnk_03003F80 -_080A77D4: .4byte gUnk_03001160 -_080A77D8: .4byte gUnk_081292E2 -_080A77DC: - ldr r1, _080A7810 @ =gUnk_03003F80 - ldrb r0, [r1, #4] - cmp r0, #0 - beq _080A7814 - ldr r0, [r1, #0x2c] - adds r2, r0, #0 - adds r2, #0x40 - ldrb r0, [r2] - cmp r0, #0 - beq _080A7814 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r2] - adds r0, r4, #0 - adds r0, #0x40 - strb r1, [r0] - adds r0, r4, #0 - bl sub_080A7A54 -_080A7806: - adds r0, r4, #0 - bl sub_080A7A84 - b _080A7820 - .align 2, 0 -_080A7810: .4byte gUnk_03003F80 -_080A7814: - movs r0, #0xff - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] -_080A7820: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A7824 -sub_080A7824: @ 0x080A7824 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r5, _080A7860 @ =gUnk_03003F80 - ldr r0, [r5, #0x2c] - cmp r0, r4 - beq _080A7834 - bl sub_0805E780 -_080A7834: - ldrb r0, [r5, #4] - cmp r0, #0 - beq _080A78AE - ldrb r0, [r5, #2] - cmp r0, #0 - bne _080A7846 - str r0, [r5, #0x2c] - bl sub_0805E780 -_080A7846: - ldr r2, _080A7864 @ =gUnk_03001160 - adds r6, r2, #0 - adds r6, #0x5a - ldrb r1, [r6] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A7868 - movs r0, #0 - str r0, [r5, #0x2c] - bl sub_0805E780 - b _080A78B4 - .align 2, 0 -_080A7860: .4byte gUnk_03003F80 -_080A7864: .4byte gUnk_03001160 -_080A7868: - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_080A78B8 - ldrb r1, [r6] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080A7880 - movs r0, #0x77 - bl sub_080A3268 -_080A7880: - ldrb r0, [r4, #0x1e] - cmp r0, #0x8a - bls _080A788A - movs r0, #0xff - strb r0, [r4, #0x1e] -_080A788A: - ldrb r1, [r6] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080A78A4 - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - bl sub_080A7B98 - b _080A78B4 -_080A78A4: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - b _080A78B4 -_080A78AE: - str r0, [r5, #0x2c] - bl sub_0805E780 -_080A78B4: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A78B8 -sub_080A78B8: @ 0x080A78B8 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r6, r1, #0 - ldr r0, _080A78E8 @ =gUnk_03003F80 - ldrb r1, [r0, #0x1b] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080A78FC - ldrb r0, [r6, #0x1e] - subs r0, #0x6a - strb r0, [r4, #0x1e] - ldr r0, _080A78EC @ =gUnk_030010A0 - ldr r0, [r0] - movs r1, #4 - ands r0, r1 - cmp r0, #0 - beq _080A78F0 - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r1, #0xb1 - b _080A78F2 - .align 2, 0 -_080A78E8: .4byte gUnk_03003F80 -_080A78EC: .4byte gUnk_030010A0 -_080A78F0: - ldrb r1, [r4, #0x1e] -_080A78F2: - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 - b _080A7912 -_080A78FC: - ldrb r0, [r6, #0x1e] - subs r0, #0x6a - ldrb r1, [r4, #0x1e] - cmp r0, r1 - beq _080A7912 - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x1e] - ldrh r2, [r4, #0x12] - adds r0, r4, #0 - bl sub_080042D0 -_080A7912: - ldr r2, _080A792C @ =gUnk_03003F80 - ldrb r1, [r2, #0x1b] - movs r0, #0x40 - ands r0, r1 - adds r7, r2, #0 - cmp r0, #0 - beq _080A7930 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - b _080A7958 - .align 2, 0 -_080A792C: .4byte gUnk_03003F80 -_080A7930: - ldrb r1, [r6, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080A7946 - ldrb r0, [r6, #0x18] - lsls r0, r0, #0x19 - lsrs r2, r0, #0x1f - movs r0, #1 - eors r2, r0 - b _080A794C -_080A7946: - ldrb r0, [r6, #0x18] - lsls r0, r0, #0x19 - lsrs r2, r0, #0x1f -_080A794C: - lsls r2, r2, #6 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 -_080A7958: - strb r0, [r4, #0x18] - adds r2, r4, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - mov r8, r2 - adds r5, r4, #0 - adds r5, #0x3d - cmp r0, #0 - beq _080A7A1C - adds r3, r6, #0 - adds r3, #0x3d - ldrb r0, [r3] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _080A7980 - lsrs r0, r0, #0x18 - cmp r0, #0x81 - bne _080A79AE -_080A7980: - adds r2, r4, #0 - adds r2, #0x3d - ldrb r0, [r2] - movs r1, #0 - strb r0, [r3] - adds r5, r4, #0 - adds r5, #0x3e - ldrb r0, [r5] - adds r3, r6, #0 - adds r3, #0x3e - strb r0, [r3] - movs r3, #0x42 - adds r3, r3, r4 - mov ip, r3 - ldrb r0, [r3] - adds r3, r6, #0 - adds r3, #0x42 - strb r0, [r3] - mov r0, ip - strb r1, [r0] - strb r1, [r5] - strb r1, [r2] - adds r5, r2, #0 -_080A79AE: - ldr r0, [r7, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x14 - ands r0, r1 - cmp r0, #0 - beq _080A79C4 - ldrb r1, [r7, #0x1b] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r7, #0x1b] - b _080A7A1C -_080A79C4: - ldrb r0, [r7, #0x1b] - cmp r0, #0 - beq _080A7A1C - mov r1, r8 - ldrb r0, [r1] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0x43 - beq _080A79E6 - cmp r1, #0x43 - bgt _080A79E0 - cmp r1, #0xd - beq _080A79E6 - b _080A7A08 -_080A79E0: - cmp r1, #0x44 - bne _080A7A08 - b _080A7A1C -_080A79E6: - ldrb r1, [r7, #0x1b] - movs r0, #8 - orrs r0, r1 - strb r0, [r7, #0x1b] - adds r1, r6, #0 - adds r1, #0x42 - movs r0, #2 - strb r0, [r1] - ldrb r1, [r7, #0x1b] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - bne _080A7A1C - movs r0, #0xfe - ands r0, r1 - strb r0, [r7, #0x1b] - b _080A7A1C -_080A7A08: - ldrb r0, [r7, #0x1b] - movs r1, #0xc0 - ands r1, r0 - cmp r1, #0 - bne _080A7A1C - strb r1, [r7, #0x1b] - strb r1, [r7, #4] - str r1, [r7, #0x2c] - bl sub_0805E780 -_080A7A1C: - adds r1, r5, #0 - ldrb r0, [r1] - movs r2, #0 - ldrsb r2, [r1, r2] - cmp r2, #0 - beq _080A7A36 - cmp r2, #0 - ble _080A7A32 - subs r0, #1 - strb r0, [r1] - b _080A7A36 -_080A7A32: - adds r0, #1 - strb r0, [r5] -_080A7A36: - adds r0, r4, #0 - bl sub_080A7A54 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - bge _080A7A4C - ldr r1, [r4, #0x48] - ldrb r0, [r1] - rsbs r0, r0, #0 - strb r0, [r1] -_080A7A4C: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080A7A54 -sub_080A7A54: @ 0x080A7A54 - ldr r1, _080A7A7C @ =gUnk_03001160 - ldrb r1, [r1, #0x1e] - subs r1, #0x6a - lsls r1, r1, #2 - ldr r2, _080A7A80 @ =gUnk_08129096 - adds r1, r1, r2 - ldr r3, [r0, #0x48] - ldrb r2, [r1] - strb r2, [r3] - ldr r3, [r0, #0x48] - ldrb r2, [r1, #1] - strb r2, [r3, #1] - ldr r3, [r0, #0x48] - ldrb r2, [r1, #2] - strb r2, [r3, #6] - ldr r2, [r0, #0x48] - ldrb r0, [r1, #3] - strb r0, [r2, #7] - bx lr - .align 2, 0 -_080A7A7C: .4byte gUnk_03001160 -_080A7A80: .4byte gUnk_08129096 - - thumb_func_start sub_080A7A84 -sub_080A7A84: @ 0x080A7A84 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r6, _080A7AE0 @ =gUnk_03001160 - adds r0, r6, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r1, #0xf - ands r1, r0 - cmp r1, #0 - beq _080A7B8C - ldr r2, _080A7AE4 @ =gUnk_08129072 - subs r0, r1, #1 - lsls r0, r0, #1 - adds r1, r0, r2 - movs r3, #0 - ldrsb r3, [r1, r3] - adds r0, #1 - adds r0, r0, r2 - movs r5, #0 - ldrsb r5, [r0, r5] - ldr r2, _080A7AE8 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1b] - movs r0, #0xc0 - ands r0, r1 - adds r7, r2, #0 - cmp r0, #0 - bne _080A7AC4 - ldrb r0, [r6, #0x18] - lsls r0, r0, #0x19 - cmp r0, #0 - bge _080A7AC4 - rsbs r3, r3, #0 -_080A7AC4: - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080A7AEC - movs r0, #0x2e - ldrsh r2, [r4, r0] - adds r2, r2, r3 - movs r1, #0x32 - ldrsh r3, [r4, r1] - adds r3, r3, r5 - adds r0, r4, #0 - movs r1, #0 - bl sub_08008796 - b _080A7B8C - .align 2, 0 -_080A7AE0: .4byte gUnk_03001160 -_080A7AE4: .4byte gUnk_08129072 -_080A7AE8: .4byte gUnk_03003F80 -_080A7AEC: - ldr r0, [r4, #0x34] - cmp r0, #0 - bne _080A7B8C - adds r0, r7, #0 - adds r0, #0xac - ldrh r0, [r0] - movs r1, #8 - ands r1, r0 - lsls r1, r1, #0x10 - lsrs r1, r1, #0x10 - rsbs r1, r1, #0 - lsrs r1, r1, #0x1f - movs r0, #0x2e - ldrsh r2, [r4, r0] - adds r6, r3, #0 - adds r2, r2, r6 - movs r0, #0x32 - ldrsh r3, [r4, r0] - adds r3, r3, r5 - adds r0, r4, #0 - bl sub_08008796 - cmp r0, #0 - bne _080A7B8C - ldrb r2, [r7, #0x1b] - cmp r2, #0 - beq _080A7B8C - movs r0, #0xc0 - ands r0, r2 - cmp r0, #0 - bne _080A7B8C - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r5, #0 - bl sub_080002B4 - cmp r0, #0x2e - bne _080A7B4C - ldr r0, _080A7B44 @ =gUnk_03001160 - ldr r1, _080A7B48 @ =0x00000119 - bl sub_0800449C - b _080A7B54 - .align 2, 0 -_080A7B44: .4byte gUnk_03001160 -_080A7B48: .4byte 0x00000119 -_080A7B4C: - ldr r0, _080A7B90 @ =gUnk_03001160 - movs r1, #0x74 - bl sub_0800449C -_080A7B54: - movs r0, #0xf - movs r1, #0x1a - movs r2, #0 - bl sub_080A2960 - adds r2, r0, #0 - cmp r2, #0 - beq _080A7B8C - ldr r1, _080A7B94 @ =gUnk_0812908E - ldrb r0, [r4, #0x14] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r3, [r4, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrb r0, [r4, #0x14] - adds r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldr r0, [r4, #0x34] - str r0, [r2, #0x34] -_080A7B8C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A7B90: .4byte gUnk_03001160 -_080A7B94: .4byte gUnk_0812908E - - thumb_func_start sub_080A7B98 -sub_080A7B98: @ 0x080A7B98 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r6, r0, #0 - ldr r0, _080A7BFC @ =gUnk_03003F80 - adds r0, #0xac - ldrh r1, [r0] - movs r0, #8 - ands r0, r1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - rsbs r0, r0, #0 - lsrs r0, r0, #0x1f - mov sl, r0 - movs r7, #0x10 - rsbs r7, r7, #0 - movs r0, #0 -_080A7BBE: - movs r5, #0x10 - rsbs r5, r5, #0 - movs r4, #0 - movs r1, #0x10 - adds r1, r1, r7 - mov sb, r1 - adds r0, #1 - mov r8, r0 -_080A7BCE: - movs r0, #0x2e - ldrsh r2, [r6, r0] - adds r2, r2, r5 - movs r1, #0x32 - ldrsh r3, [r6, r1] - adds r3, r3, r7 - adds r0, r6, #0 - mov r1, sl - bl sub_08008796 - adds r5, #0x10 - adds r4, #1 - cmp r4, #2 - bls _080A7BCE - mov r7, sb - mov r0, r8 - cmp r0, #2 - bls _080A7BBE - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A7BFC: .4byte gUnk_03003F80 - - thumb_func_start sub_080A7C00 -sub_080A7C00: @ 0x080A7C00 - push {r4, lr} - bl sub_080A7C38 - adds r4, r0, #0 - cmp r4, #0 - beq _080A7C16 - ldrb r1, [r4, #0xa] - movs r2, #0 - bl sub_080A276C - str r0, [r4, #0x50] -_080A7C16: - pop {r4, pc} - - thumb_func_start sub_080A7C18 -sub_080A7C18: @ 0x080A7C18 - push {lr} - bl sub_080A7C38 - adds r2, r0, #0 - cmp r2, #0 - beq _080A7C32 - ldr r0, _080A7C34 @ =gUnk_03001160 - str r0, [r2, #0x50] - ldrb r1, [r2, #0xa] - adds r0, r2, #0 - movs r2, #0 - bl sub_08078AF0 -_080A7C32: - pop {pc} - .align 2, 0 -_080A7C34: .4byte gUnk_03001160 - - thumb_func_start sub_080A7C38 -sub_080A7C38: @ 0x080A7C38 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r2, #0 - cmp r5, #0x3f - bne _080A7C52 - ldr r0, _080A7C78 @ =gUnk_02002A40 - adds r0, #0xbb - ldrb r0, [r0] - cmp r0, #0 - beq _080A7C52 - movs r5, #0x57 - movs r6, #0 -_080A7C52: - bl sub_0805E744 - adds r4, r0, #0 - cmp r4, #0 - beq _080A7C72 - strb r5, [r4, #0xa] - strb r6, [r4, #0xb] - strb r7, [r4, #0xe] - movs r0, #0xb - strb r0, [r4, #9] - movs r0, #6 - strb r0, [r4, #8] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805EA2C -_080A7C72: - adds r0, r4, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A7C78: .4byte gUnk_02002A40 - - thumb_func_start sub_080A7C7C -sub_080A7C7C: @ 0x080A7C7C - push {lr} - ldr r0, _080A7C88 @ =gUnk_02017660 - movs r1, #0x40 - bl sub_0801D630 - pop {pc} - .align 2, 0 -_080A7C88: .4byte gUnk_02017660 - - thumb_func_start sub_080A7C8C -sub_080A7C8C: @ 0x080A7C8C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r4, _080A7C9C @ =gUnk_02017660 - movs r2, #0 - movs r1, #0 - b _080A7CA8 - .align 2, 0 -_080A7C9C: .4byte gUnk_02017660 -_080A7CA0: - adds r1, #1 - adds r4, #8 - cmp r1, #7 - bhi _080A7CB0 -_080A7CA8: - ldrh r0, [r4, #4] - cmp r0, r5 - bne _080A7CA0 - movs r2, #1 -_080A7CB0: - lsrs r1, r6, #1 - ldrb r0, [r4, #6] - lsls r0, r0, #0x1f - lsrs r0, r0, #0x1f - cmp r1, r0 - bne _080A7CF4 - cmp r2, #0 - beq _080A7CD2 - ldrb r0, [r4, #1] - bl sub_0807CCB4 - ldrb r0, [r4, #2] - ldrb r1, [r4, #3] - movs r2, #0 - bl sub_080A7C00 - b _080A7CDC -_080A7CD2: - movs r0, #0x60 - movs r1, #0 - movs r2, #0 - bl sub_080A7C00 -_080A7CDC: - movs r0, #0x74 - adds r1, r5, #0 - adds r2, r6, #0 - bl sub_0807B7D8 - movs r0, #0 - movs r1, #0x78 - bl sub_0805E4E0 - ldr r0, _080A7CF8 @ =0x0000011B - bl sub_080A3268 -_080A7CF4: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A7CF8: .4byte 0x0000011B - - thumb_func_start sub_080A7CFC -sub_080A7CFC: @ 0x080A7CFC - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r4, #0xc0 - lsls r4, r4, #3 - movs r6, #0 - movs r0, #3 - bl sub_0804B128 - adds r1, r0, #0 - cmp r1, #0 - beq _080A7D38 -_080A7D12: - ldrh r0, [r1, #4] - cmp r0, r5 - bne _080A7D30 - ldrb r0, [r1] - cmp r0, #5 - beq _080A7D24 - cmp r0, #6 - beq _080A7D2A - b _080A7D38 -_080A7D24: - movs r6, #0 - ldrh r4, [r1, #6] - b _080A7D38 -_080A7D2A: - movs r6, #1 - ldrh r4, [r1, #6] - b _080A7D38 -_080A7D30: - adds r1, #8 - ldrh r0, [r1, #4] - cmp r0, #0 - bne _080A7D12 -_080A7D38: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080A7D44 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A7D44 -sub_080A7D44: @ 0x080A7D44 - push {lr} - cmp r1, #0 - beq _080A7D52 - movs r1, #0 - bl sub_08078AA8 - b _080A7D56 -_080A7D52: - bl sub_08056378 -_080A7D56: - pop {pc} - - thumb_func_start sub_080A7D58 -sub_080A7D58: @ 0x080A7D58 - push {lr} - adds r3, r0, #0 - ldrb r0, [r3, #9] - lsls r0, r0, #4 - ldr r1, _080A7D78 @ =gUnk_0813210C - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, _080A7D7C @ =0x0000FFFF - cmp r1, r0 - bne _080A7D74 - ldrb r0, [r3, #0xa] - lsls r0, r0, #4 - ldr r1, [r2, #4] - adds r2, r1, r0 -_080A7D74: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_080A7D78: .4byte gUnk_0813210C -_080A7D7C: .4byte 0x0000FFFF - - thumb_func_start sub_080A7D80 -sub_080A7D80: @ 0x080A7D80 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080A7E4A - adds r0, r4, #0 - bl sub_080A7D58 - adds r5, r0, #0 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080A7E50 - cmp r0, #0 - bne _080A7DA6 - movs r0, #0 - b _080A7E4C -_080A7DA6: - ldrb r1, [r4, #0x10] - movs r0, #1 - adds r2, r1, #0 - orrs r2, r0 - strb r2, [r4, #0x10] - ldrb r1, [r5, #0xa] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080A7DC0 - movs r0, #0x80 - orrs r2, r0 - strb r2, [r4, #0x10] -_080A7DC0: - ldrh r0, [r5, #8] - lsls r0, r0, #0x14 - lsrs r0, r0, #0x14 - strh r0, [r4, #0x12] - ldrb r2, [r4, #0x18] - lsls r0, r2, #0x1e - cmp r0, #0 - bne _080A7DE0 - ldrb r1, [r5, #0xa] - lsls r1, r1, #0x1a - lsrs r1, r1, #0x1e - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_080A7DE0: - ldrb r1, [r5, #0xa] - lsls r1, r1, #0x1d - adds r3, r4, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1a - ldrb r2, [r3] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, #0xa] - lsrs r1, r1, #6 - lsls r1, r1, #4 - ldrb r2, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _080A7E14 - ldrh r0, [r5, #0xc] - strh r0, [r4, #0x24] -_080A7E14: - ldrb r0, [r5, #9] - lsrs r0, r0, #4 - lsls r0, r0, #4 - movs r1, #7 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x3c - strb r0, [r1] - ldrb r0, [r5, #0xf] - subs r1, #1 - strb r0, [r1] - ldrb r0, [r5, #0xe] - adds r1, #4 - strb r0, [r1] - ldrb r1, [r5, #0xb] - adds r0, r4, #0 - adds r0, #0x40 - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] - ldr r0, [r5, #4] - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_08016A04 -_080A7E4A: - movs r0, #1 -_080A7E4C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A7E50 -sub_080A7E50: @ 0x080A7E50 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrh r2, [r5] - lsls r1, r2, #0x10 - cmp r1, #0 - beq _080A7EA2 - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r2 - cmp r0, #0 - beq _080A7E78 - ldr r0, _080A7E74 @ =0x000003FF - ands r0, r2 - adds r1, r4, #0 - adds r1, #0x60 - strh r0, [r1] - b _080A7EA2 - .align 2, 0 -_080A7E74: .4byte 0x000003FF -_080A7E78: - movs r0, #0x80 - lsls r0, r0, #7 - ands r0, r2 - cmp r0, #0 - beq _080A7E92 - lsrs r1, r1, #0x14 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r0, r4, #0 - movs r2, #0 - bl sub_080AE008 - b _080A7E9A -_080A7E92: - ldrh r1, [r5] - adds r0, r4, #0 - bl sub_080ADF80 -_080A7E9A: - cmp r0, #0 - bne _080A7EA2 - movs r0, #0 - b _080A7EAC -_080A7EA2: - ldrh r1, [r5, #2] - adds r0, r4, #0 - bl sub_0801D040 - movs r0, #1 -_080A7EAC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A7EB0 -sub_080A7EB0: @ 0x080A7EB0 - push {lr} - adds r3, r0, #0 - movs r1, #0x2e - ldrsh r0, [r3, r1] - ldr r2, _080A7ED8 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - ldrh r1, [r2, #0x1e] - cmp r0, r1 - bhi _080A7ED2 - movs r1, #0x32 - ldrsh r0, [r3, r1] - ldrh r1, [r2, #8] - subs r0, r0, r1 - ldrh r2, [r2, #0x20] - cmp r0, r2 - bls _080A7EDC -_080A7ED2: - movs r0, #1 - b _080A7EDE - .align 2, 0 -_080A7ED8: .4byte gUnk_03000BF0 -_080A7EDC: - movs r0, #0 -_080A7EDE: - pop {pc} - - thumb_func_start sub_080A7EE0 -sub_080A7EE0: @ 0x080A7EE0 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0805E678 - adds r4, r0, #0 - cmp r4, #0 - beq _080A7EFC - movs r0, #4 - strb r0, [r4, #8] - strb r5, [r4, #9] - adds r0, r4, #0 - movs r1, #5 - bl sub_0805EA2C -_080A7EFC: - adds r0, r4, #0 - pop {r4, r5, pc} - - thumb_func_start sub_080A7F00 -sub_080A7F00: @ 0x080A7F00 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080A7F26 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_080A7F80 - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _080A7F26 - ldr r0, [r4, #0x50] - ldrb r1, [r0, #0x14] - adds r1, #0x18 - adds r0, r4, #0 - bl sub_080042AC -_080A7F26: - ldr r0, [r4, #0x50] - cmp r0, #0 - beq _080A7F34 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080A7F38 -_080A7F34: - bl sub_0805E780 -_080A7F38: - adds r2, r4, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A7F56 - ldr r1, [r4, #0x4c] - ldr r0, _080A7F7C @ =gUnk_03001160 - cmp r1, r0 - bne _080A7F56 - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xd3 - strb r0, [r1] -_080A7F56: - movs r0, #0 - strb r0, [r2] - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C - adds r0, r4, #0 - bl sub_080A7F9C - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _080A7F7A - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_080042B8 -_080A7F7A: - pop {r4, pc} - .align 2, 0 -_080A7F7C: .4byte gUnk_03001160 - - thumb_func_start sub_080A7F80 -sub_080A7F80: @ 0x080A7F80 - ldr r3, _080A7F98 @ =gUnk_081293B8 - ldr r2, [r0, #0x50] - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - ldrb r2, [r2, #0xa] - adds r1, r1, r2 - adds r1, r1, r3 - ldrb r1, [r1] - adds r0, #0x3f - strb r1, [r0] - bx lr - .align 2, 0 -_080A7F98: .4byte gUnk_081293B8 - - thumb_func_start sub_080A7F9C -sub_080A7F9C: @ 0x080A7F9C - push {lr} - ldr r2, _080A7FB0 @ =gUnk_081293CC - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A7FB0: .4byte gUnk_081293CC - - thumb_func_start sub_080A7FB4 -sub_080A7FB4: @ 0x080A7FB4 - ldr r1, [r0, #0x50] - ldr r3, _080A7FD4 @ =gUnk_081293E0 - ldrb r2, [r1, #0x14] - lsls r2, r2, #2 - adds r2, r2, r3 - adds r1, #0x5a - ldrb r3, [r1] - movs r1, #0xf - ands r1, r3 - ldr r2, [r2] - lsls r1, r1, #2 - adds r1, r1, r2 - subs r1, #4 - ldr r1, [r1] - str r1, [r0, #0x48] - bx lr - .align 2, 0 -_080A7FD4: .4byte gUnk_081293E0 - - thumb_func_start sub_080A7FD8 -sub_080A7FD8: @ 0x080A7FD8 - ldr r1, [r0, #0x50] - ldr r2, _080A7FE8 @ =gUnk_081293F0 - ldrb r1, [r1, #0x14] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - str r1, [r0, #0x48] - bx lr - .align 2, 0 -_080A7FE8: .4byte gUnk_081293F0 - - thumb_func_start sub_080A7FEC -sub_080A7FEC: @ 0x080A7FEC - push {lr} - adds r3, r0, #0 - ldr r2, [r3, #0x50] - adds r0, r2, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _080A8008 - ldr r0, _080A8004 @ =gUnk_08129410 - b _080A800A - .align 2, 0 -_080A8004: .4byte gUnk_08129410 -_080A8008: - ldr r0, _080A8018 @ =gUnk_08129400 -_080A800A: - ldrb r1, [r2, #0x14] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r3, #0x48] - pop {pc} - .align 2, 0 -_080A8018: .4byte gUnk_08129400 - - thumb_func_start sub_080A801C -sub_080A801C: @ 0x080A801C - ldr r1, [r0, #0x50] - ldr r2, _080A802C @ =gUnk_08129420 - ldrb r1, [r1, #0x14] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - str r1, [r0, #0x48] - bx lr - .align 2, 0 -_080A802C: .4byte gUnk_08129420 - - thumb_func_start sub_080A8030 -sub_080A8030: @ 0x080A8030 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A8048 @ =gUnk_081295D0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A8048: .4byte gUnk_081295D0 - - thumb_func_start sub_080A804C -sub_080A804C: @ 0x080A804C - push {lr} - ldr r2, _080A8060 @ =gUnk_081295E4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A8060: .4byte gUnk_081295E4 - - thumb_func_start sub_080A8064 -sub_080A8064: @ 0x080A8064 - push {lr} - adds r1, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _080A8078 - adds r0, r1, #0 - bl sub_0805E7BC - b _080A8086 -_080A8078: - adds r0, r1, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r1, #0x15] - adds r0, r1, #0 - bl sub_080A8178 -_080A8086: - pop {pc} - - thumb_func_start sub_080A8088 -sub_080A8088: @ 0x080A8088 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x30 - strb r1, [r0, #0xe] - movs r1, #0xa0 - lsls r1, r1, #8 - str r1, [r0, #0x20] - movs r1, #0 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_080A80A0 -sub_080A80A0: @ 0x080A80A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - cmp r0, #0 - beq _080A80DC - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080A80C4 - adds r0, r4, #0 - bl sub_0805E7BC - b _080A80F0 -_080A80C4: - adds r0, r4, #0 - bl sub_08016AD2 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A80F0 - movs r0, #3 - strb r0, [r4, #0xc] - b _080A80F0 -_080A80DC: - ldrh r1, [r4, #0x2a] - adds r0, r4, #0 - bl sub_0800417E - adds r0, r4, #0 - bl sub_080A8178 - adds r0, r4, #0 - bl sub_08016AD2 -_080A80F0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A80F4 -sub_080A80F4: @ 0x080A80F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08004274 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080A8116 - adds r0, r4, #0 - bl sub_0805E7BC -_080A8116: - pop {r4, pc} - - thumb_func_start sub_080A8118 -sub_080A8118: @ 0x080A8118 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - beq _080A813A - cmp r0, #1 - beq _080A8142 - b _080A815A -_080A813A: - adds r0, r4, #0 - bl sub_0805E7BC - b _080A8176 -_080A8142: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x90 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0800442E - cmp r0, #0 - bne _080A8176 -_080A815A: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080A8176 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_080A8176: - pop {r4, pc} - - thumb_func_start sub_080A8178 -sub_080A8178: @ 0x080A8178 - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #0x40 - strh r1, [r0, #0x24] - movs r1, #0xa0 - lsls r1, r1, #9 - str r1, [r0, #0x20] - bx lr - - thumb_func_start sub_080A8190 -sub_080A8190: @ 0x080A8190 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A81A8 @ =gUnk_0812960C - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A81A8: .4byte gUnk_0812960C - - thumb_func_start sub_080A81AC -sub_080A81AC: @ 0x080A81AC - push {lr} - ldr r2, _080A81C0 @ =gUnk_08129620 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A81C0: .4byte gUnk_08129620 - - thumb_func_start sub_080A81C4 -sub_080A81C4: @ 0x080A81C4 - push {lr} - adds r1, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _080A81D8 - adds r0, r1, #0 - bl sub_0805E7BC - b _080A81DE -_080A81D8: - adds r0, r1, #0 - bl sub_080A82D8 -_080A81DE: - pop {pc} - - thumb_func_start sub_080A81E0 -sub_080A81E0: @ 0x080A81E0 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x3c - strb r1, [r0, #0xe] - ldr r1, _080A81F8 @ =0x0000FFFE - strh r1, [r0, #0x36] - movs r1, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 -_080A81F8: .4byte 0x0000FFFE - - thumb_func_start sub_080A81FC -sub_080A81FC: @ 0x080A81FC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - bne _080A8240 - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080A8222 - adds r0, r4, #0 - bl sub_0805E7BC - b _080A8246 -_080A8222: - adds r0, r4, #0 - bl sub_08016AD2 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A8246 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x90 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - b _080A8246 -_080A8240: - adds r0, r4, #0 - bl sub_080A82D8 -_080A8246: - pop {r4, pc} - - thumb_func_start sub_080A8248 -sub_080A8248: @ 0x080A8248 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080A827A - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xe0 - strh r0, [r4, #0x24] - movs r0, #0xe0 - lsls r0, r0, #8 - str r0, [r4, #0x20] -_080A827A: - pop {r4, pc} - - thumb_func_start sub_080A827C -sub_080A827C: @ 0x080A827C - push {r4, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08004274 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - bne _080A82B2 - adds r0, r4, #0 - bl sub_0805E7BC -_080A82B2: - pop {r4, pc} - - thumb_func_start sub_080A82B4 -sub_080A82B4: @ 0x080A82B4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F69C - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080A82D6 - adds r0, r4, #0 - bl sub_0805E7BC -_080A82D6: - pop {r4, pc} - - thumb_func_start sub_080A82D8 -sub_080A82D8: @ 0x080A82D8 - movs r1, #4 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #0x80 - lsls r1, r1, #9 - str r1, [r0, #0x20] - ldrb r1, [r0, #0x15] - movs r2, #0x10 - eors r1, r2 - strb r1, [r0, #0x15] - movs r1, #0x80 - strh r1, [r0, #0x24] - bx lr - - thumb_func_start sub_080A82F8 -sub_080A82F8: @ 0x080A82F8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A8310 @ =gUnk_08129650 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A8310: .4byte gUnk_08129650 - - thumb_func_start sub_080A8314 -sub_080A8314: @ 0x080A8314 - push {lr} - ldr r2, _080A8328 @ =gUnk_08129664 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A8328: .4byte gUnk_08129664 - - thumb_func_start sub_080A832C -sub_080A832C: @ 0x080A832C - push {lr} - adds r3, r0, #0 - adds r2, r3, #0 - adds r2, #0x41 - ldrb r0, [r2] - cmp r0, #0x80 - bne _080A8358 - adds r1, r3, #0 - adds r1, #0x3d - movs r0, #0x10 - strb r0, [r1] - adds r1, #5 - movs r0, #0xc - strb r0, [r1] - adds r1, #4 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1] - ldr r0, [r3, #0x50] - ldrb r1, [r2] - adds r0, #0x41 - strb r1, [r0] -_080A8358: - adds r0, r3, #0 - adds r0, #0x3d - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A836A - ldr r0, [r3, #0x50] - b _080A836E -_080A836A: - ldr r0, [r3, #0x50] - rsbs r1, r1, #0 -_080A836E: - adds r0, #0x3d - strb r1, [r0] - ldr r0, [r3, #0x50] - movs r1, #0x42 - adds r1, r1, r3 - mov ip, r1 - ldrb r1, [r1] - adds r0, #0x42 - strb r1, [r0] - ldr r0, [r3, #0x50] - adds r1, r3, #0 - adds r1, #0x46 - ldrh r1, [r1] - adds r0, #0x46 - movs r2, #0 - strh r1, [r0] - ldr r0, [r3, #0x50] - adds r1, r3, #0 - adds r1, #0x3e - ldrb r1, [r1] - adds r0, #0x3e - strb r1, [r0] - mov r0, ip - strb r2, [r0] - pop {pc} - - thumb_func_start sub_080A83A0 -sub_080A83A0: @ 0x080A83A0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806FBD8 - cmp r0, #0 - beq _080A83B0 - movs r0, #1 - strb r0, [r4, #0xc] -_080A83B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A83B4 -sub_080A83B4: @ 0x080A83B4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - cmp r5, #0 - bne _080A83C2 - bl sub_0805E780 -_080A83C2: - ldr r0, [r5, #4] - cmp r0, #0 - bne _080A83CC - bl sub_0805E780 -_080A83CC: - adds r0, r5, #0 - adds r0, #0x5a - ldrb r0, [r0] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x18 - ldr r1, _080A8424 @ =gUnk_0812966C - adds r2, r0, r1 - ldr r1, [r4, #0x48] - ldrb r0, [r2] - strb r0, [r1] - adds r2, #1 - adds r0, r5, #0 - adds r0, #0x5b - ldrb r0, [r0] - cmp r0, #0x40 - bne _080A83F4 - ldr r1, [r4, #0x48] - ldrb r0, [r1] - rsbs r0, r0, #0 - strb r0, [r1] -_080A83F4: - ldr r1, [r4, #0x48] - ldrb r0, [r2] - strb r0, [r1, #1] - adds r2, #1 - ldr r1, [r4, #0x48] - ldrb r0, [r2] - strb r0, [r1, #6] - ldr r1, [r4, #0x48] - ldrb r0, [r2, #1] - strb r0, [r1, #7] - adds r0, r5, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _080A8428 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A8438 - movs r0, #0x7f - ands r0, r1 - b _080A8436 - .align 2, 0 -_080A8424: .4byte gUnk_0812966C -_080A8428: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080A8438 - movs r0, #0x80 - orrs r0, r1 -_080A8436: - strb r0, [r4, #0x10] -_080A8438: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A843C -sub_080A843C: @ 0x080A843C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A8454 @ =gUnk_081296F0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A8454: .4byte gUnk_081296F0 - - thumb_func_start sub_080A8458 -sub_080A8458: @ 0x080A8458 - push {lr} - ldr r2, _080A846C @ =gUnk_08129704 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A846C: .4byte gUnk_08129704 - - thumb_func_start sub_080A8470 -sub_080A8470: @ 0x080A8470 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x41 - ldrb r0, [r2] - cmp r0, #0x80 - bne _080A8496 - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0x68 - bne _080A848E - movs r0, #0x86 - bl sub_08004488 -_080A848E: - adds r0, r4, #0 - bl sub_0805E7BC - b _080A84C6 -_080A8496: - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - adds r0, #4 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - ldrb r0, [r2] - adds r0, #0x7e - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #1 - bhi _080A84B8 - adds r0, r4, #0 - bl sub_080A8680 - b _080A84C6 -_080A84B8: - adds r0, r4, #0 - movs r1, #0x19 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080A86A0 -_080A84C6: - pop {r4, pc} - - thumb_func_start sub_080A84C8 -sub_080A84C8: @ 0x080A84C8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x30 - strb r0, [r4, #0xe] - strb r1, [r4, #0xf] - ldrh r0, [r4, #0x36] - subs r0, #4 - strh r0, [r4, #0x36] - movs r0, #0x15 - bl sub_0807CC30 - cmp r0, #0 - bne _080A84F0 - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x68 - strb r0, [r1] -_080A84F0: - ldr r0, _080A8500 @ =0x0000018D - bl sub_08004488 - adds r0, r4, #0 - movs r1, #0x18 - bl sub_08004260 - pop {r4, pc} - .align 2, 0 -_080A8500: .4byte 0x0000018D - - thumb_func_start sub_080A8504 -sub_080A8504: @ 0x080A8504 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - cmp r0, #0 - beq _080A853C - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080A8524 - bl sub_0805E780 -_080A8524: - adds r0, r4, #0 - bl sub_08016AD2 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A8558 - movs r0, #4 - strb r0, [r4, #0xc] - b _080A8558 -_080A853C: - ldrh r1, [r4, #0x2a] - adds r0, r4, #0 - bl sub_0800417E - adds r0, r4, #0 - bl sub_08016AD2 - adds r0, r4, #0 - movs r1, #0x19 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080A86A0 -_080A8558: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080A85B6 - ldr r5, [r4, #0x50] - ldr r0, [r5, #4] - cmp r0, #0 - beq _080A85B6 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080177A0 - cmp r0, #0 - beq _080A85B6 - adds r0, r4, #0 - adds r0, #0x3d - movs r3, #0 - movs r2, #0x10 - strb r2, [r0] - ldrb r0, [r4, #0x15] - rsbs r0, r0, #0 - adds r1, r4, #0 - adds r1, #0x3e - strb r0, [r1] - adds r1, #3 - movs r0, #0x80 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x42 - movs r1, #0xc - strb r1, [r0] - adds r0, #4 - strh r3, [r0] - adds r0, r5, #0 - adds r0, #0x3d - strb r2, [r0] - ldrb r0, [r4, #0x15] - adds r2, r5, #0 - adds r2, #0x3e - strb r0, [r2] - adds r2, #3 - movs r0, #0xc2 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x42 - strb r1, [r0] - adds r0, #4 - strh r3, [r0] -_080A85B6: - pop {r4, r5, pc} - - thumb_func_start sub_080A85B8 -sub_080A85B8: @ 0x080A85B8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - cmp r0, #0 - beq _080A85F2 - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080A85D8 - bl sub_0805E780 -_080A85D8: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A860E - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - b _080A860E -_080A85F2: - ldrh r1, [r4, #0x2a] - adds r0, r4, #0 - bl sub_0800417E - adds r0, r4, #0 - bl sub_08016AD2 - adds r0, r4, #0 - movs r1, #0x19 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080A86A0 -_080A860E: - pop {r4, pc} - - thumb_func_start sub_080A8610 -sub_080A8610: @ 0x080A8610 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A8628 - bl sub_0805E780 -_080A8628: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A862C -sub_080A862C: @ 0x080A862C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - beq _080A864E - cmp r0, #1 - beq _080A8654 - b _080A8662 -_080A864E: - bl sub_0805E780 - b _080A867E -_080A8654: - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - movs r0, #0x90 - lsls r0, r0, #1 - strh r0, [r4, #0x24] -_080A8662: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080A867E - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - movs r0, #1 - eors r1, r0 - subs r0, #5 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_080A867E: - pop {r4, pc} - - thumb_func_start sub_080A8680 -sub_080A8680: @ 0x080A8680 - push {lr} - movs r1, #2 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #3 - strb r1, [r0, #0xe] - movs r1, #1 - strb r1, [r0, #0xf] - movs r0, #0x8c - lsls r0, r0, #1 - bl sub_08004488 - pop {pc} - - thumb_func_start sub_080A86A0 -sub_080A86A0: @ 0x080A86A0 - push {lr} - movs r3, #0 - movs r1, #3 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - strh r3, [r0, #0x24] - movs r0, #0xc7 - lsls r0, r0, #1 - bl sub_08004488 - pop {pc} - - thumb_func_start sub_080A86BC -sub_080A86BC: @ 0x080A86BC - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A86D4 @ =gUnk_08129718 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A86D4: .4byte gUnk_08129718 - - thumb_func_start sub_080A86D8 -sub_080A86D8: @ 0x080A86D8 - push {lr} - ldr r2, _080A86EC @ =gUnk_0812972C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A86EC: .4byte gUnk_0812972C - - thumb_func_start sub_080A86F0 -sub_080A86F0: @ 0x080A86F0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x50] - cmp r1, #0 - bne _080A8700 - bl sub_0805E780 - b _080A876E -_080A8700: - adds r5, r1, #0 - adds r5, #0x83 - ldrb r1, [r5] - movs r3, #0x3f - adds r0, r3, #0 - ands r0, r1 - cmp r0, #3 - bne _080A8768 - ldr r0, _080A875C @ =gUnk_03003F80 - ldrb r0, [r0, #0xf] - cmp r0, #0 - beq _080A876E - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _080A8760 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - movs r6, #0x32 - ldrsh r1, [r4, r6] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - ldr r1, _080A8764 @ =gUnk_03001160 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_080002E0 - cmp r0, #0 - bne _080A876E - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _080A876E - ldrb r1, [r5] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5] - bl sub_0805E780 - b _080A876E - .align 2, 0 -_080A875C: .4byte gUnk_03003F80 -_080A8760: .4byte gUnk_03000BF0 -_080A8764: .4byte gUnk_03001160 -_080A8768: - adds r0, r4, #0 - bl sub_0805E7BC -_080A876E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080A8770 -sub_080A8770: @ 0x080A8770 - movs r1, #1 - strb r1, [r0, #0xc] - adds r3, r0, #0 - adds r3, #0x3c - ldrb r2, [r3] - movs r1, #0x10 - orrs r1, r2 - strb r1, [r3] - ldr r1, _080A8788 @ =gUnk_08129734 - str r1, [r0, #0x48] - bx lr - .align 2, 0 -_080A8788: .4byte gUnk_08129734 - - thumb_func_start sub_080A878C -sub_080A878C: @ 0x080A878C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x50] - cmp r4, #0 - bne _080A879A - bl sub_0805E780 -_080A879A: - ldr r0, [r4, #4] - cmp r0, #0 - bne _080A87A4 - bl sub_0805E780 -_080A87A4: - adds r0, r4, #0 - adds r0, #0x83 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #3 - beq _080A87B6 - bl sub_0805E780 -_080A87B6: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - ldrh r0, [r5, #0x36] - adds r0, #2 - strh r0, [r5, #0x36] - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A87C8 -sub_080A87C8: @ 0x080A87C8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A87E0 @ =gUnk_08129740 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A87E0: .4byte gUnk_08129740 - - thumb_func_start sub_080A87E4 -sub_080A87E4: @ 0x080A87E4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _080A8804 - ldr r0, [r4, #0x54] - cmp r0, #0 - bne _080A87F8 - bl sub_0805E780 -_080A87F8: - ldr r0, [r4, #0x54] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080A8804 - bl sub_0805E780 -_080A8804: - ldr r0, _080A8818 @ =gUnk_08129754 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080A8818: .4byte gUnk_08129754 - - thumb_func_start sub_080A881C -sub_080A881C: @ 0x080A881C - push {lr} - adds r1, r0, #0 - adds r2, r1, #0 - adds r2, #0x46 - movs r0, #0 - strh r0, [r2] - ldrb r2, [r1, #0xa] - cmp r2, #0 - bne _080A8854 - ldr r0, [r1, #0x50] - str r2, [r0, #0x54] - adds r0, r1, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _080A884A - ldr r0, _080A8850 @ =gUnk_03003F80 - movs r1, #0xf0 - strb r1, [r0, #0xf] - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 -_080A884A: - bl sub_0805E780 - b _080A8866 - .align 2, 0 -_080A8850: .4byte gUnk_03003F80 -_080A8854: - ldrb r0, [r1, #0xc] - cmp r0, #1 - bhi _080A8866 - movs r0, #2 - strb r0, [r1, #0xc] - ldr r0, [r1, #0x50] - adds r0, #0x83 - movs r1, #0xc0 - strb r1, [r0] -_080A8866: - pop {pc} - - thumb_func_start sub_080A8868 -sub_080A8868: @ 0x080A8868 - push {r4, lr} - adds r3, r0, #0 - movs r4, #0 - movs r0, #1 - strb r0, [r3, #0xc] - strb r4, [r3, #0xd] - ldrb r1, [r3, #0x18] - subs r0, #0x32 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r3, #0x18] - movs r0, #0x80 - lsls r0, r0, #8 - str r0, [r3, #0x20] - ldr r0, _080A88A4 @ =gUnk_08129764 - str r0, [r3, #0x48] - adds r2, r3, #0 - adds r2, #0x3c - ldrb r0, [r2] - orrs r1, r0 - strb r1, [r2] - ldrb r0, [r3, #0xa] - cmp r0, #1 - beq _080A88B8 - cmp r0, #1 - bgt _080A88A8 - cmp r0, #0 - beq _080A88AE - b _080A88C6 - .align 2, 0 -_080A88A4: .4byte gUnk_08129764 -_080A88A8: - cmp r0, #2 - beq _080A88BE - b _080A88C6 -_080A88AE: - adds r0, r3, #0 - movs r1, #0 - bl sub_08004260 - b _080A88C6 -_080A88B8: - strb r4, [r3, #0xe] - strb r4, [r3, #0xf] - b _080A88C6 -_080A88BE: - adds r0, r3, #0 - movs r1, #5 - bl sub_08004260 -_080A88C6: - pop {r4, pc} - - thumb_func_start sub_080A88C8 -sub_080A88C8: @ 0x080A88C8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r6, [r4, #0x50] - cmp r6, #0 - bne _080A88D6 - movs r0, #2 - strb r0, [r4, #0xc] -_080A88D6: - ldr r0, [r6, #4] - cmp r0, #0 - bne _080A88E0 - movs r0, #2 - strb r0, [r4, #0xc] -_080A88E0: - ldr r3, _080A88FC @ =0xFFFF0000 - adds r0, r6, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - ldrb r5, [r4, #0xa] - cmp r5, #1 - beq _080A890E - cmp r5, #1 - bgt _080A8900 - cmp r5, #0 - beq _080A8906 - b _080A8982 - .align 2, 0 -_080A88FC: .4byte 0xFFFF0000 -_080A8900: - cmp r5, #2 - beq _080A8962 - b _080A8982 -_080A8906: - ldrh r0, [r4, #0x36] - adds r0, #0x10 - strh r0, [r4, #0x36] - b _080A8982 -_080A890E: - ldrh r0, [r4, #0x36] - adds r0, #0xe - strh r0, [r4, #0x36] - ldr r0, [r4, #0x54] - bl sub_08078954 - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 - ldrb r0, [r4, #0xe] - adds r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xf - bls _080A8982 - ldr r2, [r4, #0x54] - ldrb r0, [r2, #0xe] - cmp r0, #0 - bne _080A8982 - movs r3, #2 - ands r1, r3 - cmp r1, #0 - beq _080A8946 - ldrb r0, [r2, #0xf] - adds r0, #1 - strb r0, [r2, #0xf] -_080A8946: - ldr r0, [r4, #0x54] - ldrb r1, [r0, #0xf] - cmp r1, #0x1f - bhi _080A8982 - movs r0, #3 - ands r0, r1 - cmp r0, #3 - bne _080A8982 - adds r1, r6, #0 - adds r1, #0x83 - movs r0, #0xc0 - strb r0, [r1] - strb r3, [r4, #0xc] - b _080A8982 -_080A8962: - ldrh r0, [r4, #0x36] - adds r0, #0xe - strh r0, [r4, #0x36] - ldr r1, _080A8984 @ =gUnk_03001160 - adds r0, r4, #0 - movs r2, #0xe - movs r3, #0xe - bl sub_080041A0 - cmp r0, #0 - beq _080A8982 - strb r5, [r4, #0xc] - adds r1, r6, #0 - adds r1, #0x83 - movs r0, #0xc0 - strb r0, [r1] -_080A8982: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A8984: .4byte gUnk_03001160 - - thumb_func_start sub_080A8988 -sub_080A8988: @ 0x080A8988 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - cmp r0, #1 - bne _080A89B4 - ldr r4, [r5, #0x54] - cmp r4, #0 - bne _080A899C - bl sub_0805E780 -_080A899C: - ldr r0, [r4, #4] - cmp r0, #0 - bne _080A89A6 - bl sub_0805E780 -_080A89A6: - adds r0, r4, #0 - bl sub_08078954 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 -_080A89B4: - movs r1, #0xa0 - lsls r1, r1, #6 - adds r0, r5, #0 - bl sub_080044EC - cmp r0, #1 - bne _080A8A44 - adds r0, r5, #0 - bl sub_080043E8 - cmp r0, #0 - beq _080A8A00 - cmp r0, #2 - beq _080A89E0 - cmp r0, #2 - bhi _080A89DA - cmp r0, #1 - beq _080A89E6 - b _080A89FC -_080A89DA: - cmp r0, #3 - beq _080A89F2 - b _080A89FC -_080A89E0: - adds r0, r5, #0 - movs r1, #0xb - b _080A89EA -_080A89E6: - adds r0, r5, #0 - movs r1, #0 -_080A89EA: - movs r2, #0 - bl sub_080A29AC - b _080A89FC -_080A89F2: - adds r0, r5, #0 - movs r1, #0xc - movs r2, #0 - bl sub_080A29AC -_080A89FC: - bl sub_0805E780 -_080A8A00: - ldrb r0, [r5, #0xa] - cmp r0, #1 - beq _080A8A3E - cmp r0, #1 - bgt _080A8A10 - cmp r0, #0 - beq _080A8A16 - b _080A8A44 -_080A8A10: - cmp r0, #2 - beq _080A8A2A - b _080A8A44 -_080A8A16: - adds r0, r5, #0 - movs r1, #1 - bl sub_08004260 - movs r0, #0x84 - bl sub_08004488 - movs r0, #3 - strb r0, [r5, #0xc] - b _080A8A44 -_080A8A2A: - adds r0, r5, #0 - movs r1, #5 - movs r2, #0x80 - bl sub_080A29AC - adds r4, r0, #0 - cmp r4, #0 - beq _080A8A3E - movs r0, #0 - str r0, [r4, #0x50] -_080A8A3E: - adds r0, r5, #0 - bl sub_0805E7BC -_080A8A44: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A8A48 -sub_080A8A48: @ 0x080A8A48 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A8A64 - adds r0, r4, #0 - bl sub_0805E7BC -_080A8A64: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A8A68 -sub_080A8A68: @ 0x080A8A68 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800279C - cmp r0, #0 - beq _080A8A78 - bl sub_0805E780 -_080A8A78: - ldr r0, _080A8A8C @ =gUnk_0812979C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080A8A8C: .4byte gUnk_0812979C - - thumb_func_start sub_080A8A90 -sub_080A8A90: @ 0x080A8A90 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _080A8AAA - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x15] - lsrs r1, r1, #3 - adds r0, r2, #0 - bl sub_08004260 - b _080A8AC2 -_080A8AAA: - movs r0, #2 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x15] - lsrs r1, r1, #3 - movs r0, #4 - orrs r1, r0 - adds r0, r2, #0 - bl sub_08004260 - ldr r0, _080A8AC4 @ =0x0000015F - bl sub_08004488 -_080A8AC2: - pop {pc} - .align 2, 0 -_080A8AC4: .4byte 0x0000015F - - thumb_func_start sub_080A8AC8 -sub_080A8AC8: @ 0x080A8AC8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - cmp r5, #0 - bne _080A8AD8 - bl sub_0805E7BC - b _080A8B34 -_080A8AD8: - ldr r0, [r5, #4] - cmp r0, #0 - bne _080A8AE6 - adds r0, r4, #0 - bl sub_0805E7BC - b _080A8B34 -_080A8AE6: - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _080A8B2E - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r0, [r5, #0x15] - adds r2, r0, #4 - movs r0, #0x18 - ands r2, r0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080A8B1A - movs r0, #0 - strb r2, [r4, #0x15] - lsrs r1, r2, #2 - strb r1, [r4, #0x14] - strb r0, [r4, #0xe] - lsrs r1, r2, #3 - adds r0, r4, #0 - bl sub_08004260 - b _080A8B2E -_080A8B1A: - lsrs r0, r2, #2 - ldrb r1, [r4, #0x14] - cmp r0, r1 - beq _080A8B2E - strb r2, [r4, #0x15] - strb r0, [r4, #0x14] - lsrs r1, r2, #3 - adds r0, r4, #0 - bl sub_08004260 -_080A8B2E: - adds r0, r4, #0 - bl sub_08004274 -_080A8B34: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A8B38 -sub_080A8B38: @ 0x080A8B38 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - adds r2, r0, #0 - cmp r2, #0 - beq _080A8B66 - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080A8B5E - adds r0, r4, #0 - bl sub_0805E7BC - b _080A8B74 -_080A8B5E: - adds r0, r4, #0 - bl sub_08016AD2 - b _080A8B74 -_080A8B66: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - strh r2, [r4, #0x24] -_080A8B74: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A8B78 -sub_080A8B78: @ 0x080A8B78 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A8B94 - adds r0, r4, #0 - bl sub_0805E7BC -_080A8B94: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A8B98 -sub_080A8B98: @ 0x080A8B98 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800279C - cmp r0, #0 - beq _080A8BA8 - bl sub_0805E780 -_080A8BA8: - ldr r0, _080A8BBC @ =gUnk_0812982C - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080A8BBC: .4byte gUnk_0812982C - - thumb_func_start sub_080A8BC0 -sub_080A8BC0: @ 0x080A8BC0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _080A8BDA - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x15] - lsrs r1, r1, #3 - adds r0, r2, #0 - bl sub_08004260 - b _080A8BF4 -_080A8BDA: - movs r0, #2 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x15] - lsrs r1, r1, #3 - movs r0, #4 - orrs r1, r0 - adds r0, r2, #0 - bl sub_08004260 - movs r0, #0xaf - lsls r0, r0, #1 - bl sub_08004488 -_080A8BF4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A8BF8 -sub_080A8BF8: @ 0x080A8BF8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - cmp r5, #0 - bne _080A8C08 - bl sub_0805E7BC - b _080A8C48 -_080A8C08: - ldr r0, [r5, #4] - cmp r0, #0 - bne _080A8C16 - adds r0, r4, #0 - bl sub_0805E7BC - b _080A8C48 -_080A8C16: - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _080A8C42 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080A8C42 - ldrb r0, [r5, #0x15] - movs r1, #0x18 - ands r1, r0 - movs r0, #0 - strb r1, [r4, #0x15] - strb r0, [r4, #0xe] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 -_080A8C42: - adds r0, r4, #0 - bl sub_08004274 -_080A8C48: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A8C4C -sub_080A8C4C: @ 0x080A8C4C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - adds r2, r0, #0 - cmp r2, #0 - beq _080A8C7A - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080A8C72 - adds r0, r4, #0 - bl sub_0805E7BC - b _080A8C88 -_080A8C72: - adds r0, r4, #0 - bl sub_08016AD2 - b _080A8C88 -_080A8C7A: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - strh r2, [r4, #0x24] -_080A8C88: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A8C8C -sub_080A8C8C: @ 0x080A8C8C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A8CA8 - adds r0, r4, #0 - bl sub_0805E7BC -_080A8CA8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A8CAC -sub_080A8CAC: @ 0x080A8CAC - push {r4, lr} - adds r4, r0, #0 - bl sub_0800279C - cmp r0, #0 - beq _080A8CBC - bl sub_0805E780 -_080A8CBC: - ldr r0, _080A8CD0 @ =gUnk_081298B8 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080A8CD0: .4byte gUnk_081298B8 - - thumb_func_start sub_080A8CD4 -sub_080A8CD4: @ 0x080A8CD4 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _080A8CEE - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x15] - lsrs r1, r1, #3 - adds r0, r2, #0 - bl sub_08004260 - b _080A8D08 -_080A8CEE: - movs r0, #2 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x15] - lsrs r1, r1, #3 - movs r0, #4 - orrs r1, r0 - adds r0, r2, #0 - bl sub_08004260 - movs r0, #0xb0 - lsls r0, r0, #1 - bl sub_08004488 -_080A8D08: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A8D0C -sub_080A8D0C: @ 0x080A8D0C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - cmp r5, #0 - bne _080A8D1C - bl sub_0805E7BC - b _080A8D5C -_080A8D1C: - ldr r0, [r5, #4] - cmp r0, #0 - bne _080A8D2A - adds r0, r4, #0 - bl sub_0805E7BC - b _080A8D5C -_080A8D2A: - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _080A8D56 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080A8D56 - ldrb r0, [r5, #0x15] - movs r1, #0x18 - ands r1, r0 - movs r0, #0 - strb r1, [r4, #0x15] - strb r0, [r4, #0xe] - lsrs r1, r1, #3 - adds r0, r4, #0 - bl sub_08004260 -_080A8D56: - adds r0, r4, #0 - bl sub_08004274 -_080A8D5C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080A8D60 -sub_080A8D60: @ 0x080A8D60 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - adds r2, r0, #0 - cmp r2, #0 - beq _080A8D8E - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080A8D86 - adds r0, r4, #0 - bl sub_0805E7BC - b _080A8D9C -_080A8D86: - adds r0, r4, #0 - bl sub_08016AD2 - b _080A8D9C -_080A8D8E: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - strh r2, [r4, #0x24] -_080A8D9C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A8DA0 -sub_080A8DA0: @ 0x080A8DA0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A8DBC - adds r0, r4, #0 - bl sub_0805E7BC -_080A8DBC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A8DC0 -sub_080A8DC0: @ 0x080A8DC0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A8DD8 @ =gUnk_08129954 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A8DD8: .4byte gUnk_08129954 - - thumb_func_start sub_080A8DDC -sub_080A8DDC: @ 0x080A8DDC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #3 - beq _080A8E12 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A8E12 - movs r2, #0x7f - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0x1e - beq _080A8E12 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - adds r0, r2, #0 - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #0x53 - bl sub_08004260 -_080A8E12: - ldr r0, _080A8E24 @ =gUnk_08129968 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080A8E24: .4byte gUnk_08129968 - - thumb_func_start sub_080A8E28 -sub_080A8E28: @ 0x080A8E28 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - ldr r0, _080A8E80 @ =0xFFFF0000 - str r0, [r5, #0x20] - ldrb r0, [r5, #0xa] - cmp r0, #3 - beq _080A8E6E - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FA24 - movs r1, #0x80 - lsls r1, r1, #5 - ldrb r2, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F5BC - ldr r0, [r5, #0x50] - ldr r2, [r5, #0x54] - ldr r1, [r0, #0x30] - ldr r0, [r2, #0x30] - subs r1, r1, r0 - str r1, [r5, #0x34] - ldr r0, [r5, #0x30] - subs r0, r0, r1 - str r0, [r5, #0x30] - adds r0, r5, #0 - movs r1, #0x51 - bl sub_08004260 - ldr r0, _080A8E84 @ =0x000001B5 - bl sub_080A3268 -_080A8E6E: - ldrb r4, [r5, #0xa] - cmp r4, #2 - beq _080A8EF2 - cmp r4, #2 - ble _080A8E88 - cmp r4, #3 - beq _080A8F02 - b _080A8FAE - .align 2, 0 -_080A8E80: .4byte 0xFFFF0000 -_080A8E84: .4byte 0x000001B5 -_080A8E88: - cmp r4, #0 - bge _080A8E8E - b _080A8FAE -_080A8E8E: - ldr r0, _080A8EC0 @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r5, #0 - bl sub_080041DC - adds r4, r0, #0 - ldrb r6, [r5, #0xa] - cmp r6, #1 - bne _080A8ECE - bl sub_08000E50 - adds r2, r0, #0 - ldr r0, _080A8EC4 @ =0x000001FF - ands r2, r0 - ldr r0, _080A8EC8 @ =gUnk_030010A0 - ldr r0, [r0] - ands r0, r6 - cmp r0, #0 - bne _080A8ECC - adds r4, r4, r2 - b _080A8ECE - .align 2, 0 -_080A8EC0: .4byte gUnk_03001160 -_080A8EC4: .4byte 0x000001FF -_080A8EC8: .4byte gUnk_030010A0 -_080A8ECC: - subs r4, r4, r2 -_080A8ECE: - cmp r4, #0x1f - bgt _080A8ED6 - movs r4, #0x20 - b _080A8EE0 -_080A8ED6: - movs r0, #0x80 - lsls r0, r0, #3 - cmp r4, r0 - ble _080A8EE0 - adds r4, r0, #0 -_080A8EE0: - lsls r1, r4, #8 - ldr r0, [r5, #0x34] - bl __divsi3 - lsls r0, r0, #0xd - str r0, [r5, #0x20] - movs r0, #0x1e - strb r0, [r5, #0xf] - b _080A8FAE -_080A8EF2: - ldr r0, [r5, #0x34] - movs r1, #0xc0 - lsls r1, r1, #9 - bl __divsi3 - lsls r0, r0, #0xc - str r0, [r5, #0x20] - b _080A8FAE -_080A8F02: - ldr r0, _080A8F64 @ =0xFF600000 - str r0, [r5, #0x34] - bl sub_08000E50 - ands r4, r0 - lsls r2, r4, #1 - ldr r1, _080A8F68 @ =gUnk_08129978 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r3, [r5, #0x2e] - adds r0, r0, r3 - strh r0, [r5, #0x2e] - adds r0, r2, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r5, #0x32] - adds r0, r0, r1 - strh r0, [r5, #0x32] - movs r0, #2 - ands r2, r0 - cmp r2, #0 - beq _080A8F74 - bl sub_08000E50 - ldr r2, _080A8F6C @ =gUnk_08129988 - movs r1, #0xf - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r2, [r5, #0x2e] - adds r0, r0, r2 - strh r0, [r5, #0x2e] - bl sub_08000E50 - ldr r2, _080A8F70 @ =gUnk_08129980 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r3, [r5, #0x32] - adds r0, r0, r3 - b _080A8F9E - .align 2, 0 -_080A8F64: .4byte 0xFF600000 -_080A8F68: .4byte gUnk_08129978 -_080A8F6C: .4byte gUnk_08129988 -_080A8F70: .4byte gUnk_08129980 -_080A8F74: - bl sub_08000E50 - ldr r2, _080A8FB0 @ =gUnk_08129980 - movs r1, #7 - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r1, [r5, #0x2e] - adds r0, r0, r1 - strh r0, [r5, #0x2e] - bl sub_08000E50 - ldr r2, _080A8FB4 @ =gUnk_08129988 - movs r1, #0xf - ands r1, r0 - adds r1, r1, r2 - movs r0, #0 - ldrsb r0, [r1, r0] - ldrh r2, [r5, #0x32] - adds r0, r0, r2 -_080A8F9E: - strh r0, [r5, #0x32] - adds r0, r5, #0 - bl sub_08004168 - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 -_080A8FAE: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A8FB0: .4byte gUnk_08129980 -_080A8FB4: .4byte gUnk_08129988 - - thumb_func_start sub_080A8FB8 -sub_080A8FB8: @ 0x080A8FB8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _080A8FE8 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080A9054 - adds r0, r4, #0 - movs r1, #7 - bl sub_08008790 - adds r0, r4, #0 - movs r1, #4 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 - b _080A9054 -_080A8FE8: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xa] - cmp r0, #2 - beq _080A901C - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080A901C - movs r0, #0x1e - strb r0, [r4, #0xf] - ldr r1, _080A9048 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_080A901C: - adds r0, r4, #0 - movs r1, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080A9054 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_080A90D8 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bne _080A904C - movs r0, #0xf - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x54 - bl sub_08004260 - b _080A9054 - .align 2, 0 -_080A9048: .4byte gUnk_03001160 -_080A904C: - adds r0, r4, #0 - movs r1, #0x52 - bl sub_08004260 -_080A9054: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A9058 -sub_080A9058: @ 0x080A9058 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bne _080A9098 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080A908A - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - movs r0, #3 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0x55 - bl sub_08004260 - b _080A90BA -_080A908A: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_080A90D8 - b _080A90BA -_080A9098: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A90BA - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #0x53 - bl sub_08004260 -_080A90BA: - pop {r4, pc} - - thumb_func_start sub_080A90BC -sub_080A90BC: @ 0x080A90BC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A90D4 - bl sub_0805E780 -_080A90D4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A90D8 -sub_080A90D8: @ 0x080A90D8 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - movs r0, #0x74 - adds r0, r0, r5 - mov ip, r0 - ldrh r3, [r0] - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r7, _080A9154 @ =gUnk_03000BF0 - ldrh r1, [r7, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r6, #0x3f - adds r2, r4, #0 - ands r2, r6 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldrh r1, [r7, #8] - subs r0, r0, r1 - asrs r1, r0, #4 - adds r0, r1, #0 - ands r0, r6 - lsls r0, r0, #6 - orrs r2, r0 - cmp r3, r2 - beq _080A9152 - movs r0, #0x3f - ands r4, r0 - ands r1, r0 - lsls r0, r1, #6 - orrs r4, r0 - mov r2, ip - strh r4, [r2] - adds r0, r5, #0 - bl sub_080002A0 - cmp r0, #0x13 - beq _080A9128 - cmp r0, #0x34 - bne _080A9152 -_080A9128: - movs r0, #0xd3 - lsls r0, r0, #2 - movs r3, #0x2e - ldrsh r1, [r5, r3] - ldrh r2, [r7, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - movs r3, #0x32 - ldrsh r2, [r5, r3] - ldrh r3, [r7, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B7D8 -_080A9152: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A9154: .4byte gUnk_03000BF0 - - thumb_func_start sub_080A9158 -sub_080A9158: @ 0x080A9158 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _080A9166 - movs r0, #1 - strb r0, [r5, #0xc] -_080A9166: - ldr r4, [r5, #0x50] - cmp r4, #0 - beq _080A917C - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _080A917C - ldr r0, [r4, #4] - cmp r0, #0 - bne _080A91A4 -_080A917C: - adds r0, r5, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A9198 - ldr r1, [r5, #0x4c] - ldr r0, _080A91A0 @ =gUnk_03001160 - cmp r1, r0 - bne _080A9198 - adds r0, r5, #0 - bl sub_0803C0AC -_080A9198: - adds r0, r5, #0 - bl sub_0805E7BC - b _080A91D8 - .align 2, 0 -_080A91A0: .4byte gUnk_03001160 -_080A91A4: - ldr r1, _080A91DC @ =gUnk_08129998 - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r5, #0x48] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _080A91D8 - adds r1, r5, #0 - adds r1, #0x3d - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - bne _080A91D8 - movs r0, #0xff - strb r0, [r1] -_080A91D8: - pop {r4, r5, pc} - .align 2, 0 -_080A91DC: .4byte gUnk_08129998 - - thumb_func_start sub_080A91E0 -sub_080A91E0: @ 0x080A91E0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080A9288 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080A9204 - movs r0, #1 - strb r0, [r4, #0xc] - bl sub_08000E50 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_080A9204: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _080A921C - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _080A9218 - movs r0, #0xff - strb r0, [r1, #0xa] -_080A9218: - bl sub_0805E780 -_080A921C: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080A9230 - subs r0, #1 - strb r0, [r4, #0xf] - b _080A92F6 -_080A9230: - adds r0, r4, #0 - bl sub_080644C8 - cmp r0, #0 - beq _080A92F6 - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _080A92F6 - movs r0, #0xc - bl sub_080A7EE0 - adds r5, r0, #0 - cmp r5, #0 - beq _080A92F6 - movs r0, #1 - strb r0, [r5, #0xa] - ldr r0, [r4, #0x50] - adds r0, #0x3e - ldrb r1, [r0] - ldr r3, _080A9284 @ =gUnk_081299C8 - ldrb r0, [r4, #0xe] - lsrs r0, r0, #2 - movs r2, #7 - ands r0, r2 - adds r0, r0, r3 - lsls r1, r1, #3 - ldrb r0, [r0] - adds r1, r1, r0 - movs r0, #0x1f - ands r1, r0 - strb r1, [r5, #0x15] - ldr r0, [r4, #0x50] - str r0, [r5, #0x50] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - b _080A92F6 - .align 2, 0 -_080A9284: .4byte gUnk_081299C8 -_080A9288: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080A92B0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x12 - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x16 - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #0x80 - lsls r0, r0, #4 - strh r0, [r4, #0x24] - ldr r0, _080A92F8 @ =gUnk_080FD1E4 - str r0, [r4, #0x48] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_080A92B0: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _080A92C8 - ldr r1, [r4, #0x50] - cmp r1, #0 - beq _080A92C4 - movs r0, #0xff - strb r0, [r1, #0xa] -_080A92C4: - bl sub_0805E780 -_080A92C8: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A92D8 - bl sub_0805E780 -_080A92D8: - adds r0, r4, #0 - bl sub_0806F69C - ldr r0, _080A92FC @ =gUnk_02027EB4 - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r3, #0x32 - ldrsh r2, [r4, r3] - movs r3, #2 - bl sub_080AE4CC - cmp r0, #0 - beq _080A92F6 - bl sub_0805E780 -_080A92F6: - pop {r4, r5, pc} - .align 2, 0 -_080A92F8: .4byte gUnk_080FD1E4 -_080A92FC: .4byte gUnk_02027EB4 - - thumb_func_start sub_080A9300 -sub_080A9300: @ 0x080A9300 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A9318 @ =gUnk_081299D0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A9318: .4byte gUnk_081299D0 - - thumb_func_start sub_080A931C -sub_080A931C: @ 0x080A931C - push {lr} - ldr r2, _080A9330 @ =gUnk_081299E4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A9330: .4byte gUnk_081299E4 - - thumb_func_start sub_080A9334 -sub_080A9334: @ 0x080A9334 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A936C - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - beq _080A9368 - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - adds r0, r4, #0 - bl sub_080A9488 - adds r0, r4, #0 - adds r0, #0x42 - movs r1, #0 - strb r1, [r0] - subs r0, #5 - strb r1, [r0] - b _080A936C -_080A9368: - bl sub_0805E780 -_080A936C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A9370 -sub_080A9370: @ 0x080A9370 - push {r4, lr} - movs r4, #0 - movs r3, #1 - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r2, [r0, #0x18] - subs r1, #5 - ands r1, r2 - orrs r1, r3 - strb r1, [r0, #0x18] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - movs r1, #0x6a - strb r1, [r0, #0xe] - strb r4, [r0, #0xf] - movs r1, #0xa0 - lsls r1, r1, #4 - str r1, [r0, #0x20] - ldrb r1, [r0, #0xa] - bl sub_080A94C0 - pop {r4, pc} - - thumb_func_start sub_080A93A0 -sub_080A93A0: @ 0x080A93A0 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - cmp r5, #0 - beq _080A93B0 - ldr r0, [r5, #4] - cmp r0, #0 - bne _080A93B4 -_080A93B0: - bl sub_0805E780 -_080A93B4: - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080A93BE - bl sub_0805E780 -_080A93BE: - ldrb r0, [r5, #0xf] - cmp r0, #0 - beq _080A93DA - movs r2, #0 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - str r2, [r5, #0x54] - movs r0, #0xfc - bl sub_080A3268 -_080A93DA: - pop {r4, r5, pc} - - thumb_func_start sub_080A93DC -sub_080A93DC: @ 0x080A93DC - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _080A9414 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x20 - strb r0, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r1, #2 - adds r0, r4, #0 - bl sub_08004260 - movs r0, #0xc5 - lsls r0, r0, #1 - bl sub_08004488 - adds r0, r4, #0 - bl sub_0806F69C - b _080A9424 -_080A9414: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A9424 - bl sub_0805E780 -_080A9424: - adds r0, r4, #0 - bl sub_080AF090 - pop {r4, pc} - - thumb_func_start sub_080A942C -sub_080A942C: @ 0x080A942C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A9440 - bl sub_0805E780 -_080A9440: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_080A9448 -sub_080A9448: @ 0x080A9448 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xa0 - lsls r1, r1, #6 - bl sub_08003FC4 - cmp r0, #0 - bne _080A9464 - adds r0, r4, #0 - bl sub_080A29BC - bl sub_0805E780 - b _080A9486 -_080A9464: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A9486 - movs r0, #2 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x14] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080A94C0 -_080A9486: - pop {r4, pc} - - thumb_func_start sub_080A9488 -sub_080A9488: @ 0x080A9488 - push {r4, lr} - adds r4, r0, #0 - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #2 - strb r0, [r4, #0xe] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r4, #0x20] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r1, [r0] - movs r0, #0x18 - ands r0, r1 - lsrs r0, r0, #3 - strb r0, [r4, #0x14] - movs r0, #0x74 - bl sub_08004488 - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl sub_080A94C0 - pop {r4, pc} - - thumb_func_start sub_080A94C0 -sub_080A94C0: @ 0x080A94C0 - push {r4, lr} - lsls r1, r1, #3 - ldr r2, _080A94FC @ =gUnk_081299F8 - adds r1, r1, r2 - ldrb r3, [r1] - movs r2, #1 - ands r3, r2 - lsls r3, r3, #6 - ldrb r4, [r0, #0x18] - movs r2, #0x41 - rsbs r2, r2, #0 - ands r2, r4 - orrs r2, r3 - strb r2, [r0, #0x18] - ldrb r3, [r1, #1] - lsls r3, r3, #7 - movs r4, #0x7f - ands r2, r4 - orrs r2, r3 - strb r2, [r0, #0x18] - ldrb r2, [r1, #2] - adds r3, r0, #0 - adds r3, #0x58 - strb r2, [r3] - ldr r1, [r1, #4] - str r1, [r0, #0x48] - ldrb r1, [r3] - bl sub_08004260 - pop {r4, pc} - .align 2, 0 -_080A94FC: .4byte gUnk_081299F8 - - thumb_func_start sub_080A9500 -sub_080A9500: @ 0x080A9500 - push {lr} - ldr r2, _080A9514 @ =gUnk_08129A64 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A9514: .4byte gUnk_08129A64 - - thumb_func_start sub_080A9518 -sub_080A9518: @ 0x080A9518 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0xa - strb r1, [r0, #0xe] - ldrh r1, [r0, #0x36] - subs r1, #2 - strh r1, [r0, #0x36] - ldrh r1, [r0, #0x32] - adds r1, #2 - strh r1, [r0, #0x32] - movs r1, #0 - bl sub_08004260 - ldr r0, _080A953C @ =0x00000149 - bl sub_080A3268 - pop {pc} - .align 2, 0 -_080A953C: .4byte 0x00000149 - - thumb_func_start sub_080A9540 -sub_080A9540: @ 0x080A9540 - push {r4, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xe] - subs r0, #1 - strb r0, [r3, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A9578 - movs r0, #2 - strb r0, [r3, #0xc] - ldrb r1, [r3, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r3, #0x10] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, #0x32] - adds r0, #6 - strh r0, [r3, #0x32] - adds r0, r3, #0 - movs r1, #1 - bl sub_08004260 - b _080A95B6 -_080A9578: - ldrh r1, [r3, #0x36] - movs r2, #0x36 - ldrsh r0, [r3, r2] - cmp r0, #0 - beq _080A9586 - adds r0, r1, #1 - strh r0, [r3, #0x36] -_080A9586: - ldrb r1, [r3, #0x15] - lsls r1, r1, #1 - ldr r0, _080A95B8 @ =gUnk_080C9160 - adds r1, r1, r0 - movs r4, #0 - ldrsh r2, [r1, r4] - movs r4, #0x24 - ldrsh r0, [r3, r4] - muls r2, r0, r2 - ldr r0, [r3, #0x2c] - adds r0, r0, r2 - str r0, [r3, #0x2c] - adds r1, #0x80 - movs r0, #0 - ldrsh r1, [r1, r0] - movs r2, #0x24 - ldrsh r0, [r3, r2] - muls r1, r0, r1 - ldr r0, [r3, #0x30] - subs r0, r0, r1 - str r0, [r3, #0x30] - adds r0, r3, #0 - bl sub_08004274 -_080A95B6: - pop {r4, pc} - .align 2, 0 -_080A95B8: .4byte gUnk_080C9160 - - thumb_func_start sub_080A95BC -sub_080A95BC: @ 0x080A95BC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A95D8 - adds r0, r4, #0 - bl sub_0805E7BC -_080A95D8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A95DC -sub_080A95DC: @ 0x080A95DC - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A95F4 @ =gUnk_08129ABC - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A95F4: .4byte gUnk_08129ABC - - thumb_func_start sub_080A95F8 -sub_080A95F8: @ 0x080A95F8 - push {lr} - ldr r2, _080A960C @ =gUnk_08129AD0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A960C: .4byte gUnk_08129AD0 - - thumb_func_start sub_080A9610 -sub_080A9610: @ 0x080A9610 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #1 - strb r5, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _080A9660 - cmp r0, #1 - bgt _080A9628 - cmp r0, #0 - beq _080A9632 - b _080A9756 -_080A9628: - cmp r0, #2 - beq _080A96D0 - cmp r0, #3 - beq _080A9718 - b _080A9756 -_080A9632: - movs r1, #0x90 - lsls r1, r1, #7 - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - movs r1, #0 - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - strb r1, [r4, #0xe] - ldrb r0, [r4, #0x15] - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x78 - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1] - adds r0, r4, #0 - movs r1, #0 - bl sub_080042AC - b _080A9756 -_080A9660: - ldrb r0, [r4, #0x19] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r2] - bl sub_08000E50 - ldr r2, _080A96C8 @ =0x000001FF - adds r1, r2, #0 - ands r0, r1 - adds r2, #1 - adds r1, r2, #0 - adds r0, r0, r1 - strh r0, [r4, #0x24] - bl sub_08000E50 - ldr r1, _080A96CC @ =0x00001FFF - ands r1, r0 - movs r0, #0xc0 - lsls r0, r0, #9 - adds r1, r1, r0 - str r1, [r4, #0x20] - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - subs r0, #4 - ldrb r1, [r4, #0x15] - subs r1, r1, r0 - strb r1, [r4, #0x15] - movs r0, #0x96 - lsls r0, r0, #2 - str r0, [r4, #0x78] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - adds r0, r4, #0 - movs r1, #4 - bl sub_08004260 - b _080A9756 - .align 2, 0 -_080A96C8: .4byte 0x000001FF -_080A96CC: .4byte 0x00001FFF -_080A96D0: - bl sub_08000E50 - ands r0, r5 - cmp r0, #0 - beq _080A96EA - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - strb r0, [r4, #0x15] - b _080A96F8 -_080A96EA: - bl sub_08000E50 - movs r1, #7 - ands r0, r1 - ldrb r1, [r4, #0x15] - subs r1, r1, r0 - strb r1, [r4, #0x15] -_080A96F8: - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - movs r0, #0x30 - strb r0, [r4, #0xe] - movs r1, #0xa0 - lsls r1, r1, #7 - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - adds r0, r4, #0 - movs r1, #5 - bl sub_08004260 - b _080A9756 -_080A9718: - ldr r0, _080A9760 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FA24 - ldr r0, _080A9764 @ =0xFF600000 - str r0, [r4, #0x34] - ldrh r0, [r4, #0x2e] - adds r0, #0x60 - strh r0, [r4, #0x2e] - ldrh r0, [r4, #0x32] - adds r0, #0x40 - strh r0, [r4, #0x32] - bl sub_08000E50 - movs r1, #0xc0 - bl __modsi3 - ldrh r1, [r4, #0x2e] - subs r1, r1, r0 - strh r1, [r4, #0x2e] - bl sub_08000E50 - movs r1, #0x7f - ands r1, r0 - ldrh r0, [r4, #0x32] - subs r0, r0, r1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_080A9756: - ldr r0, _080A9768 @ =0x000001B5 - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_080A9760: .4byte gUnk_03001160 -_080A9764: .4byte 0xFF600000 -_080A9768: .4byte 0x000001B5 - - thumb_func_start sub_080A976C -sub_080A976C: @ 0x080A976C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _080A9778 - b _080A9908 -_080A9778: - cmp r0, #1 - bgt _080A9782 - cmp r0, #0 - beq _080A9790 - b _080A99EE -_080A9782: - cmp r0, #2 - bne _080A9788 - b _080A99A0 -_080A9788: - cmp r0, #3 - bne _080A978E - b _080A99D2 -_080A978E: - b _080A99EE -_080A9790: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #2 - bne _080A979C - bl sub_0805E780 -_080A979C: - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080A97E0 - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A97E0 - movs r5, #0x7f - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _080A97C0 - adds r0, r4, #0 - bl sub_080A99F0 -_080A97C0: - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - lsls r0, r0, #3 - strb r0, [r4, #0x15] - movs r1, #0 - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - movs r0, #1 - strb r0, [r4, #0xb] - strb r1, [r4, #0xe] - ldrb r1, [r4, #0x10] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r4, #0x10] -_080A97E0: - ldr r1, [r4, #0x50] - adds r0, r4, #0 - movs r2, #0x40 - bl sub_0806FC80 - cmp r0, #0 - beq _080A9848 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080A9804 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - eors r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - b _080A9848 -_080A9804: - ldr r1, [r4, #0x50] - adds r1, #0x45 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - ldr r0, [r4, #0x50] - adds r0, #0x3d - movs r1, #0x1e - strb r1, [r0] - ldr r1, [r4, #0x50] - adds r0, r1, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - beq _080A983C - adds r1, #0x42 - movs r0, #0x18 - strb r0, [r1] - ldr r0, [r4, #0x50] - adds r0, #0x46 - movs r1, #0x80 - lsls r1, r1, #2 - strh r1, [r0] - ldr r1, [r4, #0x50] - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - adds r1, #0x3e - strb r0, [r1] -_080A983C: - ldr r0, _080A98B8 @ =0x00000127 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_080A99F0 -_080A9848: - adds r0, r4, #0 - bl sub_080042B8 - adds r5, r4, #0 - adds r5, #0x78 - ldrh r0, [r5] - subs r0, #1 - strh r0, [r5] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - movs r2, #0 - bl sub_080AE58C - ldrh r1, [r4, #0x2a] - movs r0, #0xee - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080A9882 - ldrb r0, [r4, #0x15] - rsbs r0, r0, #0 - strb r0, [r4, #0x15] -_080A9882: - ldrh r1, [r4, #0x2a] - movs r0, #0xee - ands r0, r1 - cmp r0, #0 - beq _080A989A - ldrb r0, [r4, #0x15] - rsbs r0, r0, #0 - movs r2, #0x80 - rsbs r2, r2, #0 - adds r1, r2, #0 - eors r0, r1 - strb r0, [r4, #0x15] -_080A989A: - ldrb r0, [r4, #0x15] - ldrb r1, [r4, #0xf] - cmp r0, r1 - bne _080A98A4 - b _080A99EE -_080A98A4: - movs r0, #0xb2 - lsls r0, r0, #1 - bl sub_080A3268 - ldrh r0, [r5] - cmp r0, #0 - bne _080A98BC - movs r0, #4 - b _080A98C0 - .align 2, 0 -_080A98B8: .4byte 0x00000127 -_080A98BC: - ldrb r0, [r4, #0xe] - adds r0, #1 -_080A98C0: - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - strb r0, [r4, #0xf] - ldrb r0, [r4, #0xe] - cmp r0, #1 - bhi _080A98CE - b _080A99EE -_080A98CE: - movs r5, #0 -_080A98D0: - adds r0, r4, #0 - movs r1, #0xf - movs r2, #1 - bl sub_0804A98C - adds r1, r0, #0 - str r1, [r4, #0x54] - cmp r1, #0 - beq _080A98FC - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - ldr r1, [r4, #0x54] - ldr r0, _080A9904 @ =gUnk_08129ADC - adds r0, r5, r0 - ldrb r0, [r0] - ldrb r2, [r4, #0x15] - adds r0, r0, r2 - strb r0, [r1, #0x15] - ldr r1, [r4, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 -_080A98FC: - adds r5, #1 - cmp r5, #2 - bls _080A98D0 - b _080A9998 - .align 2, 0 -_080A9904: .4byte gUnk_08129ADC -_080A9908: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #2 - bne _080A9916 - adds r0, r4, #0 - bl sub_080A99F0 -_080A9916: - adds r0, r4, #0 - bl sub_08004274 - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _080A9950 - ldrb r1, [r4, #0x15] - lsrs r1, r1, #3 - adds r0, r4, #0 - movs r2, #0 - bl sub_080AE58C - ldrh r0, [r4, #0x2a] - cmp r0, #0 - bne _080A994A - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - b _080A9950 -_080A994A: - adds r0, r4, #0 - bl sub_080A99F0 -_080A9950: - ldr r2, [r4, #0x78] - cmp r2, #0x1d - bhi _080A9978 - movs r0, #7 - ands r0, r2 - cmp r0, #0 - beq _080A996E - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x18] - b _080A9978 -_080A996E: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_080A9978: - subs r1, r2, #1 - str r1, [r4, #0x78] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bne _080A998A - adds r0, r4, #0 - bl sub_080A99F0 -_080A998A: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A99EE -_080A9998: - adds r0, r4, #0 - bl sub_080A99F0 - b _080A99EE -_080A99A0: - adds r0, r4, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _080A99C2 - movs r2, #0x24 - ldrsh r1, [r4, r2] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - b _080A99EE -_080A99C2: - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _080A99CC - movs r0, #1 - strb r0, [r1, #0xe] -_080A99CC: - bl sub_0805E780 - b _080A99EE -_080A99D2: - movs r1, #0xc0 - lsls r1, r1, #5 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080A99EE - adds r0, r4, #0 - movs r1, #4 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080A99EE: - pop {r4, r5, pc} - - thumb_func_start sub_080A99F0 -sub_080A99F0: @ 0x080A99F0 - push {lr} - movs r1, #4 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_080A9A00 -sub_080A9A00: @ 0x080A9A00 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A9A18 @ =gUnk_08129AE0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A9A18: .4byte gUnk_08129AE0 - - thumb_func_start sub_080A9A1C -sub_080A9A1C: @ 0x080A9A1C - push {lr} - ldr r2, _080A9A30 @ =gUnk_08129AF8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A9A30: .4byte gUnk_08129AF8 - - thumb_func_start sub_080A9A34 -sub_080A9A34: @ 0x080A9A34 - push {lr} - adds r2, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9d - bne _080A9A62 - movs r0, #3 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r2, #0x20] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] -_080A9A62: - pop {pc} - - thumb_func_start sub_080A9A64 -sub_080A9A64: @ 0x080A9A64 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #2 - bhi _080A9A7E - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - bne _080A9A7E - adds r0, r4, #0 - bl sub_080A9BA8 -_080A9A7E: - ldr r0, _080A9A90 @ =gUnk_08129B08 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080A9A90: .4byte gUnk_08129B08 - - thumb_func_start sub_080A9A94 -sub_080A9A94: @ 0x080A9A94 - movs r1, #2 - strb r1, [r0, #0xd] - ldr r1, _080A9AA0 @ =0x0000FFFE - strh r1, [r0, #0x36] - bx lr - .align 2, 0 -_080A9AA0: .4byte 0x0000FFFE - - thumb_func_start sub_080A9AA4 -sub_080A9AA4: @ 0x080A9AA4 - push {lr} - bl sub_0806F4E8 - pop {pc} - - thumb_func_start sub_080A9AAC -sub_080A9AAC: @ 0x080A9AAC - push {lr} - bl sub_0806F3E4 - pop {pc} - - thumb_func_start sub_080A9AB4 -sub_080A9AB4: @ 0x080A9AB4 - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - bx lr - .align 2, 0 - - thumb_func_start nullsub_128 -nullsub_128: @ 0x080A9AC0 - bx lr - .align 2, 0 - - thumb_func_start sub_080A9AC4 -sub_080A9AC4: @ 0x080A9AC4 - push {lr} - bl sub_080A9BA8 - pop {pc} - - thumb_func_start sub_080A9ACC -sub_080A9ACC: @ 0x080A9ACC - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xb] - cmp r0, #1 - beq _080A9AE0 - cmp r0, #2 - beq _080A9AEE - movs r0, #1 - strb r0, [r2, #0xc] - b _080A9B0A -_080A9AE0: - movs r0, #2 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - b _080A9B0A -_080A9AEE: - movs r0, #3 - strb r0, [r2, #0xc] - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r2, #0x20] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r3] -_080A9B0A: - movs r0, #2 - strb r0, [r2, #0x1c] - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _080A9B1E - adds r0, r2, #0 - movs r1, #5 - bl sub_08004260 - b _080A9B22 -_080A9B1E: - movs r0, #0 - strb r0, [r2, #0x1e] -_080A9B22: - pop {pc} - - thumb_func_start sub_080A9B24 -sub_080A9B24: @ 0x080A9B24 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080A9B36 - adds r0, r4, #0 - bl sub_080A9BA8 -_080A9B36: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #0xb - bne _080A9B46 - adds r0, r4, #0 - bl sub_080A9BD0 - b _080A9B50 -_080A9B46: - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - bl sub_080A9C34 -_080A9B50: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A9B54 -sub_080A9B54: @ 0x080A9B54 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080A9B66 - adds r0, r4, #0 - bl sub_080A9BA8 -_080A9B66: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #9 - bne _080A9B76 - adds r0, r4, #0 - bl sub_080A9C34 - b _080A9B7C -_080A9B76: - adds r0, r4, #0 - bl sub_080A9C50 -_080A9B7C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A9B80 -sub_080A9B80: @ 0x080A9B80 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _080A9B92 - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_080A9B92: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080A9BA6 - adds r0, r4, #0 - bl sub_080A9BA8 -_080A9BA6: - pop {r4, pc} - - thumb_func_start sub_080A9BA8 -sub_080A9BA8: @ 0x080A9BA8 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - cmp r0, #0 - bne _080A9BBE - adds r0, r1, #0 - movs r1, #5 - movs r2, #0 - bl sub_080A29AC - b _080A9BC8 -_080A9BBE: - adds r0, r1, #0 - movs r1, #0x3c - movs r2, #0 - bl sub_080A29AC -_080A9BC8: - bl sub_0805E780 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080A9BD0 -sub_080A9BD0: @ 0x080A9BD0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r1, [r5, #0x50] - ldrb r0, [r1, #0x14] - cmp r0, #1 - beq _080A9BF8 - cmp r0, #1 - bgt _080A9BE6 - cmp r0, #0 - beq _080A9BF0 - b _080A9C06 -_080A9BE6: - cmp r0, #2 - beq _080A9C00 - cmp r0, #3 - beq _080A9BF8 - b _080A9C06 -_080A9BF0: - ldrb r0, [r1, #0x1e] - adds r2, r0, #0 - subs r2, #0x39 - b _080A9C06 -_080A9BF8: - ldrb r0, [r1, #0x1e] - adds r2, r0, #0 - subs r2, #0x3d - b _080A9C06 -_080A9C00: - ldrb r0, [r1, #0x1e] - adds r2, r0, #0 - subs r2, #0x41 -_080A9C06: - ldrb r0, [r1, #0x14] - lsls r0, r0, #2 - adds r0, r2, r0 - lsls r4, r0, #1 - adds r4, r4, r0 - ldr r0, _080A9C30 @ =gUnk_08129B20 - adds r4, r4, r0 - movs r2, #0 - ldrsb r2, [r4, r2] - movs r3, #1 - ldrsb r3, [r4, r3] - adds r0, r1, #0 - adds r1, r5, #0 - bl sub_0806FA90 - movs r0, #2 - ldrsb r0, [r4, r0] - ldrh r1, [r5, #0x36] - adds r0, r0, r1 - strh r0, [r5, #0x36] - pop {r4, r5, pc} - .align 2, 0 -_080A9C30: .4byte gUnk_08129B20 - - thumb_func_start sub_080A9C34 -sub_080A9C34: @ 0x080A9C34 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r1, r4, #0 - movs r2, #0 - movs r3, #1 - bl sub_0806FA90 - adds r4, #0x63 - ldrb r0, [r4] - subs r0, #0xe - strb r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A9C50 -sub_080A9C50: @ 0x080A9C50 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r1, [r5, #0x50] - ldrb r0, [r1, #0x14] - cmp r0, #1 - beq _080A9C78 - cmp r0, #1 - bgt _080A9C66 - cmp r0, #0 - beq _080A9C70 - b _080A9C86 -_080A9C66: - cmp r0, #2 - beq _080A9C80 - cmp r0, #3 - beq _080A9C78 - b _080A9C86 -_080A9C70: - ldrb r0, [r1, #0x1e] - adds r4, r0, #0 - subs r4, #0x27 - b _080A9C86 -_080A9C78: - ldrb r0, [r1, #0x1e] - adds r4, r0, #0 - subs r4, #0x2d - b _080A9C86 -_080A9C80: - ldrb r0, [r1, #0x1e] - adds r4, r0, #0 - subs r4, #0x33 -_080A9C86: - adds r0, r1, #0 - adds r1, r5, #0 - movs r2, #0 - movs r3, #1 - bl sub_0806FA90 - adds r0, r5, #0 - adds r0, #0x63 - ldr r1, _080A9CA4 @ =gUnk_08129B50 - adds r1, r4, r1 - ldrb r1, [r1] - ldrb r2, [r0] - adds r1, r1, r2 - strb r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_080A9CA4: .4byte gUnk_08129B50 - - thumb_func_start sub_080A9CA8 -sub_080A9CA8: @ 0x080A9CA8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080A9CB8 - bl sub_0805E780 -_080A9CB8: - ldr r4, _080A9CD0 @ =gUnk_08129B58 - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A9CD0: .4byte gUnk_08129B58 - - thumb_func_start sub_080A9CD4 -sub_080A9CD4: @ 0x080A9CD4 - push {lr} - ldr r2, _080A9CE8 @ =gUnk_08129B70 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A9CE8: .4byte gUnk_08129B70 - - thumb_func_start nullsub_539 -nullsub_539: @ 0x080A9CEC - bx lr - .align 2, 0 - - thumb_func_start sub_080A9CF0 -sub_080A9CF0: @ 0x080A9CF0 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - bne _080A9D0A - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080A9D0A: - ldr r0, _080A9D1C @ =gUnk_08129B78 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080A9D1C: .4byte gUnk_08129B78 - - thumb_func_start sub_080A9D20 -sub_080A9D20: @ 0x080A9D20 - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start nullsub_540 -nullsub_540: @ 0x080A9D28 - bx lr - .align 2, 0 - - thumb_func_start sub_080A9D2C -sub_080A9D2C: @ 0x080A9D2C - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _080A9D64 - adds r0, r4, #0 - adds r0, #0x3f - ldrb r0, [r0] - cmp r0, #0xa6 - bne _080A9D56 - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - ldr r0, _080A9D68 @ =gUnk_03001160 - movs r1, #0x7a - bl sub_0800449C - bl sub_08079D84 -_080A9D56: - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080A9D64: - pop {r4, pc} - .align 2, 0 -_080A9D68: .4byte gUnk_03001160 - - thumb_func_start sub_080A9D6C -sub_080A9D6C: @ 0x080A9D6C - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - ldr r1, [r0, #0x50] - ldrb r1, [r1, #0x14] - strb r1, [r0, #0x14] - ldrb r1, [r0, #0x14] - bl sub_080042AC - pop {pc} - - thumb_func_start sub_080A9D80 -sub_080A9D80: @ 0x080A9D80 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r3, _080A9D9C @ =0xFFFF0000 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - ldr r0, _080A9DA0 @ =0x0000FFFE - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - .align 2, 0 -_080A9D9C: .4byte 0xFFFF0000 -_080A9DA0: .4byte 0x0000FFFE - - thumb_func_start sub_080A9DA4 -sub_080A9DA4: @ 0x080A9DA4 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080A9DBC @ =gUnk_08129BEC - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A9DBC: .4byte gUnk_08129BEC - - thumb_func_start sub_080A9DC0 -sub_080A9DC0: @ 0x080A9DC0 - push {lr} - ldr r2, _080A9DD4 @ =gUnk_08129C00 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A9DD4: .4byte gUnk_08129C00 - - thumb_func_start sub_080A9DD8 -sub_080A9DD8: @ 0x080A9DD8 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _080A9DEE - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x80 - bne _080A9DF2 -_080A9DEE: - bl sub_0805E780 -_080A9DF2: - adds r0, r4, #0 - bl sub_080A9DC0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A9DFC -sub_080A9DFC: @ 0x080A9DFC - push {lr} - movs r2, #1 - strb r2, [r0, #0xc] - movs r1, #0xb4 - strb r1, [r0, #0xe] - adds r1, r0, #0 - adds r1, #0x45 - strb r2, [r1] - movs r1, #0 - bl sub_08004260 - pop {pc} - - thumb_func_start sub_080A9E14 -sub_080A9E14: @ 0x080A9E14 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - bne _080A9E34 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A9E42 -_080A9E34: - adds r0, r4, #0 - movs r1, #0x4f - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080A9E42: - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080A9E50 - bl sub_0805E780 -_080A9E50: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A9E54 -sub_080A9E54: @ 0x080A9E54 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x54] - cmp r0, #0 - bne _080A9E60 - ldr r0, [r5, #0x50] -_080A9E60: - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - bne _080A9E78 - ldrb r1, [r5, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080A9E78 - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] -_080A9E78: - ldr r4, _080A9E90 @ =gUnk_08129C7C - adds r0, r5, #0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080A9E90: .4byte gUnk_08129C7C - - thumb_func_start sub_080A9E94 -sub_080A9E94: @ 0x080A9E94 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #2 - bhi _080A9EA4 - adds r0, r4, #0 - bl sub_080AA1D8 -_080A9EA4: - ldr r0, _080A9EB8 @ =gUnk_08129C90 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080A9EB8: .4byte gUnk_08129C90 - - thumb_func_start sub_080A9EBC -sub_080A9EBC: @ 0x080A9EBC - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A9F4E - ldrb r0, [r4, #0xc] - cmp r0, #3 - beq _080A9EF2 - cmp r0, #4 - bne _080A9F18 - movs r0, #0 - strb r0, [r4, #0xf] - subs r0, #2 - bl sub_080526A0 - adds r0, r4, #0 - bl sub_080AF090 - adds r0, r4, #0 - bl sub_080042B8 - adds r5, r4, #0 - adds r5, #0x42 - b _080A9F4A -_080A9EF2: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - adds r5, r4, #0 - adds r5, #0x42 - cmp r0, #0 - beq _080A9F4A - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #2 - strb r0, [r1] - movs r0, #0xff - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_080AA270 - movs r0, #0x20 - strb r0, [r4, #0xf] - b _080A9F4A -_080A9F18: - ldr r3, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x3d - ldrb r0, [r0] - adds r1, r3, #0 - adds r1, #0x3d - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - adds r1, #1 - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x42 - ldrb r1, [r2] - adds r0, r3, #0 - adds r0, #0x42 - strb r1, [r0] - ldrb r0, [r4, #0xc] - adds r5, r2, #0 - cmp r0, #1 - bne _080A9F4A - adds r0, r4, #0 - bl sub_080AA320 -_080A9F4A: - movs r0, #0 - strb r0, [r5] -_080A9F4E: - pop {r4, r5, pc} - - thumb_func_start sub_080A9F50 -sub_080A9F50: @ 0x080A9F50 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x80 - movs r2, #0 - strh r1, [r0] - movs r0, #0xff - strb r0, [r4, #0x14] - adds r0, r4, #0 - adds r0, #0x82 - strb r2, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r4, #0x50] - adds r0, r4, #0 - bl sub_0806FAD8 - adds r0, r4, #0 - bl sub_080AA270 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A9F90 -sub_080A9F90: @ 0x080A9F90 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x80 - ldrh r0, [r1] - cmp r0, #0 - beq _080A9FA4 - subs r0, #1 - strh r0, [r1] - b _080A9FC8 -_080A9FA4: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A9FB8 - adds r0, r4, #0 - bl sub_080AA270 - b _080A9FC8 -_080A9FB8: - adds r0, r4, #0 - bl sub_080AA2E0 - cmp r0, #0 - beq _080A9FC8 - adds r0, r4, #0 - bl sub_080AA320 -_080A9FC8: - adds r0, r4, #0 - bl sub_080042B8 - pop {r4, pc} - - thumb_func_start sub_080A9FD0 -sub_080A9FD0: @ 0x080A9FD0 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080042B8 - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _080A9FF2 - movs r0, #0xbf - ands r0, r1 - strb r0, [r2] - ldr r0, _080AA038 @ =0x0000015D - bl sub_08004488 -_080A9FF2: - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldr r2, _080AA03C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r5, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r4, r5, #0 - adds r4, #0x78 - strh r1, [r4] - ldrh r0, [r4] - adds r5, #0x38 - ldrb r1, [r5] - bl sub_080002B0 - movs r1, #0x80 - lsls r1, r1, #7 - cmp r0, r1 - bne _080AA034 - ldr r0, _080AA040 @ =0x00004005 - ldrh r1, [r4] - ldrb r2, [r5] - bl sub_0800015E -_080AA034: - pop {r4, r5, pc} - .align 2, 0 -_080AA038: .4byte 0x0000015D -_080AA03C: .4byte gUnk_03000BF0 -_080AA040: .4byte 0x00004005 - - thumb_func_start sub_080AA044 -sub_080AA044: @ 0x080AA044 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x54] - cmp r5, #0 - bne _080AA052 - bl sub_0805E780 -_080AA052: - ldr r0, [r5, #4] - cmp r0, #0 - bne _080AA05E - bl sub_0805E780 - b _080AA0A2 -_080AA05E: - ldrh r0, [r5, #0x12] - ldrb r1, [r5, #0x1e] - bl sub_080700C8 - adds r3, r0, #0 - ldrb r1, [r5, #0x14] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _080AA08C - movs r2, #0 - ldrsb r2, [r3, r2] - rsbs r2, r2, #0 - lsls r2, r2, #0x10 - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 - b _080AA0A2 -_080AA08C: - movs r2, #0 - ldrsb r2, [r3, r2] - lsls r2, r2, #0x10 - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - lsls r3, r3, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA48 -_080AA0A2: - adds r0, r5, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - bne _080AA108 - ldrb r0, [r4, #0xf] - cmp r0, #0 - beq _080AA0B8 - subs r0, #1 - strb r0, [r4, #0xf] - b _080AA108 -_080AA0B8: - adds r0, r4, #0 - bl sub_080042B8 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080AA108 - movs r0, #4 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #3 - strb r0, [r1] - movs r0, #0x40 - strb r0, [r4, #0xf] - ldrb r0, [r5, #0x14] - lsls r1, r0, #2 - strb r1, [r4, #0x15] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1a - strb r0, [r4, #0x14] - ldr r0, _080AA10C @ =gUnk_080FD150 - str r0, [r4, #0x48] - bl sub_08052660 - cmp r0, #0 - beq _080AA100 - ldrb r0, [r4, #0x1b] - movs r1, #0x3f - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r4, #0x1b] -_080AA100: - adds r0, r4, #0 - movs r1, #0 - bl sub_080AA3E0 -_080AA108: - pop {r4, r5, pc} - .align 2, 0 -_080AA10C: .4byte gUnk_080FD150 - - thumb_func_start sub_080AA110 -sub_080AA110: @ 0x080AA110 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - ldr r7, [r6, #0x54] - cmp r7, #0 - beq _080AA1B6 - ldr r0, [r7, #4] - cmp r0, #0 - bne _080AA128 - str r0, [r6, #0x54] -_080AA128: - ldrb r0, [r6, #0xf] - adds r5, r0, #0 - cmp r5, #0 - beq _080AA136 - subs r0, #1 - strb r0, [r6, #0xf] - b _080AA1C4 -_080AA136: - adds r0, r6, #0 - bl sub_080AA374 - cmp r0, #0 - beq _080AA1C4 - adds r0, r7, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080AA14E - bl sub_0805E780 -_080AA14E: - movs r0, #0xf2 - bl sub_08004488 - movs r4, #1 - strb r4, [r6, #0xc] - movs r0, #0xff - strb r0, [r6, #0x14] - adds r0, r6, #0 - adds r0, #0x82 - strb r5, [r0] - strb r5, [r6, #0xe] - subs r0, #2 - movs r1, #0 - mov sb, r1 - movs r1, #0x20 - mov r8, r1 - mov r1, r8 - strh r1, [r0] - ldrb r1, [r6, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r6, #0x1b] - ldr r0, [r6, #0x54] - str r0, [r6, #0x50] - str r5, [r6, #0x54] - adds r0, r6, #0 - bl sub_080AA270 - ldr r7, [r6, #0x50] - strb r4, [r7, #0xc] - ldrb r0, [r7, #0x14] - lsls r0, r0, #2 - strb r0, [r7, #0x15] - strh r5, [r7, #0x24] - adds r0, r7, #0 - adds r0, #0x82 - strb r4, [r0] - mov r0, sb - strb r0, [r7, #0xe] - movs r0, #0x78 - strb r0, [r7, #0xf] - adds r0, r7, #0 - adds r0, #0x80 - mov r1, r8 - strh r1, [r0] - adds r0, r7, #0 - movs r1, #1 - bl sub_080AA3E0 - b _080AA1C4 -_080AA1B6: - adds r0, r6, #0 - bl sub_080040A8 - cmp r0, #0 - bne _080AA1C4 - bl sub_0805E780 -_080AA1C4: - adds r0, r6, #0 - bl sub_0806F69C - adds r0, r6, #0 - bl sub_080042B8 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080AA1D8 -sub_080AA1D8: @ 0x080AA1D8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x50] - cmp r4, #0 - beq _080AA268 - ldr r0, [r4, #4] - cmp r0, #0 - bne _080AA1EC - bl sub_0805E780 -_080AA1EC: - ldrb r1, [r4, #0x1e] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - bne _080AA26C - ldrh r0, [r4, #0x12] - ldrb r1, [r4, #0x1e] - bl sub_080700C8 - adds r3, r0, #0 - ldrb r1, [r4, #0x14] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _080AA224 - movs r2, #0 - ldrsb r2, [r3, r2] - rsbs r2, r2, #0 - lsls r2, r2, #0x10 - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - lsls r3, r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA48 - b _080AA23A -_080AA224: - movs r2, #0 - ldrsb r2, [r3, r2] - lsls r2, r2, #0x10 - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - lsls r3, r3, #0x10 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA48 -_080AA23A: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _080AA256 - ldrb r1, [r5, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080AA26C - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - b _080AA26C -_080AA256: - ldrb r1, [r5, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AA26C - movs r0, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - b _080AA26C -_080AA268: - bl sub_0805E780 -_080AA26C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AA270 -sub_080AA270: @ 0x080AA270 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x50] - bl sub_08000E50 - ldr r1, _080AA2A4 @ =gUnk_08129CA4 - movs r6, #7 - ands r0, r6 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0xf] - ldrb r4, [r4, #0x14] - ldrb r0, [r5, #0x14] - cmp r0, #0xff - bne _080AA2AC - strb r4, [r5, #0x14] - ldr r0, _080AA2A8 @ =gUnk_08129CF4 - lsls r1, r4, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r5, #0x48] - adds r0, r5, #0 - movs r1, #0 - bl sub_080AA3E0 - b _080AA2D6 - .align 2, 0 -_080AA2A4: .4byte gUnk_08129CA4 -_080AA2A8: .4byte gUnk_08129CF4 -_080AA2AC: - bl sub_08000E50 - ldr r1, _080AA2D8 @ =gUnk_08129CAC - ands r0, r6 - adds r0, r0, r1 - ldrb r0, [r0] - adds r4, r0, r4 - ands r4, r6 - ldrb r0, [r5, #0x14] - cmp r4, r0 - beq _080AA2D6 - strb r4, [r5, #0x14] - ldr r0, _080AA2DC @ =gUnk_08129CF4 - lsls r1, r4, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r5, #0x48] - adds r0, r5, #0 - movs r1, #0 - bl sub_080AA3E0 -_080AA2D6: - pop {r4, r5, r6, pc} - .align 2, 0 -_080AA2D8: .4byte gUnk_08129CAC -_080AA2DC: .4byte gUnk_08129CF4 - - thumb_func_start sub_080AA2E0 -sub_080AA2E0: @ 0x080AA2E0 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0 - bl sub_08049DF4 - adds r4, r0, #0 - cmp r4, #0 - beq _080AA31C - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080045C4 - ldrb r1, [r5, #0x14] - lsls r1, r1, #2 - adds r0, #4 - movs r2, #0x1c - ands r0, r2 - adds r1, #4 - ands r1, r2 - cmp r0, r1 - bne _080AA31C - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x40 - bl sub_08049F1C - cmp r0, #0 - beq _080AA31C - movs r0, #1 - b _080AA31E -_080AA31C: - movs r0, #0 -_080AA31E: - pop {r4, r5, pc} - - thumb_func_start sub_080AA320 -sub_080AA320: @ 0x080AA320 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, [r5, #0x50] - movs r2, #0 - movs r1, #2 - strb r1, [r5, #0xc] - adds r3, r5, #0 - adds r3, #0x82 - movs r0, #1 - strb r0, [r3] - strb r2, [r5, #0xf] - strb r1, [r4, #0xc] - movs r0, #0x30 - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #0x50 - strh r0, [r1] - strh r2, [r4, #0x24] - adds r0, r4, #0 - movs r1, #0 - bl sub_08049F84 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - adds r0, #4 - movs r1, #0x1c - ands r0, r1 - lsrs r1, r0, #2 - strb r1, [r5, #0x14] - movs r1, #0x18 - ands r0, r1 - lsrs r0, r0, #2 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #1 - bl sub_080AA3E0 - adds r0, r5, #0 - bl sub_080AA1D8 - pop {r4, r5, pc} - - thumb_func_start sub_080AA374 -sub_080AA374: @ 0x080AA374 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - movs r0, #0 - mov r8, r0 - ldr r5, [r6, #0x54] - cmp r5, #0 - beq _080AA3D8 - ldr r0, [r5, #4] - cmp r0, #0 - beq _080AA3D8 - ldrb r4, [r5, #0x14] - ldr r0, _080AA3CC @ =gUnk_08129D14 - adds r4, r4, r0 - movs r2, #0 - ldrsb r2, [r4, r2] - movs r3, #1 - ldrsb r3, [r4, r3] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0806F824 - adds r7, r0, #0 - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0 - ldrsb r0, [r4, r0] - adds r1, r1, r0 - movs r0, #0x32 - ldrsh r2, [r5, r0] - movs r0, #1 - ldrsb r0, [r4, r0] - adds r2, r2, r0 - adds r0, r6, #0 - movs r3, #8 - bl sub_0806FCB8 - cmp r0, #0 - beq _080AA3D0 - movs r0, #1 - mov r8, r0 - b _080AA3D8 - .align 2, 0 -_080AA3CC: .4byte gUnk_08129D14 -_080AA3D0: - adds r0, r6, #0 - adds r1, r7, #0 - bl sub_08004596 -_080AA3D8: - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080AA3E0 -sub_080AA3E0: @ 0x080AA3E0 - push {lr} - adds r3, r0, #0 - ldrb r2, [r3, #0x14] - adds r0, #0x82 - ldrb r0, [r0] - lsls r0, r0, #3 - orrs r2, r0 - cmp r1, #0 - beq _080AA3F4 - lsrs r2, r2, #1 -_080AA3F4: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_080042AC - pop {pc} - .align 2, 0 - - thumb_func_start sub_080AA400 -sub_080AA400: @ 0x080AA400 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080AA418 @ =gUnk_08129FB8 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080AA418: .4byte gUnk_08129FB8 - - thumb_func_start sub_080AA41C -sub_080AA41C: @ 0x080AA41C - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _080AA44C - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0xa] - strb r1, [r2, #0x1e] - strb r0, [r2, #0x1c] - adds r0, r2, #0 - adds r0, #0x86 - ldrh r0, [r0] - strh r0, [r2, #0x24] - lsls r1, r1, #0x18 - cmp r1, #0 - bne _080AA446 - adds r0, r2, #0 - bl sub_080AA494 - b _080AA44C -_080AA446: - adds r0, r2, #0 - bl sub_080AA534 -_080AA44C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080AA450 -sub_080AA450: @ 0x080AA450 - push {lr} - adds r1, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x96 - bne _080AA462 - adds r0, r1, #0 - bl sub_080AA464 -_080AA462: - pop {pc} - - thumb_func_start sub_080AA464 -sub_080AA464: @ 0x080AA464 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080AA474 - adds r0, r4, #0 - bl sub_080AA544 -_080AA474: - movs r0, #0x21 - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _080AA48A - adds r0, r4, #0 - bl sub_0806FA24 -_080AA48A: - adds r0, r4, #0 - bl sub_0805E7BC - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AA494 -sub_080AA494: @ 0x080AA494 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r4, #0 - bl sub_080002A0 - adds r2, r0, #0 - ldr r1, _080AA4A4 @ =gUnk_08129FD0 - b _080AA4AA - .align 2, 0 -_080AA4A4: .4byte gUnk_08129FD0 -_080AA4A8: - adds r4, #1 -_080AA4AA: - ldrh r0, [r1] - cmp r0, #0 - beq _080AA4B6 - adds r1, #2 - cmp r0, r2 - bne _080AA4A8 -_080AA4B6: - ldrh r0, [r5, #0x24] - bl sub_0807CBE4 - cmp r0, #0 - beq _080AA4EE - cmp r4, #4 - bne _080AA4EA - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldr r2, _080AA52C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r6, #0x32 - ldrsh r0, [r5, r6] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - bl sub_080AA654 -_080AA4EA: - bl sub_0805E780 -_080AA4EE: - strb r4, [r5, #0xb] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080AA530 @ =0x00004068 - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080AA52C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_080AA52C: .4byte gUnk_03000BF0 -_080AA530: .4byte 0x00004068 - - thumb_func_start sub_080AA534 -sub_080AA534: @ 0x080AA534 - push {lr} - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #3 - strb r1, [r2] - bl sub_08016A04 - pop {pc} - - thumb_func_start sub_080AA544 -sub_080AA544: @ 0x080AA544 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - ldrb r0, [r6, #0xb] - cmp r0, #8 - bhi _080AA618 - ldr r0, _080AA5E8 @ =gUnk_08129FF8 - mov sb, r0 - movs r1, #0x2e - ldrsh r2, [r6, r1] - ldr r1, _080AA5EC @ =gUnk_03000BF0 - ldrh r0, [r1, #6] - subs r2, r2, r0 - asrs r2, r2, #4 - movs r3, #0x3f - ands r2, r3 - movs r4, #0x32 - ldrsh r0, [r6, r4] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r2, r0 - ldrb r0, [r6, #0xb] - add r0, sb - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r7, r2, r0 - movs r4, #0 - movs r5, #0 - movs r0, #0x38 - adds r0, r0, r6 - mov r8, r0 -_080AA58E: - mov r1, sb - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - subs r0, r7, r0 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r2, r8 - ldrb r1, [r2] - bl sub_080002C8 - cmp r0, #0x3e - bne _080AA5AC - adds r5, #1 -_080AA5AC: - adds r4, #1 - cmp r4, #8 - bls _080AA58E - cmp r5, #8 - bne _080AA5F4 - movs r4, #0 - ldr r5, _080AA5F0 @ =gUnk_08129FD0 -_080AA5BA: - ldrh r0, [r5] - mov r3, sb - adds r1, r3, r4 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - subs r1, r7, r1 - mov r3, r8 - ldrb r2, [r3] - bl sub_0807B7D8 - adds r5, #2 - adds r4, #1 - cmp r4, #8 - bls _080AA5BA - adds r0, r6, #0 - adds r1, r7, #0 - bl sub_080AA654 - ldrh r0, [r6, #0x24] - bl sub_0807CCC8 - b _080AA648 - .align 2, 0 -_080AA5E8: .4byte gUnk_08129FF8 -_080AA5EC: .4byte gUnk_03000BF0 -_080AA5F0: .4byte gUnk_08129FD0 -_080AA5F4: - ldr r2, _080AA614 @ =gUnk_08129FE4 - ldrb r1, [r6, #0xb] - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r0, [r0] - add r1, sb - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - subs r1, r7, r1 - mov r4, r8 - ldrb r2, [r4] - bl sub_0807B7D8 - b _080AA648 - .align 2, 0 -_080AA614: .4byte gUnk_08129FE4 -_080AA618: - movs r1, #0x2e - ldrsh r0, [r6, r1] - ldr r2, _080AA650 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r4, #0x32 - ldrsh r1, [r6, r4] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r6, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - ldrh r0, [r6, #0x24] - bl sub_0807CCC8 -_080AA648: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080AA650: .4byte gUnk_03000BF0 - - thumb_func_start sub_080AA654 -sub_080AA654: @ 0x080AA654 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r4, #0x68 - ldr r0, _080AA688 @ =gUnk_0812A004 - adds r1, r4, #0 - movs r2, #0x10 - bl sub_0801D66C - movs r1, #0x3f - adds r0, r5, #0 - ands r0, r1 - lsls r0, r0, #4 - adds r0, #8 - strh r0, [r4, #8] - movs r0, #0xfc - lsls r0, r0, #4 - ands r0, r5 - lsrs r0, r0, #2 - adds r0, #8 - strh r0, [r4, #0xa] - adds r0, r4, #0 - bl sub_0804ADF8 - pop {r4, r5, pc} - .align 2, 0 -_080AA688: .4byte gUnk_0812A004 - - thumb_func_start sub_080AA68C -sub_080AA68C: @ 0x080AA68C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080AA6A4 @ =gUnk_0812A014 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080AA6A4: .4byte gUnk_0812A014 - - thumb_func_start sub_080AA6A8 -sub_080AA6A8: @ 0x080AA6A8 - push {lr} - ldr r2, _080AA6BC @ =gUnk_0812A02C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080AA6BC: .4byte gUnk_0812A02C - - thumb_func_start sub_080AA6C0 -sub_080AA6C0: @ 0x080AA6C0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x87 - bne _080AA774 - movs r6, #3 - movs r0, #3 - strb r0, [r4, #0xc] - movs r5, #0x5a - strb r5, [r4, #0xe] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r1, [r4, #0xa] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_080042AC - movs r0, #0x2a - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _080AA72A - strb r5, [r3, #0xb] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - ldr r1, _080AA770 @ =gUnk_0812A03C - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0] - adds r2, #0x39 - strb r0, [r2] - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - adds r1, r3, #0 - adds r1, #0x63 - strb r0, [r1] - str r4, [r3, #0x50] -_080AA72A: - movs r0, #0x2a - movs r1, #3 - movs r2, #0 - bl sub_080A2960 - adds r3, r0, #0 - cmp r3, #0 - beq _080AA784 - strb r5, [r3, #0xb] - adds r2, r3, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - ldr r1, _080AA770 @ =gUnk_0812A03C - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, #2 - adds r0, r0, r1 - ldrb r0, [r0] - adds r2, #0x39 - strb r0, [r2] - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, #3 - adds r0, r0, r1 - ldrb r0, [r0] - adds r1, r3, #0 - adds r1, #0x63 - strb r0, [r1] - str r4, [r3, #0x50] - b _080AA784 - .align 2, 0 -_080AA770: .4byte gUnk_0812A03C -_080AA774: - ldrb r1, [r4, #0xa] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_080042AC - ldr r0, _080AA788 @ =0x00000101 - bl sub_08004488 -_080AA784: - pop {r4, r5, r6, pc} - .align 2, 0 -_080AA788: .4byte 0x00000101 - - thumb_func_start sub_080AA78C -sub_080AA78C: @ 0x080AA78C - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #0 - bne _080AA7DA - ldr r0, _080AA7C8 @ =gUnk_03001160 - ldrb r0, [r0, #0x14] - lsrs r2, r0, #1 - ldrb r0, [r4, #0xa] - cmp r2, r0 - beq _080AA7CC - adds r3, r4, #0 - adds r3, #0x3a - ldrb r0, [r3] - movs r1, #0xfb - ands r1, r0 - strb r1, [r3] - movs r0, #2 - eors r2, r0 - ldrb r0, [r4, #0xa] - cmp r2, r0 - bne _080AA832 - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xe2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_080AA6C0 - b _080AA832 - .align 2, 0 -_080AA7C8: .4byte gUnk_03001160 -_080AA7CC: - movs r0, #1 - strb r0, [r4, #0xd] - adds r1, r2, #0 - adds r1, #8 - adds r0, r4, #0 - bl sub_080042AC -_080AA7DA: - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _080AA812 - adds r0, r4, #0 - bl sub_080042B8 - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _080AA806 - movs r0, #0xef - ands r0, r1 - strb r0, [r5] - movs r0, #0x80 - lsls r0, r0, #1 - bl sub_08004488 -_080AA806: - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080AA832 - b _080AA820 -_080AA812: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080AA828 -_080AA820: - adds r0, r4, #0 - bl sub_080AAAA8 - b _080AA832 -_080AA828: - ldrb r1, [r4, #0xa] - adds r1, #0x10 - adds r0, r4, #0 - bl sub_080042AC -_080AA832: - pop {r4, r5, pc} - - thumb_func_start sub_080AA834 -sub_080AA834: @ 0x080AA834 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CBE4 - cmp r0, #0 - beq _080AA848 - bl sub_0805E780 -_080AA848: - movs r2, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r0, [r4, #0x1c] - strb r0, [r4, #0x16] - ldr r1, _080AA874 @ =gUnk_0812A04C - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r4, #0x48] - adds r0, r4, #0 - adds r0, #0x84 - strb r2, [r0] - ldrb r1, [r4, #0xa] - adds r0, r4, #0 - bl sub_080042AC - adds r0, r4, #0 - bl sub_080AAA68 - pop {r4, pc} - .align 2, 0 -_080AA874: .4byte gUnk_0812A04C - - thumb_func_start sub_080AA878 -sub_080AA878: @ 0x080AA878 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AA88E - adds r0, r4, #0 - bl sub_080042B8 -_080AA88E: - adds r0, r4, #0 - bl sub_080AA9E0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AA898 -sub_080AA898: @ 0x080AA898 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806FBB4 - ldr r1, _080AA8B4 @ =gUnk_0812A05C - ldrb r0, [r4, #0xd] - subs r0, #5 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080AA8B4: .4byte gUnk_0812A05C - - thumb_func_start sub_080AA8B8 -sub_080AA8B8: @ 0x080AA8B8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r7, _080AA99C @ =gUnk_03001160 - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #0 - bne _080AA920 - ldrb r0, [r4, #0xa] - lsls r2, r0, #1 - ldrb r0, [r7, #0x14] - cmp r2, r0 - bne _080AA90A - ldr r1, _080AA9A0 @ =gUnk_0812A064 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r3, [r4, #0x2e] - adds r0, r0, r3 - lsls r0, r0, #0x10 - lsrs r6, r0, #0x10 - adds r0, r2, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - lsls r0, r0, #0x10 - lsrs r5, r0, #0x10 - adds r0, r7, #0 - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_080002D4 - cmp r0, #0 - bne _080AA90A - strh r6, [r7, #0x2e] - strh r5, [r7, #0x32] -_080AA90A: - adds r1, r4, #0 - adds r1, #0x84 - movs r0, #1 - strb r0, [r1] - movs r0, #2 - strb r0, [r4, #0xf] - ldrb r1, [r4, #0xa] - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC -_080AA920: - ldrb r0, [r7, #0x14] - lsrs r0, r0, #1 - ldrb r2, [r4, #0xa] - cmp r0, r2 - bne _080AA99A - ldr r1, _080AA9A4 @ =gUnk_03003F80 - adds r0, r1, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x1a - bne _080AA99A - ldrb r1, [r1, #5] - movs r2, #2 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080AA99A - ldr r0, _080AA99C @ =gUnk_03001160 - adds r0, #0x5a - ldrb r1, [r0] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080AA99A - adds r5, r4, #0 - adds r5, #0x5a - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AA99A - adds r0, r4, #0 - bl sub_080042B8 - ldrb r1, [r5] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080AA99A - ldr r1, _080AA9A8 @ =gUnk_0812A06C - ldrb r0, [r7, #0x14] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r3, [r7, #0x2e] - adds r0, r0, r3 - strh r0, [r7, #0x2e] - ldrb r0, [r7, #0x14] - adds r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r7, #0x32] - adds r0, r0, r1 - strh r0, [r7, #0x32] - movs r0, #0x80 - lsls r0, r0, #1 - bl sub_08004488 -_080AA99A: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080AA99C: .4byte gUnk_03001160 -_080AA9A0: .4byte gUnk_0812A064 -_080AA9A4: .4byte gUnk_03003F80 -_080AA9A8: .4byte gUnk_0812A06C - - thumb_func_start sub_080AA9AC -sub_080AA9AC: @ 0x080AA9AC - push {lr} - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - adds r1, r0, #0 - adds r1, #0x84 - strb r2, [r1] - ldrb r1, [r0, #0xa] - adds r1, #0xc - bl sub_080042AC - pop {pc} - - thumb_func_start sub_080AA9C4 -sub_080AA9C4: @ 0x080AA9C4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080AA9DE - adds r0, r4, #0 - bl sub_080AAAA8 -_080AA9DE: - pop {r4, pc} - - thumb_func_start sub_080AA9E0 -sub_080AA9E0: @ 0x080AA9E0 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xa] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080AAA00 - ldr r0, _080AA9FC @ =gUnk_03001160 - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r2, #0x2e - ldrsh r0, [r5, r2] - b _080AAA0A - .align 2, 0 -_080AA9FC: .4byte gUnk_03001160 -_080AAA00: - ldr r0, _080AAA24 @ =gUnk_03001160 - movs r2, #0x32 - ldrsh r1, [r0, r2] - movs r2, #0x32 - ldrsh r0, [r5, r2] -_080AAA0A: - subs r4, r1, r0 - ldrb r2, [r5, #0xa] - lsls r1, r2, #2 - ldr r0, _080AAA28 @ =gUnk_0812A074 - adds r3, r1, r0 - cmp r2, #2 - bgt _080AAA2C - cmp r2, #1 - bge _080AAA36 - cmp r2, #0 - beq _080AAA30 - b _080AAA40 - .align 2, 0 -_080AAA24: .4byte gUnk_03001160 -_080AAA28: .4byte gUnk_0812A074 -_080AAA2C: - cmp r2, #3 - bne _080AAA40 -_080AAA30: - cmp r4, #4 - ble _080AAA40 - b _080AAA3E -_080AAA36: - movs r0, #4 - rsbs r0, r0, #0 - cmp r4, r0 - bge _080AAA40 -_080AAA3E: - adds r3, #2 -_080AAA40: - ldrb r0, [r3] - adds r4, r5, #0 - adds r4, #0x29 - movs r1, #7 - ands r1, r0 - ldrb r2, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r3, #1] - strb r0, [r5, #0x15] - ldrb r0, [r3] - cmp r0, #5 - bne _080AAA66 - adds r0, r5, #0 - bl sub_08078930 -_080AAA66: - pop {r4, r5, pc} - - thumb_func_start sub_080AAA68 -sub_080AAA68: @ 0x080AAA68 - push {r4, r5, r6, lr} - ldr r2, _080AAAA0 @ =gUnk_0812A084 - ldrb r1, [r0, #0xa] - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r5, [r1] - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r3, _080AAAA4 @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r0, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r0, #0x38 - ldrb r2, [r0] - adds r0, r5, #0 - bl sub_0800015E - pop {r4, r5, r6, pc} - .align 2, 0 -_080AAAA0: .4byte gUnk_0812A084 -_080AAAA4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080AAAA8 -sub_080AAAA8: @ 0x080AAAA8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl sub_0807CCC8 - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _080AAAE4 @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - adds r4, #0x38 - ldrb r1, [r4] - bl sub_0807BA8C - bl sub_0805E780 - pop {r4, r5, pc} - .align 2, 0 -_080AAAE4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080AAAE8 -sub_080AAAE8: @ 0x080AAAE8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080AAB00 @ =gUnk_0812A3C0 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080AAB00: .4byte gUnk_0812A3C0 - - thumb_func_start sub_080AAB04 -sub_080AAB04: @ 0x080AAB04 - push {lr} - ldr r2, _080AAB18 @ =gUnk_0812A3D4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080AAB18: .4byte gUnk_0812A3D4 - - thumb_func_start sub_080AAB1C -sub_080AAB1C: @ 0x080AAB1C - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_080AAB24 -sub_080AAB24: @ 0x080AAB24 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x1e - strb r1, [r0, #0xe] - movs r1, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080AAB38 -sub_080AAB38: @ 0x080AAB38 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080AAB4C - subs r0, #1 - strb r0, [r4, #0xe] - b _080AAB62 -_080AAB4C: - adds r0, r4, #0 - bl sub_080AF090 - cmp r0, #0 - bne _080AAB5E - adds r0, r4, #0 - bl sub_0806F69C - b _080AAB62 -_080AAB5E: - movs r0, #2 - strb r0, [r4, #0xc] -_080AAB62: - pop {r4, pc} - - thumb_func_start sub_080AAB64 -sub_080AAB64: @ 0x080AAB64 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _080AAB7C - bl sub_0805E780 -_080AAB7C: - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080AAB8A - bl sub_0805E780 -_080AAB8A: - pop {r4, pc} - - thumb_func_start sub_080AAB8C -sub_080AAB8C: @ 0x080AAB8C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080AABA2 - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 -_080AABA2: - adds r0, r4, #0 - bl sub_080AABB0 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - - thumb_func_start sub_080AABB0 -sub_080AABB0: @ 0x080AABB0 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA24 - ldrb r1, [r5, #0x14] - lsls r1, r1, #1 - ldr r0, _080AABEC @ =gUnk_080C9160 - adds r1, r1, r0 - ldrb r2, [r4, #0xe] - lsls r2, r2, #8 - movs r3, #0 - ldrsh r0, [r1, r3] - adds r3, r0, #0 - muls r3, r2, r3 - ldr r0, [r4, #0x2c] - adds r0, r0, r3 - str r0, [r4, #0x2c] - adds r1, #0x80 - movs r3, #0 - ldrsh r0, [r1, r3] - adds r1, r0, #0 - muls r1, r2, r1 - ldr r0, [r4, #0x30] - subs r0, r0, r1 - str r0, [r4, #0x30] - pop {r4, r5, pc} - .align 2, 0 -_080AABEC: .4byte gUnk_080C9160 - - thumb_func_start sub_080AABF0 -sub_080AABF0: @ 0x080AABF0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080AAC08 @ =gUnk_0812A418 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080AAC08: .4byte gUnk_0812A418 - - thumb_func_start sub_080AAC0C -sub_080AAC0C: @ 0x080AAC0C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080AAC40 @ =gUnk_0812A430 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080AAC3C - adds r1, r4, #0 - adds r1, #0x84 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080AAC3C - subs r1, #0x3f - movs r0, #0 - strb r0, [r1] -_080AAC3C: - pop {r4, pc} - .align 2, 0 -_080AAC40: .4byte gUnk_0812A430 - - thumb_func_start sub_080AAC44 -sub_080AAC44: @ 0x080AAC44 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080AACCA - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080AACBC - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - bne _080AACA0 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080AAC84 - ldr r0, _080AAC80 @ =gUnk_03001160 - adds r1, r4, #0 - bl sub_0806FAB0 - b _080AAC8C - .align 2, 0 -_080AAC80: .4byte gUnk_03001160 -_080AAC84: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FAB0 -_080AAC8C: - bl sub_08077B2C - ldr r2, _080AACB4 @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r1, r0 - strb r1, [r2, #0x1a] - ldrb r1, [r2, #0xa] - orrs r0, r1 - strb r0, [r2, #0xa] -_080AACA0: - ldr r0, _080AACB8 @ =gUnk_03001160 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - bne _080AACCA - adds r0, r4, #0 - adds r0, #0x45 - strb r1, [r0] - b _080AACCA - .align 2, 0 -_080AACB4: .4byte gUnk_03003F80 -_080AACB8: .4byte gUnk_03001160 -_080AACBC: - ldr r0, _080AACDC @ =0x00000119 - bl sub_080A3268 - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 -_080AACCA: - adds r1, r4, #0 - adds r1, #0x42 - ldrb r0, [r1] - cmp r0, #0 - beq _080AACD8 - movs r0, #0 - strb r0, [r1] -_080AACD8: - pop {r4, pc} - .align 2, 0 -_080AACDC: .4byte 0x00000119 - - thumb_func_start sub_080AACE0 -sub_080AACE0: @ 0x080AACE0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080AACF4 - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _080AACF4 - bl sub_0805E780 -_080AACF4: - ldrb r1, [r4, #0x18] - lsls r0, r1, #0x1e - lsrs r2, r0, #0x1e - adds r5, r4, #0 - adds r5, #0x86 - cmp r2, #1 - bne _080AAD16 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - strb r2, [r5] - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC -_080AAD16: - ldr r2, [r4, #0x50] - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080AAD4A - adds r1, r2, #0 - adds r1, #0x74 - movs r0, #3 - strb r0, [r1] - adds r1, #0xc - adds r0, r4, #0 - adds r0, #0x81 - ldrb r0, [r0] - lsrs r0, r0, #1 - ldrb r2, [r1] - adds r0, r0, r2 - strb r0, [r1] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #8 - bls _080AAD42 - movs r0, #8 - b _080AAD56 -_080AAD42: - cmp r0, #0 - bne _080AAD58 - movs r0, #1 - b _080AAD56 -_080AAD4A: - adds r1, r2, #0 - adds r1, #0x84 - movs r0, #0 - strb r0, [r1] - subs r1, #0x45 - movs r0, #0x2b -_080AAD56: - strb r0, [r1] -_080AAD58: - ldrb r0, [r5] - cmp r0, #0 - bne _080AAD68 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC -_080AAD68: - bl sub_0805E780 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AAD70 -sub_080AAD70: @ 0x080AAD70 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - bne _080AAD82 - adds r1, r4, #0 - adds r1, #0x45 - strb r0, [r1] -_080AAD82: - ldr r0, _080AAD94 @ =gUnk_0812A440 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080AAD94: .4byte gUnk_0812A440 - - thumb_func_start sub_080AAD98 -sub_080AAD98: @ 0x080AAD98 - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start nullsub_541 -nullsub_541: @ 0x080AADA0 - bx lr - .align 2, 0 - - thumb_func_start sub_080AADA4 -sub_080AADA4: @ 0x080AADA4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _080AADB8 - adds r1, r4, #0 - adds r1, #0x45 - movs r0, #0 - strb r0, [r1] -_080AADB8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AADBC -sub_080AADBC: @ 0x080AADBC - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xb] - cmp r0, #0 - bne _080AADCC - movs r0, #1 - strb r0, [r5, #0xc] - b _080AADE0 -_080AADCC: - movs r0, #3 - strb r0, [r5, #0xc] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0x2c - strb r0, [r1] - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FAB0 -_080AADE0: - ldrb r1, [r5, #0xa] - cmp r1, #0 - bne _080AAE64 - strb r1, [r5, #0xe] - movs r3, #4 - movs r0, #4 - strb r0, [r5, #0xf] - adds r0, r5, #0 - adds r0, #0x80 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - adds r1, r5, #0 - adds r1, #0x45 - movs r0, #0x10 - strb r0, [r1] - ldrh r0, [r5, #0x36] - adds r0, #4 - movs r4, #0 - strh r0, [r5, #0x36] - ldrb r2, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r5, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r5, #0x19] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - ldr r1, _080AAE60 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - strb r0, [r5, #0x15] - adds r0, r5, #0 - adds r0, #0x86 - strb r4, [r0] - adds r1, r5, #0 - adds r1, #0x84 - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1] - movs r0, #0x18 - bl sub_080A7EE0 - adds r1, r0, #0 - cmp r1, #0 - beq _080AAE7C - movs r0, #1 - strb r0, [r1, #0xa] - ldrb r0, [r5, #0xb] - strb r0, [r1, #0xb] - str r5, [r1, #0x50] - b _080AAE7C - .align 2, 0 -_080AAE60: .4byte gUnk_03001160 -_080AAE64: - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FAB0 - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - ldr r0, [r5, #0x50] - adds r1, r5, #0 - bl sub_0806FA24 -_080AAE7C: - ldrb r1, [r5, #0xa] - adds r0, r5, #0 - bl sub_08004260 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AAE88 -sub_080AAE88: @ 0x080AAE88 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #1 - beq _080AAED0 - cmp r0, #1 - bgt _080AAE9C - cmp r0, #0 - beq _080AAEA2 - b _080AAEF6 -_080AAE9C: - cmp r0, #2 - beq _080AAEE0 - b _080AAEF6 -_080AAEA2: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080AAEC2 - movs r0, #4 - strb r0, [r4, #0xf] - ldr r1, _080AAECC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_080AAEC2: - adds r0, r4, #0 - bl sub_0806F69C - b _080AAEF6 - .align 2, 0 -_080AAECC: .4byte gUnk_03001160 -_080AAED0: - ldr r0, [r4, #0x50] - cmp r0, #0 - beq _080AAEDC - ldr r0, [r0, #4] - cmp r0, #0 - bne _080AAEE0 -_080AAEDC: - bl sub_0805E780 -_080AAEE0: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - bne _080AAEEE - bl sub_0805E780 -_080AAEEE: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 -_080AAEF6: - adds r0, r4, #0 - bl sub_080AB034 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AAF00 -sub_080AAF00: @ 0x080AAF00 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AAF74 - adds r0, r4, #0 - bl sub_080AB034 - pop {r4, pc} - - thumb_func_start sub_080AAF10 -sub_080AAF10: @ 0x080AAF10 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA24 - adds r0, r4, #0 - bl sub_080AB034 - ldr r3, [r4, #0x50] - ldrb r1, [r3, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080AAF48 - adds r0, r3, #0 - adds r0, #0x45 - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x45 - strb r0, [r1] -_080AAF48: - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xc] - cmp r0, #2 - bne _080AAF60 - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080AAF70 - movs r0, #0x7f - ands r0, r1 - b _080AAF6E -_080AAF60: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AAF70 - movs r0, #0x80 - orrs r0, r1 -_080AAF6E: - strb r0, [r4, #0x10] -_080AAF70: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AAF74 -sub_080AAF74: @ 0x080AAF74 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_0807953C - cmp r0, #0 - beq _080AAF94 - bl sub_08000E50 - adds r3, r5, #0 - adds r3, #0x80 - ldrb r1, [r3] - adds r1, #1 - movs r2, #1 - ands r0, r2 - adds r1, r1, r0 - strb r1, [r3] -_080AAF94: - ldrb r0, [r5, #0xe] - adds r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3c - bne _080AAFCC - movs r0, #0x1e - strb r0, [r5, #0xe] - ldr r4, _080AAFFC @ =gUnk_03001160 - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #8 - strb r0, [r1] - subs r0, #0xc - bl sub_080526A0 - adds r0, r4, #0 - movs r1, #0x7a - bl sub_0800449C - adds r4, #0x45 - ldrb r1, [r4] - cmp r1, #0 - bne _080AAFCC - adds r0, r5, #0 - adds r0, #0x45 - strb r1, [r0] -_080AAFCC: - adds r1, r5, #0 - adds r1, #0x80 - ldrb r0, [r1] - cmp r0, #0x30 - bhi _080AAFE0 - adds r0, r5, #0 - adds r0, #0x81 - ldrb r0, [r0] - cmp r0, #0x10 - bne _080AB004 -_080AAFE0: - movs r2, #0 - movs r0, #1 - strb r0, [r5, #0xc] - strb r2, [r1] - ldr r0, _080AAFFC @ =gUnk_03001160 - adds r0, #0x3d - movs r1, #0xf0 - strb r1, [r0] - ldr r0, _080AB000 @ =gUnk_03003F80 - strb r2, [r0, #0x1a] - adds r0, r5, #0 - adds r0, #0x45 - strb r2, [r0] - b _080AB028 - .align 2, 0 -_080AAFFC: .4byte gUnk_03001160 -_080AB000: .4byte gUnk_03003F80 -_080AB004: - bl sub_08077B2C - ldr r2, _080AB02C @ =gUnk_03003F80 - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r1, r0 - strb r1, [r2, #0x1a] - ldrb r1, [r2, #0xa] - orrs r0, r1 - strb r0, [r2, #0xa] - ldr r4, _080AB030 @ =gUnk_03001160 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - ldrh r0, [r4, #0x36] - subs r0, #4 - strh r0, [r5, #0x36] -_080AB028: - pop {r4, r5, pc} - .align 2, 0 -_080AB02C: .4byte gUnk_03003F80 -_080AB030: .4byte gUnk_03001160 - - thumb_func_start sub_080AB034 -sub_080AB034: @ 0x080AB034 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - ldr r1, _080AB058 @ =0x00000139 - cmp r0, #0 - beq _080AB04E - movs r1, #0 -_080AB04E: - adds r0, r4, #0 - bl sub_0801D2B4 - pop {r4, pc} - .align 2, 0 -_080AB058: .4byte 0x00000139 - - thumb_func_start sub_080AB05C -sub_080AB05C: @ 0x080AB05C - push {lr} - ldr r2, _080AB070 @ =gUnk_0812A494 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080AB070: .4byte gUnk_0812A494 - - thumb_func_start sub_080AB074 -sub_080AB074: @ 0x080AB074 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x50] - ldr r0, [r5, #4] - cmp r0, #0 - bne _080AB084 - bl sub_0805E780 -_080AB084: - ldrb r6, [r4, #0xc] - cmp r6, #0 - bne _080AB0AA - adds r0, r4, #0 - bl sub_080AB12C - cmp r0, #0 - beq _080AB124 - movs r0, #1 - strb r0, [r4, #0xc] - strb r6, [r4, #0x1e] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #9 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_080AB0AA: - ldr r0, [r4, #0x50] - adds r7, r5, #0 - adds r7, #0x7f - movs r3, #0 - ldrsb r3, [r7, r3] - rsbs r3, r3, #0 - subs r3, #0xa - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA90 - ldr r3, _080AB128 @ =gUnk_080C9160 - adds r2, r5, #0 - adds r2, #0x7c - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r3 - movs r6, #0 - ldrsh r1, [r0, r6] - adds r6, r5, #0 - adds r6, #0x7e - ldrb r0, [r6] - lsls r0, r0, #8 - muls r1, r0, r1 - ldr r0, [r4, #0x2c] - adds r0, r0, r1 - str r0, [r4, #0x2c] - ldrb r0, [r2] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r3 - movs r2, #0 - ldrsh r1, [r0, r2] - ldrb r0, [r6] - lsls r0, r0, #8 - muls r1, r0, r1 - ldr r0, [r4, #0x30] - subs r0, r0, r1 - str r0, [r4, #0x30] - movs r0, #0 - ldrsb r0, [r7, r0] - ldrh r6, [r4, #0x36] - adds r0, r0, r6 - strh r0, [r4, #0x36] - adds r0, r5, #0 - adds r0, #0x7b - ldrb r0, [r0] - cmp r0, #0 - beq _080AB124 - movs r0, #0x19 - bl sub_080A7EE0 - adds r5, r0, #0 - cmp r5, #0 - beq _080AB124 - movs r0, #4 - strb r0, [r5, #0xa] - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA6C -_080AB124: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080AB128: .4byte gUnk_080C9160 - - thumb_func_start sub_080AB12C -sub_080AB12C: @ 0x080AB12C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080AB168 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x44 - bhi _080AB16C - movs r0, #0x19 - bl sub_080A7EE0 - adds r1, r0, #0 - movs r0, #1 - strb r0, [r1, #0xa] - str r4, [r1, #0x50] - movs r0, #0x19 - bl sub_080A7EE0 - adds r1, r0, #0 - movs r0, #2 - strb r0, [r1, #0xa] - str r4, [r1, #0x50] - movs r0, #0x19 - bl sub_080A7EE0 - adds r1, r0, #0 - movs r0, #3 - strb r0, [r1, #0xa] - str r4, [r1, #0x50] - movs r0, #1 - b _080AB16E - .align 2, 0 -_080AB168: .4byte gUnk_03003DBC -_080AB16C: - movs r0, #0 -_080AB16E: - pop {r4, pc} - - thumb_func_start sub_080AB170 -sub_080AB170: @ 0x080AB170 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r6, [r4, #0x50] - ldr r0, [r6, #4] - cmp r0, #0 - bne _080AB180 - bl sub_0805E780 -_080AB180: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080AB1AA - movs r0, #1 - strb r0, [r4, #0xc] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x3a - ands r0, r1 - strb r0, [r2] - movs r0, #5 - strb r0, [r4, #0x1e] - ldrb r1, [r2] - subs r0, #0xd - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080AB1C8 @ =gUnk_080FD460 - str r0, [r4, #0x48] -_080AB1AA: - ldr r5, [r6, #0x50] - adds r0, r4, #0 - adds r0, #0x7c - adds r2, r5, #0 - adds r2, #0x7c - ldrb r1, [r0] - adds r3, r0, #0 - ldrb r2, [r2] - cmp r1, r2 - beq _080AB1CC - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - b _080AB1D2 - .align 2, 0 -_080AB1C8: .4byte gUnk_080FD460 -_080AB1CC: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 -_080AB1D2: - strb r0, [r4, #0x10] - adds r0, r5, #0 - adds r0, #0x7c - ldrb r0, [r0] - strb r0, [r3] - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - bne _080AB208 - movs r0, #0x1f - ands r0, r1 - ldr r1, _080AB204 @ =gUnk_0812A4A8 - adds r0, r0, r1 - movs r2, #0 - ldrsb r2, [r0, r2] - movs r3, #1 - ldrsb r3, [r0, r3] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0806FA90 - b _080AB216 - .align 2, 0 -_080AB204: .4byte gUnk_0812A4A8 -_080AB208: - movs r3, #0xa - rsbs r3, r3, #0 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA90 -_080AB216: - movs r1, #0x2e - ldrsh r0, [r6, r1] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - ldrb r2, [r4, #0xa] - muls r0, r2, r0 - adds r3, r2, #0 - cmp r0, #0 - bge _080AB22C - adds r0, #3 -_080AB22C: - asrs r0, r0, #2 - ldrh r5, [r4, #0x2e] - adds r0, r0, r5 - strh r0, [r4, #0x2e] - movs r1, #0x32 - ldrsh r0, [r6, r1] - movs r5, #0x32 - ldrsh r1, [r4, r5] - subs r0, r0, r1 - muls r0, r3, r0 - cmp r0, #0 - bge _080AB246 - adds r0, #3 -_080AB246: - asrs r0, r0, #2 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - movs r3, #0x36 - ldrsh r0, [r6, r3] - movs r5, #0x36 - ldrsh r1, [r4, r5] - subs r0, r0, r1 - muls r0, r2, r0 - cmp r0, #0 - bge _080AB260 - adds r0, #3 -_080AB260: - asrs r0, r0, #2 - ldrh r1, [r4, #0x36] - adds r0, r0, r1 - strh r0, [r4, #0x36] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080AB26C -sub_080AB26C: @ 0x080AB26C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0xc] - cmp r1, #0 - bne _080AB28C - movs r0, #1 - strb r0, [r2, #0xc] - movs r0, #5 - strb r0, [r2, #0xe] - strb r1, [r2, #0x1e] - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - subs r0, #0x3e - ands r0, r1 - strb r0, [r3] -_080AB28C: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080AB29E - bl sub_0805E780 - b _080AB2A4 -_080AB29E: - ldrb r0, [r2, #0x1e] - adds r0, #1 - strb r0, [r2, #0x1e] -_080AB2A4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080AB2A8 -sub_080AB2A8: @ 0x080AB2A8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080AB2C0 @ =gUnk_0812A4C8 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080AB2C0: .4byte gUnk_0812A4C8 - - thumb_func_start sub_080AB2C4 -sub_080AB2C4: @ 0x080AB2C4 - push {lr} - ldr r2, _080AB2D8 @ =gUnk_0812A4DC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080AB2D8: .4byte gUnk_0812A4DC - - thumb_func_start sub_080AB2DC -sub_080AB2DC: @ 0x080AB2DC - push {r4, r5, lr} - adds r2, r0, #0 - adds r5, r2, #0 - adds r5, #0x41 - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080AB314 - movs r0, #3 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x10] - movs r4, #0x7f - adds r0, r4, #0 - ands r0, r1 - strb r0, [r2, #0x10] - adds r0, r2, #0 - movs r1, #0x53 - bl sub_08004260 - ldrb r0, [r5] - ands r4, r0 - cmp r4, #0 - bne _080AB314 - movs r0, #4 - rsbs r0, r0, #0 - bl sub_080526A0 -_080AB314: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AB318 -sub_080AB318: @ 0x080AB318 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - movs r4, #1 - movs r0, #1 - mov r8, r0 - mov r1, r8 - strb r1, [r6, #0xc] - ldr r0, _080AB3D8 @ =0xFFFF0000 - str r0, [r6, #0x20] - movs r2, #0x2e - ldrsh r1, [r6, r2] - ldr r2, _080AB3DC @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r5, #0x32 - ldrsh r0, [r6, r5] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r6, #0 - adds r0, #0x76 - strh r1, [r0] - ldr r0, [r6, #0x50] - adds r1, r6, #0 - bl sub_0806FA24 - movs r1, #0x80 - lsls r1, r1, #5 - ldrb r2, [r6, #0x15] - adds r0, r6, #0 - bl sub_0806F5BC - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - ldr r0, [r6, #0x50] - ldr r0, [r0, #0x34] - str r0, [r6, #0x34] - adds r0, r6, #0 - movs r1, #0x51 - bl sub_08004260 - ldr r0, _080AB3E0 @ =0x000001B5 - bl sub_080A3268 - adds r0, r6, #0 - bl sub_080AB4F8 - movs r1, #0x2e - ldrsh r2, [r6, r1] - movs r1, #0 - ldrsb r1, [r0, r1] - adds r5, r2, r1 - movs r2, #0x32 - ldrsh r1, [r6, r2] - ldrb r0, [r0, #1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r7, r1, r0 - adds r0, r6, #0 - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_080041DC - adds r4, r0, #0 - bl sub_08000E50 - adds r1, r0, #0 - ldr r0, _080AB3E4 @ =0x000001FF - ands r1, r0 - ldr r0, _080AB3E8 @ =gUnk_030010A0 - ldr r0, [r0] - mov r2, r8 - ands r0, r2 - cmp r0, #0 - beq _080AB3EC - adds r4, r4, r1 - movs r0, #0x80 - lsls r0, r0, #3 - cmp r4, r0 - ble _080AB3F4 - adds r4, r0, #0 - b _080AB3F4 - .align 2, 0 -_080AB3D8: .4byte 0xFFFF0000 -_080AB3DC: .4byte gUnk_03000BF0 -_080AB3E0: .4byte 0x000001B5 -_080AB3E4: .4byte 0x000001FF -_080AB3E8: .4byte gUnk_030010A0 -_080AB3EC: - subs r4, r4, r1 - cmp r4, #0x1f - bgt _080AB3F4 - movs r4, #0x20 -_080AB3F4: - lsls r1, r4, #8 - ldr r0, [r6, #0x34] - bl __divsi3 - lsls r0, r0, #0xd - str r0, [r6, #0x20] - adds r0, r6, #0 - adds r1, r5, #0 - adds r2, r7, #0 - bl sub_080045B4 - strb r0, [r6, #0x15] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AB414 -sub_080AB414: @ 0x080AB414 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - movs r1, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _080AB446 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0x54 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080AB4A4 - b _080AB458 -_080AB446: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xe0 - bls _080AB458 - bl sub_0805E780 -_080AB458: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AB45C -sub_080AB45C: @ 0x080AB45C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080AB486 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #0x53 - bl sub_08004260 -_080AB486: - pop {r4, pc} - - thumb_func_start sub_080AB488 -sub_080AB488: @ 0x080AB488 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080AB4A0 - bl sub_0805E780 -_080AB4A0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AB4A4 -sub_080AB4A4: @ 0x080AB4A4 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r7, r6, #0 - adds r7, #0x76 - ldrh r4, [r7] - movs r1, #0x2e - ldrsh r0, [r6, r1] - ldr r3, _080AB4F4 @ =gUnk_03000BF0 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r5, r0, #4 - movs r2, #0x3f - ands r5, r2 - movs r1, #0x32 - ldrsh r0, [r6, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r5, r0 - cmp r4, r5 - beq _080AB4F2 - strh r5, [r7] - adds r0, r6, #0 - bl sub_080002A0 - cmp r0, #0x13 - beq _080AB4E2 - cmp r0, #0x34 - bne _080AB4F2 -_080AB4E2: - movs r0, #0xd3 - lsls r0, r0, #2 - ldrh r1, [r7] - adds r2, r6, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl sub_0807B7D8 -_080AB4F2: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080AB4F4: .4byte gUnk_03000BF0 - - thumb_func_start sub_080AB4F8 -sub_080AB4F8: @ 0x080AB4F8 - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - lsls r0, r0, #5 - ldrb r1, [r1, #0xf] - lsls r1, r1, #1 - orrs r0, r1 - ldr r1, _080AB50C @ =gUnk_0812A4EC - adds r0, r0, r1 - bx lr - .align 2, 0 -_080AB50C: .4byte gUnk_0812A4EC - - thumb_func_start sub_080AB510 -sub_080AB510: @ 0x080AB510 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080AB528 @ =gUnk_0812A58C - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080AB528: .4byte gUnk_0812A58C - - thumb_func_start sub_080AB52C -sub_080AB52C: @ 0x080AB52C - push {lr} - ldr r2, _080AB540 @ =gUnk_0812A5A0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080AB540: .4byte gUnk_0812A5A0 - - thumb_func_start sub_080AB544 -sub_080AB544: @ 0x080AB544 - push {lr} - adds r2, r0, #0 - adds r0, #0x3d - movs r1, #0 - ldrsb r1, [r0, r1] - movs r0, #4 - rsbs r0, r0, #0 - cmp r1, r0 - bge _080AB57C - movs r1, #2 - movs r0, #2 - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x3e - ldrb r0, [r0] - strb r0, [r2, #0x15] - ldrb r0, [r2, #0xa] - eors r1, r0 - lsls r1, r1, #3 - ldrb r0, [r2, #0x15] - subs r0, r0, r1 - adds r0, #1 - cmp r0, #2 - bhi _080AB576 - strb r1, [r2, #0x15] -_080AB576: - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r2, #0x24] -_080AB57C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080AB580 -sub_080AB580: @ 0x080AB580 - push {lr} - movs r1, #1 - strb r1, [r0, #0xc] - ldrb r1, [r0, #0xa] - lsls r1, r1, #3 - strb r1, [r0, #0x15] - ldr r1, _080AB598 @ =0x0000FFFC - strh r1, [r0, #0x36] - ldrb r1, [r0, #0xa] - bl sub_08004260 - pop {pc} - .align 2, 0 -_080AB598: .4byte 0x0000FFFC - - thumb_func_start sub_080AB59C -sub_080AB59C: @ 0x080AB59C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - cmp r0, #0 - bne _080AB5BC - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080AB5BC: - adds r0, r4, #0 - bl sub_080AB5F4 - pop {r4, pc} - - thumb_func_start sub_080AB5C4 -sub_080AB5C4: @ 0x080AB5C4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080AF090 - adds r0, r4, #0 - bl sub_080AB634 - cmp r0, #0 - bne _080AB5F0 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _080AB5F0 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080AB5F0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AB5F4 -sub_080AB5F4: @ 0x080AB5F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_080043E8 - cmp r0, #2 - beq _080AB61A - cmp r0, #2 - bhi _080AB60A - cmp r0, #1 - beq _080AB610 - b _080AB62E -_080AB60A: - cmp r0, #3 - beq _080AB624 - b _080AB62E -_080AB610: - adds r0, r4, #0 - bl sub_080043B4 - movs r0, #1 - b _080AB630 -_080AB61A: - adds r0, r4, #0 - bl sub_080043A8 - movs r0, #1 - b _080AB630 -_080AB624: - adds r0, r4, #0 - bl sub_080043AC - movs r0, #1 - b _080AB630 -_080AB62E: - movs r0, #0 -_080AB630: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AB634 -sub_080AB634: @ 0x080AB634 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r0, [r6, #0x50] - movs r5, #0 - adds r4, r0, #0 - adds r4, #0x20 -_080AB640: - ldr r1, [r4] - cmp r1, #0 - beq _080AB684 - adds r0, r6, #0 - bl sub_080177A0 - cmp r0, #0 - beq _080AB684 - ldr r1, [r4] - ldrb r0, [r1, #0xc] - cmp r0, #2 - bhi _080AB67A - movs r0, #3 - strb r0, [r1, #0xc] - ldr r1, [r4] - movs r0, #0x1e - strb r0, [r1, #0xe] - ldr r2, [r4] - ldrb r0, [r2, #0x18] - movs r3, #4 - rsbs r3, r3, #0 - adds r1, r3, #0 - ands r0, r1 - strb r0, [r2, #0x18] - ldr r0, [r4] - movs r1, #0x45 - movs r2, #0 - bl sub_080A29AC -_080AB67A: - adds r0, r6, #0 - bl sub_0805E7BC - movs r0, #1 - b _080AB68E -_080AB684: - adds r4, #4 - adds r5, #1 - cmp r5, #3 - bls _080AB640 - movs r0, #0 -_080AB68E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080AB690 -sub_080AB690: @ 0x080AB690 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0x18] - lsls r0, r0, #0x1e - cmp r0, #0 - bne _080AB6A2 - bl sub_0805E780 -_080AB6A2: - ldr r0, _080AB6B4 @ =gUnk_0812A5E8 - ldrb r1, [r4, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080AB6B4: .4byte gUnk_0812A5E8 - - thumb_func_start sub_080AB6B8 -sub_080AB6B8: @ 0x080AB6B8 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x50] - ldr r0, [r0, #0x2c] - str r0, [r2, #0x74] - ldrb r0, [r2, #0xa] - cmp r0, #0 - bne _080AB6E8 - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - ldr r0, _080AB6E4 @ =gUnk_0812A614 - str r0, [r2, #0x48] - adds r0, r2, #0 - movs r1, #0 - bl sub_08004260 - b _080AB6F8 - .align 2, 0 -_080AB6E4: .4byte gUnk_0812A614 -_080AB6E8: - movs r0, #2 - strb r0, [r2, #0xc] - movs r0, #4 - strb r0, [r2, #0xf] - ldrb r1, [r2, #0xe] - adds r0, r2, #0 - bl sub_08004260 -_080AB6F8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080AB6FC -sub_080AB6FC: @ 0x080AB6FC - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080AB724 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080AB758 -_080AB724: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AB728 -sub_080AB728: @ 0x080AB728 - push {r4, lr} - adds r4, r0, #0 - bl sub_08004274 - ldr r2, [r4, #0x50] - ldr r1, [r2, #0x2c] - ldr r0, [r4, #0x74] - subs r1, r1, r0 - ldr r0, [r4, #0x2c] - adds r0, r0, r1 - str r0, [r4, #0x2c] - ldr r0, [r2, #0x2c] - str r0, [r4, #0x74] - adds r0, r4, #0 - bl sub_080AB888 - ldr r0, [r4, #0x50] - ldrb r0, [r0, #0xf] - cmp r0, #0 - bne _080AB754 - bl sub_0805E780 -_080AB754: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AB758 -sub_080AB758: @ 0x080AB758 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #4 - adds r5, r0, #0 - movs r6, #6 - movs r7, #0 - movs r4, #0 - movs r0, #0x32 - ldrsh r2, [r5, r0] - ldr r1, _080AB818 @ =gUnk_03000BF0 - ldrh r0, [r1, #8] - adds r0, #0xd4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - mov r8, r1 - cmp r2, r0 - bhi _080AB7B4 - movs r3, #7 -_080AB77E: - adds r0, r4, #0 - ands r0, r3 - cmp r0, #7 - bne _080AB798 - adds r0, r5, #0 - movs r1, #4 - adds r2, r6, #0 - str r3, [sp] - bl sub_080AB844 - adds r6, #0x3e - adds r7, #0x3e - ldr r3, [sp] -_080AB798: - adds r4, #1 - ands r4, r3 - movs r1, #0x32 - ldrsh r0, [r5, r1] - adds r0, r0, r7 - lsls r1, r4, #3 - adds r2, r0, r1 - ldr r0, _080AB818 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - adds r0, #0xd4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r2, r0 - bls _080AB77E -_080AB7B4: - movs r4, #0 - movs r1, #0x32 - ldrsh r0, [r5, r1] - adds r2, r0, r7 - mov r1, r8 - ldrh r0, [r1, #8] - adds r0, #0xd4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r2, r0 - bhi _080AB802 - movs r3, #3 -_080AB7CC: - adds r0, r4, #0 - ands r0, r3 - cmp r0, #3 - bne _080AB7E6 - adds r0, r5, #0 - movs r1, #3 - adds r2, r6, #0 - str r3, [sp] - bl sub_080AB844 - adds r6, #0x1e - adds r7, #0x1e - ldr r3, [sp] -_080AB7E6: - adds r4, #1 - ands r4, r3 - movs r1, #0x32 - ldrsh r0, [r5, r1] - adds r0, r0, r7 - lsls r1, r4, #3 - adds r2, r0, r1 - ldr r0, _080AB818 @ =gUnk_03000BF0 - ldrh r0, [r0, #8] - adds r0, #0xd4 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r2, r0 - bls _080AB7CC -_080AB802: - movs r0, #2 - ands r0, r4 - cmp r0, #0 - beq _080AB81C - adds r0, r5, #0 - movs r1, #2 - adds r2, r6, #0 - bl sub_080AB844 - adds r6, #0xe - b _080AB830 - .align 2, 0 -_080AB818: .4byte gUnk_03000BF0 -_080AB81C: - movs r0, #1 - ands r4, r0 - cmp r4, #0 - beq _080AB830 - adds r0, r5, #0 - movs r1, #1 - adds r2, r6, #0 - bl sub_080AB844 - adds r6, #6 -_080AB830: - adds r0, r5, #0 - movs r1, #6 - adds r2, r6, #0 - bl sub_080AB844 - add sp, #4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AB844 -sub_080AB844: @ 0x080AB844 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r7, r1, #0 - adds r6, r2, #0 - movs r0, #0x1c - bl sub_080A7EE0 - adds r4, r0, #0 - cmp r4, #0 - beq _080AB880 - movs r0, #1 - strb r0, [r4, #0xa] - strb r7, [r4, #0xe] - ldr r0, [r5, #0x50] - str r0, [r4, #0x50] - lsls r3, r6, #0x10 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl sub_0806FA48 - cmp r7, #1 - beq _080AB87C - ldr r0, _080AB878 @ =gUnk_0812A61C - b _080AB87E - .align 2, 0 -_080AB878: .4byte gUnk_0812A61C -_080AB87C: - ldr r0, _080AB884 @ =gUnk_0812A614 -_080AB87E: - str r0, [r4, #0x48] -_080AB880: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080AB884: .4byte gUnk_0812A614 - - thumb_func_start sub_080AB888 -sub_080AB888: @ 0x080AB888 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xf] - subs r0, #1 - strb r0, [r2, #0xf] - movs r3, #0 - ldrb r0, [r2, #0xe] - cmp r0, #3 - beq _080AB8A4 - cmp r0, #3 - ble _080AB8B6 - cmp r0, #4 - beq _080AB8A6 - b _080AB8B6 -_080AB8A4: - movs r3, #1 -_080AB8A6: - ldr r0, _080AB8C4 @ =gUnk_0812A5F4 - ldrb r1, [r2, #0xf] - lsls r1, r1, #1 - adds r1, r1, r3 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r2, #0x48] -_080AB8B6: - ldrb r0, [r2, #0xf] - cmp r0, #0 - bne _080AB8C0 - movs r0, #4 - strb r0, [r2, #0xf] -_080AB8C0: - pop {pc} - .align 2, 0 -_080AB8C4: .4byte gUnk_0812A5F4 - - thumb_func_start sub_080AB8C8 -sub_080AB8C8: @ 0x080AB8C8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080AB8E4 @ =gUnk_0812A6B4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_080AB9DC - pop {r4, pc} - .align 2, 0 -_080AB8E4: .4byte gUnk_0812A6B4 - - thumb_func_start sub_080AB8E8 -sub_080AB8E8: @ 0x080AB8E8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r0, #1 - movs r1, #0 - strb r0, [r4, #0xc] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - str r1, [r4, #0x34] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080AB90E - bl sub_08000E50 - movs r1, #0x18 - ands r0, r1 - strb r0, [r4, #0x15] - str r4, [r4, #0x50] -_080AB90E: - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldrb r0, [r4, #0xa] - cmp r0, #3 - bhi _080AB936 - movs r0, #0x1d - bl sub_080A7EE0 - adds r1, r0, #0 - ldrb r0, [r4, #0xa] - adds r0, #1 - strb r0, [r1, #0xa] - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - str r4, [r1, #0x54] - adds r0, r4, #0 - bl sub_0806FA24 -_080AB936: - adds r1, r4, #0 - adds r1, #0x68 - movs r2, #7 -_080AB93C: - ldrh r0, [r4, #0x2e] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r4, #0x32] - strh r0, [r1] - adds r1, #2 - subs r2, #1 - cmp r2, #0 - bge _080AB93C - pop {r4, pc} - - thumb_func_start sub_080AB950 -sub_080AB950: @ 0x080AB950 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080AB99C - adds r0, r4, #0 - bl sub_080AEF88 - ldrb r0, [r4, #0x15] - lsrs r0, r0, #3 - ldr r1, _080AB994 @ =gUnk_0812A6C4 - lsls r5, r0, #1 - adds r1, r5, r1 - ldrh r1, [r1] - ldrh r0, [r4, #0x2a] - ands r0, r1 - cmp r0, #0 - bne _080AB980 - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AB9FC - cmp r0, #0 - beq _080AB9D4 -_080AB980: - bl sub_08000E50 - ldr r2, _080AB998 @ =gUnk_0812A6BC - movs r1, #1 - ands r1, r0 - adds r1, r1, r5 - adds r1, r1, r2 - ldrb r0, [r1] - strb r0, [r4, #0x15] - b _080AB9D4 - .align 2, 0 -_080AB994: .4byte gUnk_0812A6C4 -_080AB998: .4byte gUnk_0812A6BC -_080AB99C: - ldr r0, [r4, #0x50] - cmp r0, #0 - bne _080AB9A6 - bl sub_0805E780 -_080AB9A6: - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080AB9B2 - bl sub_0805E780 -_080AB9B2: - ldr r1, [r4, #0x54] - cmp r1, #0 - beq _080AB9D0 - ldr r0, [r1, #4] - cmp r0, #0 - beq _080AB9D0 - adds r0, r1, #0 - adds r0, #0x68 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - adds r0, r1, #0 - adds r0, #0x6a - ldrh r0, [r0] - strh r0, [r4, #0x32] - b _080AB9D4 -_080AB9D0: - bl sub_0805E780 -_080AB9D4: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, r5, pc} - - thumb_func_start sub_080AB9DC -sub_080AB9DC: @ 0x080AB9DC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x6c - adds r1, r4, #0 - adds r1, #0x68 - movs r2, #0x1c - bl sub_0801D66C - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x84 - strh r1, [r0] - ldrh r1, [r4, #0x32] - adds r0, #2 - strh r1, [r0] - pop {r4, pc} - - thumb_func_start sub_080AB9FC -sub_080AB9FC: @ 0x080AB9FC - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_0808094C - movs r1, #0x2e - ldrsh r3, [r5, r1] - ldr r2, _080ABA4C @ =gUnk_03000BF0 - ldrh r1, [r2, #6] - subs r3, r3, r1 - asrs r3, r3, #4 - movs r6, #0x3f - ands r3, r6 - movs r7, #0x32 - ldrsh r1, [r5, r7] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r6 - lsls r1, r1, #6 - orrs r3, r1 - ldr r1, _080ABA50 @ =gUnk_080B4488 - lsrs r4, r4, #3 - lsls r4, r4, #1 - adds r4, r4, r1 - movs r2, #0 - ldrsh r1, [r4, r2] - adds r3, r3, r1 - ldr r7, _080ABA54 @ =0x00002004 - adds r0, r0, r7 - adds r0, r0, r3 - ldrb r0, [r0] - cmp r0, #0x1f - bls _080ABA58 - cmp r0, #0x3f - bhi _080ABA58 - movs r0, #1 - b _080ABA5A - .align 2, 0 -_080ABA4C: .4byte gUnk_03000BF0 -_080ABA50: .4byte gUnk_080B4488 -_080ABA54: .4byte 0x00002004 -_080ABA58: - movs r0, #0 -_080ABA5A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080ABA5C -sub_080ABA5C: @ 0x080ABA5C - push {lr} - ldr r2, _080ABA70 @ =gUnk_0812A6CC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080ABA70: .4byte gUnk_0812A6CC - - thumb_func_start sub_080ABA74 -sub_080ABA74: @ 0x080ABA74 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - adds r0, #1 - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x86 - ldrh r0, [r0] - strh r0, [r2, #0x24] - ldrh r1, [r2, #0x2e] - adds r0, r2, #0 - adds r0, #0x68 - strh r1, [r0] - ldrh r0, [r2, #0x32] - adds r1, r2, #0 - adds r1, #0x6a - strh r0, [r1] - adds r0, r2, #0 - adds r0, #0x84 - ldrh r1, [r0] - subs r0, #0x18 - strh r1, [r0] - ldrb r0, [r2, #0xa] - cmp r0, #6 - bhi _080ABAAA - movs r0, #0 - b _080ABAAC -_080ABAAA: - movs r0, #1 -_080ABAAC: - strb r0, [r2, #0xb] - ldr r0, _080ABAC8 @ =gUnk_0812A6D4 - ldrb r1, [r2, #0xa] - adds r0, r1, r0 - ldrb r3, [r0] - ldrb r0, [r2, #0xb] - cmp r0, #0 - bne _080ABACC - movs r0, #8 - strb r0, [r2, #0x15] - ldrh r0, [r2, #0x32] - adds r0, r0, r3 - strh r0, [r2, #0x32] - b _080ABAD6 - .align 2, 0 -_080ABAC8: .4byte gUnk_0812A6D4 -_080ABACC: - movs r0, #0x10 - strb r0, [r2, #0x15] - ldrh r0, [r2, #0x2e] - adds r0, r0, r3 - strh r0, [r2, #0x2e] -_080ABAD6: - adds r0, r2, #0 - bl sub_08004260 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080ABAE0 -sub_080ABAE0: @ 0x080ABAE0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_080AF090 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080ABAFE - movs r1, #0x2e - ldrsh r0, [r4, r1] - adds r1, r4, #0 - adds r1, #0x68 - movs r2, #0 - ldrsh r1, [r1, r2] - subs r3, r0, r1 - b _080ABB0C -_080ABAFE: - movs r0, #0x32 - ldrsh r1, [r4, r0] - adds r0, r4, #0 - adds r0, #0x6a - movs r2, #0 - ldrsh r0, [r0, r2] - subs r3, r1, r0 -_080ABB0C: - adds r0, r4, #0 - adds r0, #0x6c - movs r1, #0 - ldrsh r2, [r0, r1] - adds r6, r0, #0 - cmp r2, #0 - bge _080ABB1E - rsbs r3, r3, #0 - rsbs r2, r2, #0 -_080ABB1E: - lsls r1, r3, #0x10 - lsls r0, r2, #0x10 - cmp r1, r0 - bls _080ABB84 - ldrb r0, [r4, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r4, #0x15] - ldrb r0, [r4, #0xb] - adds r5, r0, #0 - cmp r5, #0 - bne _080ABB4E - adds r0, r4, #0 - adds r0, #0x68 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - ldrb r2, [r4, #0x18] - lsls r1, r2, #0x19 - lsrs r1, r1, #0x1f - movs r0, #1 - eors r1, r0 - lsls r1, r1, #6 - subs r0, #0x42 - b _080ABB62 -_080ABB4E: - adds r0, r4, #0 - adds r0, #0x6a - ldrh r0, [r0] - strh r0, [r4, #0x32] - ldrb r2, [r4, #0x18] - lsrs r1, r2, #7 - movs r0, #1 - eors r1, r0 - lsls r1, r1, #7 - movs r0, #0x7f -_080ABB62: - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - cmp r3, #0 - ble _080ABB84 - lsls r0, r5, #0x18 - cmp r0, #0 - bne _080ABB7C - ldrh r0, [r6] - ldrh r2, [r4, #0x2e] - adds r0, r0, r2 - strh r0, [r4, #0x2e] - b _080ABB84 -_080ABB7C: - ldrh r0, [r6] - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] -_080ABB84: - adds r0, r4, #0 - bl sub_08004274 - pop {r4, r5, r6, pc} - - thumb_func_start sub_080ABB8C -sub_080ABB8C: @ 0x080ABB8C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080ABBA4 @ =gUnk_0812A7D4 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080ABBA4: .4byte gUnk_0812A7D4 - - thumb_func_start sub_080ABBA8 -sub_080ABBA8: @ 0x080ABBA8 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xa] - cmp r0, #1 - beq _080ABBC4 - cmp r0, #1 - bgt _080ABBDC - cmp r0, #0 - bne _080ABBDC - ldr r0, _080ABBC0 @ =gUnk_0812A7EC - b _080ABBC6 - .align 2, 0 -_080ABBC0: .4byte gUnk_0812A7EC -_080ABBC4: - ldr r0, _080ABBD8 @ =gUnk_0812A7F8 -_080ABBC6: - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 - b _080ABBEC - .align 2, 0 -_080ABBD8: .4byte gUnk_0812A7F8 -_080ABBDC: - ldr r0, _080ABBF0 @ =gUnk_0812A800 - ldrb r1, [r2, #0xc] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r2, #0 - bl _call_via_r1 -_080ABBEC: - pop {pc} - .align 2, 0 -_080ABBF0: .4byte gUnk_0812A800 - - thumb_func_start sub_080ABBF4 -sub_080ABBF4: @ 0x080ABBF4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080ABC52 - ldrb r0, [r4, #0xa] - cmp r0, #0 - blt _080ABC52 - cmp r0, #1 - ble _080ABC3E - cmp r0, #2 - bne _080ABC52 - movs r0, #0x3f - ands r0, r1 - cmp r0, #3 - beq _080ABC32 - cmp r0, #3 - bgt _080ABC24 - cmp r0, #0 - beq _080ABC2A - b _080ABC52 -_080ABC24: - cmp r0, #0x14 - beq _080ABC32 - b _080ABC52 -_080ABC2A: - movs r0, #4 - rsbs r0, r0, #0 - bl sub_080526A0 -_080ABC32: - adds r0, r4, #0 - bl sub_080A29BC - bl sub_0805E780 - b _080ABC52 -_080ABC3E: - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - bne _080ABC52 - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - bl sub_0805E780 -_080ABC52: - pop {r4, pc} - - thumb_func_start sub_080ABC54 -sub_080ABC54: @ 0x080ABC54 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F520 - cmp r0, #0 - bne _080ABC6E - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080ABC6E: - ldr r0, _080ABC80 @ =gUnk_0812A808 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080ABC80: .4byte gUnk_0812A808 - - thumb_func_start sub_080ABC84 -sub_080ABC84: @ 0x080ABC84 - movs r1, #2 - strb r1, [r0, #0xd] - bx lr - .align 2, 0 - - thumb_func_start nullsub_542 -nullsub_542: @ 0x080ABC8C - bx lr - .align 2, 0 - - thumb_func_start sub_080ABC90 -sub_080ABC90: @ 0x080ABC90 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F3E4 - cmp r0, #0 - beq _080ABCBE - movs r0, #2 - rsbs r0, r0, #0 - bl sub_080526A0 - ldr r0, _080ABCC0 @ =gUnk_03001160 - movs r1, #0x7a - bl sub_0800449C - bl sub_08079D84 - adds r0, r4, #0 - movs r1, #2 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080ABCBE: - pop {r4, pc} - .align 2, 0 -_080ABCC0: .4byte gUnk_03001160 - - thumb_func_start sub_080ABCC4 -sub_080ABCC4: @ 0x080ABCC4 - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0 - movs r0, #1 - strb r0, [r5, #0xc] - bl sub_08000E50 - movs r1, #0x3f - ands r0, r1 - adds r0, #0x30 - strb r0, [r5, #0xe] - strb r4, [r5, #0xf] - bl sub_08000E50 - movs r1, #0x1f - ands r0, r1 - strb r0, [r5, #0x15] - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldr r2, _080ABD3C @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r5, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r0, r5, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r0, [r0] - movs r1, #2 - bl sub_080002B0 - adds r1, r5, #0 - adds r1, #0x76 - strh r0, [r1] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - movs r1, #0 - bl sub_08004260 - ldr r0, _080ABD40 @ =0x0000014B - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_080ABD3C: .4byte gUnk_03000BF0 -_080ABD40: .4byte 0x0000014B - - thumb_func_start sub_080ABD44 -sub_080ABD44: @ 0x080ABD44 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080ABD60 - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_080ABD60: - adds r0, r4, #0 - bl sub_080AF090 - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080ABD70 -sub_080ABD70: @ 0x080ABD70 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_08004274 - adds r2, r5, #0 - adds r2, #0x5a - ldrb r1, [r2] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _080ABDEE - movs r0, #0xef - ands r0, r1 - movs r1, #0 - strb r0, [r2] - strh r1, [r5, #0x24] - movs r0, #0x2e - ldrsh r1, [r5, r0] - ldr r2, _080ABDDC @ =gUnk_03000BF0 - ldrh r0, [r2, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r4, #0x32 - ldrsh r0, [r5, r4] - ldrh r2, [r2, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - adds r4, r5, #0 - adds r4, #0x74 - strh r1, [r4] - ldrh r0, [r4] - movs r1, #2 - bl sub_080002B0 - adds r1, r5, #0 - adds r1, #0x76 - strh r0, [r1] - ldrh r1, [r1] - cmp r1, #0x13 - beq _080ABDE4 - ldr r0, _080ABDE0 @ =0x00000315 - cmp r1, r0 - bne _080ABDEE - ldrh r1, [r4] - movs r0, #0x6e - movs r2, #2 - bl sub_0807B314 - b _080ABDEE - .align 2, 0 -_080ABDDC: .4byte gUnk_03000BF0 -_080ABDE0: .4byte 0x00000315 -_080ABDE4: - ldrh r1, [r4] - movs r0, #0x6d - movs r2, #2 - bl sub_0807B314 -_080ABDEE: - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080ABE00 - bl sub_0805E780 -_080ABE00: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080ABE04 -sub_080ABE04: @ 0x080ABE04 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08000E50 - adds r5, r0, #0 - movs r0, #0xff - ands r5, r0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080ABE48 @ =0xFFFF0000 - str r0, [r4, #0x20] - ldrh r0, [r4, #0x36] - subs r0, #0xa0 - strh r0, [r4, #0x36] - ldr r3, _080ABE4C @ =gUnk_03000BF0 - ldrh r2, [r3, #6] - ldr r1, _080ABE50 @ =0x00007FF0 - adds r0, r1, #0 - ands r0, r2 - movs r2, #8 - orrs r0, r2 - strh r0, [r4, #0x2e] - ldrh r0, [r3, #8] - ands r1, r0 - orrs r1, r2 - strh r1, [r4, #0x32] - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0x10 - ands r0, r5 - cmp r0, #0 - beq _080ABE54 - adds r1, #0x10 - b _080ABE56 - .align 2, 0 -_080ABE48: .4byte 0xFFFF0000 -_080ABE4C: .4byte gUnk_03000BF0 -_080ABE50: .4byte 0x00007FF0 -_080ABE54: - adds r1, #0xc0 -_080ABE56: - movs r0, #0xe0 - ands r0, r5 - lsrs r0, r0, #1 - adds r0, r1, r0 - strh r0, [r4, #0x2e] - movs r0, #0xf - ands r5, r0 - lsls r0, r5, #4 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r0, r4, #0 - bl sub_08004168 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldr r0, _080ABE84 @ =0x0000012D - bl sub_080A3268 - pop {r4, r5, pc} - .align 2, 0 -_080ABE84: .4byte 0x0000012D - - thumb_func_start sub_080ABE88 -sub_080ABE88: @ 0x080ABE88 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xc0 - lsls r1, r1, #5 - bl sub_08003FC4 - cmp r0, #0 - bne _080ABEA6 - adds r0, r4, #0 - movs r1, #4 - movs r2, #0 - bl sub_080A29AC - bl sub_0805E780 -_080ABEA6: - pop {r4, pc} - - thumb_func_start sub_080ABEA8 -sub_080ABEA8: @ 0x080ABEA8 - push {r4, lr} - adds r4, r0, #0 - movs r2, #1 - strb r2, [r4, #0xc] - movs r0, #0x60 - strb r0, [r4, #0xe] - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - subs r0, #0x68 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r3] - strb r2, [r4, #0x1c] - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _080ABEDA - bl sub_08000E50 - movs r1, #0xf - ands r0, r1 - lsls r0, r0, #1 - strb r0, [r4, #0x15] - b _080ABEEC -_080ABEDA: - adds r0, r4, #0 - movs r1, #0 - bl sub_08049F84 - strb r0, [r4, #0x15] - ldr r1, _080ABEFC @ =0x0000013F - adds r0, r4, #0 - bl sub_0801D2B4 -_080ABEEC: - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldr r0, _080ABF00 @ =0x00000193 - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 -_080ABEFC: .4byte 0x0000013F -_080ABF00: .4byte 0x00000193 - - thumb_func_start sub_080ABF04 -sub_080ABF04: @ 0x080ABF04 - push {r4, lr} - adds r4, r0, #0 - bl sub_080040A8 - cmp r0, #0 - bne _080ABF14 - bl sub_0805E780 -_080ABF14: - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl sub_08004274 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080ABF24 -sub_080ABF24: @ 0x080ABF24 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080ABF3C @ =gUnk_0812A84C - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080ABF3C: .4byte gUnk_0812A84C - - thumb_func_start sub_080ABF40 -sub_080ABF40: @ 0x080ABF40 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080ABF66 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, _080ABFA0 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - ldr r0, _080ABFA4 @ =0x00000199 - bl sub_080A3268 -_080ABF66: - ldrh r2, [r4, #0x36] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #6 - rsbs r0, r0, #0 - cmp r1, r0 - bge _080ABF78 - adds r0, r2, #2 - strh r0, [r4, #0x36] -_080ABF78: - adds r0, r4, #0 - bl sub_080AF090 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _080ABF88 - bl sub_0805E780 -_080ABF88: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080ABF9C - bl sub_0805E780 -_080ABF9C: - pop {r4, pc} - .align 2, 0 -_080ABFA0: .4byte gUnk_03001160 -_080ABFA4: .4byte 0x00000199 - - thumb_func_start sub_080ABFA8 -sub_080ABFA8: @ 0x080ABFA8 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_080ABFB0 -sub_080ABFB0: @ 0x080ABFB0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080ABFC8 @ =gUnk_0812A954 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080ABFC8: .4byte gUnk_0812A954 - - thumb_func_start sub_080ABFCC -sub_080ABFCC: @ 0x080ABFCC - push {lr} - ldr r2, _080ABFE0 @ =gUnk_0812A968 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080ABFE0: .4byte gUnk_0812A968 - - thumb_func_start sub_080ABFE4 -sub_080ABFE4: @ 0x080ABFE4 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_080ABFEC -sub_080ABFEC: @ 0x080ABFEC - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xa] - adds r1, #1 - bl sub_08004260 - ldrb r1, [r4, #0xa] - cmp r1, #0 - beq _080AC030 - cmp r1, #1 - beq _080AC048 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - movs r0, #0xff - strb r0, [r4, #0xf] - ldr r1, _080AC028 @ =gUnk_0812A97C - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r4, #0x24] - adds r1, r4, #0 - adds r1, #0x44 - movs r0, #0x88 - strb r0, [r1] - ldr r0, _080AC02C @ =0x00000193 - b _080AC06A - .align 2, 0 -_080AC028: .4byte gUnk_0812A97C -_080AC02C: .4byte 0x00000193 -_080AC030: - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - movs r0, #7 - strb r0, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x85 - movs r0, #0x18 - strb r0, [r1] - subs r1, #0x41 - movs r0, #0x88 - b _080AC058 -_080AC048: - strb r1, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x85 - movs r0, #0x18 -_080AC058: - strb r0, [r1] - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C - ldrh r0, [r4, #0x36] - subs r0, #0x14 - strh r0, [r4, #0x36] - ldr r0, _080AC070 @ =0x00000149 -_080AC06A: - bl sub_080A3268 - pop {r4, pc} - .align 2, 0 -_080AC070: .4byte 0x00000149 - - thumb_func_start sub_080AC074 -sub_080AC074: @ 0x080AC074 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080AC084 - bl sub_0805E780 -_080AC084: - ldr r0, [r4, #0x50] - adds r1, r4, #0 - bl sub_0806FA6C - ldrh r0, [r4, #0x36] - subs r0, #0x14 - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x85 - ldrb r0, [r1] - cmp r0, #0 - beq _080AC0B2 - subs r0, #1 - strb r0, [r1] - movs r1, #0xff - ands r0, r1 - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _080AC0B2 - ldr r0, _080AC0E8 @ =0x00000149 - bl sub_080A3268 -_080AC0B2: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080AC0FE - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080AC0F0 - movs r0, #2 - strb r0, [r4, #0xc] - ldr r1, _080AC0EC @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - strb r0, [r4, #0x15] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - adds r0, #0x13 - bl sub_080A3268 - b _080AC0F8 - .align 2, 0 -_080AC0E8: .4byte 0x00000149 -_080AC0EC: .4byte gUnk_03001160 -_080AC0F0: - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0x10 - strb r0, [r4, #0xe] -_080AC0F8: - ldrh r0, [r4, #0x36] - subs r0, #0x28 - strh r0, [r4, #0x36] -_080AC0FE: - pop {r4, pc} - - thumb_func_start sub_080AC100 -sub_080AC100: @ 0x080AC100 - push {r4, lr} - adds r4, r0, #0 - ldrh r2, [r4, #0x36] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #6 - rsbs r0, r0, #0 - cmp r1, r0 - bge _080AC116 - adds r0, r2, #3 - strh r0, [r4, #0x36] -_080AC116: - adds r0, r4, #0 - bl sub_080AF090 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _080AC126 - bl sub_0805E780 -_080AC126: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080AC13A - bl sub_0805E780 -_080AC13A: - ldrb r0, [r4, #0xe] - cmp r0, #0x1d - bhi _080AC160 - adds r0, #1 - strb r0, [r4, #0xe] - movs r1, #0xff - ands r0, r1 - ldrb r1, [r4, #0xf] - ands r0, r1 - cmp r0, #0 - bne _080AC160 - ldr r1, _080AC164 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 -_080AC160: - pop {r4, pc} - .align 2, 0 -_080AC164: .4byte gUnk_03001160 - - thumb_func_start sub_080AC168 -sub_080AC168: @ 0x080AC168 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_08004274 - ldr r0, [r4, #0x34] - ldr r1, _080AC1C0 @ =0xFFFF8000 - adds r0, r0, r1 - str r0, [r4, #0x34] - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r6, r0, #0x18 - cmp r6, #0 - bne _080AC1F8 - movs r0, #4 - strb r0, [r4, #0xc] - strb r0, [r4, #0xe] - bl sub_08000E50 - adds r5, r0, #0 - movs r0, #7 - ands r5, r0 - ldr r0, _080AC1C4 @ =gUnk_0812A982 - adds r0, r5, r0 - ldrb r0, [r0] - strb r0, [r4, #0xf] - ldr r1, _080AC1C8 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_080045C4 - adds r1, r0, #0 - ldr r0, [r4, #0x50] - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #3 - bne _080AC1D0 - ldr r0, _080AC1CC @ =gUnk_0812A98A - adds r0, r5, r0 - ldrb r0, [r0] - subs r1, r1, r0 - strb r6, [r4, #0xb] - b _080AC1F2 - .align 2, 0 -_080AC1C0: .4byte 0xFFFF8000 -_080AC1C4: .4byte gUnk_0812A982 -_080AC1C8: .4byte gUnk_03001160 -_080AC1CC: .4byte gUnk_0812A98A -_080AC1D0: - cmp r0, #2 - bne _080AC1E4 - ldr r0, _080AC1E0 @ =gUnk_0812A98A - adds r0, r5, r0 - ldrb r0, [r0] - subs r1, r1, r0 - movs r0, #1 - b _080AC1F0 - .align 2, 0 -_080AC1E0: .4byte gUnk_0812A98A -_080AC1E4: - ldr r0, _080AC1FC @ =gUnk_0812A98A - adds r0, r5, r0 - ldrb r0, [r0] - lsrs r0, r0, #1 - subs r1, r1, r0 - movs r0, #2 -_080AC1F0: - strb r0, [r4, #0xb] -_080AC1F2: - movs r0, #0x1f - ands r1, r0 - strb r1, [r4, #0x15] -_080AC1F8: - pop {r4, r5, r6, pc} - .align 2, 0 -_080AC1FC: .4byte gUnk_0812A98A - - thumb_func_start sub_080AC200 -sub_080AC200: @ 0x080AC200 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08004274 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r5, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080AC270 - movs r0, #0x10 - strb r0, [r4, #0xe] - movs r0, #0x21 - bl sub_080A7EE0 - adds r1, r0, #0 - cmp r1, #0 - beq _080AC23C - movs r0, #2 - strb r0, [r1, #0xa] - ldrb r0, [r4, #0xb] - strb r0, [r1, #0xb] - ldrb r0, [r4, #0x15] - strb r0, [r1, #0x15] - ldr r0, [r4, #0x50] - str r0, [r1, #0x50] - adds r0, r4, #0 - bl sub_0806FA24 -_080AC23C: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r5 - cmp r0, #0 - bne _080AC24C - bl sub_0805E780 -_080AC24C: - ldr r0, [r4, #0x50] - adds r0, #0x84 - ldrb r0, [r0] - cmp r0, #3 - bne _080AC25C - ldrb r0, [r4, #0x15] - adds r0, #3 - b _080AC26A -_080AC25C: - cmp r0, #2 - bne _080AC266 - ldrb r0, [r4, #0x15] - adds r0, #3 - b _080AC26A -_080AC266: - ldrb r0, [r4, #0x15] - adds r0, #2 -_080AC26A: - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] -_080AC270: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AC274 -sub_080AC274: @ 0x080AC274 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080AC284 - bl sub_0805E780 -_080AC284: - ldr r1, _080AC2BC @ =gUnk_0812A994 - ldrb r0, [r4, #0xb] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080AC2C0 - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - b _080AC324 - .align 2, 0 -_080AC2BC: .4byte gUnk_0812A994 -_080AC2C0: - ldr r5, [r4, #0x50] - ldrb r2, [r5, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x19] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #2 - adds r3, r4, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r5, #0x19] - lsrs r0, r0, #6 - cmp r0, #3 - bne _080AC31C - adds r0, r5, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - bne _080AC31C - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - b _080AC322 -_080AC31C: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 -_080AC322: - strb r0, [r4, #0x10] -_080AC324: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AC328 -sub_080AC328: @ 0x080AC328 - push {lr} - ldr r2, _080AC33C @ =gUnk_0812A9A8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080AC33C: .4byte gUnk_0812A9A8 - - thumb_func_start sub_080AC340 -sub_080AC340: @ 0x080AC340 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080AC5E4 - cmp r0, #0 - beq _080AC380 - movs r2, #1 - movs r4, #1 - strb r4, [r5, #0xc] - movs r0, #0xc - strb r0, [r5, #0x1e] - ldrb r1, [r5, #0x18] - subs r0, #0x10 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - bl sub_08000E50 - ldr r1, _080AC384 @ =gUnk_0812A9B4 - ands r0, r4 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - adds r1, r5, #0 - adds r1, #0x7a - strh r0, [r1] - subs r1, #0x42 - movs r0, #2 - strb r0, [r1] - adds r0, r5, #0 - bl sub_080AC388 -_080AC380: - pop {r4, r5, pc} - .align 2, 0 -_080AC384: .4byte gUnk_0812A9B4 - - thumb_func_start sub_080AC388 -sub_080AC388: @ 0x080AC388 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - ldr r1, _080AC3E4 @ =gUnk_0812A9B8 - ldrb r0, [r5, #0xa] - adds r0, r0, r1 - ldrb r3, [r0] - ldr r0, [r5, #0x50] - mov sl, r0 - ldrb r0, [r0, #0x14] - movs r1, #0x80 - mov sb, r1 - mov r1, sb - eors r1, r0 - adds r6, r5, #0 - adds r6, #0x7c - ldrh r4, [r6] - lsrs r0, r4, #8 - subs r1, r1, r0 - adds r2, r5, #0 - adds r2, #0x7a - ldrh r7, [r2] - mov ip, r7 - movs r7, #0 - ldrsh r0, [r2, r7] - cmp r0, #0 - bge _080AC404 - subs r0, r1, r3 - movs r7, #0xff - mov r8, r7 - ands r0, r7 - cmp r0, #0x7f - bhi _080AC3E8 - movs r1, #0 - ldrsh r0, [r2, r1] - rsbs r0, r0, #0 - strh r0, [r2] - mov r2, sl - ldrb r0, [r2, #0x14] - mov r7, sb - eors r0, r7 - subs r0, r0, r3 - b _080AC422 - .align 2, 0 -_080AC3E4: .4byte gUnk_0812A9B8 -_080AC3E8: - mov r2, ip - adds r0, r4, r2 - strh r0, [r6] - adds r0, r1, r3 - mov r7, r8 - ands r0, r7 - cmp r0, #0x80 - bls _080AC45A - mov r1, sl - ldrb r0, [r1, #0x14] - mov r2, sb - eors r0, r2 - adds r0, r0, r3 - b _080AC44E -_080AC404: - adds r0, r1, r3 - movs r7, #0xff - mov r8, r7 - ands r0, r7 - cmp r0, #0x80 - bls _080AC432 - movs r1, #0 - ldrsh r0, [r2, r1] - rsbs r0, r0, #0 - strh r0, [r2] - mov r2, sl - ldrb r0, [r2, #0x14] - mov r7, sb - eors r0, r7 - adds r0, r0, r3 -_080AC422: - movs r1, #0xff - ands r0, r1 - lsls r0, r0, #8 - strh r0, [r6] - adds r0, r5, #0 - bl sub_080AC884 - b _080AC45A -_080AC432: - mov r2, ip - adds r0, r4, r2 - strh r0, [r6] - subs r0, r1, r3 - mov r7, r8 - ands r0, r7 - subs r0, #1 - cmp r0, #0x7e - bhi _080AC45A - mov r1, sl - ldrb r0, [r1, #0x14] - mov r2, sb - eors r0, r2 - subs r0, r0, r3 -_080AC44E: - movs r1, #0xff - ands r0, r1 - lsls r0, r0, #8 - movs r1, #0x80 - orrs r0, r1 - strh r0, [r6] -_080AC45A: - adds r0, r5, #0 - adds r0, #0x7c - ldrh r0, [r0] - lsrs r0, r0, #8 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_080AC6F0 - adds r0, r5, #0 - bl sub_080AC760 - adds r0, r5, #0 - bl sub_080AC7C4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080AC480 -sub_080AC480: @ 0x080AC480 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0xe] - cmp r1, #0 - beq _080AC4BE - ldr r0, [r4, #0x50] - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _080AC4A2 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x1d - strb r0, [r1] - b _080AC50A -_080AC4A2: - subs r0, r1, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080AC50A - adds r0, r4, #0 - adds r0, #0x3f - movs r1, #0x1c - strb r1, [r0] - movs r0, #0x8b - lsls r0, r0, #1 - bl sub_080A3268 - b _080AC50A -_080AC4BE: - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080AC4D6 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x3f - movs r0, #0x1d - strb r0, [r1] -_080AC4D6: - adds r1, r4, #0 - adds r1, #0x7c - ldrh r2, [r1] - adds r0, r4, #0 - adds r0, #0x7a - movs r3, #0 - ldrsh r0, [r0, r3] - cmp r0, #0 - ble _080AC4EE - movs r3, #0xc0 - lsls r3, r3, #2 - b _080AC4F0 -_080AC4EE: - ldr r3, _080AC50C @ =0xFFFFFD00 -_080AC4F0: - adds r0, r2, r3 - strh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080AC6F0 - adds r0, r4, #0 - bl sub_080AC760 - adds r0, r4, #0 - bl sub_080AC7C4 -_080AC50A: - pop {r4, pc} - .align 2, 0 -_080AC50C: .4byte 0xFFFFFD00 - - thumb_func_start sub_080AC510 -sub_080AC510: @ 0x080AC510 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080AC556 - movs r3, #1 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _080AC558 @ =gUnk_0812A9BA - ldrb r1, [r4, #0xa] - lsls r0, r1, #1 - adds r0, r0, r1 - ldrb r1, [r4, #0xb] - adds r0, r0, r1 - subs r0, #1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r4, #0x18] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldrh r1, [r4, #0xa] - movs r0, #0xc0 - lsls r0, r0, #2 - cmp r1, r0 - bne _080AC556 - ldr r0, _080AC55C @ =gUnk_080FD458 - str r0, [r4, #0x48] -_080AC556: - pop {r4, pc} - .align 2, 0 -_080AC558: .4byte gUnk_0812A9BA -_080AC55C: .4byte gUnk_080FD458 - - thumb_func_start sub_080AC560 -sub_080AC560: @ 0x080AC560 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x54] - ldr r0, [r5, #4] - cmp r0, #0 - bne _080AC570 - bl sub_0805E780 -_080AC570: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080AC5A6 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080AC590 - ldr r0, _080AC58C @ =gUnk_080FD168 - b _080AC592 - .align 2, 0 -_080AC58C: .4byte gUnk_080FD168 -_080AC590: - ldr r0, _080AC5DC @ =gUnk_080FD448 -_080AC592: - str r0, [r4, #0x48] - movs r0, #0xff - strb r0, [r4, #0x1e] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] -_080AC5A6: - adds r0, r4, #0 - adds r0, #0x79 - ldrb r2, [r0] - lsls r2, r2, #8 - ldr r3, _080AC5E0 @ =gUnk_080C9160 - ldrb r0, [r5, #0x15] - lsls r0, r0, #1 - adds r0, r0, r3 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r2, r1 - ldr r0, [r5, #0x2c] - adds r0, r0, r1 - str r0, [r4, #0x2c] - ldrb r0, [r5, #0x15] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r3 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r2, r1 - ldr r0, [r5, #0x30] - subs r0, r0, r1 - str r0, [r4, #0x30] - pop {r4, r5, pc} - .align 2, 0 -_080AC5DC: .4byte gUnk_080FD448 -_080AC5E0: .4byte gUnk_080C9160 - - thumb_func_start sub_080AC5E4 -sub_080AC5E4: @ 0x080AC5E4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - ldrb r4, [r5, #0xa] - cmp r4, #0 - bne _080AC668 - ldr r0, _080AC664 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x43 - bhi _080AC670 - adds r1, r5, #0 - adds r1, #0x79 - movs r0, #0x11 - strb r0, [r1] - movs r0, #0x22 - bl sub_080A7EE0 - adds r6, r0, #0 - ldrb r0, [r5, #0xa] - strb r0, [r6, #0xa] - movs r0, #1 - strb r0, [r6, #0xb] - ldr r0, [r5, #0x50] - str r0, [r6, #0x50] - adds r1, r6, #0 - adds r1, #0x79 - movs r0, #0x12 - strb r0, [r1] - str r6, [r5, #0x54] - movs r0, #0x22 - bl sub_080A7EE0 - adds r7, r0, #0 - ldrb r0, [r5, #0xa] - strb r0, [r7, #0xa] - movs r0, #2 - strb r0, [r7, #0xb] - ldr r0, [r5, #0x50] - str r0, [r7, #0x50] - adds r0, r7, #0 - adds r0, #0x79 - movs r1, #0x14 - mov r8, r1 - mov r1, r8 - strb r1, [r0] - str r7, [r6, #0x54] - movs r0, #0x22 - bl sub_080A7EE0 - ldrb r1, [r5, #0xa] - strb r1, [r0, #0xa] - movs r1, #3 - strb r1, [r0, #0xb] - ldr r1, [r5, #0x50] - str r1, [r0, #0x50] - str r4, [r0, #0x54] - adds r1, r0, #0 - adds r1, #0x79 - strb r4, [r1] - str r0, [r7, #0x54] - b _080AC6C8 - .align 2, 0 -_080AC664: .4byte gUnk_03003DBC -_080AC668: - ldr r0, _080AC674 @ =gUnk_03003DBC - ldrb r0, [r0] - cmp r0, #0x44 - bls _080AC678 -_080AC670: - movs r0, #0 - b _080AC6E8 - .align 2, 0 -_080AC674: .4byte gUnk_03003DBC -_080AC678: - adds r1, r5, #0 - adds r1, #0x79 - movs r0, #0 - mov sb, r0 - movs r0, #0xf - strb r0, [r1] - movs r0, #0x22 - bl sub_080A7EE0 - adds r6, r0, #0 - ldrb r0, [r5, #0xa] - strb r0, [r6, #0xa] - movs r0, #1 - strb r0, [r6, #0xb] - ldr r0, [r5, #0x50] - str r0, [r6, #0x50] - adds r0, r6, #0 - adds r0, #0x79 - movs r1, #0x10 - mov r8, r1 - mov r1, r8 - strb r1, [r0] - str r6, [r5, #0x54] - movs r0, #0x22 - bl sub_080A7EE0 - adds r7, r0, #0 - ldrb r0, [r5, #0xa] - strb r0, [r7, #0xa] - movs r0, #2 - strb r0, [r7, #0xb] - ldr r0, [r5, #0x50] - str r0, [r7, #0x50] - mov r0, sb - str r0, [r7, #0x54] - adds r1, r7, #0 - adds r1, #0x79 - movs r0, #0x20 - strb r0, [r1] - str r7, [r6, #0x54] -_080AC6C8: - movs r0, #0x22 - bl sub_080A7EE0 - adds r6, r0, #0 - ldrb r0, [r5, #0xa] - strb r0, [r6, #0xa] - movs r0, #4 - strb r0, [r6, #0xb] - ldr r0, [r5, #0x50] - str r0, [r6, #0x50] - str r5, [r6, #0x54] - adds r0, r6, #0 - adds r0, #0x79 - mov r1, r8 - strb r1, [r0] - movs r0, #1 -_080AC6E8: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080AC6F0 -sub_080AC6F0: @ 0x080AC6F0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - movs r2, #0x1f - ands r2, r0 - lsrs r0, r0, #5 - lsls r1, r0, #1 - adds r3, r1, r0 - ldr r1, _080AC724 @ =gUnk_0812A9C0 - ldrb r0, [r4, #0x14] - adds r0, r0, r1 - ldrb r0, [r0] - subs r0, r0, r3 - adds r5, r1, #0 - cmp r0, #3 - bhi _080AC73A - cmp r0, #1 - beq _080AC72E - cmp r0, #1 - blo _080AC728 - cmp r0, #2 - beq _080AC732 - cmp r2, #0x19 - bhi _080AC75C - b _080AC73A - .align 2, 0 -_080AC724: .4byte gUnk_0812A9C0 -_080AC728: - cmp r2, #6 - bls _080AC75C - b _080AC73A -_080AC72E: - subs r0, r2, #5 - b _080AC736 -_080AC732: - adds r0, r2, #0 - subs r0, #0xf -_080AC736: - cmp r0, #0xc - bls _080AC75C -_080AC73A: - adds r0, r3, #3 - cmp r2, #0x1a - bhi _080AC74E - adds r0, r3, #2 - cmp r2, #0x10 - bhi _080AC74E - adds r0, r3, #0 - cmp r2, #5 - bls _080AC74E - adds r0, #1 -_080AC74E: - movs r1, #0x18 - bl __modsi3 - strb r0, [r4, #0x14] - adds r0, r0, r5 - ldrb r0, [r0] - strb r0, [r4, #0x1e] -_080AC75C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AC760 -sub_080AC760: @ 0x080AC760 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r4, [r6, #0x54] - ldrb r0, [r4, #0x15] - ldrb r3, [r6, #0x15] - subs r2, r0, r3 - movs r1, #0xff - ands r2, r1 - adds r0, r2, #0 - adds r0, #8 - ands r0, r1 - cmp r0, #0x10 - ble _080AC78A - cmp r2, #0x80 - ble _080AC784 - adds r0, r3, #0 - subs r0, #8 - b _080AC788 -_080AC784: - adds r0, r3, #0 - adds r0, #8 -_080AC788: - strb r0, [r4, #0x15] -_080AC78A: - ldr r5, [r4, #0x54] - ldr r0, [r5, #0x54] - cmp r0, #0 - bne _080AC79C - ldr r0, [r6, #0x50] - ldrb r0, [r0, #0x14] - movs r1, #0x80 - eors r0, r1 - b _080AC7BE -_080AC79C: - ldrb r0, [r5, #0x15] - ldrb r3, [r4, #0x15] - subs r2, r0, r3 - movs r1, #0xff - ands r2, r1 - adds r0, r2, #0 - adds r0, #8 - ands r0, r1 - cmp r0, #0x10 - ble _080AC7C0 - cmp r2, #0x80 - ble _080AC7BA - adds r0, r3, #0 - subs r0, #8 - b _080AC7BE -_080AC7BA: - adds r0, r3, #0 - adds r0, #8 -_080AC7BE: - strb r0, [r5, #0x15] -_080AC7C0: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080AC7C4 -sub_080AC7C4: @ 0x080AC7C4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - ldr r0, [r4, #0x54] - mov r8, r0 - ldr r7, [r0, #0x54] - ldr r5, [r7, #0x54] - cmp r5, #0 - beq _080AC7E4 - ldr r0, [r4, #0x50] - adds r1, r5, #0 - bl sub_0806FA24 - b _080AC7E6 -_080AC7E4: - ldr r5, [r4, #0x50] -_080AC7E6: - adds r0, r7, #0 - adds r0, #0x79 - ldrb r2, [r0] - lsls r2, r2, #8 - ldr r3, _080AC880 @ =gUnk_080C9160 - mov sb, r3 - ldrb r1, [r7, #0x15] - lsls r0, r1, #1 - add r0, sb - movs r3, #0 - ldrsh r0, [r0, r3] - adds r6, r0, #0 - muls r6, r2, r6 - adds r1, #0x40 - lsls r1, r1, #1 - add r1, sb - movs r3, #0 - ldrsh r0, [r1, r3] - muls r0, r2, r0 - rsbs r3, r0, #0 - adds r0, r5, #0 - adds r1, r7, #0 - adds r2, r6, #0 - bl sub_0806FA48 - mov r0, r8 - adds r0, #0x79 - ldrb r2, [r0] - lsls r2, r2, #8 - mov r0, r8 - ldrb r1, [r0, #0x15] - lsls r0, r1, #1 - add r0, sb - movs r3, #0 - ldrsh r0, [r0, r3] - adds r6, r0, #0 - muls r6, r2, r6 - adds r1, #0x40 - lsls r1, r1, #1 - add r1, sb - movs r3, #0 - ldrsh r0, [r1, r3] - muls r0, r2, r0 - rsbs r3, r0, #0 - adds r0, r7, #0 - mov r1, r8 - adds r2, r6, #0 - bl sub_0806FA48 - adds r0, r4, #0 - adds r0, #0x79 - ldrb r2, [r0] - lsls r2, r2, #8 - ldrb r1, [r4, #0x15] - lsls r0, r1, #1 - add r0, sb - movs r3, #0 - ldrsh r0, [r0, r3] - adds r6, r0, #0 - muls r6, r2, r6 - adds r1, #0x40 - lsls r1, r1, #1 - add r1, sb - movs r3, #0 - ldrsh r0, [r1, r3] - muls r0, r2, r0 - rsbs r3, r0, #0 - mov r0, r8 - adds r1, r4, #0 - adds r2, r6, #0 - bl sub_0806FA48 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080AC880: .4byte gUnk_080C9160 - - thumb_func_start sub_080AC884 -sub_080AC884: @ 0x080AC884 - push {lr} - adds r1, r0, #0 - ldr r0, [r1, #0x50] - adds r2, r0, #0 - adds r2, #0x72 - ldrh r0, [r2] - cmp r0, #0 - beq _080AC8A4 - movs r0, #0 - strh r0, [r2] - movs r0, #2 - strb r0, [r1, #0xc] - movs r0, #0x3c - strb r0, [r1, #0xe] - movs r0, #0x56 - strb r0, [r1, #0xf] -_080AC8A4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080AC8A8 -sub_080AC8A8: @ 0x080AC8A8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080AC8C0 @ =gUnk_0812A9D8 - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080AC8C0: .4byte gUnk_0812A9D8 - - thumb_func_start sub_080AC8C4 -sub_080AC8C4: @ 0x080AC8C4 - push {lr} - ldr r2, _080AC8D8 @ =gUnk_0812A9EC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080AC8D8: .4byte gUnk_0812A9EC - - thumb_func_start sub_080AC8DC -sub_080AC8DC: @ 0x080AC8DC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - blt _080AC8FE - cmp r1, #3 - ble _080AC8F8 - cmp r1, #0x1f - bgt _080AC8FE - cmp r1, #0x1e - blt _080AC8FE -_080AC8F8: - bl sub_0805E780 - b _080AC920 -_080AC8FE: - ldrb r0, [r4, #0xc] - cmp r0, #3 - beq _080AC920 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrh r0, [r4, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x11 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_080AC920: - adds r0, r4, #0 - bl sub_080AC8C4 - pop {r4, pc} - - thumb_func_start sub_080AC928 -sub_080AC928: @ 0x080AC928 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08016A04 - adds r0, r4, #0 - movs r1, #0 - bl sub_08004260 - adds r0, r4, #0 - bl sub_080AC954 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AC954 -sub_080AC954: @ 0x080AC954 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x50] - ldr r0, [r0, #4] - cmp r0, #0 - bne _080AC964 - bl sub_0805E780 -_080AC964: - ldr r0, [r5, #0x50] - ldrb r3, [r0, #0x14] - ldr r4, _080AC9C4 @ =gUnk_080C9160 - lsls r1, r3, #1 - adds r1, r1, r4 - movs r2, #0 - ldrsh r1, [r1, r2] - lsls r2, r1, #2 - adds r2, r2, r1 - lsls r2, r2, #0xb - adds r3, #0x40 - lsls r3, r3, #1 - adds r3, r3, r4 - movs r4, #0 - ldrsh r1, [r3, r4] - lsls r3, r1, #2 - adds r3, r3, r1 - lsls r3, r3, #0xb - rsbs r3, r3, #0 - adds r1, r5, #0 - bl sub_0806FA48 - adds r0, r5, #0 - bl sub_08004274 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080AC9C0 - movs r0, #2 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r5, #0x10] - ldr r1, _080AC9C8 @ =gUnk_03001160 - adds r0, r5, #0 - bl sub_080045C4 - strb r0, [r5, #0x15] - movs r0, #0x97 - lsls r0, r0, #1 - bl sub_080A3268 -_080AC9C0: - pop {r4, r5, pc} - .align 2, 0 -_080AC9C4: .4byte gUnk_080C9160 -_080AC9C8: .4byte gUnk_03001160 - - thumb_func_start sub_080AC9CC -sub_080AC9CC: @ 0x080AC9CC - push {r4, lr} - adds r4, r0, #0 - bl sub_080AF090 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080AC9E8 - bl sub_0805E780 -_080AC9E8: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080ACA10 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldrh r0, [r4, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x11 - strh r0, [r4, #0x24] - adds r0, r4, #0 - movs r1, #1 - bl sub_08004260 -_080ACA10: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080ACA14 -sub_080ACA14: @ 0x080ACA14 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AF090 - adds r0, r4, #0 - bl sub_08004274 - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080ACA32 - bl sub_0805E780 -_080ACA32: - pop {r4, pc} - - thumb_func_start sub_080ACA34 -sub_080ACA34: @ 0x080ACA34 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _080ACA4C @ =gUnk_0812AA5C - bl sub_0800279C - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_080ACA4C: .4byte gUnk_0812AA5C - - thumb_func_start sub_080ACA50 -sub_080ACA50: @ 0x080ACA50 - push {lr} - ldr r2, _080ACA64 @ =gUnk_0812AA74 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080ACA64: .4byte gUnk_0812AA74 - - thumb_func_start sub_080ACA68 -sub_080ACA68: @ 0x080ACA68 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0xc - bgt _080ACA82 - cmp r1, #0xa - bge _080ACA86 - cmp r1, #6 - beq _080ACA86 - b _080ACAC0 -_080ACA82: - cmp r1, #0x1a - bne _080ACAC0 -_080ACA86: - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r1, #0x80 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r1, [r4, #0x24] - adds r0, r0, r1 - strh r0, [r4, #0x24] - ldr r0, [r4, #0x4c] - str r0, [r4, #0x54] - adds r0, r4, #0 - bl sub_080ACB40 - cmp r0, #0 - beq _080ACAB0 - movs r0, #0 - b _080ACAB6 -_080ACAB0: - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] -_080ACAB6: - strb r0, [r4, #0x15] - movs r0, #0xd8 - bl sub_080A3268 - b _080ACAC4 -_080ACAC0: - bl sub_0805E780 -_080ACAC4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080ACAC8 -sub_080ACAC8: @ 0x080ACAC8 - push {lr} - movs r2, #0 - movs r1, #1 - strb r1, [r0, #0xc] - movs r1, #0x10 - strb r1, [r0, #0x15] - ldr r1, _080ACAE8 @ =0x0000FFFC - strh r1, [r0, #0x36] - str r2, [r0, #0x54] - movs r1, #7 - bl sub_08004260 - ldr r0, _080ACAEC @ =0x00000199 - bl sub_080A3268 - pop {pc} - .align 2, 0 -_080ACAE8: .4byte 0x0000FFFC -_080ACAEC: .4byte 0x00000199 - - thumb_func_start sub_080ACAF0 -sub_080ACAF0: @ 0x080ACAF0 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AF090 - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080ACB0C - bl sub_0805E780 -_080ACB0C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080ACB10 -sub_080ACB10: @ 0x080ACB10 - push {r4, lr} - adds r4, r0, #0 - bl sub_080AF090 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _080ACB22 - bl sub_0805E780 -_080ACB22: - adds r0, r4, #0 - bl sub_08004274 - adds r0, r4, #0 - bl sub_080ACB90 - adds r0, r4, #0 - bl sub_080A7EB0 - cmp r0, #0 - beq _080ACB3C - bl sub_0805E780 -_080ACB3C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080ACB40 -sub_080ACB40: @ 0x080ACB40 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x50] - ldr r1, [r0, #0x50] - ldr r3, [r2, #0x54] - ldr r0, [r1, #0x64] - ldr r0, [r0, #0x1c] - ldr r0, [r0, #0x54] - cmp r0, r2 - beq _080ACB5A - ldr r0, [r0, #0x54] - cmp r3, r0 - beq _080ACB86 -_080ACB5A: - ldr r1, [r1, #0x64] - ldr r0, [r1, #0x20] - ldr r0, [r0, #0x54] - cmp r0, r2 - beq _080ACB6A - ldr r0, [r0, #0x54] - cmp r3, r0 - beq _080ACB86 -_080ACB6A: - ldr r0, [r1, #0x24] - ldr r0, [r0, #0x54] - cmp r0, r2 - beq _080ACB78 - ldr r0, [r0, #0x54] - cmp r3, r0 - beq _080ACB86 -_080ACB78: - ldr r0, [r1, #0x28] - ldr r0, [r0, #0x54] - cmp r0, r2 - beq _080ACB8A - ldr r0, [r0, #0x54] - cmp r3, r0 - bne _080ACB8A -_080ACB86: - movs r0, #0 - b _080ACB8C -_080ACB8A: - movs r0, #1 -_080ACB8C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080ACB90 -sub_080ACB90: @ 0x080ACB90 - push {r4, lr} - adds r2, r0, #0 - ldr r3, [r2, #0x50] - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r4, #0x2e - ldrsh r0, [r3, r4] - cmp r1, r0 - bne _080ACBC6 - movs r0, #0x32 - ldrsh r1, [r2, r0] - movs r4, #0x32 - ldrsh r0, [r3, r4] - cmp r1, r0 - bgt _080ACBC6 - movs r0, #1 - strb r0, [r3, #0xf] - adds r0, r2, #0 - movs r1, #0x1f - movs r2, #0x40 - bl sub_080A29AC - ldr r0, _080ACBC8 @ =0x00000119 - bl sub_08004488 - bl sub_0805E780 -_080ACBC6: - pop {r4, pc} - .align 2, 0 -_080ACBC8: .4byte 0x00000119 - - thumb_func_start sub_080ACBCC -sub_080ACBCC: @ 0x080ACBCC - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080ACBFC @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0x7f - ands r0, r1 - cmp r0, #1 - beq _080ACBE0 - bl sub_0805E780 -_080ACBE0: - ldr r1, _080ACC00 @ =gUnk_0812AA80 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0 - strb r0, [r1] - pop {r4, pc} - .align 2, 0 -_080ACBFC: .4byte gUnk_03003F80 -_080ACC00: .4byte gUnk_0812AA80 - - thumb_func_start sub_080ACC04 -sub_080ACC04: @ 0x080ACC04 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080ACC54 @ =gUnk_03001160 - adds r0, #0x3b - ldrb r0, [r0] - adds r1, r4, #0 - adds r1, #0x3b - strb r0, [r1] - ldrb r0, [r4, #0x14] - lsls r0, r0, #2 - strb r0, [r4, #0x15] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrb r1, [r4, #0x10] - movs r0, #0xa0 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #2 - strb r0, [r1] - ldr r1, _080ACC58 @ =gUnk_0812AAD8 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - str r0, [r4, #0x48] - movs r0, #0x10 - str r0, [r4, #0x70] - adds r0, r4, #0 - bl sub_080ACDB0 - adds r0, r4, #0 - bl sub_0801766C - pop {r4, pc} - .align 2, 0 -_080ACC54: .4byte gUnk_03001160 -_080ACC58: .4byte gUnk_0812AAD8 - - thumb_func_start sub_080ACC5C -sub_080ACC5C: @ 0x080ACC5C - push {r4, lr} - adds r4, r0, #0 - bl sub_080ACDB0 - cmp r0, #0 - bne _080ACC74 - adds r0, r4, #0 - bl sub_080ACC78 - adds r0, r4, #0 - bl sub_080ACECC -_080ACC74: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080ACC78 -sub_080ACC78: @ 0x080ACC78 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r2, [r4, #0xa] - ldr r0, _080ACD20 @ =gUnk_030010A0 - ldr r0, [r0] - adds r0, r2, r0 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _080ACCF8 - ldr r0, _080ACD24 @ =gUnk_0812AAAC - lsls r1, r2, #2 - adds r1, r1, r0 - ldr r7, [r1] - ldr r0, [r4, #0x74] - adds r0, r7, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080ACCA4 - str r0, [r4, #0x74] -_080ACCA4: - ldr r0, [r4, #0x74] - adds r0, r7, r0 - movs r2, #0 - ldrsb r2, [r0, r2] - movs r3, #1 - ldrsb r3, [r0, r3] - adds r0, r4, #0 - movs r1, #0xe - bl sub_08008782 - adds r5, r0, #0 - cmp r5, #0 - beq _080ACCF2 - ldrb r1, [r5, #5] - ldrb r2, [r5, #2] - movs r0, #0x11 - bl sub_080A2960 - adds r6, r0, #0 - cmp r6, #0 - beq _080ACCF2 - ldrb r0, [r5, #3] - strb r0, [r6, #0xe] - ldr r0, [r4, #0x74] - adds r0, r7, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x2e] - adds r0, r0, r1 - strh r0, [r6, #0x2e] - ldr r0, [r4, #0x74] - adds r0, r0, r7 - ldrb r0, [r0, #1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r4, #0x32] - adds r0, r0, r1 - strh r0, [r6, #0x32] -_080ACCF2: - ldr r0, [r4, #0x74] - adds r0, #2 - str r0, [r4, #0x74] -_080ACCF8: - ldr r2, [r4, #0x54] - cmp r2, #0 - bne _080ACD08 - ldr r0, [r4, #0x70] - cmp r0, #2 - bls _080ACD08 - movs r0, #1 - str r0, [r4, #0x70] -_080ACD08: - ldr r0, [r4, #0x70] - subs r0, #1 - str r0, [r4, #0x70] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - bne _080ACDAE - cmp r2, #0 - bne _080ACD28 - movs r0, #2 - b _080ACD32 - .align 2, 0 -_080ACD20: .4byte gUnk_030010A0 -_080ACD24: .4byte gUnk_0812AAAC -_080ACD28: - ldr r0, _080ACD74 @ =gUnk_0812AABC - ldrb r1, [r4, #0xa] - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] -_080ACD32: - str r0, [r4, #0x70] - movs r0, #0x17 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r6, r0, #0 - cmp r6, #0 - beq _080ACDAE - bl sub_08000E50 - adds r2, r0, #0 - movs r0, #0xf - ands r2, r0 - ldr r3, [r4, #0x48] - ldrb r1, [r3, #6] - cmp r1, r2 - bge _080ACD58 - adds r2, r1, #0 -_080ACD58: - movs r0, #1 - ands r0, r2 - cmp r0, #0 - beq _080ACD62 - rsbs r2, r2, #0 -_080ACD62: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - cmp r0, #1 - beq _080ACD9C - cmp r0, #1 - bgt _080ACD78 - cmp r0, #0 - beq _080ACD82 - b _080ACDAE - .align 2, 0 -_080ACD74: .4byte gUnk_0812AABC -_080ACD78: - cmp r0, #2 - beq _080ACD8C - cmp r0, #3 - beq _080ACDA2 - b _080ACDAE -_080ACD82: - ldrb r0, [r3, #7] - ldrh r1, [r4, #0x32] - subs r1, r1, r0 - strh r1, [r6, #0x32] - b _080ACD94 -_080ACD8C: - ldrh r0, [r4, #0x32] - ldrb r3, [r3, #7] - adds r0, r0, r3 - strh r0, [r6, #0x32] -_080ACD94: - ldrh r0, [r4, #0x2e] - adds r0, r0, r2 - strh r0, [r6, #0x2e] - b _080ACDAE -_080ACD9C: - ldrh r0, [r4, #0x2e] - adds r0, r0, r1 - b _080ACDA6 -_080ACDA2: - ldrh r0, [r4, #0x2e] - subs r0, r0, r1 -_080ACDA6: - strh r0, [r6, #0x2e] - ldrh r0, [r4, #0x32] - adds r0, r0, r2 - strh r0, [r6, #0x32] -_080ACDAE: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080ACDB0 -sub_080ACDB0: @ 0x080ACDB0 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080ACDE8 - ldr r2, _080ACDE0 @ =gUnk_03001160 - ldr r1, _080ACDE4 @ =gUnk_08126EE4 - ldrb r0, [r4, #0x14] - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r3, [r2, #0x2e] - adds r0, r0, r3 - strh r0, [r4, #0x2e] - ldrb r0, [r4, #0x14] - adds r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r2, [r2, #0x32] - adds r0, r0, r2 - b _080ACEB4 - .align 2, 0 -_080ACDE0: .4byte gUnk_03001160 -_080ACDE4: .4byte gUnk_08126EE4 -_080ACDE8: - ldrb r2, [r4, #0x14] - movs r0, #2 - ands r0, r2 - cmp r0, #0 - beq _080ACE48 - ldr r0, [r4, #0x50] - ldrh r1, [r0, #0x32] - subs r1, #3 - strh r1, [r4, #0x32] - movs r1, #4 - ands r1, r2 - adds r3, r0, #0 - cmp r1, #0 - beq _080ACE20 - movs r0, #0x2e - ldrsh r7, [r3, r0] - movs r0, #0x2e - ldrsh r6, [r4, r0] - ldr r1, _080ACE1C @ =gUnk_0812AAE8 - ldrb r2, [r4, #0xa] - adds r0, r2, r1 - ldrb r0, [r0] - rsbs r5, r0, #0 - adds r0, r1, #0 - b _080ACE30 - .align 2, 0 -_080ACE1C: .4byte gUnk_0812AAE8 -_080ACE20: - movs r0, #0x2e - ldrsh r6, [r3, r0] - movs r0, #0x2e - ldrsh r7, [r4, r0] - ldr r0, _080ACE44 @ =gUnk_0812AAE8 - ldrb r2, [r4, #0xa] - adds r1, r2, r0 - ldrb r5, [r1] -_080ACE30: - subs r1, r7, r6 - str r1, [r4, #0x78] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, r1 - bhi _080ACE90 - ldrh r0, [r3, #0x2e] - adds r0, r0, r5 - strh r0, [r4, #0x2e] - b _080ACEB6 - .align 2, 0 -_080ACE44: .4byte gUnk_0812AAE8 -_080ACE48: - ldr r1, [r4, #0x50] - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x2e] - movs r0, #4 - ands r0, r2 - adds r3, r1, #0 - cmp r0, #0 - beq _080ACE70 - movs r0, #0x32 - ldrsh r6, [r3, r0] - movs r0, #0x32 - ldrsh r7, [r4, r0] - ldr r0, _080ACE6C @ =gUnk_0812AAE8 - ldrb r2, [r4, #0xa] - adds r1, r2, r0 - ldrb r5, [r1] - b _080ACE84 - .align 2, 0 -_080ACE6C: .4byte gUnk_0812AAE8 -_080ACE70: - movs r0, #0x32 - ldrsh r7, [r3, r0] - movs r0, #0x32 - ldrsh r6, [r4, r0] - ldr r1, _080ACEAC @ =gUnk_0812AAE8 - ldrb r2, [r4, #0xa] - adds r0, r2, r1 - ldrb r0, [r0] - rsbs r5, r0, #0 - adds r0, r1, #0 -_080ACE84: - subs r1, r7, r6 - str r1, [r4, #0x78] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, r1 - bls _080ACEB0 -_080ACE90: - subs r0, r0, r1 - lsls r1, r0, #8 - strh r1, [r4, #0x24] - lsls r0, r0, #0x18 - asrs r0, r0, #0x10 - movs r1, #0x80 - lsls r1, r1, #2 - cmp r0, r1 - ble _080ACEA4 - strh r1, [r4, #0x24] -_080ACEA4: - adds r0, r4, #0 - bl sub_080AEFB4 - b _080ACEB6 - .align 2, 0 -_080ACEAC: .4byte gUnk_0812AAE8 -_080ACEB0: - ldrh r0, [r3, #0x32] - adds r0, r0, r5 -_080ACEB4: - strh r0, [r4, #0x32] -_080ACEB6: - ldr r0, _080ACEC8 @ =gUnk_03001160 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - movs r0, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080ACEC8: .4byte gUnk_03001160 - - thumb_func_start sub_080ACECC -sub_080ACECC: @ 0x080ACECC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bhi _080ACF0C - ldr r0, [r4, #0x54] - cmp r0, #0 - bne _080ACF0C - ldr r2, [r4, #0x78] - cmp r2, #0 - blt _080ACF0C - ldr r0, _080ACF10 @ =gUnk_0812AAE8 - ldrb r1, [r4, #0xa] - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, r2 - bhi _080ACF0C - adds r1, #1 - movs r0, #0x10 - movs r2, #0 - movs r3, #0 - bl sub_08077CB8 - adds r1, r0, #0 - cmp r1, #0 - beq _080ACF0C - str r4, [r1, #0x50] - str r1, [r4, #0x54] - ldrh r0, [r4, #0x2e] - strh r0, [r1, #0x2e] - ldrh r0, [r4, #0x32] - strh r0, [r1, #0x32] -_080ACF0C: - pop {r4, pc} - .align 2, 0 -_080ACF10: .4byte gUnk_0812AAE8 - - thumb_func_start sub_080ACF14 -sub_080ACF14: @ 0x080ACF14 - push {lr} - ldr r2, _080ACF28 @ =gUnk_081320A8 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080ACF28: .4byte gUnk_081320A8 - - thumb_func_start sub_080ACF2C -sub_080ACF2C: @ 0x080ACF2C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldr r0, _080ACF60 @ =gUnk_081320E4 - str r0, [r4, #0x48] - ldr r5, [r4, #0x54] - adds r6, r5, #0 - cmp r5, #0 - beq _080ACF64 - ldr r0, [r5, #0x2c] - str r0, [r4, #0x2c] - ldr r0, [r5, #0x30] - str r0, [r4, #0x30] - ldr r0, [r5, #0x34] - str r0, [r4, #0x34] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - ldrb r0, [r5, #0x16] - strb r0, [r4, #0x16] - b _080ACFB6 - .align 2, 0 -_080ACF60: .4byte gUnk_081320E4 -_080ACF64: - adds r5, r4, #0 - str r4, [r4, #0x54] - movs r0, #2 - strb r0, [r4, #0xc] - ldr r3, _080ACFC8 @ =gUnk_081320B8 - ldrb r0, [r4, #0xf] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r0, #1] - movs r0, #0xf - ands r1, r0 - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - strb r6, [r4, #0x16] - ldrb r0, [r4, #0xf] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r0, #2] - adds r0, r4, #0 - adds r0, #0x60 - strh r1, [r0] - ldrb r0, [r4, #0xf] - lsls r0, r0, #2 - adds r0, r0, r3 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_08004260 - bl sub_08078D60 -_080ACFB6: - ldrb r1, [r5, #8] - adds r0, r4, #0 - adds r0, #0x6c - strh r1, [r0] - ldrb r1, [r5, #9] - adds r0, #2 - strh r1, [r0] - pop {r4, r5, r6, pc} - .align 2, 0 -_080ACFC8: .4byte gUnk_081320B8 - - thumb_func_start sub_080ACFCC -sub_080ACFCC: @ 0x080ACFCC - push {r4, lr} - adds r4, r0, #0 - ldr r1, [r4, #0x54] - adds r0, #0x6c - ldrh r0, [r0] - ldrb r2, [r1, #8] - cmp r0, r2 - beq _080ACFE8 - adds r0, r4, #0 - adds r0, #0x6e - ldrh r0, [r0] - ldrb r2, [r1, #9] - cmp r0, r2 - bne _080AD034 -_080ACFE8: - ldrb r0, [r1, #0xc] - cmp r0, #2 - beq _080ACFF8 - bl sub_08079184 - bl sub_0805E780 - b _080AD03C -_080ACFF8: - ldr r0, _080AD02C @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - beq _080AD00E - ldr r0, _080AD030 @ =gUnk_03001160 - adds r0, #0x79 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _080AD03C -_080AD00E: - adds r0, r4, #0 - bl sub_080AD27C - ldrb r0, [r4, #0xd] - adds r0, #1 - movs r2, #0 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - movs r0, #0xff - strb r0, [r4, #0x15] - str r2, [r4, #0x20] - b _080AD03C - .align 2, 0 -_080AD02C: .4byte gUnk_03003F80 -_080AD030: .4byte gUnk_03001160 -_080AD034: - bl sub_08079184 - bl sub_0805E780 -_080AD03C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AD040 -sub_080AD040: @ 0x080AD040 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, [r4, #0x54] - ldrb r0, [r5, #0xc] - cmp r0, #2 - beq _080AD050 - bl sub_0805E780 -_080AD050: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r3, #0x80 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _080AD064 - movs r0, #0 - str r0, [r4, #0x34] -_080AD064: - movs r1, #0x24 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _080AD06E - b _080AD220 -_080AD06E: - adds r2, r4, #0 - adds r2, #0x42 - ldrb r1, [r2] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _080AD088 - adds r0, r4, #0 - adds r0, #0x3e - ldrb r0, [r0] - movs r1, #0 - strb r0, [r4, #0x15] - strb r1, [r2] -_080AD088: - ldr r2, _080AD0B0 @ =gUnk_081320C4 - ldrb r0, [r4, #0x15] - lsrs r0, r0, #2 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r0, r4, #0 - bl sub_080002B4 - cmp r0, #0x74 - bne _080AD0B4 - adds r0, r4, #0 - bl sub_0806F69C - b _080AD0C8 - .align 2, 0 -_080AD0B0: .4byte gUnk_081320C4 -_080AD0B4: - adds r0, r4, #0 - bl sub_080002D0 - cmp r0, #0x24 - beq _080AD0C8 - cmp r0, #0x26 - beq _080AD0C8 - adds r0, r4, #0 - bl sub_080AF00C -_080AD0C8: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _080AD0D8 - b _080AD202 -_080AD0D8: - ldr r0, [r4, #0x20] - str r0, [r5, #0x20] - ldr r0, [r4, #0x2c] - str r0, [r5, #0x2c] - ldr r0, [r4, #0x30] - str r0, [r5, #0x30] - ldr r0, [r4, #0x34] - str r0, [r5, #0x34] - adds r0, r4, #0 - bl sub_080002B8 - cmp r0, #0x11 - bhi _080AD0FC - cmp r0, #0x10 - bhs _080AD104 - cmp r0, #0xd - beq _080AD104 - b _080AD14E -_080AD0FC: - cmp r0, #0x13 - beq _080AD104 - cmp r0, #0x5a - bne _080AD14E -_080AD104: - cmp r5, r4 - bne _080AD146 - cmp r0, #0x11 - bhi _080AD116 - cmp r0, #0x10 - bhs _080AD12C - cmp r0, #0xd - beq _080AD120 - b _080AD142 -_080AD116: - cmp r0, #0x13 - beq _080AD138 - cmp r0, #0x5a - beq _080AD126 - b _080AD142 -_080AD120: - adds r0, r4, #0 - movs r1, #0 - b _080AD130 -_080AD126: - adds r0, r4, #0 - movs r1, #0xc - b _080AD130 -_080AD12C: - adds r0, r4, #0 - movs r1, #0xb -_080AD130: - movs r2, #0 - bl sub_080A29AC - b _080AD142 -_080AD138: - adds r0, r4, #0 - movs r1, #0x52 - movs r2, #0 - bl sub_080A29AC -_080AD142: - movs r0, #4 - b _080AD148 -_080AD146: - movs r0, #3 -_080AD148: - strb r0, [r5, #0xd] - bl sub_0805E780 -_080AD14E: - ldr r0, [r4, #0x54] - cmp r0, r4 - bne _080AD178 - ldrb r0, [r4, #0xb] - cmp r0, #0xff - beq _080AD1DA - cmp r0, #0xf - bne _080AD16A - ldrb r1, [r4, #0xe] - adds r0, r4, #0 - movs r2, #0x80 - bl sub_080A29AC - b _080AD1DA -_080AD16A: - ldrb r1, [r4, #0xb] - ldrb r2, [r4, #0xe] - adds r0, r4, #0 - movs r3, #0 - bl sub_080A2988 - b _080AD1DA -_080AD178: - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _080AD188 - adds r0, r5, #0 - bl sub_080AD32C - cmp r0, #0 - beq _080AD1E0 -_080AD188: - ldrb r0, [r4, #0xe] - cmp r0, #1 - bne _080AD196 - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_080A3268 -_080AD196: - adds r0, r4, #0 - bl sub_08016A04 - movs r0, #3 - strb r0, [r5, #0xd] - ldrb r2, [r4, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r5, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, #0x19] - ldrb r0, [r4, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x1b] - adds r0, r4, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r3, r5, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1d - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080AD1DA: - bl sub_0805E780 - b _080AD26E -_080AD1E0: - movs r0, #0x82 - lsls r0, r0, #1 - bl sub_080A3268 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - movs r1, #0x24 - ldrsh r0, [r4, r1] - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - strh r0, [r4, #0x24] - b _080AD26E -_080AD202: - adds r0, r4, #0 - bl sub_0800451C - adds r0, r4, #0 - bl sub_0806F8DC - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0806FA24 - ldr r0, [r4, #0x20] - str r0, [r5, #0x20] - ldrb r0, [r4, #0x15] - strb r0, [r5, #0x15] - b _080AD26E -_080AD220: - ldr r1, _080AD240 @ =gUnk_03001160 - adds r0, r1, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r5, #1 - ands r5, r0 - cmp r5, #0 - beq _080AD244 - movs r0, #0x79 - bl sub_080A3268 - adds r0, r4, #0 - bl sub_080AD27C - b _080AD26E - .align 2, 0 -_080AD240: .4byte gUnk_03001160 -_080AD244: - ldr r0, _080AD270 @ =gUnk_03003F80 - ldrb r0, [r0, #5] - cmp r0, #0 - beq _080AD25A - adds r0, r1, #0 - adds r0, #0x79 - ldrb r1, [r0] - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - beq _080AD26E -_080AD25A: - adds r0, r4, #0 - bl sub_080AD27C - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - movs r0, #0xff - strb r0, [r4, #0x15] - str r5, [r4, #0x20] -_080AD26E: - pop {r4, r5, pc} - .align 2, 0 -_080AD270: .4byte gUnk_03003F80 - - thumb_func_start sub_080AD274 -sub_080AD274: @ 0x080AD274 - push {lr} - bl sub_0805E780 - pop {pc} - - thumb_func_start sub_080AD27C -sub_080AD27C: @ 0x080AD27C - push {r4, r5, lr} - adds r3, r0, #0 - ldr r4, [r3, #0x54] - ldr r1, _080AD2AC @ =gUnk_03001160 - movs r0, #0 - str r0, [r1, #0x74] - adds r0, r3, #0 - adds r0, #0x6c - ldrh r0, [r0] - adds r5, r1, #0 - ldrb r1, [r4, #8] - cmp r0, r1 - bne _080AD320 - adds r0, r3, #0 - adds r0, #0x6e - ldrh r0, [r0] - ldrb r1, [r4, #9] - cmp r0, r1 - bne _080AD320 - cmp r4, r3 - beq _080AD2B0 - movs r0, #2 - strb r0, [r4, #0xd] - b _080AD2C2 - .align 2, 0 -_080AD2AC: .4byte gUnk_03001160 -_080AD2B0: - adds r2, r3, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #0x18 - orrs r1, r0 - strb r1, [r2] -_080AD2C2: - ldr r0, [r4, #0x48] - str r0, [r3, #0x48] - ldrb r1, [r3, #0x16] - lsrs r1, r1, #4 - ldr r2, _080AD318 @ =gUnk_081320CC - lsls r0, r1, #1 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r3, #0x24] - ldr r0, _080AD31C @ =gUnk_081320D4 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - str r0, [r3, #0x20] - ldrh r0, [r4, #0x36] - adds r0, #8 - strh r0, [r4, #0x36] - strh r0, [r3, #0x36] - adds r0, r4, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r3, #0 - adds r0, #0x38 - strb r1, [r0] - ldrh r0, [r5, #0x32] - strh r0, [r3, #0x32] - ldrh r0, [r5, #0x2e] - strh r0, [r3, #0x2e] - adds r0, r5, #0 - adds r0, #0x3c - ldrb r1, [r0] - adds r0, r3, #0 - adds r0, #0x3c - strb r1, [r0] - ldrb r1, [r3, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r3, #0x10] - adds r0, r3, #0 - bl sub_0801766C - b _080AD328 - .align 2, 0 -_080AD318: .4byte gUnk_081320CC -_080AD31C: .4byte gUnk_081320D4 -_080AD320: - bl sub_08079184 - bl sub_0805E780 -_080AD328: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AD32C -sub_080AD32C: @ 0x080AD32C - push {lr} - adds r2, r0, #0 - movs r3, #0 - ldrb r1, [r2, #0x16] - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0x10 - beq _080AD34C - ldrb r0, [r2, #8] - cmp r0, #6 - bne _080AD34E - ldrb r0, [r2, #9] - cmp r0, #5 - beq _080AD34C - cmp r0, #0x7d - bne _080AD34E -_080AD34C: - movs r3, #1 -_080AD34E: - adds r0, r3, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080AD354 -sub_080AD354: @ 0x080AD354 - push {lr} - ldr r1, _080AD374 @ =gUnk_02032EC0 - strb r0, [r1, #2] - ldr r1, _080AD378 @ =gUnk_03001000 - movs r0, #2 - strb r0, [r1, #3] - ldr r0, _080AD37C @ =gUnk_02000080 - movs r1, #0x30 - bl sub_0801D630 - movs r0, #7 - movs r1, #8 - bl sub_08050054 - pop {pc} - .align 2, 0 -_080AD374: .4byte gUnk_02032EC0 -_080AD378: .4byte gUnk_03001000 -_080AD37C: .4byte gUnk_02000080 - - thumb_func_start sub_080AD380 -sub_080AD380: @ 0x080AD380 - push {r4, lr} - bl sub_080AD90C - ldr r4, _080AD398 @ =gUnk_03001000 - ldrb r0, [r4, #3] - cmp r0, #1 - beq _080AD3BC - cmp r0, #1 - bgt _080AD39C - cmp r0, #0 - beq _080AD3A2 - b _080AD3EA - .align 2, 0 -_080AD398: .4byte gUnk_03001000 -_080AD39C: - cmp r0, #2 - beq _080AD3D8 - b _080AD3EA -_080AD3A2: - bl sub_08056418 - ldr r0, _080AD3B8 @ =gUnk_02032EC0 - movs r1, #0xed - lsls r1, r1, #2 - bl sub_0801D630 - movs r0, #0 - bl sub_080AD354 - b _080AD3EA - .align 2, 0 -_080AD3B8: .4byte gUnk_02032EC0 -_080AD3BC: - ldr r1, _080AD3D0 @ =gUnk_081320F0 - ldr r0, _080AD3D4 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - b _080AD3EA - .align 2, 0 -_080AD3D0: .4byte gUnk_081320F0 -_080AD3D4: .4byte gUnk_02032EC0 -_080AD3D8: - ldr r0, _080AD3F0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080AD3EE - movs r0, #1 - bl sub_0801DA90 - movs r0, #1 - strb r0, [r4, #3] -_080AD3EA: - bl sub_080AD918 -_080AD3EE: - pop {r4, pc} - .align 2, 0 -_080AD3F0: .4byte gUnk_03000FD0 - - thumb_func_start sub_080AD3F4 -sub_080AD3F4: @ 0x080AD3F4 - push {r4, r5, lr} - bl sub_080AD84C - adds r1, r0, #0 - ldr r4, _080AD450 @ =gUnk_02000080 - ldrb r0, [r4, #5] - cmp r0, #0 - bne _080AD458 - movs r0, #1 - bl sub_0801DA90 - movs r5, #1 - strb r5, [r4, #5] - movs r0, #0x78 - strh r0, [r4, #8] - movs r0, #0x10 - bl sub_0801D7EC - movs r0, #1 - bl sub_0801D7EC - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #2 - cmp r0, #0 - bne _080AD42C - movs r1, #1 -_080AD42C: - adds r0, r1, #0 - bl sub_0801D714 - ldr r0, _080AD454 @ =gUnk_03000F50 - ldrh r1, [r0] - movs r3, #0x80 - lsls r3, r3, #3 - adds r2, r3, #0 - orrs r1, r2 - strh r1, [r0] - strh r5, [r0, #0x1a] - movs r0, #6 - movs r1, #8 - bl sub_08050054 - movs r1, #0 - b _080AD45E - .align 2, 0 -_080AD450: .4byte gUnk_02000080 -_080AD454: .4byte gUnk_03000F50 -_080AD458: - cmp r1, #1 - bne _080AD45E - movs r1, #2 -_080AD45E: - cmp r1, #2 - bne _080AD46C - ldr r1, _080AD470 @ =gUnk_02000010 - movs r0, #1 - strb r0, [r1, #5] - bl sub_080AD354 -_080AD46C: - pop {r4, r5, pc} - .align 2, 0 -_080AD470: .4byte gUnk_02000010 - - thumb_func_start sub_080AD474 -sub_080AD474: @ 0x080AD474 - push {r4, r5, r6, lr} - ldr r5, _080AD490 @ =gUnk_02000080 - ldrb r0, [r5, #0x12] - adds r0, #1 - strb r0, [r5, #0x12] - ldrb r0, [r5, #5] - cmp r0, #1 - bne _080AD486 - b _080AD588 -_080AD486: - cmp r0, #1 - bgt _080AD494 - cmp r0, #0 - beq _080AD49C - b _080AD5C8 - .align 2, 0 -_080AD490: .4byte gUnk_02000080 -_080AD494: - cmp r0, #2 - bne _080AD49A - b _080AD5AA -_080AD49A: - b _080AD5C8 -_080AD49C: - movs r4, #1 - strb r4, [r5, #5] - strb r0, [r5, #6] - movs r6, #0 - movs r0, #0x1e - strh r0, [r5, #8] - movs r0, #7 - strb r0, [r5, #4] - bl sub_0805E60C - movs r0, #0 - bl sub_0801CFA8 - bl sub_080ADD30 - ldr r0, _080AD50C @ =gUnk_02024490 - strb r4, [r0] - movs r0, #2 - bl sub_0801D7EC - movs r4, #0x80 - lsls r4, r4, #0x12 - ldrb r0, [r4, #7] - movs r1, #4 - cmp r0, #0 - bne _080AD4D2 - movs r1, #3 -_080AD4D2: - adds r0, r1, #0 - bl sub_0801D714 - ldrb r0, [r4, #7] - cmp r0, #0 - bne _080AD524 - ldr r2, _080AD510 @ =gUnk_03000F50 - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _080AD514 @ =0x00000844 - strh r0, [r1] - adds r1, #2 - adds r0, #0xc5 - strh r0, [r1] - ldr r0, _080AD518 @ =0x00001C09 - strh r0, [r2, #0x14] - adds r0, #0xf9 - strh r0, [r2, #0x20] - ldr r0, _080AD51C @ =0x00001E03 - strh r0, [r2, #0x2c] - ldrh r0, [r2] - movs r3, #0xf0 - lsls r3, r3, #5 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _080AD520 @ =0x0000FF60 - strh r0, [r2, #0x18] - b _080AD55A - .align 2, 0 -_080AD50C: .4byte gUnk_02024490 -_080AD510: .4byte gUnk_03000F50 -_080AD514: .4byte 0x00000844 -_080AD518: .4byte 0x00001C09 -_080AD51C: .4byte 0x00001E03 -_080AD520: .4byte 0x0000FF60 -_080AD524: - ldr r2, _080AD570 @ =gUnk_03000F50 - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _080AD574 @ =0x00000241 - strh r0, [r1] - adds r1, #2 - ldr r0, _080AD578 @ =0x00000909 - strh r0, [r1] - ldr r0, _080AD57C @ =0x00001D02 - strh r0, [r2, #8] - ldr r0, _080AD580 @ =0x00001E03 - strh r0, [r2, #0x14] - ldr r0, _080AD584 @ =0x00007C89 - strh r0, [r2, #0x20] - ldrh r0, [r2] - movs r1, #1 - orrs r0, r1 - orrs r0, r6 - movs r3, #0x98 - lsls r3, r3, #5 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - movs r0, #0x10 - str r0, [r5, #0x2c] - bl sub_080AD670 -_080AD55A: - bl sub_080A3210 - movs r0, #3 - bl sub_080A3268 - movs r0, #6 - movs r1, #8 - bl sub_08050054 - b _080AD610 - .align 2, 0 -_080AD570: .4byte gUnk_03000F50 -_080AD574: .4byte 0x00000241 -_080AD578: .4byte 0x00000909 -_080AD57C: .4byte 0x00001D02 -_080AD580: .4byte 0x00001E03 -_080AD584: .4byte 0x00007C89 -_080AD588: - ldr r0, _080AD5A0 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080AD632 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - bne _080AD5A4 - bl sub_080AD6AC - b _080AD610 - .align 2, 0 -_080AD5A0: .4byte gUnk_03000FD0 -_080AD5A4: - bl sub_080AD76C - b _080AD610 -_080AD5AA: - ldrh r0, [r5, #8] - subs r0, #1 - strh r0, [r5, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080AD5C2 - movs r0, #0xe1 - lsls r0, r0, #4 - strh r0, [r5, #8] - ldrb r0, [r5, #5] - adds r0, #1 - strb r0, [r5, #5] -_080AD5C2: - bl sub_080AD644 - b _080AD610 -_080AD5C8: - bl sub_080AD84C - adds r4, r0, #0 - cmp r4, #0 - beq _080AD5EC - cmp r4, #2 - bne _080AD5DE - movs r0, #0x6a - bl sub_080A3268 - b _080AD5E0 -_080AD5DE: - movs r4, #0 -_080AD5E0: - adds r0, r4, #0 - bl sub_080AD354 - ldr r0, _080AD634 @ =0x80080000 - bl sub_080A3268 -_080AD5EC: - bl sub_080AD644 - ldr r0, _080AD638 @ =gUnk_02000080 - ldrh r1, [r0, #8] - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - bne _080AD610 - ldr r1, _080AD63C @ =gUnk_03001010 - movs r0, #0xe0 - lsls r0, r0, #8 - strh r0, [r1, #8] - movs r0, #0x84 - strh r0, [r1, #2] - ldr r0, _080AD640 @ =0x000001FF - movs r1, #0 - bl sub_080ADA14 -_080AD610: - ldr r2, _080AD638 @ =gUnk_02000080 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r1, [r0, #7] - ldrb r0, [r2, #4] - cmp r0, r1 - beq _080AD626 - strb r1, [r2, #4] - movs r0, #3 - bl sub_0801D7EC -_080AD626: - bl sub_080AD89C - bl sub_0805E5C0 - bl sub_080AD9B0 -_080AD632: - pop {r4, r5, r6, pc} - .align 2, 0 -_080AD634: .4byte 0x80080000 -_080AD638: .4byte gUnk_02000080 -_080AD63C: .4byte gUnk_03001010 -_080AD640: .4byte 0x000001FF - - thumb_func_start sub_080AD644 -sub_080AD644: @ 0x080AD644 - push {lr} - ldr r1, _080AD664 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r1, #4] - strh r0, [r1, #6] - ldr r0, _080AD668 @ =0x0000E020 - strh r0, [r1, #8] - movs r0, #0x78 - strh r0, [r1] - movs r0, #0x98 - strh r0, [r1, #2] - ldr r0, _080AD66C @ =0x000001FF - movs r1, #1 - bl sub_080ADA14 - pop {pc} - .align 2, 0 -_080AD664: .4byte gUnk_03001010 -_080AD668: .4byte 0x0000E020 -_080AD66C: .4byte 0x000001FF - - thumb_func_start sub_080AD670 -sub_080AD670: @ 0x080AD670 - push {lr} - sub sp, #0x14 - movs r0, #0x80 - lsls r0, r0, #8 - str r0, [sp, #4] - str r0, [sp] - mov r1, sp - movs r2, #0 - movs r0, #0x78 - strh r0, [r1, #8] - movs r0, #0x48 - strh r0, [r1, #0xa] - mov r0, sp - strh r2, [r0, #0x10] - mov r2, sp - ldr r0, _080AD6A4 @ =gUnk_02000080 - ldr r0, [r0, #0x2c] - strh r0, [r1, #0xc] - strh r0, [r2, #0xe] - ldr r1, _080AD6A8 @ =gUnk_03000F88 - mov r0, sp - movs r2, #1 - bl BgAffineSet - add sp, #0x14 - pop {pc} - .align 2, 0 -_080AD6A4: .4byte gUnk_02000080 -_080AD6A8: .4byte gUnk_03000F88 - - thumb_func_start sub_080AD6AC -sub_080AD6AC: @ 0x080AD6AC - push {r4, r5, r6, lr} - ldr r4, _080AD6C0 @ =gUnk_02000080 - ldrb r0, [r4, #6] - cmp r0, #1 - beq _080AD724 - cmp r0, #1 - bgt _080AD6C4 - cmp r0, #0 - beq _080AD6CA - b _080AD76A - .align 2, 0 -_080AD6C0: .4byte gUnk_02000080 -_080AD6C4: - cmp r0, #2 - beq _080AD758 - b _080AD76A -_080AD6CA: - ldr r6, _080AD718 @ =gUnk_03000FD0 - ldrb r5, [r6] - cmp r5, #0 - bne _080AD76A - ldrb r1, [r4, #0x12] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080AD6E4 - ldr r1, _080AD71C @ =gUnk_03000F50 - ldrh r0, [r1, #0x18] - adds r0, #1 - strh r0, [r1, #0x18] -_080AD6E4: - bl sub_080AD84C - cmp r0, #2 - beq _080AD6F4 - ldr r0, _080AD71C @ =gUnk_03000F50 - ldrh r0, [r0, #0x18] - cmp r0, #0 - bne _080AD76A -_080AD6F4: - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - ldr r1, _080AD71C @ =gUnk_03000F50 - strh r5, [r1, #0x18] - ldr r0, _080AD720 @ =0x00000C09 - strh r0, [r1, #0x14] - movs r0, #0x40 - str r0, [r6, #4] - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 - movs r0, #0xf8 - bl sub_080A3268 - b _080AD76A - .align 2, 0 -_080AD718: .4byte gUnk_03000FD0 -_080AD71C: .4byte gUnk_03000F50 -_080AD720: .4byte 0x00000C09 -_080AD724: - ldr r1, _080AD754 @ =gUnk_03000FD0 - ldrb r5, [r1] - cmp r5, #0 - bne _080AD76A - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1, #4] - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - movs r0, #0x5a - strh r0, [r4, #8] - movs r0, #0xb4 - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - adds r1, r0, #0 - cmp r1, #0 - beq _080AD76A - strh r5, [r1, #0x2e] - movs r0, #0x48 - strh r0, [r1, #0x32] - b _080AD76A - .align 2, 0 -_080AD754: .4byte gUnk_03000FD0 -_080AD758: - bl sub_080AD84C - cmp r0, #0 - beq _080AD76A - ldrb r0, [r4, #5] - adds r0, #1 - strb r0, [r4, #5] - movs r0, #0x3c - strh r0, [r4, #8] -_080AD76A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080AD76C -sub_080AD76C: @ 0x080AD76C - push {lr} - ldr r1, _080AD780 @ =gUnk_02000080 - ldrb r0, [r1, #6] - cmp r0, #1 - beq _080AD7B4 - cmp r0, #1 - bgt _080AD784 - cmp r0, #0 - beq _080AD78A - b _080AD80E - .align 2, 0 -_080AD780: .4byte gUnk_02000080 -_080AD784: - cmp r0, #2 - beq _080AD7DC - b _080AD80E -_080AD78A: - ldr r0, _080AD7AC @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080AD82A - movs r0, #1 - strb r0, [r1, #6] - ldr r2, _080AD7B0 @ =gUnk_03000F50 - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #3 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - movs r0, #0xf6 - bl sub_080A3268 - b _080AD82A - .align 2, 0 -_080AD7AC: .4byte gUnk_03000FD0 -_080AD7B0: .4byte gUnk_03000F50 -_080AD7B4: - ldr r0, [r1, #0x2c] - adds r0, #0x10 - str r0, [r1, #0x2c] - movs r2, #0x80 - lsls r2, r2, #1 - cmp r0, r2 - ble _080AD7D6 - str r2, [r1, #0x2c] - movs r0, #0x28 - strh r0, [r1, #8] - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 -_080AD7D6: - bl sub_080AD670 - b _080AD82A -_080AD7DC: - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080AD82A - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1, #8] - ldrb r0, [r1, #6] - adds r0, #1 - strb r0, [r1, #6] - movs r0, #0xbd - movs r1, #0 - movs r2, #0 - bl sub_080A2960 - movs r0, #6 - movs r1, #0x10 - bl sub_08050054 - movs r0, #0xf8 - bl sub_080A3268 - b _080AD82A -_080AD80E: - ldr r0, _080AD82C @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080AD82A - bl sub_080AD84C - cmp r0, #0 - beq _080AD82A - ldr r0, _080AD830 @ =gUnk_02000080 - ldrb r1, [r0, #5] - adds r1, #1 - strb r1, [r0, #5] - movs r1, #0x3c - strh r1, [r0, #8] -_080AD82A: - pop {pc} - .align 2, 0 -_080AD82C: .4byte gUnk_03000FD0 -_080AD830: .4byte gUnk_02000080 - - thumb_func_start sub_080AD834 -sub_080AD834: @ 0x080AD834 - push {lr} - ldr r0, _080AD848 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080AD844 - movs r0, #1 - bl sub_08056010 -_080AD844: - pop {pc} - .align 2, 0 -_080AD848: .4byte gUnk_03000FD0 - - thumb_func_start sub_080AD84C -sub_080AD84C: @ 0x080AD84C - push {lr} - ldr r0, _080AD864 @ =gUnk_03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _080AD894 - ldr r0, _080AD868 @ =gUnk_02000010 - ldrb r0, [r0, #5] - cmp r0, #0 - bne _080AD86C - movs r2, #0 - b _080AD874 - .align 2, 0 -_080AD864: .4byte gUnk_03000FD0 -_080AD868: .4byte gUnk_02000010 -_080AD86C: - ldr r0, _080AD888 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - movs r2, #9 - ands r2, r0 -_080AD874: - ldr r1, _080AD88C @ =gUnk_02000080 - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080AD890 - movs r0, #1 - b _080AD89A - .align 2, 0 -_080AD888: .4byte gUnk_03000FF0 -_080AD88C: .4byte gUnk_02000080 -_080AD890: - cmp r2, #0 - bne _080AD898 -_080AD894: - movs r0, #0 - b _080AD89A -_080AD898: - movs r0, #2 -_080AD89A: - pop {pc} - - thumb_func_start sub_080AD89C -sub_080AD89C: @ 0x080AD89C - push {r4, lr} - ldr r4, _080AD8E4 @ =gUnk_02000080 - ldrb r1, [r4, #0x12] - movs r0, #7 - ands r0, r1 - cmp r0, #0 - bne _080AD8BC - ldrb r0, [r4, #0x10] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r4, #0x10] - adds r0, #5 - bl sub_0801D714 -_080AD8BC: - ldrb r1, [r4, #0x12] - movs r0, #0x1f - ands r0, r1 - cmp r0, #0 - bne _080AD8E0 - ldrb r0, [r4, #0x11] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r4, #0x11] - ldr r1, _080AD8E8 @ =gUnk_03000F50 - ldr r2, _080AD8EC @ =gUnk_081320FC - ldrb r0, [r4, #0x11] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, #0x68 - strh r0, [r1] -_080AD8E0: - pop {r4, pc} - .align 2, 0 -_080AD8E4: .4byte gUnk_02000080 -_080AD8E8: .4byte gUnk_03000F50 -_080AD8EC: .4byte gUnk_081320FC - - thumb_func_start sub_080AD8F0 -sub_080AD8F0: @ 0x080AD8F0 - ldr r2, _080AD908 @ =gUnk_082F3D74 - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r0, [r0] - lsls r1, r1, #2 - adds r0, r0, r2 - adds r1, r1, r0 - ldr r0, [r1] - adds r2, r0, r2 - adds r0, r2, #0 - bx lr - .align 2, 0 -_080AD908: .4byte gUnk_082F3D74 - - thumb_func_start sub_080AD90C -sub_080AD90C: @ 0x080AD90C - ldr r1, _080AD914 @ =gUnk_03000000 - movs r0, #0 - strb r0, [r1, #3] - bx lr - .align 2, 0 -_080AD914: .4byte gUnk_03000000 - - thumb_func_start sub_080AD918 -sub_080AD918: @ 0x080AD918 - push {r4, lr} - ldr r1, _080AD948 @ =gUnk_03001000 - ldrb r0, [r1, #0xb] - adds r2, r0, #0 - cmp r2, #0 - bne _080AD958 - ldr r1, _080AD94C @ =gUnk_03000000 - movs r3, #0xa4 - lsls r3, r3, #3 - adds r0, r1, r3 - strb r2, [r0] - ldr r3, _080AD950 @ =0x00000664 - adds r0, r1, r3 - strb r2, [r0] - movs r3, #0xf5 - lsls r3, r3, #3 - adds r0, r1, r3 - strb r2, [r0] - ldr r3, _080AD954 @ =0x000008EC - adds r0, r1, r3 - strb r2, [r0] - adds r4, r1, #0 - b _080AD95E - .align 2, 0 -_080AD948: .4byte gUnk_03001000 -_080AD94C: .4byte gUnk_03000000 -_080AD950: .4byte 0x00000664 -_080AD954: .4byte 0x000008EC -_080AD958: - subs r0, #1 - strb r0, [r1, #0xb] - ldr r4, _080AD9A8 @ =gUnk_03000000 -_080AD95E: - ldrb r1, [r4, #3] - movs r0, #0x80 - subs r2, r0, r1 - cmp r2, #0 - ble _080AD980 - lsls r1, r1, #3 - adds r0, r4, #0 - adds r0, #0x20 - adds r1, r1, r0 - movs r3, #0xa8 - lsls r3, r3, #2 - adds r0, r3, #0 -_080AD976: - strh r0, [r1] - adds r1, #8 - subs r2, #1 - cmp r2, #0 - bne _080AD976 -_080AD980: - adds r1, r4, #0 - ldr r0, _080AD9AC @ =0x00000427 - adds r2, r1, r0 - ldrb r0, [r2] - cmp r0, #0 - beq _080AD9A0 - movs r0, #0 - strb r0, [r2] - movs r2, #0x84 - lsls r2, r2, #3 - adds r0, r1, r2 - adds r1, #0x26 - movs r2, #0x20 - movs r3, #8 - bl ObjAffineSet -_080AD9A0: - movs r0, #1 - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_080AD9A8: .4byte gUnk_03000000 -_080AD9AC: .4byte 0x00000427 - - thumb_func_start sub_080AD9B0 -sub_080AD9B0: @ 0x080AD9B0 - push {lr} - ldr r2, _080AD9F4 @ =gUnk_03000000 - ldr r0, _080AD9F8 @ =gUnk_030010A0 - adds r0, #0x2f - ldrb r0, [r0] - movs r1, #0 - cmp r0, #0 - beq _080AD9C2 - movs r1, #0xf -_080AD9C2: - strb r1, [r2, #0xe] - ldr r1, _080AD9FC @ =gUnk_03000BF0 - adds r0, r1, #0 - adds r0, #0x24 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r2, #4] - adds r0, r1, #0 - adds r0, #0x25 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #6] - ldrb r0, [r2, #1] - adds r0, #1 - strb r0, [r2, #1] - ldr r0, _080ADA00 @ =gUnk_03006164 - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080AD9F4: .4byte gUnk_03000000 -_080AD9F8: .4byte gUnk_030010A0 -_080AD9FC: .4byte gUnk_03000BF0 -_080ADA00: .4byte gUnk_03006164 - - thumb_func_start sub_080ADA04 -sub_080ADA04: @ 0x080ADA04 - push {lr} - ldr r2, _080ADA10 @ =gUnk_0300659C - bl _call_via_r2 - pop {pc} - .align 2, 0 -_080ADA10: .4byte gUnk_0300659C - - thumb_func_start sub_080ADA14 -sub_080ADA14: @ 0x080ADA14 - push {r4, lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldr r4, _080ADA28 @ =gUnk_03006580 - ldr r0, _080ADA2C @ =gUnk_03001010 - adds r1, r3, #0 - bl _call_via_r4 - pop {r4, pc} - .align 2, 0 -_080ADA28: .4byte gUnk_03006580 -_080ADA2C: .4byte gUnk_03001010 - - thumb_func_start sub_080ADA30 -sub_080ADA30: @ 0x080ADA30 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _080ADA60 @ =gUnk_03003F80 - ldr r0, [r1, #0x2c] - cmp r0, r4 - bne _080ADA42 - ldrb r0, [r1, #0x1c] - cmp r0, #0 - bne _080ADA46 -_080ADA42: - bl sub_0805E780 -_080ADA46: - ldr r1, _080ADA64 @ =gUnk_08132700 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r1, _080ADA68 @ =gUnk_03001160 - adds r0, r4, #0 - bl sub_08078E84 - pop {r4, pc} - .align 2, 0 -_080ADA60: .4byte gUnk_03003F80 -_080ADA64: .4byte gUnk_08132700 -_080ADA68: .4byte gUnk_03001160 - - thumb_func_start sub_080ADA6C -sub_080ADA6C: @ 0x080ADA6C - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xf] - ldr r0, _080ADAA4 @ =gUnk_08132B28 - str r0, [r4, #0x48] - movs r1, #3 - strb r1, [r0, #4] - strb r1, [r0, #3] - movs r1, #6 - strb r1, [r0, #5] - strb r1, [r0, #2] - adds r0, r4, #0 - bl sub_080ADC84 - adds r0, r4, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 - ldrb r1, [r4, #0x14] - lsrs r1, r1, #1 - adds r0, r4, #0 - bl sub_080042AC - pop {r4, pc} - .align 2, 0 -_080ADAA4: .4byte gUnk_08132B28 - - thumb_func_start sub_080ADAA8 -sub_080ADAA8: @ 0x080ADAA8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080ADC84 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080ADACC - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #0 - bl sub_080ADCA0 - b _080ADAD2 -_080ADACC: - adds r0, r4, #0 - bl sub_080042B8 -_080ADAD2: - pop {r4, pc} - - thumb_func_start sub_080ADAD4 -sub_080ADAD4: @ 0x080ADAD4 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r3, _080ADAF4 @ =gUnk_03003F80 - ldrb r1, [r3, #0x1c] - adds r0, r1, #0 - cmp r0, #3 - bne _080ADAFC - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080ADAF8 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - lsrs r1, r1, #1 - adds r1, #8 - b _080ADB0C - .align 2, 0 -_080ADAF4: .4byte gUnk_03003F80 -_080ADAF8: .4byte gUnk_03001160 -_080ADAFC: - cmp r0, #6 - bne _080ADB18 - movs r0, #4 - strb r0, [r4, #0xc] - ldr r0, _080ADB14 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - lsrs r1, r1, #1 - adds r1, #4 -_080ADB0C: - adds r0, r4, #0 - bl sub_080042AC - b _080ADC08 - .align 2, 0 -_080ADB14: .4byte gUnk_03001160 -_080ADB18: - movs r5, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _080ADB58 - cmp r0, #1 - bne _080ADB36 - adds r0, r4, #0 - movs r1, #4 - bl sub_080ADCA0 - movs r0, #0x18 - strb r0, [r4, #0xe] - movs r0, #2 - strb r0, [r4, #0xa] - b _080ADBE0 -_080ADB36: - adds r0, r4, #0 - movs r1, #1 - bl sub_080ADCDC - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _080ADBE0 - adds r0, r4, #0 - movs r1, #0 - bl sub_080ADCA0 - strb r5, [r4, #0xa] - b _080ADBE0 -_080ADB58: - movs r0, #0xf - ands r0, r1 - cmp r0, #7 - bne _080ADB68 - adds r1, r4, #0 - adds r1, #0x59 - movs r0, #0x7f - strb r0, [r1] -_080ADB68: - ldrb r0, [r3, #0x1d] - cmp r0, #2 - beq _080ADB94 - cmp r0, #2 - bgt _080ADB78 - cmp r0, #1 - beq _080ADBB0 - b _080ADBCA -_080ADB78: - cmp r0, #3 - bne _080ADBCA - adds r0, r4, #0 - movs r1, #3 - bl sub_080ADCDC - ldrb r1, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x1a] - movs r2, #3 - movs r5, #0xe9 - b _080ADBCA -_080ADB94: - adds r0, r4, #0 - movs r1, #2 - bl sub_080ADCDC - ldrb r0, [r4, #0x1a] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #4 - orrs r1, r0 - strb r1, [r4, #0x1a] - movs r2, #2 - movs r5, #0xe8 - b _080ADBCA -_080ADBB0: - adds r0, r4, #0 - movs r1, #1 - bl sub_080ADCDC - ldrb r0, [r4, #0x1a] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #1 - orrs r1, r0 - strb r1, [r4, #0x1a] - movs r2, #1 - movs r5, #0xe7 -_080ADBCA: - ldr r0, _080ADC0C @ =gUnk_03003F80 - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #7 - bne _080ADBDA - movs r5, #0xee - movs r2, #1 -_080ADBDA: - ldrb r0, [r4, #0xf] - subs r0, r0, r2 - strb r0, [r4, #0xf] -_080ADBE0: - movs r0, #0xf - ldrsb r0, [r4, r0] - cmp r0, #0 - bge _080ADBF6 - cmp r5, #0 - beq _080ADBF2 - adds r0, r5, #0 - bl sub_080A3268 -_080ADBF2: - movs r0, #0xf - strb r0, [r4, #0xf] -_080ADBF6: - ldr r2, _080ADC10 @ =gUnk_03001160 - adds r0, r2, #0 - adds r0, #0x5a - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - ldrb r0, [r2, #0x1e] - subs r0, r0, r1 - strb r0, [r4, #0x1e] -_080ADC08: - pop {r4, r5, pc} - .align 2, 0 -_080ADC0C: .4byte gUnk_03003F80 -_080ADC10: .4byte gUnk_03001160 - - thumb_func_start sub_080ADC14 -sub_080ADC14: @ 0x080ADC14 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080ADC40 @ =gUnk_03003F80 - ldrb r0, [r0, #0x1c] - movs r1, #0xf - ands r1, r0 - cmp r1, #1 - beq _080ADC48 - cmp r1, #6 - bne _080ADC56 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080ADC44 @ =gUnk_03001160 - ldrb r1, [r0, #0x14] - lsrs r1, r1, #1 - adds r1, #4 - adds r0, r4, #0 - bl sub_080042AC - b _080ADC5C - .align 2, 0 -_080ADC40: .4byte gUnk_03003F80 -_080ADC44: .4byte gUnk_03001160 -_080ADC48: - adds r0, r4, #0 - movs r1, #0 - bl sub_080ADCA0 - movs r0, #2 - strb r0, [r4, #0xc] - b _080ADC5C -_080ADC56: - adds r0, r4, #0 - bl sub_080042B8 -_080ADC5C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080ADC60 -sub_080ADC60: @ 0x080ADC60 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080ADC7C - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - b _080ADC82 -_080ADC7C: - adds r0, r2, #0 - bl sub_080042B8 -_080ADC82: - pop {pc} - - thumb_func_start sub_080ADC84 -sub_080ADC84: @ 0x080ADC84 - ldr r1, _080ADC9C @ =gUnk_03001160 - ldrb r1, [r1, #0x18] - movs r2, #0x40 - ands r2, r1 - ldrb r3, [r0, #0x18] - movs r1, #0x41 - rsbs r1, r1, #0 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, #0x18] - bx lr - .align 2, 0 -_080ADC9C: .4byte gUnk_03001160 - - thumb_func_start sub_080ADCA0 -sub_080ADCA0: @ 0x080ADCA0 - push {r4, lr} - ldr r3, _080ADCD4 @ =gUnk_08132714 - ldr r2, _080ADCD8 @ =gUnk_03001160 - ldrb r2, [r2, #0x14] - lsrs r2, r2, #1 - adds r1, r1, r2 - lsls r1, r1, #2 - adds r1, r1, r3 - ldr r2, [r1] - str r2, [r0, #0x5c] - ldrb r1, [r2] - adds r3, r0, #0 - adds r3, #0x58 - strb r1, [r3] - adds r1, r2, #1 - str r1, [r0, #0x5c] - ldrb r2, [r2, #1] - movs r4, #0x59 - strb r2, [r4, r0] - adds r1, #1 - str r1, [r0, #0x5c] - ldrb r1, [r3] - ldrh r2, [r0, #0x12] - bl sub_080042D0 - pop {r4, pc} - .align 2, 0 -_080ADCD4: .4byte gUnk_08132714 -_080ADCD8: .4byte gUnk_03001160 - - thumb_func_start sub_080ADCDC -sub_080ADCDC: @ 0x080ADCDC - push {r4, r5, lr} - adds r3, r0, #0 - movs r0, #0x59 - adds r0, r0, r3 - mov ip, r0 - ldrb r0, [r0] - subs r0, r0, r1 - mov r1, ip - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bgt _080ADD2E - ldr r1, [r3, #0x5c] - ldrb r0, [r1] - cmp r0, #0xff - bne _080ADD06 - adds r0, r1, #1 - str r0, [r3, #0x5c] - ldrb r1, [r1, #1] - subs r0, r0, r1 - str r0, [r3, #0x5c] -_080ADD06: - ldr r1, [r3, #0x5c] - ldrb r0, [r1] - adds r2, r3, #0 - adds r2, #0x58 - strb r0, [r2] - adds r1, #1 - str r1, [r3, #0x5c] - ldrb r0, [r1] - mov r4, ip - ldrb r4, [r4] - adds r0, r0, r4 - mov r5, ip - strb r0, [r5] - adds r1, #1 - str r1, [r3, #0x5c] - ldrb r1, [r2] - ldrh r2, [r3, #0x12] - adds r0, r3, #0 - bl sub_080042D0 -_080ADD2E: - pop {r4, r5, pc} - - thumb_func_start sub_080ADD30 -sub_080ADD30: @ 0x080ADD30 - push {r4, r5, r6, lr} - ldr r4, _080ADD6C @ =gUnk_02024490 - movs r1, #0x85 - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_0801D630 - movs r5, #0 - adds r4, #4 - movs r0, #0x10 - rsbs r0, r0, #0 - adds r6, r0, #0 -_080ADD48: - adds r0, r5, #0 - movs r1, #0 - movs r2, #1 - bl sub_080AE104 - ldrb r0, [r4] - ands r0, r6 - movs r1, #6 - orrs r0, r1 - strb r0, [r4] - movs r0, #0x80 - strb r0, [r4, #2] - adds r4, #0xc - adds r5, #1 - cmp r5, #3 - bls _080ADD48 - pop {r4, r5, r6, pc} - .align 2, 0 -_080ADD6C: .4byte gUnk_02024490 - - thumb_func_start sub_080ADD70 -sub_080ADD70: @ 0x080ADD70 - push {r4, r5, lr} - ldr r1, _080ADD88 @ =gUnk_02024490 - ldrb r0, [r1] - cmp r0, #0 - beq _080ADDD6 - ldrb r0, [r1, #3] - cmp r0, #0 - beq _080ADD8C - bl sub_080ADE24 - b _080ADDD6 - .align 2, 0 -_080ADD88: .4byte gUnk_02024490 -_080ADD8C: - movs r4, #0 - movs r5, #0 -_080ADD90: - ldr r0, _080ADDB0 @ =gUnk_02024494 - adds r2, r5, r0 - ldrb r1, [r2] - lsls r0, r1, #0x1c - lsrs r0, r0, #0x1c - cmp r0, #2 - bne _080ADDB4 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r3, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - b _080ADDCE - .align 2, 0 -_080ADDB0: .4byte gUnk_02024494 -_080ADDB4: - cmp r0, #2 - blt _080ADDCE - cmp r0, #6 - bgt _080ADDCE - cmp r0, #4 - blt _080ADDCE - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0x30 - bne _080ADDCE - adds r0, r4, #0 - bl sub_080ADE74 -_080ADDCE: - adds r5, #0xc - adds r4, #1 - cmp r4, #0x2b - bls _080ADD90 -_080ADDD6: - pop {r4, r5, pc} - - thumb_func_start sub_080ADDD8 -sub_080ADDD8: @ 0x080ADDD8 - push {lr} - adds r2, r1, #0 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _080ADDFC @ =gUnk_02024494 - adds r3, r1, r0 - ldr r0, _080ADE00 @ =0x00FFFFFC - ands r0, r2 - ldr r1, _080ADE04 @ =gUnk_085A2E80 - adds r0, r0, r1 - str r0, [r3, #8] - movs r0, #1 - ands r0, r2 - cmp r0, #0 - beq _080ADE0C - ldr r0, _080ADE08 @ =0x0000FFFF - b _080ADE14 - .align 2, 0 -_080ADDFC: .4byte gUnk_02024494 -_080ADE00: .4byte 0x00FFFFFC -_080ADE04: .4byte gUnk_085A2E80 -_080ADE08: .4byte 0x0000FFFF -_080ADE0C: - movs r0, #0xfe - lsls r0, r0, #0x17 - ands r0, r2 - lsrs r0, r0, #0x14 -_080ADE14: - strh r0, [r3, #6] - ldrb r0, [r3] - movs r1, #0xf - ands r1, r0 - movs r0, #0x30 - orrs r1, r0 - strb r1, [r3] - pop {pc} - - thumb_func_start sub_080ADE24 -sub_080ADE24: @ 0x080ADE24 - push {r4, r5, lr} - ldr r1, _080ADE50 @ =gUnk_02024490 - movs r0, #1 - strb r0, [r1, #3] - movs r4, #0 - movs r5, #0 -_080ADE30: - ldr r0, _080ADE54 @ =gUnk_02024494 - adds r1, r5, r0 - ldrb r0, [r1] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - cmp r0, #3 - beq _080ADE60 - cmp r0, #3 - blt _080ADE58 - cmp r0, #6 - bgt _080ADE58 - adds r0, r4, #0 - bl sub_080ADE74 - b _080ADE60 - .align 2, 0 -_080ADE50: .4byte gUnk_02024490 -_080ADE54: .4byte gUnk_02024494 -_080ADE58: - adds r0, r1, #0 - movs r1, #0xc - bl sub_0801D630 -_080ADE60: - adds r5, #0xc - adds r4, #1 - cmp r4, #0x2b - bls _080ADE30 - movs r1, #0 - ldr r0, _080ADE70 @ =gUnk_02024490 - strb r1, [r0, #3] - pop {r4, r5, pc} - .align 2, 0 -_080ADE70: .4byte gUnk_02024490 - - thumb_func_start sub_080ADE74 -sub_080ADE74: @ 0x080ADE74 - push {r4, r5, r6, lr} - adds r2, r0, #0 - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #2 - ldr r1, _080ADF00 @ =gUnk_02024494 - adds r3, r0, r1 - ldrb r1, [r3] - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0 - beq _080ADF7C - movs r0, #0xf - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r3] - ldrh r1, [r3, #6] - ldr r0, _080ADF04 @ =0x0000FFFF - cmp r1, r0 - beq _080ADF18 - ldrb r0, [r3, #3] - cmp r0, #0 - beq _080ADF18 - lsls r0, r0, #6 - ldr r1, _080ADF08 @ =gUnk_020000C0 - adds r4, r0, r1 - movs r5, #4 - movs r6, #9 - rsbs r6, r6, #0 -_080ADEB0: - ldrb r1, [r4] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _080ADEF6 - ldr r0, _080ADF0C @ =gUnk_02024490 - ldrb r0, [r0, #3] - cmp r0, #0 - bne _080ADECA - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080ADEF6 -_080ADECA: - adds r0, r6, #0 - ands r0, r1 - strb r0, [r4] - ldrb r0, [r4, #9] - lsls r2, r0, #5 - cmp r2, #0 - beq _080ADEF6 - ldrh r0, [r4, #0xa] - lsls r0, r0, #5 - ldr r3, _080ADF10 @ =0x06010000 - adds r1, r0, r3 - ldr r3, _080ADF14 @ =0x040000D4 - ldr r0, [r4, #0xc] - str r0, [r3] - str r1, [r3, #4] - adds r0, r2, #0 - asrs r0, r0, #2 - movs r1, #0x84 - lsls r1, r1, #0x18 - orrs r0, r1 - str r0, [r3, #8] - ldr r0, [r3, #8] -_080ADEF6: - adds r4, #0x10 - subs r5, #1 - cmp r5, #0 - bgt _080ADEB0 - b _080ADF7C - .align 2, 0 -_080ADF00: .4byte gUnk_02024494 -_080ADF04: .4byte 0x0000FFFF -_080ADF08: .4byte gUnk_020000C0 -_080ADF0C: .4byte gUnk_02024490 -_080ADF10: .4byte 0x06010000 -_080ADF14: .4byte 0x040000D4 -_080ADF18: - lsls r0, r2, #9 - ldr r2, _080ADF4C @ =0x06012800 - adds r1, r0, r2 - ldrh r2, [r3, #6] - cmp r2, #0 - beq _080ADF58 - ldr r0, _080ADF50 @ =0x0000FFFF - cmp r2, r0 - beq _080ADF62 - ldr r2, _080ADF54 @ =0x040000D4 - ldr r0, [r3, #8] - str r0, [r2] - str r1, [r2, #4] - ldrh r0, [r3, #6] - lsls r0, r0, #3 - movs r1, #0x84 - lsls r1, r1, #0x18 - orrs r0, r1 - str r0, [r2, #8] - ldr r0, [r2, #8] - ldrh r2, [r3, #6] - subs r2, #0x10 - cmp r2, #0 - ble _080ADF7C - b _080ADF70 - .align 2, 0 -_080ADF4C: .4byte 0x06012800 -_080ADF50: .4byte 0x0000FFFF -_080ADF54: .4byte 0x040000D4 -_080ADF58: - ldrb r1, [r3] - movs r0, #0xf - ands r0, r1 - strb r0, [r3] - b _080ADF7C -_080ADF62: - ldrb r0, [r3, #3] - cmp r0, #0 - bne _080ADF7C - ldr r0, [r3, #8] - bl LZ77UnCompVram - b _080ADF7C -_080ADF70: - adds r3, #0xc - movs r0, #0 - strh r0, [r3, #6] - subs r2, #0x10 - cmp r2, #0 - bgt _080ADF70 -_080ADF7C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080ADF80 -sub_080ADF80: @ 0x080ADF80 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r7, r1, #0 - cmp r7, #0 - beq _080ADFFC - movs r5, #4 - ldr r0, _080ADFD4 @ =gUnk_02024490 - adds r0, #0x30 -_080ADF94: - ldrh r1, [r0, #8] - cmp r7, r1 - beq _080ADFF2 - adds r0, #0xc - adds r5, #1 - cmp r5, #0x2b - bls _080ADF94 - ldr r0, _080ADFD8 @ =gUnk_08132B30 - lsls r4, r7, #2 - adds r0, r4, r0 - ldr r0, [r0] - movs r1, #0xfe - lsls r1, r1, #0x17 - ands r0, r1 - lsrs r6, r0, #0x18 - adds r0, r6, #0 - bl sub_080AE174 - adds r5, r0, #0 - cmp r5, #0 - bne _080ADFDC - bl sub_080AE1D8 - adds r0, r6, #0 - bl sub_080AE174 - adds r5, r0, #0 - cmp r5, #0 - bne _080ADFDC - movs r0, #0 - b _080ADFFE - .align 2, 0 -_080ADFD4: .4byte gUnk_02024490 -_080ADFD8: .4byte gUnk_08132B30 -_080ADFDC: - adds r0, r5, #0 - adds r1, r7, #0 - adds r2, r6, #0 - bl sub_080AE104 - ldr r0, _080AE004 @ =gUnk_08132B30 - adds r0, r4, r0 - ldr r1, [r0] - adds r0, r5, #0 - bl sub_080ADDD8 -_080ADFF2: - adds r0, r5, #0 - mov r1, r8 - movs r2, #4 - bl sub_080AE0C8 -_080ADFFC: - movs r0, #1 -_080ADFFE: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080AE004: .4byte gUnk_08132B30 - - thumb_func_start sub_080AE008 -sub_080AE008: @ 0x080AE008 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r5, r1, #0 - adds r4, r2, #0 - cmp r4, #0 - bne _080AE030 - adds r0, r5, #0 - bl sub_080AE174 - adds r4, r0, #0 - cmp r4, #0 - bne _080AE030 - bl sub_080AE1D8 - adds r0, r5, #0 - bl sub_080AE174 - adds r4, r0, #0 - cmp r4, #0 - beq _080AE058 -_080AE030: - ldr r0, _080AE064 @ =gUnk_02024490 - lsls r1, r4, #1 - adds r1, r1, r4 - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r0, [r1, #4] - lsls r0, r0, #0x1c - lsrs r2, r0, #0x1c - cmp r2, #6 - beq _080AE050 - adds r0, r4, #0 - movs r1, #0 - adds r2, r5, #0 - bl sub_080AE104 - movs r2, #5 -_080AE050: - adds r0, r4, #0 - adds r1, r6, #0 - bl sub_080AE0C8 -_080AE058: - adds r0, r4, #0 - cmp r0, #0 - beq _080AE060 - movs r0, #1 -_080AE060: - pop {r4, r5, r6, pc} - .align 2, 0 -_080AE064: .4byte gUnk_02024490 - - thumb_func_start sub_080AE068 -sub_080AE068: @ 0x080AE068 - push {r4, r5, lr} - adds r0, #0x26 - ldrb r2, [r0] - movs r1, #0 - strb r1, [r0] - cmp r2, #0 - beq _080AE0C2 - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #2 - ldr r1, _080AE0C4 @ =gUnk_02024494 - adds r3, r0, r1 - ldrb r0, [r3] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - cmp r0, #5 - bgt _080AE0C2 - cmp r0, #4 - blt _080AE0C2 - ldrb r0, [r3, #2] - cmp r0, #0 - beq _080AE0C2 - subs r0, #1 - strb r0, [r3, #2] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080AE0C2 - ldrb r2, [r3, #1] - adds r0, r2, #0 - subs r2, #1 - cmp r0, #0 - ble _080AE0C2 - movs r5, #0x10 - rsbs r5, r5, #0 - movs r4, #1 -_080AE0AE: - ldrb r0, [r3] - adds r1, r5, #0 - ands r1, r0 - orrs r1, r4 - strb r1, [r3] - adds r3, #0xc - adds r0, r2, #0 - subs r2, #1 - cmp r0, #0 - bgt _080AE0AE -_080AE0C2: - pop {r4, r5, pc} - .align 2, 0 -_080AE0C4: .4byte gUnk_02024494 - - thumb_func_start sub_080AE0C8 -sub_080AE0C8: @ 0x080AE0C8 - push {r4, lr} - adds r4, r2, #0 - lsls r2, r0, #4 - movs r3, #0xa0 - lsls r3, r3, #1 - adds r2, r2, r3 - adds r3, r1, #0 - adds r3, #0x60 - strh r2, [r3] - adds r1, #0x26 - strb r0, [r1] - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _080AE100 @ =gUnk_02024494 - adds r1, r1, r0 - ldrb r2, [r1, #2] - movs r0, #2 - ldrsb r0, [r1, r0] - cmp r0, #0 - blt _080AE0F6 - adds r0, r2, #1 - strb r0, [r1, #2] -_080AE0F6: - adds r0, r1, #0 - adds r1, r4, #0 - bl sub_080AE134 - pop {r4, pc} - .align 2, 0 -_080AE100: .4byte gUnk_02024494 - - thumb_func_start sub_080AE104 -sub_080AE104: @ 0x080AE104 - push {r4, r5, r6, lr} - adds r6, r1, #0 - adds r5, r2, #0 - lsls r4, r0, #1 - adds r4, r4, r0 - lsls r4, r4, #2 - ldr r0, _080AE130 @ =gUnk_02024494 - adds r4, r4, r0 - lsls r1, r5, #1 - adds r1, r1, r5 - lsls r1, r1, #2 - adds r0, r4, #0 - bl sub_0801D630 - strb r5, [r4, #1] - strh r6, [r4, #4] - adds r0, r4, #0 - movs r1, #4 - bl sub_080AE134 - pop {r4, r5, r6, pc} - .align 2, 0 -_080AE130: .4byte gUnk_02024494 - - thumb_func_start sub_080AE134 -sub_080AE134: @ 0x080AE134 - push {r4, r5, r6, lr} - adds r3, r0, #0 - adds r4, r1, #0 - movs r6, #0xf - adds r0, r4, #0 - ands r0, r6 - ldrb r2, [r3] - movs r5, #0x10 - rsbs r5, r5, #0 - adds r1, r5, #0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - ldrb r2, [r3, #1] - cmp r4, #6 - beq _080AE156 - movs r4, #3 -_080AE156: - subs r2, #1 - cmp r2, #0 - ble _080AE170 - ands r4, r6 -_080AE15E: - adds r3, #0xc - ldrb r1, [r3] - adds r0, r5, #0 - ands r0, r1 - orrs r0, r4 - strb r0, [r3] - subs r2, #1 - cmp r2, #0 - bgt _080AE15E -_080AE170: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080AE174 -sub_080AE174: @ 0x080AE174 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r2, #4 - ldr r0, _080AE194 @ =gUnk_02024490 - adds r3, r0, #0 - adds r3, #0x30 -_080AE182: - ldrb r0, [r3, #4] - lsls r0, r0, #0x1c - cmp r0, #0 - bne _080AE198 - adds r1, #1 - cmp r4, r1 - bhi _080AE19A - b _080AE1BC - .align 2, 0 -_080AE194: .4byte gUnk_02024490 -_080AE198: - movs r1, #0 -_080AE19A: - adds r3, #0xc - adds r2, #1 - cmp r2, #0x2b - bls _080AE182 - movs r1, #0 - movs r2, #4 - ldr r0, _080AE1C4 @ =gUnk_02024490 - adds r3, r0, #0 - adds r3, #0x30 -_080AE1AC: - ldrb r0, [r3, #4] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - cmp r0, #1 - bhi _080AE1C8 - adds r1, #1 - cmp r4, r1 - bhi _080AE1CA -_080AE1BC: - subs r0, r2, r1 - adds r0, #1 - b _080AE1D4 - .align 2, 0 -_080AE1C4: .4byte gUnk_02024490 -_080AE1C8: - movs r1, #0 -_080AE1CA: - adds r3, #0xc - adds r2, #1 - cmp r2, #0x2b - bls _080AE1AC - movs r0, #0 -_080AE1D4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AE1D8 -sub_080AE1D8: @ 0x080AE1D8 - push {r4, r5, lr} - ldr r0, _080AE1E8 @ =gUnk_02024490 - ldrb r0, [r0] - cmp r0, #0 - beq _080AE216 - movs r5, #4 - b _080AE20A - .align 2, 0 -_080AE1E8: .4byte gUnk_02024490 -_080AE1EC: - bl sub_080AE3B8 - adds r4, r0, #0 - cmp r4, r5 - bhi _080AE208 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080AE218 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_080AE324 - adds r5, r4, #0 -_080AE208: - adds r5, #1 -_080AE20A: - adds r0, r5, #0 - bl sub_080AE384 - adds r5, r0, #0 - cmp r5, #0 - bne _080AE1EC -_080AE216: - pop {r4, r5, pc} - - thumb_func_start sub_080AE218 -sub_080AE218: @ 0x080AE218 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov sl, r0 - mov r8, r1 - lsls r0, r1, #4 - movs r1, #0xa0 - lsls r1, r1, #1 - adds r0, r0, r1 - mov ip, r0 - mov r2, sl - lsls r0, r2, #4 - adds r3, r0, r1 - ldr r1, _080AE30C @ =gUnk_02024490 - lsls r0, r2, #1 - add r0, sl - lsls r0, r0, #2 - adds r0, r0, r1 - ldrb r0, [r0, #5] - lsls r0, r0, #4 - adds r7, r3, r0 - movs r4, #0 - ldr r6, _080AE310 @ =gUnk_020000C0 - mov sb, r6 - ldr r0, _080AE314 @ =gUnk_03001160 - adds r2, r0, #0 - adds r2, #0x26 - adds r5, r0, #0 -_080AE254: - ldr r0, [r5, #4] - cmp r0, #0 - beq _080AE276 - ldrb r0, [r2] - cmp sl, r0 - bne _080AE264 - mov r1, r8 - strb r1, [r2] -_080AE264: - ldrh r0, [r2, #0x3a] - cmp r3, r0 - bhi _080AE276 - cmp r7, r0 - bls _080AE276 - subs r0, r0, r3 - mov r6, ip - adds r1, r0, r6 - strh r1, [r2, #0x3a] -_080AE276: - adds r2, #0x88 - adds r5, #0x88 - adds r4, #1 - cmp r4, #0x4f - bls _080AE254 - movs r0, #0 -_080AE282: - movs r4, #0 - adds r1, r0, #1 - mov r8, r1 - lsls r5, r0, #6 -_080AE28A: - lsls r0, r4, #4 - add r0, sb - adds r2, r5, r0 - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080AE2B4 - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _080AE2B4 - ldrh r1, [r2, #0xa] - cmp r3, r1 - bhi _080AE2B4 - cmp r7, r1 - bls _080AE2B4 - subs r0, r1, r3 - mov r6, ip - adds r1, r0, r6 - strh r1, [r2, #0xa] -_080AE2B4: - adds r4, #1 - cmp r4, #3 - bls _080AE28A - mov r0, r8 - cmp r0, #0x2f - bls _080AE282 - movs r4, #0 - ldr r0, _080AE318 @ =0xFFFFFC00 - mov sl, r0 - ldr r5, _080AE31C @ =gUnk_03000000 - adds r5, #0x24 - ldr r1, _080AE320 @ =0x000003FF - mov sb, r1 - movs r2, #1 - mov r8, r2 -_080AE2D2: - ldrh r2, [r5] - lsls r0, r2, #0x16 - lsrs r1, r0, #0x16 - cmp r3, r1 - bhi _080AE2F8 - cmp r7, r1 - bls _080AE2F8 - subs r0, r1, r3 - mov r6, ip - adds r1, r0, r6 - mov r0, sb - ands r1, r0 - mov r0, sl - ands r0, r2 - orrs r0, r1 - strh r0, [r5] - mov r2, r8 - ldr r1, _080AE31C @ =gUnk_03000000 - strb r2, [r1] -_080AE2F8: - adds r5, #8 - adds r4, #1 - cmp r4, #0x7f - bls _080AE2D2 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080AE30C: .4byte gUnk_02024490 -_080AE310: .4byte gUnk_020000C0 -_080AE314: .4byte gUnk_03001160 -_080AE318: .4byte 0xFFFFFC00 -_080AE31C: .4byte gUnk_03000000 -_080AE320: .4byte 0x000003FF - - thumb_func_start sub_080AE324 -sub_080AE324: @ 0x080AE324 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r3, r1, #0 - ldr r2, _080AE380 @ =gUnk_02024490 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - adds r5, r1, r2 - ldrb r4, [r5, #5] - subs r4, #1 - movs r0, #1 - rsbs r0, r0, #0 - cmp r4, r0 - beq _080AE372 - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r0, r0, #2 - adds r0, r0, r2 - mov r8, r0 - adds r0, r1, #4 - adds r6, r0, r2 -_080AE350: - mov r0, r8 - adds r0, #4 - adds r1, r5, #4 - ldm r1!, {r2, r3, r7} - stm r0!, {r2, r3, r7} - adds r0, r6, #0 - movs r1, #0xc - bl sub_0801D630 - adds r6, #0xc - adds r5, #0xc - movs r0, #0xc - add r8, r0 - subs r4, #1 - subs r0, #0xd - cmp r4, r0 - bne _080AE350 -_080AE372: - ldr r1, _080AE380 @ =gUnk_02024490 - movs r0, #1 - strb r0, [r1, #3] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080AE380: .4byte gUnk_02024490 - - thumb_func_start sub_080AE384 -sub_080AE384: @ 0x080AE384 - push {lr} - adds r2, r0, #0 - cmp r2, #0x2a - bhi _080AE3B4 - ldr r1, _080AE3A8 @ =gUnk_02024490 - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #2 - adds r1, r0, r1 -_080AE396: - ldrb r0, [r1, #4] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - cmp r0, #5 - bgt _080AE3AC - cmp r0, #4 - blt _080AE3AC - adds r0, r2, #0 - b _080AE3B6 - .align 2, 0 -_080AE3A8: .4byte gUnk_02024490 -_080AE3AC: - adds r1, #0xc - adds r2, #1 - cmp r2, #0x2a - bls _080AE396 -_080AE3B4: - movs r0, #0 -_080AE3B6: - pop {pc} - - thumb_func_start sub_080AE3B8 -sub_080AE3B8: @ 0x080AE3B8 - push {lr} - movs r1, #4 - ldr r0, _080AE3D4 @ =gUnk_02024490 - adds r2, r0, #0 - adds r2, #0x30 -_080AE3C2: - ldrb r0, [r2, #4] - lsls r0, r0, #0x1c - lsrs r0, r0, #0x1c - cmp r0, #1 - bgt _080AE3D8 - cmp r0, #0 - blt _080AE3D8 - adds r0, r1, #0 - b _080AE3E2 - .align 2, 0 -_080AE3D4: .4byte gUnk_02024490 -_080AE3D8: - adds r2, #0xc - adds r1, #1 - cmp r1, #0x2b - bls _080AE3C2 - movs r0, #0 -_080AE3E2: - pop {pc} - - thumb_func_start sub_080AE3E4 -sub_080AE3E4: @ 0x080AE3E4 - movs r0, #0 - bx lr - - thumb_func_start sub_080AE3E8 -sub_080AE3E8: @ 0x080AE3E8 - movs r0, #1 - bx lr - - thumb_func_start sub_080AE3EC -sub_080AE3EC: @ 0x080AE3EC - adds r2, r0, #0 - ldr r0, _080AE404 @ =gUnk_08133918 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - ands r2, r3 - asrs r0, r2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_080AE404: .4byte gUnk_08133918 - - thumb_func_start sub_080AE408 -sub_080AE408: @ 0x080AE408 - adds r2, r0, #0 - ldr r0, _080AE420 @ =gUnk_08133938 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - ands r2, r3 - asrs r0, r2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_080AE420: .4byte gUnk_08133938 - - thumb_func_start sub_080AE424 -sub_080AE424: @ 0x080AE424 - adds r2, r0, #0 - ldr r0, _080AE43C @ =gUnk_08133958 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - ands r2, r3 - asrs r0, r2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_080AE43C: .4byte gUnk_08133958 - - thumb_func_start sub_080AE440 -sub_080AE440: @ 0x080AE440 - adds r2, r0, #0 - ldr r0, _080AE458 @ =gUnk_08133978 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - ands r2, r3 - asrs r0, r2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_080AE458: .4byte gUnk_08133978 - - thumb_func_start sub_080AE45C -sub_080AE45C: @ 0x080AE45C - adds r2, r0, #0 - ldr r0, _080AE474 @ =gUnk_08133998 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - ands r2, r3 - asrs r0, r2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_080AE474: .4byte gUnk_08133998 - - thumb_func_start sub_080AE478 -sub_080AE478: @ 0x080AE478 - adds r2, r0, #0 - ldr r0, _080AE490 @ =gUnk_081339B8 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - ands r2, r3 - asrs r0, r2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_080AE490: .4byte gUnk_081339B8 - - thumb_func_start sub_080AE494 -sub_080AE494: @ 0x080AE494 - adds r2, r0, #0 - ldr r0, _080AE4AC @ =gUnk_081339D8 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - ands r2, r3 - asrs r0, r2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_080AE4AC: .4byte gUnk_081339D8 - - thumb_func_start sub_080AE4B0 -sub_080AE4B0: @ 0x080AE4B0 - adds r2, r0, #0 - ldr r0, _080AE4C8 @ =gUnk_081339F8 - movs r3, #0xf - ands r1, r3 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - ands r2, r3 - asrs r0, r2 - movs r1, #1 - ands r0, r1 - bx lr - .align 2, 0 -_080AE4C8: .4byte gUnk_081339F8 - - thumb_func_start sub_080AE4CC -sub_080AE4CC: @ 0x080AE4CC - push {r4, r5, r6, lr} - adds r6, r1, #0 - adds r5, r2, #0 - adds r4, r3, #0 - ldr r1, _080AE4FC @ =gUnk_03000BF0 - ldrh r2, [r1, #6] - subs r2, r6, r2 - asrs r2, r2, #4 - movs r3, #0x3f - ands r2, r3 - ldrh r1, [r1, #8] - subs r1, r5, r1 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r2, r1 - adds r0, r0, r2 - ldrb r3, [r0] - cmp r3, #0 - bne _080AE500 - cmp r4, #4 - beq _080AE588 - b _080AE516 - .align 2, 0 -_080AE4FC: .4byte gUnk_03000BF0 -_080AE500: - cmp r3, #0xf - bhi _080AE53E - ldr r2, _080AE51C @ =gUnk_08133A40 - lsls r1, r4, #1 - adds r0, r3, #1 - lsrs r0, r0, #4 - adds r1, r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - cmp r0, #0 - bne _080AE520 -_080AE516: - movs r0, #0 - b _080AE58A - .align 2, 0 -_080AE51C: .4byte gUnk_08133A40 -_080AE520: - cmp r0, #1 - beq _080AE588 - movs r0, #8 - ands r5, r0 - cmp r5, #0 - bne _080AE52E - lsrs r3, r3, #2 -_080AE52E: - ands r6, r0 - cmp r6, #0 - bne _080AE536 - lsrs r3, r3, #1 -_080AE536: - movs r0, #1 - ands r3, r0 - adds r0, r3, #0 - b _080AE58A -_080AE53E: - cmp r3, #0xff - bne _080AE558 - ldr r1, _080AE550 @ =gUnk_08133A18 - ldr r0, _080AE554 @ =gUnk_08133A5A - adds r0, r4, r0 - ldrb r0, [r0] - lsls r0, r0, #2 - adds r0, r0, r1 - b _080AE572 - .align 2, 0 -_080AE550: .4byte gUnk_08133A18 -_080AE554: .4byte gUnk_08133A5A -_080AE558: - cmp r3, #0x6f - bhi _080AE588 - ldr r2, _080AE580 @ =gUnk_08133A18 - ldr r1, _080AE584 @ =gUnk_08133A67 - lsls r0, r4, #1 - adds r0, r0, r4 - lsls r0, r0, #5 - adds r0, r0, r3 - subs r0, #0x10 - adds r0, r0, r1 - ldrb r0, [r0] - lsls r0, r0, #2 - adds r0, r0, r2 -_080AE572: - ldr r2, [r0] - adds r0, r6, #0 - adds r1, r5, #0 - bl _call_via_r2 - b _080AE58A - .align 2, 0 -_080AE580: .4byte gUnk_08133A18 -_080AE584: .4byte gUnk_08133A67 -_080AE588: - movs r0, #1 -_080AE58A: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080AE58C -sub_080AE58C: @ 0x080AE58C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x18 - str r0, [sp] - str r1, [sp, #4] - adds r4, r2, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_0808094C - ldr r1, _080AE624 @ =0x00002004 - adds r5, r0, r1 - ldr r2, [sp] - ldr r2, [r2, #0x48] - str r2, [sp, #8] - ldr r0, [sp] - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r2, [sp, #8] - movs r0, #0 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - str r1, [sp, #0xc] - ldr r0, [sp] - movs r2, #0x32 - ldrsh r1, [r0, r2] - ldr r2, [sp, #8] - movs r0, #1 - ldrsb r0, [r2, r0] - adds r1, r1, r0 - mov sl, r1 - ldrb r0, [r2, #2] - mov sb, r0 - ldrb r1, [r2, #3] - mov r8, r1 - movs r0, #0xf - ldr r2, [sp, #4] - ands r0, r2 - cmp r0, #0 - beq _080AE65C - cmp r2, #0xf - bhi _080AE628 - ldr r7, [sp, #0xc] - add r7, sb - adds r0, r5, #0 - adds r1, r7, #0 - mov r2, sl - adds r3, r4, #0 - bl sub_080AE4CC - adds r6, r0, #0 - lsls r6, r6, #1 - mov r2, sl - add r2, r8 - adds r0, r5, #0 - adds r1, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - mov r0, sl - mov r1, r8 - subs r2, r0, r1 - adds r0, r5, #0 - adds r1, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #6 - b _080AE6D2 - .align 2, 0 -_080AE624: .4byte 0x00002004 -_080AE628: - ldr r2, [sp, #0xc] - mov r0, sb - subs r7, r2, r0 - adds r0, r5, #0 - adds r1, r7, #0 - mov r2, sl - adds r3, r4, #0 - bl sub_080AE4CC - adds r6, r0, #0 - lsls r6, r6, #1 - mov r2, sl - add r2, r8 - adds r0, r5, #0 - adds r1, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - mov r1, sl - mov r0, r8 - subs r2, r1, r0 - adds r0, r5, #0 - adds r1, r7, #0 - b _080AE6C8 -_080AE65C: - ldr r7, [sp, #0xc] - add r7, sb - adds r0, r5, #0 - adds r1, r7, #0 - mov r2, sl - adds r3, r4, #0 - bl sub_080AE4CC - adds r6, r0, #0 - lsls r6, r6, #1 - mov r1, sl - add r1, r8 - str r1, [sp, #0x10] - adds r0, r5, #0 - adds r1, r7, #0 - ldr r2, [sp, #0x10] - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - mov r2, sl - mov r0, r8 - subs r2, r2, r0 - mov r8, r2 - adds r0, r5, #0 - adds r1, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #2 - ldr r1, [sp, #0xc] - mov r2, sb - subs r7, r1, r2 - adds r0, r5, #0 - adds r1, r7, #0 - mov r2, sl - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - adds r0, r5, #0 - adds r1, r7, #0 - ldr r2, [sp, #0x10] - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - adds r0, r5, #0 - adds r1, r7, #0 - mov r2, r8 -_080AE6C8: - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #2 -_080AE6D2: - ldr r0, [sp, #8] - ldrb r0, [r0, #4] - mov sb, r0 - ldr r1, [sp, #8] - ldrb r1, [r1, #5] - mov r8, r1 - ldr r2, [sp, #4] - subs r2, #8 - str r2, [sp, #4] - movs r0, #0xf - ands r0, r2 - cmp r0, #0 - beq _080AE760 - cmp r2, #0xf - bhi _080AE72C - mov r7, sl - add r7, r8 - adds r0, r5, #0 - ldr r1, [sp, #0xc] - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - ldr r1, [sp, #0xc] - add r1, sb - adds r0, r5, #0 - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - ldr r0, [sp, #0xc] - mov r2, sb - subs r1, r0, r2 - adds r0, r5, #0 - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #5 - b _080AE7D6 -_080AE72C: - mov r0, sl - mov r1, r8 - subs r7, r0, r1 - lsls r6, r6, #4 - adds r0, r5, #0 - ldr r1, [sp, #0xc] - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - ldr r1, [sp, #0xc] - add r1, sb - adds r0, r5, #0 - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - ldr r2, [sp, #0xc] - mov r0, sb - subs r1, r2, r0 - adds r0, r5, #0 - b _080AE7CA -_080AE760: - mov r7, sl - add r7, r8 - adds r0, r5, #0 - ldr r1, [sp, #0xc] - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - ldr r1, [sp, #0xc] - add r1, sb - str r1, [sp, #0x14] - adds r0, r5, #0 - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - ldr r2, [sp, #0xc] - mov r0, sb - subs r2, r2, r0 - mov sb, r2 - adds r0, r5, #0 - mov r1, sb - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #2 - mov r1, sl - mov r2, r8 - subs r7, r1, r2 - adds r0, r5, #0 - ldr r1, [sp, #0xc] - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - adds r0, r5, #0 - ldr r1, [sp, #0x14] - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 - adds r0, r5, #0 - mov r1, sb -_080AE7CA: - adds r2, r7, #0 - adds r3, r4, #0 - bl sub_080AE4CC - orrs r6, r0 - lsls r6, r6, #1 -_080AE7D6: - ldr r0, [sp] - strh r6, [r0, #0x2a] - add sp, #0x18 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AE7E8 -sub_080AE7E8: @ 0x080AE7E8 - push {r4, r5, lr} - ldr r5, _080AE7FC @ =gUnk_08133F48 - lsls r4, r2, #2 - adds r4, r4, r5 - lsls r2, r2, #3 - ldr r4, [r4] - bl _call_via_r4 - pop {r4, r5, pc} - .align 2, 0 -_080AE7FC: .4byte gUnk_08133F48 - - thumb_func_start sub_080AE800 -sub_080AE800: @ 0x080AE800 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - adds r5, r1, #0 - adds r2, r3, #0 - movs r6, #0 - mov r8, r6 - ldrh r1, [r4, #0x2a] - movs r7, #0xe - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - beq _080AE89C - cmp r0, #2 - bne _080AE85C - movs r0, #0xe0 - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - bne _080AE8AE - lsls r6, r5, #8 - ldr r0, [r4, #0x2c] - adds r0, r0, r6 - str r0, [r4, #0x2c] - adds r0, r4, #0 - movs r1, #4 - bl sub_080AE58C - ldrh r1, [r4, #0x2a] - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - bne _080AE8AE - ldr r0, _080AE858 @ =gUnk_080C9160 - adds r0, #0x80 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r5, r1 - mov r8, r1 - ldr r0, [r4, #0x30] - subs r0, r0, r1 - b _080AE8AC - .align 2, 0 -_080AE858: .4byte gUnk_080C9160 -_080AE85C: - cmp r0, #4 - bne _080AE8AE - movs r0, #0xe0 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - bne _080AE8AE - lsls r6, r5, #8 - ldr r0, [r4, #0x2c] - subs r0, r0, r6 - str r0, [r4, #0x2c] - adds r0, r4, #0 - movs r1, #0x1c - bl sub_080AE58C - ldrh r1, [r4, #0x2a] - adds r0, r7, #0 - ands r0, r1 - cmp r0, #0 - bne _080AE8AE - ldr r0, _080AE898 @ =gUnk_080C9160 - adds r0, #0x80 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r5, r1 - mov r8, r1 - ldr r0, [r4, #0x30] - subs r0, r0, r1 - b _080AE8AC - .align 2, 0 -_080AE898: .4byte gUnk_080C9160 -_080AE89C: - ldr r0, _080AE8C4 @ =gUnk_080C9160 - adds r0, #0x80 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x30] - subs r0, r0, r6 -_080AE8AC: - str r0, [r4, #0x30] -_080AE8AE: - ldr r1, _080AE8C8 @ =0x00003333 - adds r0, r6, r1 - ldr r1, _080AE8CC @ =0x00006665 - cmp r0, r1 - bhi _080AE8D0 - ldr r0, _080AE8C8 @ =0x00003333 - add r0, r8 - cmp r0, r1 - bhi _080AE8D0 - movs r0, #0 - b _080AE8D2 - .align 2, 0 -_080AE8C4: .4byte gUnk_080C9160 -_080AE8C8: .4byte 0x00003333 -_080AE8CC: .4byte 0x00006665 -_080AE8D0: - movs r0, #1 -_080AE8D2: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080AE8D8 -sub_080AE8D8: @ 0x080AE8D8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - adds r5, r1, #0 - mov r8, r2 - mov sb, r3 - movs r7, #0 - movs r6, #0 - ldrh r0, [r4, #0x2a] - movs r1, #0xe - ands r1, r0 - mov ip, r1 - movs r2, #0xe0 - lsls r2, r2, #8 - ands r2, r0 - adds r3, r2, #0 - cmp r1, #0 - beq _080AE904 - cmp r2, #0 - bne _080AE99E -_080AE904: - orrs r1, r2 - cmp r1, #0 - bne _080AE928 - ldr r1, _080AE924 @ =gUnk_080C9160 - mov r0, r8 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r7, r0, #0 - muls r7, r5, r7 - ldr r0, [r4, #0x30] - subs r0, r0, r7 - str r0, [r4, #0x30] - b _080AE98A - .align 2, 0 -_080AE924: .4byte gUnk_080C9160 -_080AE928: - mov r2, ip - cmp r2, #2 - bne _080AE942 - lsls r7, r5, #8 - ldr r0, [r4, #0x2c] - adds r0, r0, r7 - str r0, [r4, #0x2c] - adds r0, r4, #0 - movs r1, #4 - mov r2, sb - bl sub_080AE58C - b _080AE95C -_080AE942: - movs r0, #0x80 - lsls r0, r0, #7 - cmp r3, r0 - bne _080AE95C - lsls r7, r5, #8 - ldr r0, [r4, #0x30] - subs r0, r0, r7 - str r0, [r4, #0x30] - adds r0, r4, #0 - movs r1, #4 - mov r2, sb - bl sub_080AE58C -_080AE95C: - ldrh r2, [r4, #0x2a] - movs r0, #0xe - ands r0, r2 - cmp r0, #0 - bne _080AE97E - ldr r1, _080AE9B4 @ =gUnk_080C9160 - mov r0, r8 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x30] - subs r0, r0, r6 - str r0, [r4, #0x30] -_080AE97E: - movs r0, #0xe0 - lsls r0, r0, #8 - ands r0, r2 - cmp r0, #0 - bne _080AE99E - ldr r1, _080AE9B4 @ =gUnk_080C9160 -_080AE98A: - mov r2, r8 - lsls r0, r2, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x2c] - adds r0, r0, r6 - str r0, [r4, #0x2c] -_080AE99E: - ldr r2, _080AE9B8 @ =0x00003333 - adds r0, r7, r2 - ldr r1, _080AE9BC @ =0x00006665 - cmp r0, r1 - bhi _080AE9C0 - ldr r2, _080AE9B8 @ =0x00003333 - adds r0, r6, r2 - cmp r0, r1 - bhi _080AE9C0 - movs r0, #0 - b _080AE9C2 - .align 2, 0 -_080AE9B4: .4byte gUnk_080C9160 -_080AE9B8: .4byte 0x00003333 -_080AE9BC: .4byte 0x00006665 -_080AE9C0: - movs r0, #1 -_080AE9C2: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AE9CC -sub_080AE9CC: @ 0x080AE9CC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - adds r5, r1, #0 - adds r7, r2, #0 - movs r6, #0 - mov sb, r6 - ldrh r2, [r4, #0x2a] - movs r0, #0xe0 - lsls r0, r0, #8 - mov r8, r0 - mov r1, r8 - ands r1, r2 - cmp r1, #0 - beq _080AEA7C - movs r0, #0x80 - lsls r0, r0, #6 - cmp r1, r0 - bne _080AEA34 - movs r0, #0xe0 - ands r0, r2 - cmp r0, #0 - bne _080AEA90 - lsls r6, r5, #8 - ldr r0, [r4, #0x30] - adds r0, r0, r6 - str r0, [r4, #0x30] - adds r0, r4, #0 - movs r1, #0xc - adds r2, r3, #0 - bl sub_080AE58C - ldrh r1, [r4, #0x2a] - mov r0, r8 - ands r0, r1 - cmp r0, #0 - bne _080AEA90 - ldr r1, _080AEA30 @ =gUnk_080C9160 - lsls r0, r7, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r5, r1 - mov sb, r1 - ldr r0, [r4, #0x2c] - add r0, sb - b _080AEA8E - .align 2, 0 -_080AEA30: .4byte gUnk_080C9160 -_080AEA34: - movs r0, #0x80 - lsls r0, r0, #7 - cmp r1, r0 - bne _080AEA90 - movs r0, #0xe - ands r0, r2 - cmp r0, #0 - bne _080AEA90 - lsls r6, r5, #8 - ldr r0, [r4, #0x30] - subs r0, r0, r6 - str r0, [r4, #0x30] - adds r0, r4, #0 - movs r1, #4 - adds r2, r3, #0 - bl sub_080AE58C - ldrh r1, [r4, #0x2a] - mov r0, r8 - ands r0, r1 - cmp r0, #0 - bne _080AEA90 - ldr r1, _080AEA78 @ =gUnk_080C9160 - lsls r0, r7, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r5, r1 - mov sb, r1 - ldr r0, [r4, #0x2c] - add r0, sb - b _080AEA8E - .align 2, 0 -_080AEA78: .4byte gUnk_080C9160 -_080AEA7C: - ldr r1, _080AEAA8 @ =gUnk_080C9160 - lsls r0, r7, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x2c] - adds r0, r0, r6 -_080AEA8E: - str r0, [r4, #0x2c] -_080AEA90: - ldr r1, _080AEAAC @ =0x00003333 - adds r0, r6, r1 - ldr r1, _080AEAB0 @ =0x00006665 - cmp r0, r1 - bhi _080AEAB4 - ldr r0, _080AEAAC @ =0x00003333 - add r0, sb - cmp r0, r1 - bhi _080AEAB4 - movs r0, #0 - b _080AEAB6 - .align 2, 0 -_080AEAA8: .4byte gUnk_080C9160 -_080AEAAC: .4byte 0x00003333 -_080AEAB0: .4byte 0x00006665 -_080AEAB4: - movs r0, #1 -_080AEAB6: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AEAC0 -sub_080AEAC0: @ 0x080AEAC0 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - adds r5, r1, #0 - mov r8, r2 - mov sb, r3 - movs r7, #0 - movs r6, #0 - ldrh r0, [r4, #0x2a] - movs r1, #0xe0 - ands r1, r0 - mov ip, r1 - movs r2, #0xe0 - lsls r2, r2, #8 - ands r2, r0 - adds r3, r2, #0 - cmp r1, #0 - beq _080AEAEC - cmp r2, #0 - bne _080AEB86 -_080AEAEC: - orrs r1, r2 - cmp r1, #0 - bne _080AEB10 - ldr r1, _080AEB0C @ =gUnk_080C9160 - mov r0, r8 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r7, r0, #0 - muls r7, r5, r7 - ldr r0, [r4, #0x30] - subs r0, r0, r7 - str r0, [r4, #0x30] - b _080AEB72 - .align 2, 0 -_080AEB0C: .4byte gUnk_080C9160 -_080AEB10: - mov r2, ip - cmp r2, #0x20 - bne _080AEB2A - lsls r7, r5, #8 - ldr r0, [r4, #0x2c] - adds r0, r0, r7 - str r0, [r4, #0x2c] - adds r0, r4, #0 - movs r1, #0xc - mov r2, sb - bl sub_080AE58C - b _080AEB44 -_080AEB2A: - movs r0, #0x80 - lsls r0, r0, #6 - cmp r3, r0 - bne _080AEB44 - lsls r7, r5, #8 - ldr r0, [r4, #0x30] - adds r0, r0, r7 - str r0, [r4, #0x30] - adds r0, r4, #0 - movs r1, #0xc - mov r2, sb - bl sub_080AE58C -_080AEB44: - ldrh r2, [r4, #0x2a] - movs r0, #0xe0 - ands r0, r2 - cmp r0, #0 - bne _080AEB66 - ldr r1, _080AEB9C @ =gUnk_080C9160 - mov r0, r8 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x30] - subs r0, r0, r6 - str r0, [r4, #0x30] -_080AEB66: - movs r0, #0xe0 - lsls r0, r0, #8 - ands r0, r2 - cmp r0, #0 - bne _080AEB86 - ldr r1, _080AEB9C @ =gUnk_080C9160 -_080AEB72: - mov r2, r8 - lsls r0, r2, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x2c] - adds r0, r0, r6 - str r0, [r4, #0x2c] -_080AEB86: - ldr r2, _080AEBA0 @ =0x00003333 - adds r0, r7, r2 - ldr r1, _080AEBA4 @ =0x00006665 - cmp r0, r1 - bhi _080AEBA8 - ldr r2, _080AEBA0 @ =0x00003333 - adds r0, r6, r2 - cmp r0, r1 - bhi _080AEBA8 - movs r0, #0 - b _080AEBAA - .align 2, 0 -_080AEB9C: .4byte gUnk_080C9160 -_080AEBA0: .4byte 0x00003333 -_080AEBA4: .4byte 0x00006665 -_080AEBA8: - movs r0, #1 -_080AEBAA: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AEBB4 -sub_080AEBB4: @ 0x080AEBB4 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - adds r5, r1, #0 - adds r7, r2, #0 - adds r2, r3, #0 - movs r6, #0 - mov sb, r6 - ldrh r1, [r4, #0x2a] - movs r0, #0xe0 - mov r8, r0 - ands r0, r1 - cmp r0, #0 - beq _080AEC64 - cmp r0, #0x20 - bne _080AEC1C - movs r0, #0xe0 - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - bne _080AEC7C - lsls r6, r5, #8 - ldr r0, [r4, #0x2c] - adds r0, r0, r6 - str r0, [r4, #0x2c] - adds r0, r4, #0 - movs r1, #0xc - bl sub_080AE58C - ldrh r1, [r4, #0x2a] - mov r0, r8 - ands r0, r1 - cmp r0, #0 - bne _080AEC7C - ldr r1, _080AEC18 @ =gUnk_080C9160 - adds r0, r7, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r5, r1 - mov sb, r1 - ldr r0, [r4, #0x30] - subs r0, r0, r1 - b _080AEC7A - .align 2, 0 -_080AEC18: .4byte gUnk_080C9160 -_080AEC1C: - cmp r0, #0x40 - bne _080AEC7C - movs r0, #0xe0 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - bne _080AEC7C - lsls r6, r5, #8 - ldr r0, [r4, #0x2c] - subs r0, r0, r6 - str r0, [r4, #0x2c] - adds r0, r4, #0 - movs r1, #0x14 - bl sub_080AE58C - ldrh r1, [r4, #0x2a] - mov r0, r8 - ands r0, r1 - cmp r0, #0 - bne _080AEC7C - ldr r1, _080AEC60 @ =gUnk_080C9160 - adds r0, r7, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r5, r1 - mov sb, r1 - ldr r0, [r4, #0x30] - subs r0, r0, r1 - b _080AEC7A - .align 2, 0 -_080AEC60: .4byte gUnk_080C9160 -_080AEC64: - ldr r1, _080AEC94 @ =gUnk_080C9160 - adds r0, r7, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x30] - subs r0, r0, r6 -_080AEC7A: - str r0, [r4, #0x30] -_080AEC7C: - ldr r1, _080AEC98 @ =0x00003333 - adds r0, r6, r1 - ldr r1, _080AEC9C @ =0x00006665 - cmp r0, r1 - bhi _080AECA0 - ldr r0, _080AEC98 @ =0x00003333 - add r0, sb - cmp r0, r1 - bhi _080AECA0 - movs r0, #0 - b _080AECA2 - .align 2, 0 -_080AEC94: .4byte gUnk_080C9160 -_080AEC98: .4byte 0x00003333 -_080AEC9C: .4byte 0x00006665 -_080AECA0: - movs r0, #1 -_080AECA2: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AECAC -sub_080AECAC: @ 0x080AECAC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - adds r5, r1, #0 - mov r8, r2 - mov sb, r3 - movs r7, #0 - movs r6, #0 - ldrh r0, [r4, #0x2a] - movs r1, #0xe0 - ands r1, r0 - mov ip, r1 - movs r2, #0xe0 - lsls r2, r2, #4 - ands r2, r0 - adds r3, r2, #0 - cmp r1, #0 - beq _080AECD8 - cmp r2, #0 - bne _080AED72 -_080AECD8: - orrs r1, r2 - cmp r1, #0 - bne _080AECFC - ldr r1, _080AECF8 @ =gUnk_080C9160 - mov r0, r8 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r7, r0, #0 - muls r7, r5, r7 - ldr r0, [r4, #0x30] - subs r0, r0, r7 - str r0, [r4, #0x30] - b _080AED5E - .align 2, 0 -_080AECF8: .4byte gUnk_080C9160 -_080AECFC: - mov r2, ip - cmp r2, #0x40 - bne _080AED16 - lsls r7, r5, #8 - ldr r0, [r4, #0x2c] - subs r0, r0, r7 - str r0, [r4, #0x2c] - adds r0, r4, #0 - movs r1, #0x14 - mov r2, sb - bl sub_080AE58C - b _080AED30 -_080AED16: - movs r0, #0x80 - lsls r0, r0, #2 - cmp r3, r0 - bne _080AED30 - lsls r7, r5, #8 - ldr r0, [r4, #0x30] - adds r0, r0, r7 - str r0, [r4, #0x30] - adds r0, r4, #0 - movs r1, #0x14 - mov r2, sb - bl sub_080AE58C -_080AED30: - ldrh r2, [r4, #0x2a] - movs r0, #0xe0 - ands r0, r2 - cmp r0, #0 - bne _080AED52 - ldr r1, _080AED88 @ =gUnk_080C9160 - mov r0, r8 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x30] - subs r0, r0, r6 - str r0, [r4, #0x30] -_080AED52: - movs r0, #0xe0 - lsls r0, r0, #4 - ands r0, r2 - cmp r0, #0 - bne _080AED72 - ldr r1, _080AED88 @ =gUnk_080C9160 -_080AED5E: - mov r2, r8 - lsls r0, r2, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x2c] - adds r0, r0, r6 - str r0, [r4, #0x2c] -_080AED72: - ldr r2, _080AED8C @ =0x00003333 - adds r0, r7, r2 - ldr r1, _080AED90 @ =0x00006665 - cmp r0, r1 - bhi _080AED94 - ldr r2, _080AED8C @ =0x00003333 - adds r0, r6, r2 - cmp r0, r1 - bhi _080AED94 - movs r0, #0 - b _080AED96 - .align 2, 0 -_080AED88: .4byte gUnk_080C9160 -_080AED8C: .4byte 0x00003333 -_080AED90: .4byte 0x00006665 -_080AED94: - movs r0, #1 -_080AED96: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AEDA0 -sub_080AEDA0: @ 0x080AEDA0 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - adds r5, r1, #0 - adds r7, r2, #0 - movs r6, #0 - mov sb, r6 - ldrh r2, [r4, #0x2a] - movs r0, #0xe0 - lsls r0, r0, #4 - mov r8, r0 - mov r1, r8 - ands r1, r2 - cmp r1, #0 - beq _080AEE50 - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - bne _080AEE08 - movs r0, #0xe0 - ands r0, r2 - cmp r0, #0 - bne _080AEE64 - lsls r6, r5, #8 - ldr r0, [r4, #0x30] - adds r0, r0, r6 - str r0, [r4, #0x30] - adds r0, r4, #0 - movs r1, #0x1c - adds r2, r3, #0 - bl sub_080AE58C - ldrh r1, [r4, #0x2a] - mov r0, r8 - ands r0, r1 - cmp r0, #0 - bne _080AEE64 - ldr r1, _080AEE04 @ =gUnk_080C9160 - lsls r0, r7, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r5, r1 - mov sb, r1 - ldr r0, [r4, #0x2c] - add r0, sb - b _080AEE62 - .align 2, 0 -_080AEE04: .4byte gUnk_080C9160 -_080AEE08: - movs r0, #0x80 - lsls r0, r0, #3 - cmp r1, r0 - bne _080AEE64 - movs r0, #0xe - ands r0, r2 - cmp r0, #0 - bne _080AEE64 - lsls r6, r5, #8 - ldr r0, [r4, #0x30] - subs r0, r0, r6 - str r0, [r4, #0x30] - adds r0, r4, #0 - movs r1, #0x1c - adds r2, r3, #0 - bl sub_080AE58C - ldrh r1, [r4, #0x2a] - mov r0, r8 - ands r0, r1 - cmp r0, #0 - bne _080AEE64 - ldr r1, _080AEE4C @ =gUnk_080C9160 - lsls r0, r7, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r1, r0, #0 - muls r1, r5, r1 - mov sb, r1 - ldr r0, [r4, #0x2c] - add r0, sb - b _080AEE62 - .align 2, 0 -_080AEE4C: .4byte gUnk_080C9160 -_080AEE50: - ldr r1, _080AEE7C @ =gUnk_080C9160 - lsls r0, r7, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x2c] - adds r0, r0, r6 -_080AEE62: - str r0, [r4, #0x2c] -_080AEE64: - ldr r1, _080AEE80 @ =0x00003333 - adds r0, r6, r1 - ldr r1, _080AEE84 @ =0x00006665 - cmp r0, r1 - bhi _080AEE88 - ldr r0, _080AEE80 @ =0x00003333 - add r0, sb - cmp r0, r1 - bhi _080AEE88 - movs r0, #0 - b _080AEE8A - .align 2, 0 -_080AEE7C: .4byte gUnk_080C9160 -_080AEE80: .4byte 0x00003333 -_080AEE84: .4byte 0x00006665 -_080AEE88: - movs r0, #1 -_080AEE8A: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AEE94 -sub_080AEE94: @ 0x080AEE94 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r4, r0, #0 - adds r5, r1, #0 - mov r8, r2 - mov sb, r3 - movs r7, #0 - movs r6, #0 - ldrh r0, [r4, #0x2a] - movs r1, #0xe - ands r1, r0 - mov ip, r1 - movs r2, #0xe0 - lsls r2, r2, #4 - ands r2, r0 - adds r3, r2, #0 - cmp r1, #0 - beq _080AEEC0 - cmp r2, #0 - bne _080AEF5A -_080AEEC0: - orrs r1, r2 - cmp r1, #0 - bne _080AEEE4 - ldr r1, _080AEEE0 @ =gUnk_080C9160 - mov r0, r8 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r2, #0 - ldrsh r0, [r0, r2] - adds r7, r0, #0 - muls r7, r5, r7 - ldr r0, [r4, #0x30] - subs r0, r0, r7 - str r0, [r4, #0x30] - b _080AEF46 - .align 2, 0 -_080AEEE0: .4byte gUnk_080C9160 -_080AEEE4: - mov r2, ip - cmp r2, #4 - bne _080AEEFE - lsls r7, r5, #8 - ldr r0, [r4, #0x2c] - subs r0, r0, r7 - str r0, [r4, #0x2c] - adds r0, r4, #0 - movs r1, #0x1c - mov r2, sb - bl sub_080AE58C - b _080AEF18 -_080AEEFE: - movs r0, #0x80 - lsls r0, r0, #3 - cmp r3, r0 - bne _080AEF18 - lsls r7, r5, #8 - ldr r0, [r4, #0x30] - subs r0, r0, r7 - str r0, [r4, #0x30] - adds r0, r4, #0 - movs r1, #0x1c - mov r2, sb - bl sub_080AE58C -_080AEF18: - ldrh r2, [r4, #0x2a] - movs r0, #0xe - ands r0, r2 - cmp r0, #0 - bne _080AEF3A - ldr r1, _080AEF70 @ =gUnk_080C9160 - mov r0, r8 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x30] - subs r0, r0, r6 - str r0, [r4, #0x30] -_080AEF3A: - movs r0, #0xe0 - lsls r0, r0, #4 - ands r0, r2 - cmp r0, #0 - bne _080AEF5A - ldr r1, _080AEF70 @ =gUnk_080C9160 -_080AEF46: - mov r2, r8 - lsls r0, r2, #1 - adds r0, r0, r1 - movs r1, #0 - ldrsh r0, [r0, r1] - adds r6, r0, #0 - muls r6, r5, r6 - ldr r0, [r4, #0x2c] - adds r0, r0, r6 - str r0, [r4, #0x2c] -_080AEF5A: - ldr r2, _080AEF74 @ =0x00003333 - adds r0, r7, r2 - ldr r1, _080AEF78 @ =0x00006665 - cmp r0, r1 - bhi _080AEF7C - ldr r2, _080AEF74 @ =0x00003333 - adds r0, r6, r2 - cmp r0, r1 - bhi _080AEF7C - movs r0, #0 - b _080AEF7E - .align 2, 0 -_080AEF70: .4byte gUnk_080C9160 -_080AEF74: .4byte 0x00003333 -_080AEF78: .4byte 0x00006665 -_080AEF7C: - movs r0, #1 -_080AEF7E: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080AEF88 -sub_080AEF88: @ 0x080AEF88 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AEFB0 - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #0 - bl sub_080AE58C - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - movs r3, #0 - bl sub_080AE7E8 - b _080AEFB2 -_080AEFB0: - movs r0, #0 -_080AEFB2: - pop {r4, pc} - - thumb_func_start sub_080AEFB4 -sub_080AEFB4: @ 0x080AEFB4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AEFDC - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #1 - bl sub_080AE58C - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - movs r3, #1 - bl sub_080AE7E8 - b _080AEFDE -_080AEFDC: - movs r0, #0 -_080AEFDE: - pop {r4, pc} - - thumb_func_start sub_080AEFE0 -sub_080AEFE0: @ 0x080AEFE0 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AF008 - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #2 - bl sub_080AE58C - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - movs r3, #2 - bl sub_080AE7E8 - b _080AF00A -_080AF008: - movs r0, #0 -_080AF00A: - pop {r4, pc} - - thumb_func_start sub_080AF00C -sub_080AF00C: @ 0x080AF00C - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AF034 - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #0xa - bl sub_080AE58C - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - movs r3, #0xa - bl sub_080AE7E8 - b _080AF036 -_080AF034: - movs r0, #0 -_080AF036: - pop {r4, pc} - - thumb_func_start sub_080AF038 -sub_080AF038: @ 0x080AF038 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AF060 - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #0xc - bl sub_080AE58C - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - movs r3, #0xc - bl sub_080AE7E8 - b _080AF062 -_080AF060: - movs r0, #0 -_080AF062: - pop {r4, pc} - - thumb_func_start sub_080AF064 -sub_080AF064: @ 0x080AF064 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - movs r0, #0x80 - ands r0, r4 - cmp r0, #0 - bne _080AF08A - adds r0, r5, #0 - movs r2, #0 - bl sub_080AE58C - adds r0, r5, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #0 - bl sub_080AE7E8 - b _080AF08C -_080AF08A: - movs r0, #0 -_080AF08C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080AF090 -sub_080AF090: @ 0x080AF090 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AF0C2 - adds r0, r4, #0 - bl sub_080AF0C8 - cmp r0, #0 - bne _080AF0C2 - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #3 - bl sub_080AE58C - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - movs r3, #3 - bl sub_080AE7E8 - b _080AF0C4 -_080AF0C2: - movs r0, #0 -_080AF0C4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080AF0C8 -sub_080AF0C8: @ 0x080AF0C8 - push {r4, lr} - adds r4, r0, #0 - bl sub_080002A0 - cmp r0, #0x88 - beq _080AF10A - cmp r0, #0x88 - bhi _080AF0DE - cmp r0, #0x87 - beq _080AF0E8 - b _080AF130 -_080AF0DE: - cmp r0, #0x89 - beq _080AF11A - cmp r0, #0x8a - beq _080AF0F8 - b _080AF130 -_080AF0E8: - ldrb r0, [r4, #0x15] - adds r0, #7 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0xf - bgt _080AF130 - movs r0, #0xe - b _080AF12A -_080AF0F8: - ldrb r0, [r4, #0x15] - subs r0, #1 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0xf - bgt _080AF130 - movs r0, #0xe0 - lsls r0, r0, #8 - b _080AF12A -_080AF10A: - ldrb r0, [r4, #0x15] - subs r0, #9 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0xf - bgt _080AF130 - movs r0, #0xe0 - b _080AF12A -_080AF11A: - ldrb r0, [r4, #0x15] - subs r0, #0x11 - movs r1, #0x1f - ands r0, r1 - cmp r0, #0xf - bgt _080AF130 - movs r0, #0xe0 - lsls r0, r0, #4 -_080AF12A: - strh r0, [r4, #0x2a] - movs r0, #1 - b _080AF132 -_080AF130: - movs r0, #0 -_080AF132: - pop {r4, pc} - - thumb_func_start sub_080AF134 -sub_080AF134: @ 0x080AF134 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AF15C - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #4 - bl sub_080AE58C - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - movs r3, #4 - bl sub_080AE7E8 - b _080AF15E -_080AF15C: - movs r0, #0 -_080AF15E: - pop {r4, pc} - - thumb_func_start sub_080AF160 -sub_080AF160: @ 0x080AF160 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AF188 - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #5 - bl sub_080AE58C - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - movs r3, #5 - bl sub_080AE7E8 - b _080AF18A -_080AF188: - movs r0, #0 -_080AF18A: - pop {r4, pc} - - thumb_func_start sub_080AF18C -sub_080AF18C: @ 0x080AF18C - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x42 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r5, r4, #0 - adds r5, #0x3e - ldrb r1, [r5] - adds r0, r4, #0 - movs r2, #2 - bl sub_080AE58C - adds r0, r4, #0 - adds r0, #0x46 - ldrh r1, [r0] - ldrb r2, [r5] - adds r0, r4, #0 - movs r3, #2 - bl sub_080AE7E8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AF1BC -sub_080AF1BC: @ 0x080AF1BC - push {r4, r5, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x42 - ldrb r0, [r1] - subs r0, #1 - strb r0, [r1] - adds r5, r4, #0 - adds r5, #0x3e - ldrb r1, [r5] - adds r0, r4, #0 - movs r2, #1 - bl sub_080AE58C - adds r0, r4, #0 - adds r0, #0x46 - ldrh r1, [r0] - ldrb r2, [r5] - adds r0, r4, #0 - movs r3, #1 - bl sub_080AE7E8 - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_080AF1EC -sub_080AF1EC: @ 0x080AF1EC - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080AF214 - ldrb r1, [r4, #0x15] - adds r0, r4, #0 - movs r2, #6 - bl sub_080AE58C - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - movs r3, #6 - bl sub_080AE7E8 - b _080AF216 -_080AF214: - movs r0, #0 -_080AF216: - pop {r4, pc} - - thumb_func_start sub_080AF218 -sub_080AF218: @ 0x080AF218 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - adds r6, r2, #0 - movs r0, #0x80 - ands r0, r4 - cmp r0, #0 - bne _080AF23E - adds r0, r5, #0 - movs r2, #6 - bl sub_080AE58C - adds r0, r5, #0 - adds r1, r6, #0 - adds r2, r4, #0 - movs r3, #6 - bl sub_080AE7E8 - b _080AF240 -_080AF23E: - movs r0, #0 -_080AF240: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080AF244 -sub_080AF244: @ 0x080AF244 - push {lr} - movs r3, #2 - bl sub_080AE7E8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080AF250 -sub_080AF250: @ 0x080AF250 - push {r4, lr} - adds r4, r0, #0 - bl sub_08052E8C - adds r1, r0, #0 - ldr r0, _080AF26C @ =gUnk_02033A90 - ldr r2, _080AF270 @ =0x0000085C - adds r0, r0, r2 - str r1, [r0] - cmp r4, #0 - beq _080AF278 - ldr r0, _080AF274 @ =gUnk_08135190 - b _080AF27A - .align 2, 0 -_080AF26C: .4byte gUnk_02033A90 -_080AF270: .4byte 0x0000085C -_080AF274: .4byte gUnk_08135190 -_080AF278: - ldr r0, _080AF280 @ =gUnk_08135168 -_080AF27A: - str r0, [r1, #0x18] - pop {r4, pc} - .align 2, 0 -_080AF280: .4byte gUnk_08135168 - - thumb_func_start sub_080AF284 -sub_080AF284: @ 0x080AF284 - push {lr} - ldr r0, _080AF2AC @ =gUnk_03000BF0 - ldrh r1, [r0, #0x20] - subs r1, #0x50 - movs r0, #0x78 - movs r2, #0x78 - movs r3, #0x50 - bl sub_0800293E - cmp r0, #0 - beq _080AF2BC - bl sub_08052E8C - ldr r1, _080AF2B0 @ =gUnk_02033A90 - ldr r2, _080AF2B4 @ =0x0000085C - adds r1, r1, r2 - str r0, [r1] - ldr r1, _080AF2B8 @ =gUnk_08135048 - b _080AF2D4 - .align 2, 0 -_080AF2AC: .4byte gUnk_03000BF0 -_080AF2B0: .4byte gUnk_02033A90 -_080AF2B4: .4byte 0x0000085C -_080AF2B8: .4byte gUnk_08135048 -_080AF2BC: - movs r0, #6 - bl sub_0807CA84 - cmp r0, #0 - beq _080AF2D6 - bl sub_08052E8C - ldr r1, _080AF2D8 @ =gUnk_02033A90 - ldr r2, _080AF2DC @ =0x0000085C - adds r1, r1, r2 - str r0, [r1] - ldr r1, _080AF2E0 @ =gUnk_08134FBC -_080AF2D4: - str r1, [r0, #0x18] -_080AF2D6: - pop {pc} - .align 2, 0 -_080AF2D8: .4byte gUnk_02033A90 -_080AF2DC: .4byte 0x0000085C -_080AF2E0: .4byte gUnk_08134FBC - - thumb_func_start sub_080AF2E4 -sub_080AF2E4: @ 0x080AF2E4 - push {lr} - movs r0, #6 - bl sub_0807CA84 - cmp r0, #0 - beq _080AF300 - bl sub_08052E8C - ldr r1, _080AF304 @ =gUnk_02033A90 - ldr r2, _080AF308 @ =0x0000085C - adds r1, r1, r2 - str r0, [r1] - ldr r1, _080AF30C @ =gUnk_0813A76C - str r1, [r0, #0x18] -_080AF300: - pop {pc} - .align 2, 0 -_080AF304: .4byte gUnk_02033A90 -_080AF308: .4byte 0x0000085C -_080AF30C: .4byte gUnk_0813A76C + pop {r4, pc} \ No newline at end of file diff --git a/asm/code_080011C4.s b/asm/code_080011C4.s index 4dc55191..22faae7a 100644 --- a/asm/code_080011C4.s +++ b/asm/code_080011C4.s @@ -1404,7 +1404,7 @@ _0800293A: sub_0800293E: @ 0x0800293E push {r4, r5, r6, r7, lr} ldr r4, _080029AC @ =gUnk_03000BF0 - ldr r7, _080029B0 @ =gUnk_03001160 + ldr r7, _080029B0 @ =gLinkEntity ldrh r6, [r4, #6] ldrh r5, [r7, #0x2e] subs r5, r5, r6 @@ -1444,4 +1444,4 @@ _080029A0: .4byte 0x0000E040 _080029A4: .4byte 0x00000E20 _080029A8: .4byte gUnk_03000BF0 _080029AC: .4byte gUnk_03000BF0 -_080029B0: .4byte gUnk_03001160 +_080029B0: .4byte gLinkEntity diff --git a/asm/code_08003FC4.s b/asm/code_08003FC4.s index e14be29e..64f71c87 100644 --- a/asm/code_08003FC4.s +++ b/asm/code_08003FC4.s @@ -687,7 +687,7 @@ sub_0800445C: @ 0x0800445C bl sub_08079F8C cmp r0, #0 beq _08004482 - ldr r5, _080044D8 @ =gUnk_03001160 + ldr r5, _080044D8 @ =gLinkEntity adds r0, r4, #0 adds r1, r5, #0 bl sub_08004484 @@ -736,7 +736,7 @@ _080044AC: non_word_aligned_thumb_func_start sub_080044AE sub_080044AE: @ 0x080044AE push {lr} - ldr r3, _080044E8 @ =gUnk_03001160 + ldr r3, _080044E8 @ =gLinkEntity cmp r0, r3 beq _080044CC push {r0, r1, r2} @@ -755,11 +755,11 @@ _080044CC: bl sub_08079E58 b _080044C8 .align 2, 0 -_080044D8: .4byte gUnk_03001160 +_080044D8: .4byte gLinkEntity _080044DC: .4byte gUnk_03005FF0 _080044E0: .4byte gUnk_02024048 _080044E4: .4byte gUnk_02021F20 -_080044E8: .4byte gUnk_03001160 +_080044E8: .4byte gLinkEntity thumb_func_start sub_080044EC sub_080044EC: @ 0x080044EC diff --git a/asm/code_0800857C.s b/asm/code_0800857C.s index cb06cf9e..bdf521da 100644 --- a/asm/code_0800857C.s +++ b/asm/code_0800857C.s @@ -179,7 +179,7 @@ sub_080086B4: @ 0x080086B4 mov r7, fp push {r4, r5, r6, r7} mov fp, r2 - ldr r2, _080088BC @ =gUnk_03001160 + ldr r2, _080088BC @ =gLinkEntity mov r8, r2 bl sub_080086D8 pop {r4, r5, r6, r7} @@ -441,7 +441,7 @@ _080088AC: .4byte gUnk_0800851C _080088B0: .4byte gUnk_080082DC _080088B4: .4byte gUnk_03000BF6 _080088B8: .4byte gUnk_03000BF8 -_080088BC: .4byte gUnk_03001160 +_080088BC: .4byte gLinkEntity _080088C0: .4byte 0x000003F0 _080088C4: .4byte gUnk_08000248 _080088C8: .4byte gUnk_03003F80 @@ -760,7 +760,7 @@ _08008B20: non_word_aligned_thumb_func_start sub_08008B22 sub_08008B22: @ 0x08008B22 push {lr} - ldr r0, _08008B58 @ =gUnk_03001160 + ldr r0, _08008B58 @ =gLinkEntity bl sub_08008B02 adds r0, r2, #0 pop {pc} @@ -780,7 +780,7 @@ _08008B48: .4byte gUnk_03003F80 _08008B4C: .4byte gUnk_02000020 _08008B50: .4byte 0x00004000 _08008B54: .4byte gUnk_08007CAC -_08008B58: .4byte gUnk_03001160 +_08008B58: .4byte gLinkEntity gUnk_08008B5C:: @ 08008B5C .incbin "baserom.gba", 0x008B5C, 0x0000034 diff --git a/asm/code_08016B30.s b/asm/code_08016B30.s index dfd9ba94..55ab6608 100644 --- a/asm/code_08016B30.s +++ b/asm/code_08016B30.s @@ -620,7 +620,7 @@ sub_08016FF4: @ 0x08016FF4 strb r1, [r2] adds r0, #0x2e strb r1, [r0] - ldr r2, _080170A4 @ =gUnk_03001160 + ldr r2, _080170A4 @ =gLinkEntity adds r0, r2, #0 adds r0, #0x41 ldrb r1, [r0] @@ -697,7 +697,7 @@ _08017084: b _080171EA .align 2, 0 _080170A0: .4byte gUnk_0200AF00 -_080170A4: .4byte gUnk_03001160 +_080170A4: .4byte gLinkEntity _080170A8: .4byte gUnk_03003F80 _080170AC: .4byte 0xFDFFFDFF _080170B0: .4byte gUnk_03003DF0 @@ -858,7 +858,7 @@ _080171D6: adds r1, #0x55 adds r0, r5, #0 movs r2, #0 - bl sub_080A29AC + bl CreateFX _080171EA: pop {r4, r5} pop {r0} @@ -881,7 +881,7 @@ _08017202: subs r0, #1 strb r0, [r4, #0x14] _0801720C: - ldr r6, _080172E0 @ =gUnk_03001160 + ldr r6, _080172E0 @ =gLinkEntity adds r1, r6, #0 adds r1, #0x7a ldrh r0, [r1] @@ -987,7 +987,7 @@ _080172CC: b _080172FA .align 2, 0 _080172DC: .4byte gUnk_03003F80 -_080172E0: .4byte gUnk_03001160 +_080172E0: .4byte gLinkEntity _080172E4: .4byte 0xFFFEFFFF _080172E8: .4byte gUnk_0200AF00 _080172EC: .4byte gUnk_03003BE0 @@ -998,7 +998,7 @@ _080172F4: ands r0, r1 _080172FA: str r0, [r4, #0x30] - ldr r4, _08017330 @ =gUnk_03001160 + ldr r4, _08017330 @ =gLinkEntity adds r0, r4, #0 bl sub_0807A8D8 ldr r0, _08017334 @ =gUnk_03003F80 @@ -1024,7 +1024,7 @@ _08017322: bx r0 .align 2, 0 _0801732C: .4byte 0xDFFFFFFF -_08017330: .4byte gUnk_03001160 +_08017330: .4byte gLinkEntity _08017334: .4byte gUnk_03003F80 thumb_func_start sub_08017338 @@ -1131,7 +1131,7 @@ _080173CE: ldrh r1, [r3, #6] cmp r1, #0 bne _0801741C - ldr r2, _08017418 @ =gUnk_03001160 + ldr r2, _08017418 @ =gLinkEntity adds r0, r2, #0 adds r0, #0x60 ldrh r1, [r0] @@ -1143,14 +1143,14 @@ _080173CE: .align 2, 0 _08017410: .4byte gUnk_08126DA8 _08017414: .4byte gUnk_08126ED8 -_08017418: .4byte gUnk_03001160 +_08017418: .4byte gLinkEntity _0801741C: ldr r0, _0801749C @ =0x000003FF ands r0, r1 mov r1, ip adds r1, #0x60 strh r0, [r1] - ldr r5, _080174A0 @ =gUnk_03001160 + ldr r5, _080174A0 @ =gLinkEntity _08017428: mov r3, ip ldrb r0, [r3, #0x14] @@ -1212,7 +1212,7 @@ _08017438: bx r0 .align 2, 0 _0801749C: .4byte 0x000003FF -_080174A0: .4byte gUnk_03001160 +_080174A0: .4byte gLinkEntity thumb_func_start sub_080174A4 sub_080174A4: @ 0x080174A4 @@ -1404,7 +1404,7 @@ _08017602: ldrb r0, [r0] cmp r0, #0 beq _08017634 - ldr r4, _08017630 @ =gUnk_03001160 + ldr r4, _08017630 @ =gLinkEntity ldrb r5, [r4, #0x10] movs r0, #0x7f ands r0, r5 @@ -1416,7 +1416,7 @@ _08017602: _08017624: .4byte gUnk_03003DC0 _08017628: .4byte gUnk_030059F0 _0801762C: .4byte gUnk_03003F80 -_08017630: .4byte gUnk_03001160 +_08017630: .4byte gLinkEntity _08017634: bl _call_via_r1 _08017638: @@ -1437,7 +1437,7 @@ sub_08017640: @ 0x08017640 str r4, [r0] str r4, [r4] str r4, [r4, #4] - ldr r0, _08017668 @ =gUnk_03001160 + ldr r0, _08017668 @ =gLinkEntity str r0, [r4, #8] pop {r4} pop {r0} @@ -1445,7 +1445,7 @@ sub_08017640: @ 0x08017640 .align 2, 0 _08017660: .4byte gUnk_03003C70 _08017664: .4byte gUnk_02018EA0 -_08017668: .4byte gUnk_03001160 +_08017668: .4byte gLinkEntity thumb_func_start sub_0801766C sub_0801766C: @ 0x0801766C @@ -1728,7 +1728,7 @@ sub_08017850: @ 0x08017850 movs r0, #0 b _08017868 _08017860: - ldr r1, _08017870 @ =gUnk_03001160 + ldr r1, _08017870 @ =gLinkEntity adds r0, r4, #0 bl sub_080177A0 _08017868: @@ -1736,7 +1736,7 @@ _08017868: pop {r1} bx r1 .align 2, 0 -_08017870: .4byte gUnk_03001160 +_08017870: .4byte gLinkEntity thumb_func_start sub_08017874 sub_08017874: @ 0x08017874 @@ -1858,7 +1858,7 @@ sub_08017940: @ 0x08017940 adds r0, r4, #0 movs r1, #0x2c movs r2, #0 - bl sub_080A29AC + bl CreateFX adds r2, r0, #0 cmp r2, #0 beq _080179CC @@ -1922,7 +1922,7 @@ sub_08017940: @ 0x08017940 bl sub_08016A04 _080179CC: movs r1, #0 - ldr r0, _080179E8 @ =gUnk_03001160 + ldr r0, _080179E8 @ =gLinkEntity cmp r5, r0 beq _080179DA cmp r4, r0 @@ -1937,7 +1937,7 @@ _080179E0: pop {r0} bx r0 .align 2, 0 -_080179E8: .4byte gUnk_03001160 +_080179E8: .4byte gLinkEntity thumb_func_start sub_080179EC sub_080179EC: @ 0x080179EC @@ -1952,7 +1952,7 @@ sub_080179EC: @ 0x080179EC ldrb r1, [r1] adds r0, r5, #0 movs r2, #0 - bl sub_080A29AC + bl CreateFX adds r4, r0, #0 cmp r4, #0 beq _08017A84 @@ -2499,7 +2499,7 @@ _08017DFC: movs r0, #4 _08017DFE: strb r0, [r1] - ldr r4, _08017E34 @ =gUnk_03001160 + ldr r4, _08017E34 @ =gLinkEntity adds r0, r4, #0 adds r1, r5, #0 bl sub_08017874 @@ -2524,7 +2524,7 @@ _08017DFE: strb r0, [r1] b _08017E6E .align 2, 0 -_08017E34: .4byte gUnk_03001160 +_08017E34: .4byte gLinkEntity _08017E38: .4byte gUnk_03003F80 _08017E3C: adds r0, r5, #0 @@ -2605,7 +2605,7 @@ sub_08017EB0: @ 0x08017EB0 movs r0, #0 b _08017F36 _08017EC4: - ldr r6, _08017EF8 @ =gUnk_03001160 + ldr r6, _08017EF8 @ =gLinkEntity cmp r2, r6 bne _08017EFC ldrb r4, [r5] @@ -2630,7 +2630,7 @@ _08017EC4: strh r0, [r1] b _08017F22 .align 2, 0 -_08017EF8: .4byte gUnk_03001160 +_08017EF8: .4byte gLinkEntity _08017EFC: ldrh r1, [r2, #8] movs r0, #0xa1 @@ -2683,7 +2683,7 @@ sub_08017F40: @ 0x08017F40 ldrb r6, [r0] cmp r6, #0 bne _0801800A - ldr r0, _08017FAC @ =gUnk_03001160 + ldr r0, _08017FAC @ =gLinkEntity cmp r4, r0 bne _08018002 bl sub_08079F8C @@ -2729,7 +2729,7 @@ _08017F9A: bl sub_0806FA48 b _08017FC2 .align 2, 0 -_08017FAC: .4byte gUnk_03001160 +_08017FAC: .4byte gLinkEntity _08017FB0: .4byte gUnk_03003F80 _08017FB4: movs r3, #0x80 @@ -2779,7 +2779,7 @@ _0801800A: ldrb r0, [r5, #8] cmp r0, #3 bne _0801801E - ldr r0, _08018028 @ =gUnk_03001160 + ldr r0, _08018028 @ =gLinkEntity cmp r4, r0 bne _0801801E adds r0, r5, #0 @@ -2792,7 +2792,7 @@ _08018020: pop {r1} bx r1 .align 2, 0 -_08018028: .4byte gUnk_03001160 +_08018028: .4byte gLinkEntity thumb_func_start sub_0801802C sub_0801802C: @ 0x0801802C @@ -2972,7 +2972,7 @@ sub_08018168: @ 0x08018168 ldrb r5, [r0] cmp r5, #0 bne _08018208 - ldr r0, _080181F4 @ =gUnk_03001160 + ldr r0, _080181F4 @ =gLinkEntity cmp r4, r0 bne _08018200 bl sub_08079F8C @@ -3033,7 +3033,7 @@ sub_08018168: @ 0x08018168 movs r0, #1 b _0801821E .align 2, 0 -_080181F4: .4byte gUnk_03001160 +_080181F4: .4byte gLinkEntity _080181F8: .4byte gUnk_03003F80 _080181FC: .4byte 0x00040080 _08018200: @@ -3045,7 +3045,7 @@ _08018208: ldrb r0, [r6, #8] cmp r0, #3 bne _0801821C - ldr r0, _08018224 @ =gUnk_03001160 + ldr r0, _08018224 @ =gLinkEntity cmp r4, r0 bne _0801821C adds r0, r6, #0 @@ -3058,14 +3058,14 @@ _0801821E: pop {r1} bx r1 .align 2, 0 -_08018224: .4byte gUnk_03001160 +_08018224: .4byte gLinkEntity thumb_func_start sub_08018228 sub_08018228: @ 0x08018228 push {r4, r5, lr} adds r4, r0, #0 adds r5, r1, #0 - ldr r0, _0801824C @ =gUnk_03001160 + ldr r0, _0801824C @ =gLinkEntity cmp r4, r0 bne _08018244 bl sub_08079F8C @@ -3080,7 +3080,7 @@ _08018244: pop {r1} bx r1 .align 2, 0 -_0801824C: .4byte gUnk_03001160 +_0801824C: .4byte gLinkEntity thumb_func_start sub_08018250 sub_08018250: @ 0x08018250 @@ -3118,13 +3118,13 @@ _08018280: sub_08018288: @ 0x08018288 push {lr} adds r1, r0, #0 - ldr r0, _08018298 @ =gUnk_03001160 + ldr r0, _08018298 @ =gLinkEntity cmp r1, r0 bne _0801829C bl sub_0807AFE8 b _080182A2 .align 2, 0 -_08018298: .4byte gUnk_03001160 +_08018298: .4byte gLinkEntity _0801829C: adds r1, #0x45 movs r0, #0 @@ -3204,7 +3204,7 @@ sub_08018308: @ 0x08018308 ldrb r0, [r4, #8] cmp r0, #3 bne _08018338 - ldr r0, _0801835C @ =gUnk_03001160 + ldr r0, _0801835C @ =gLinkEntity cmp r6, r0 bne _08018338 adds r0, r4, #0 @@ -3217,7 +3217,7 @@ _08018338: lsls r0, r0, #3 cmp r1, r0 bne _08018360 - ldr r0, _0801835C @ =gUnk_03001160 + ldr r0, _0801835C @ =gLinkEntity ldrb r2, [r0, #0x14] mov r0, r8 adds r0, #4 @@ -3231,7 +3231,7 @@ _08018338: movs r0, #0 b _080184F0 .align 2, 0 -_0801835C: .4byte gUnk_03001160 +_0801835C: .4byte gLinkEntity _08018360: cmp r3, #0 bne _08018408 @@ -3426,7 +3426,7 @@ _080184BA: _080184CE: cmp r0, #5 bne _080184DA - ldr r0, _080184FC @ =gUnk_03001160 + ldr r0, _080184FC @ =gLinkEntity adds r0, #0x3d movs r1, #0x80 strb r1, [r0] @@ -3437,7 +3437,7 @@ _080184DA: ldrb r0, [r6, #9] cmp r0, #5 bne _080184EE - ldr r0, _080184FC @ =gUnk_03001160 + ldr r0, _080184FC @ =gLinkEntity adds r0, #0x3d movs r1, #0x80 strb r1, [r0] @@ -3450,4 +3450,4 @@ _080184F0: pop {r1} bx r1 .align 2, 0 -_080184FC: .4byte gUnk_03001160 +_080184FC: .4byte gLinkEntity diff --git a/asm/crt0.s b/asm/crt0.s index 304a5bb4..aa94b6fd 100644 --- a/asm/crt0.s +++ b/asm/crt0.s @@ -20,7 +20,7 @@ _080000C0: ldr r1, _080000FC @ =0x03007FFC ldr r0, _08000100 @ =gUnk_03005D90 str r0, [r1] - ldr r1, _08000104 @ =sub_08055E6C + ldr r1, _08000104 @ =MainLoop mov lr, pc bx r1 _080000F0: @@ -29,4 +29,4 @@ _080000F4: .4byte gUnk_03007FA0 _080000F8: .4byte gUnk_03007F00 _080000FC: .4byte 0x03007FFC _08000100: .4byte gUnk_03005D90 -_08000104: .4byte sub_08055E6C +_08000104: .4byte MainLoop diff --git a/linker.ld b/linker.ld index 1ee764a0..4d78e213 100644 --- a/linker.ld +++ b/linker.ld @@ -180,7 +180,7 @@ SECTIONS { . = 0x000010EC; gUnk_030010EC = .; . = 0x0000110C; gUnk_0300110C = .; . = 0x00001150; gUnk_03001150 = .; - . = 0x00001160; gUnk_03001160 = .; + . = 0x00001160; gLinkEntity = .; . = 0x00001198; gUnk_03001198 = .; . = 0x000011E8; gUnk_030011E8 = .; . = 0x000015A0; gUnk_030015A0 = .; @@ -290,12 +290,23 @@ SECTIONS { data/data_6.o(.rodata); asm/code_0800857C.o(.text); + /* C source compiled with interworking */ asm/code_08016B30.o(.text); - /* C source compiled without interworking */ asm/code.o(.text); - + asm/readKeyInput.o(.text); + asm/code_0801D6E0.o(.text); + src/loadRoom.o(.text); + asm/code_0804B058.o(.text); + asm/InitializeLink.o(.text); + asm/code_08052620.o(.text); + asm/mainLoop.o(.text); + asm/code_08055FF4.o(.text); + asm/GetProgressFlag.o(.text); + asm/code_0807CC3C.o(.text); + asm/createFx.o(.text); + asm/code_080A29BC.o(.text); /* library functions */ asm/m4a_asm.o(.text); asm/m4a.o(.text); @@ -305,7 +316,6 @@ SECTIONS { /* handwritten assembly in arm mode */ asm/intr.o(.text); - /* data */ data/data_8.o(.rodata); } >rom